diff --git a/Java/Processing/processing-3.3.6/core/library/core.jar b/Java/Processing/processing-3.3.6/core/library/core.jar deleted file mode 100644 index 4908be9..0000000 Binary files a/Java/Processing/processing-3.3.6/core/library/core.jar and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/core/library/export.txt b/Java/Processing/processing-3.3.6/core/library/export.txt deleted file mode 100644 index a750489..0000000 --- a/Java/Processing/processing-3.3.6/core/library/export.txt +++ /dev/null @@ -1,12 +0,0 @@ -# If you want to support more platforms, visit jogamp.org to get the -# natives libraries for the platform in question (i.e. Solaris). - -name = OpenGL - -application.macosx=core.jar,jogl-all.jar,gluegen-rt.jar,jogl-all-natives-macosx-universal.jar,gluegen-rt-natives-macosx-universal.jar -application.windows32=core.jar,jogl-all.jar,gluegen-rt.jar,jogl-all-natives-windows-i586.jar,gluegen-rt-natives-windows-i586.jar -application.windows64=core.jar,jogl-all.jar,gluegen-rt.jar,jogl-all-natives-windows-amd64.jar,gluegen-rt-natives-windows-amd64.jar -application.linux32=core.jar,jogl-all.jar,gluegen-rt.jar,jogl-all-natives-linux-i586.jar,gluegen-rt-natives-linux-i586.jar -application.linux64=core.jar,jogl-all.jar,gluegen-rt.jar,jogl-all-natives-linux-amd64.jar,gluegen-rt-natives-linux-amd64.jar -application.linux-armv6hf=core.jar,jogl-all.jar,gluegen-rt.jar,jogl-all-natives-linux-armv6hf.jar,gluegen-rt-natives-linux-armv6hf.jar -application.linux-arm64=core.jar,jogl-all.jar,gluegen-rt.jar,jogl-all-natives-linux-aarch64.jar,gluegen-rt-natives-linux-aarch64.jar diff --git a/Java/Processing/processing-3.3.6/core/library/gluegen-rt-natives-linux-aarch64.jar b/Java/Processing/processing-3.3.6/core/library/gluegen-rt-natives-linux-aarch64.jar deleted file mode 100644 index 94c6d5e..0000000 Binary files a/Java/Processing/processing-3.3.6/core/library/gluegen-rt-natives-linux-aarch64.jar and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/core/library/gluegen-rt-natives-linux-amd64.jar b/Java/Processing/processing-3.3.6/core/library/gluegen-rt-natives-linux-amd64.jar deleted file mode 100644 index a2466f4..0000000 Binary files a/Java/Processing/processing-3.3.6/core/library/gluegen-rt-natives-linux-amd64.jar and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/core/library/gluegen-rt-natives-linux-armv6hf.jar b/Java/Processing/processing-3.3.6/core/library/gluegen-rt-natives-linux-armv6hf.jar deleted file mode 100644 index 5ef0673..0000000 Binary files a/Java/Processing/processing-3.3.6/core/library/gluegen-rt-natives-linux-armv6hf.jar and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/core/library/gluegen-rt-natives-linux-i586.jar b/Java/Processing/processing-3.3.6/core/library/gluegen-rt-natives-linux-i586.jar deleted file mode 100644 index 914a259..0000000 Binary files a/Java/Processing/processing-3.3.6/core/library/gluegen-rt-natives-linux-i586.jar and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/core/library/gluegen-rt-natives-macosx-universal.jar b/Java/Processing/processing-3.3.6/core/library/gluegen-rt-natives-macosx-universal.jar deleted file mode 100644 index 15df5e8..0000000 Binary files a/Java/Processing/processing-3.3.6/core/library/gluegen-rt-natives-macosx-universal.jar and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/core/library/gluegen-rt-natives-windows-amd64.jar b/Java/Processing/processing-3.3.6/core/library/gluegen-rt-natives-windows-amd64.jar deleted file mode 100644 index 517fb84..0000000 Binary files a/Java/Processing/processing-3.3.6/core/library/gluegen-rt-natives-windows-amd64.jar and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/core/library/gluegen-rt-natives-windows-i586.jar b/Java/Processing/processing-3.3.6/core/library/gluegen-rt-natives-windows-i586.jar deleted file mode 100644 index 1c393b7..0000000 Binary files a/Java/Processing/processing-3.3.6/core/library/gluegen-rt-natives-windows-i586.jar and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/core/library/gluegen-rt.jar b/Java/Processing/processing-3.3.6/core/library/gluegen-rt.jar deleted file mode 100644 index 742fdb2..0000000 Binary files a/Java/Processing/processing-3.3.6/core/library/gluegen-rt.jar and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/core/library/jogl-all-natives-linux-aarch64.jar b/Java/Processing/processing-3.3.6/core/library/jogl-all-natives-linux-aarch64.jar deleted file mode 100644 index c856f34..0000000 Binary files a/Java/Processing/processing-3.3.6/core/library/jogl-all-natives-linux-aarch64.jar and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/core/library/jogl-all-natives-linux-amd64.jar b/Java/Processing/processing-3.3.6/core/library/jogl-all-natives-linux-amd64.jar deleted file mode 100644 index e57b8c7..0000000 Binary files a/Java/Processing/processing-3.3.6/core/library/jogl-all-natives-linux-amd64.jar and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/core/library/jogl-all-natives-linux-armv6hf.jar b/Java/Processing/processing-3.3.6/core/library/jogl-all-natives-linux-armv6hf.jar deleted file mode 100644 index 5aea1b2..0000000 Binary files a/Java/Processing/processing-3.3.6/core/library/jogl-all-natives-linux-armv6hf.jar and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/core/library/jogl-all-natives-linux-i586.jar b/Java/Processing/processing-3.3.6/core/library/jogl-all-natives-linux-i586.jar deleted file mode 100644 index 88a27ce..0000000 Binary files a/Java/Processing/processing-3.3.6/core/library/jogl-all-natives-linux-i586.jar and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/core/library/jogl-all-natives-macosx-universal.jar b/Java/Processing/processing-3.3.6/core/library/jogl-all-natives-macosx-universal.jar deleted file mode 100644 index c65ea99..0000000 Binary files a/Java/Processing/processing-3.3.6/core/library/jogl-all-natives-macosx-universal.jar and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/core/library/jogl-all-natives-windows-amd64.jar b/Java/Processing/processing-3.3.6/core/library/jogl-all-natives-windows-amd64.jar deleted file mode 100644 index 9577bf1..0000000 Binary files a/Java/Processing/processing-3.3.6/core/library/jogl-all-natives-windows-amd64.jar and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/core/library/jogl-all-natives-windows-i586.jar b/Java/Processing/processing-3.3.6/core/library/jogl-all-natives-windows-i586.jar deleted file mode 100644 index 4439f1d..0000000 Binary files a/Java/Processing/processing-3.3.6/core/library/jogl-all-natives-windows-i586.jar and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/core/library/jogl-all.jar b/Java/Processing/processing-3.3.6/core/library/jogl-all.jar deleted file mode 100644 index 970a7de..0000000 Binary files a/Java/Processing/processing-3.3.6/core/library/jogl-all.jar and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/java/COPYRIGHT b/Java/Processing/processing-3.3.6/java/COPYRIGHT deleted file mode 100644 index d6850bd..0000000 --- a/Java/Processing/processing-3.3.6/java/COPYRIGHT +++ /dev/null @@ -1,69 +0,0 @@ -Copyright © 1993, 2017, Oracle and/or its affiliates. -All rights reserved. - -This software and related documentation are provided under a -license agreement containing restrictions on use and -disclosure and are protected by intellectual property laws. -Except as expressly permitted in your license agreement or -allowed by law, you may not use, copy, reproduce, translate, -broadcast, modify, license, transmit, distribute, exhibit, -perform, publish, or display any part, in any form, or by -any means. Reverse engineering, disassembly, or -decompilation of this software, unless required by law for -interoperability, is prohibited. - -The information contained herein is subject to change -without notice and is not warranted to be error-free. If you -find any errors, please report them to us in writing. - -If this is software or related documentation that is -delivered to the U.S. Government or anyone licensing it on -behalf of the U.S. Government, the following notice is -applicable: - -U.S. GOVERNMENT END USERS: Oracle programs, including any -operating system, integrated software, any programs -installed on the hardware, and/or documentation, delivered -to U.S. Government end users are "commercial computer -software" pursuant to the applicable Federal Acquisition -Regulation and agency-specific supplemental regulations. As -such, use, duplication, disclosure, modification, and -adaptation of the programs, including any operating system, -integrated software, any programs installed on the hardware, -and/or documentation, shall be subject to license terms and -license restrictions applicable to the programs. No other -rights are granted to the U.S. Government. - -This software or hardware is developed for general use in a -variety of information management applications. It is not -developed or intended for use in any inherently dangerous -applications, including applications that may create a risk -of personal injury. If you use this software or hardware in -dangerous applications, then you shall be responsible to -take all appropriate fail-safe, backup, redundancy, and -other measures to ensure its safe use. Oracle Corporation -and its affiliates disclaim any liability for any damages -caused by use of this software or hardware in dangerous -applications. - -Oracle and Java are registered trademarks of Oracle and/or -its affiliates. Other names may be trademarks of their -respective owners. - -Intel and Intel Xeon are trademarks or registered trademarks -of Intel Corporation. All SPARC trademarks are used under -license and are trademarks or registered trademarks of SPARC -International, Inc. AMD, Opteron, the AMD logo, and the AMD -Opteron logo are trademarks or registered trademarks of -Advanced Micro Devices. UNIX is a registered trademark of -The Open Group. - -This software or hardware and documentation may provide -access to or information on content, products, and services -from third parties. Oracle Corporation and its affiliates -are not responsible for and expressly disclaim all -warranties of any kind with respect to third-party content, -products, and services. Oracle Corporation and its -affiliates will not be responsible for any loss, costs, or -damages incurred due to your access to or use of third-party -content, products, or services. diff --git a/Java/Processing/processing-3.3.6/java/LICENSE b/Java/Processing/processing-3.3.6/java/LICENSE deleted file mode 100644 index 39e216a..0000000 --- a/Java/Processing/processing-3.3.6/java/LICENSE +++ /dev/null @@ -1 +0,0 @@ -Please refer to http://java.com/license diff --git a/Java/Processing/processing-3.3.6/java/README.txt b/Java/Processing/processing-3.3.6/java/README.txt deleted file mode 100644 index cdb30f2..0000000 --- a/Java/Processing/processing-3.3.6/java/README.txt +++ /dev/null @@ -1 +0,0 @@ -Please refer to http://java.com/licensereadme diff --git a/Java/Processing/processing-3.3.6/java/THIRDPARTYLICENSEREADME-JAVAFX.txt b/Java/Processing/processing-3.3.6/java/THIRDPARTYLICENSEREADME-JAVAFX.txt deleted file mode 100644 index bab58dd..0000000 --- a/Java/Processing/processing-3.3.6/java/THIRDPARTYLICENSEREADME-JAVAFX.txt +++ /dev/null @@ -1,641 +0,0 @@ -DO NOT TRANSLATE OR LOCALIZE - -*************************************************************************** - -%%The following software may be included in this product: -CoreAudio Utility Classes - -Disclaimer: IMPORTANT: This Apple software is supplied to you by Apple -Inc. ("Apple") in consideration of your agreement to the following -terms, and your use, installation, modification or redistribution of -this Apple software constitutes acceptance of these terms. If you do -not agree with these terms, please do not use, install, modify or -redistribute this Apple software. - -In consideration of your agreement to abide by the following terms, and -subject to these terms, Apple grants you a personal, non-exclusive -license, under Apple's copyrights in this original Apple software (the -"Apple Software"), to use, reproduce, modify and redistribute the Apple -Software, with or without modifications, in source and/or binary forms; -provided that if you redistribute the Apple Software in its entirety and -without modifications, you must retain this notice and the following -text and disclaimers in all such redistributions of the Apple Software. -Neither the name, trademarks, service marks or logos of Apple Inc. may -be used to endorse or promote products derived from the Apple Software -without specific prior written permission from Apple. Except as -expressly stated in this notice, no other rights or licenses, express or -implied, are granted by Apple herein, including but not limited to any -patent rights that may be infringed by your derivative works or by other -works in which the Apple Software may be incorporated. - -The Apple Software is provided by Apple on an "AS IS" basis. APPLE -MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION -THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND -OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS. - -IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL -OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION, -MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED -AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE), -STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. - -Copyright (C) 2014 Apple Inc. All Rights Reserved. - -*************************************************************************** - -%%The following software may be included in this product: -International Components for Unicode (ICU) - -ICU License - ICU 1.8.1 and later - -COPYRIGHT AND PERMISSION NOTICE - -Copyright (C) 2016 and later: Unicode, Inc. and others. License & terms of use: http://www.unicode.org/copyright.html -Copyright (c) 1995-2016 International Business Machines Corporation and others - -All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, and/or sell copies of the Software, and to permit persons -to whom the Software is furnished to do so, provided that the above -copyright notice(s) and this permission notice appear in all copies of -the Software and that both the above copyright notice(s) and this -permission notice appear in supporting documentation. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT -OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY -SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER -RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF -CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN -CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - -Except as contained in this notice, the name of a copyright holder -shall not be used in advertising or otherwise to promote the sale, use -or other dealings in this Software without prior written authorization -of the copyright holder. - - -All trademarks and registered trademarks mentioned herein are the -property of their respective owners. - ---------------------- - -Third-Party Software Licenses - -This section contains third-party software notices and/or additional -terms for licensed third-party software components included within ICU -libraries. - -1. Unicode Data Files and Software - -COPYRIGHT AND PERMISSION NOTICE - -Copyright (C) 1991-2016 Unicode, Inc. All rights reserved. -Distributed under the Terms of Use in -http://www.unicode.org/copyright.html. - -Permission is hereby granted, free of charge, to any person obtaining -a copy of the Unicode data files and any associated documentation -(the "Data Files") or Unicode software and any associated documentation -(the "Software") to deal in the Data Files or Software -without restriction, including without limitation the rights to use, -copy, modify, merge, publish, distribute, and/or sell copies of -the Data Files or Software, and to permit persons to whom the Data Files -or Software are furnished to do so, provided that -(a) this copyright and permission notice appear with all copies -of the Data Files or Software, -(b) this copyright and permission notice appear in associated -documentation, and -(c) there is clear notice in each modified Data File or in the Software -as well as in the documentation associated with the Data File(s) or -Software that the data or software has been modified. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF -ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE -WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT OF THIRD PARTY RIGHTS. -IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS -NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL -DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, -DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER -TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -PERFORMANCE OF THE DATA FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder -shall not be used in advertising or otherwise to promote the sale, -use or other dealings in these Data Files or Software without prior -written authorization of the copyright holder. - -*************************************************************************** - -%%The following software may be included in this product: -JPEG - -Use of any of this software is governed by the terms of the license below: - -Taken from code...... - -LEGAL ISSUES -============ - -In plain English: - -1. We don't promise that this software works. (But if you find any bugs, - please let us know!) -2. You can use this software for whatever you want. You don't have to pay us. -3. You may not pretend that you wrote this software. If you use it in a - program, you must acknowledge somewhere in your documentation that - you've used the IJG code. - -In legalese: - -The authors make NO WARRANTY or representation, either express or implied, -with respect to this software, its quality, accuracy, merchantability, or -fitness for a particular purpose. This software is provided "AS IS", and you, -its user, assume the entire risk as to its quality and accuracy. - -This software is copyright (C) 1991-1998, Thomas G. Lane. -All Rights Reserved except as specified below. - -Permission is hereby granted to use, copy, modify, and distribute this -software (or portions thereof) for any purpose, without fee, subject to these -conditions: -(1) If any part of the source code for this software is distributed, then this -README file must be included, with this copyright and no-warranty notice -unaltered; and any additions, deletions, or changes to the original files -must be clearly indicated in accompanying documentation. -(2) If only executable code is distributed, then the accompanying -documentation must state that "this software is based in part on the work of -the Independent JPEG Group". -(3) Permission for use of this software is granted only if the user accepts -full responsibility for any undesirable consequences; the authors accept -NO LIABILITY for damages of any kind. - -These conditions apply to any software derived from or based on the IJG code, -not just to the unmodified library. If you use our work, you ought to -acknowledge us. - -Permission is NOT granted for the use of any IJG author's name or company name -in advertising or publicity relating to this software or products derived from -it. This software may be referred to only as "the Independent JPEG Group's -software". - -We specifically permit and encourage the use of this software as the basis of -commercial products, provided that all warranty or liability claims are -assumed by the product vendor. - - -ansi2knr.c is included in this distribution by permission of L. Peter Deutsch, -sole proprietor of its copyright holder, Aladdin Enterprises of Menlo Park, CA. -ansi2knr.c is NOT covered by the above copyright and conditions, but instead -by the usual distribution terms of the Free Software Foundation; principally, -that you must include source code if you redistribute it. (See the file -ansi2knr.c for full details.) However, since ansi2knr.c is not needed as part -of any program generated from the IJG code, this does not limit you more than -the foregoing paragraphs do. - -The Unix configuration script "configure" was produced with GNU Autoconf. -It is copyright by the Free Software Foundation but is freely distributable. -The same holds for its supporting scripts (config.guess, config.sub, -ltconfig, ltmain.sh). Another support script, install-sh, is copyright -by M.I.T. but is also freely distributable. - -It appears that the arithmetic coding option of the JPEG spec is covered by -patents owned by IBM, AT&T, and Mitsubishi. Hence arithmetic coding cannot -legally be used without obtaining one or more licenses. For this reason, -support for arithmetic coding has been removed from the free JPEG software. -(Since arithmetic coding provides only a marginal gain over the unpatented -Huffman mode, it is unlikely that very many implementations will support it.) -So far as we are aware, there are no patent restrictions on the remaining -code. - -The IJG distribution formerly included code to read and write GIF files. -To avoid entanglement with the Unisys LZW patent, GIF reading support has -been removed altogether, and the GIF writer has been simplified to produce -"uncompressed GIFs". This technique does not use the LZW algorithm; the -resulting GIF files are larger than usual, but are readable by all standard -GIF decoders. - -We are required to state that - "The Graphics Interchange Format(c) is the Copyright property of - CompuServe Incorporated. GIF(sm) is a Service Mark property of - CompuServe Incorporated." - -Additional License(s) - -"copyright" - -*************************************************************************** - -%%The following software may be included in this product: -gstreamer - -You are receiving a copy of the GStreamer library in object code in the -JavaFX runtime or JavaFX SDK. A -copy of the Oracle modified GStreamer library in source code is located -at http://oss.oracle.com/projects/gstreamer-mods/ . The terms of the -Oracle license do NOT apply to the GStreamer program; it is licensed under -the following license, separately from the Oracle programs you receive. If -you do not wish to install this program, you may not wish to install -the JavaFX Runtime or JavaFX SDK. - -Use of any of this software is governed by the terms of the license below: - -GNU LESSER GENERAL PUBLIC LICENSE Version 2.1, February 1999 -Copyright (C) 1991, 1999 Free Software Foundation, Inc. 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. -[This is the first released version of the Lesser GPL. It also counts as the successor of the GNU Library Public License, version 2, hence the version number 2.1.] Preamble The licenses for most software are designed to take away your freedom to share and -change it. By contrast, the GNU General Public Licenses are intended to guarantee -your freedom to share and change free software--to make sure the software is free -for all its users. -This license, the Lesser General Public License, applies to some specially -designated software packages--typically libraries--of the Free Software Foundation -and other authors who decide to use it. You can use it too, but we suggest you first -think carefully about whether this license or the ordinary General Public License is -the better strategy to use in any particular case, based on the explanations below. -When we speak of free software, we are referring to freedom of use, 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 this service if you wish); that -you receive source code or can get it if you want it; that you can change the -software and use pieces of it in new free programs; and that you are informed that -you can do these things. -To protect your rights, we need to make restrictions that forbid distributors to -deny you these rights or to ask you to surrender these rights. These restrictions -translate to certain responsibilities for you if you distribute copies of the -library or if you modify it. -For example, if you distribute copies of the library, whether gratis or for a fee, -you must give the recipients all the rights that we gave you. You must make sure -that they, too, receive or can get the source code. If you link other code with the -library, you must provide complete object files to the recipients, so that they can -relink them with the library after making changes to the library and recompiling it. -And you must show them these terms so they know their rights. -We protect your rights with a two-step method: (1) we copyright the library, and (2) -we offer you this license, which gives you legal permission to copy, distribute -and/or modify the library. -To protect each distributor, we want to make it very clear that there is no warranty -for the free library. Also, if the library is modified by someone else and passed -on, the recipients should know that what they have is not the original version, so -that the original author's reputation will not be affected by problems that might be -introduced by others. -Finally, software patents pose a constant threat to the existence of any free -program. We wish to make sure that a company cannot effectively restrict the users -of a free program by obtaining a restrictive license from a patent holder. -Therefore, we insist that any patent license obtained for a version of the library -must be consistent with the full freedom of use specified in this license. -Most GNU software, including some libraries, is covered by the ordinary GNU General -Public License. This license, the GNU Lesser General Public License, applies to -certain designated libraries, and is quite different from the ordinary General -Public License. We use this license for certain libraries in order to permit linking -those libraries into non-free programs. -When a program is linked with a library, whether statically or using a shared -library, the combination of the two is legally speaking a combined work, a -derivative of the original library. The ordinary General Public License therefore -permits such linking only if the entire combination fits its criteria of freedom. -The Lesser General Public License permits more lax criteria for linking other code -with the library. -We call this license the "Lesser" General Public License because it does Less to -protect the user's freedom than the ordinary General Public License. It also -provides other free software developers Less of an advantage over competing non-free -programs. These disadvantages are the reason we use the ordinary General Public -License for many libraries. However, the Lesser license provides advantages in -certain special circumstances. -For example, on rare occasions, there may be a special need to encourage the widest -possible use of a certain library, so that it becomes a de-facto standard. To -achieve this, non-free programs must be allowed to use the library. A more frequent -case is that a free library does the same job as widely used non-free libraries. In -this case, there is little to gain by limiting the free library to free software -only, so we use the Lesser General Public License. -In other cases, permission to use a particular library in non-free programs enables -a greater number of people to use a large body of free software. For example, -permission to use the GNU C Library in non-free programs enables many more people to -use the whole GNU operating system, as well as its variant, the GNU/Linux operating -system. -Although the Lesser General Public License is Less protective of the users' freedom, -it does ensure that the user of a program that is linked with the Library has the -freedom and the wherewithal to run that program using a modified version of the -Library. -The precise terms and conditions for copying, distribution and modification follow. -Pay close attention to the difference between a "work based on the library" and a -"work that uses the library". The former contains code derived from the library, -whereas the latter must be combined with the library in order to run. -TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License Agreement applies to any software library or other program which -contains a notice placed by the copyright holder or other authorized party saying it -may be distributed under the terms of this Lesser General Public License (also -called "this License"). Each licensee is addressed as "you". -A "library" means a collection of software functions and/or data prepared so as to -be conveniently linked with application programs (which use some of those functions -and data) to form executables. -The "Library", below, refers to any such software library or work which has been -distributed under these terms. A "work based on the Library" means either the -Library or any derivative work under copyright law: that is to say, a work -containing the Library or a portion of it, either verbatim or with modifications -and/or translated straightforwardly into another language. (Hereinafter, translation -is included without limitation in the term "modification".) -"Source code" for a work means the preferred form of the work for making -modifications to it. For a library, complete source code means all the source code -for all modules it contains, plus any associated interface definition files, plus -the scripts used to control compilation and installation of the library. -Activities other than copying, distribution and modification are not covered by this -License; they are outside its scope. The act of running a program using the Library -is not restricted, and output from such a program is covered only if its contents -constitute a work based on the Library (independent of the use of the Library in a -tool for writing it). Whether that is true depends on what the Library does and what -the program that uses the Library does. -1. You may copy and distribute verbatim copies of the Library's complete source code -as you receive it, in any medium, provided that you conspicuously and appropriately -publish on each copy an appropriate copyright notice and disclaimer of warranty; -keep intact all the notices that refer to this License and to the absence of any -warranty; and distribute a copy of this License along with the Library. -You may charge a fee for the physical act of transferring a copy, and you may at -your option offer warranty protection in exchange for a fee. -2. You may modify your copy or copies of the Library or any portion of it, thus -forming a work based on the Library, and copy and distribute such modifications or -work under the terms of Section 1 above, provided that you also meet all of these -conditions: -a) The modified work must itself be a software library. b) You must cause the files modified to carry prominent notices stating that you -changed the files and the date of any change. c) You must cause the whole of the work to be licensed at no charge to all third -parties under the terms of this License. d) If a facility in the modified Library refers to a function or a table of data to -be supplied by an application program that uses the facility, other than as an -argument passed when the facility is invoked, then you must make a good faith effort -to ensure that, in the event an application does not supply such function or table, -the facility still operates, and performs whatever part of its purpose remains -meaningful. (For example, a function in a library to compute square roots has a purpose that is -entirely well-defined independent of the application. Therefore, Subsection 2d -requires that any application-supplied function or table used by this function must -be optional: if the application does not supply it, the square root function must -still compute square roots.) -These requirements apply to the modified work as a whole. If identifiable sections -of that work are not derived from the Library, and can be reasonably considered -independent and separate works in themselves, then this License, and its terms, do -not apply to those sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based on the -Library, the distribution of the whole must be on the terms of this License, whose -permissions for other licensees extend to the entire whole, and thus to each and -every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to -work written entirely by you; rather, the intent is to exercise the right to control -the distribution of derivative or collective works based on the Library. -In addition, mere aggregation of another work not based on the Library with the -Library (or with a work based on the Library) on a volume of a storage or -distribution medium does not bring the other work under the scope of this License. -3. You may opt to apply the terms of the ordinary GNU General Public License instead -of this License to a given copy of the Library. To do this, you must alter all the -notices that refer to this License, so that they refer to the ordinary GNU General -Public License, version 2, instead of to this License. (If a newer version than -version 2 of the ordinary GNU General Public License has appeared, then you can -specify that version instead if you wish.) Do not make any other change in these -notices. -Once this change is made in a given copy, it is irreversible for that copy, so the -ordinary GNU General Public License applies to all subsequent copies and derivative -works made from that copy. -This option is useful when you wish to copy part of the code of the Library into a -program that is not a library. -4. You may copy and distribute the Library (or a portion or derivative of it, under -Section 2) in object code or executable form under the terms of Sections 1 and 2 -above provided that you accompany it with the complete corresponding machine- -readable source code, which must be distributed under the terms of Sections 1 and 2 -above on a medium customarily used for software interchange. -If distribution of object code is made by offering access to copy from a designated -place, then offering equivalent access to copy the source code from the same place -satisfies the requirement to distribute the source code, even though third parties -are not compelled to copy the source along with the object code. -5. A program that contains no derivative of any portion of the Library, but is -designed to work with the Library by being compiled or linked with it, is called a -"work that uses the Library". Such a work, in isolation, is not a derivative work of -the Library, and therefore falls outside the scope of this License. -However, linking a "work that uses the Library" with the Library creates an -executable that is a derivative of the Library (because it contains portions of the -Library), rather than a "work that uses the library". The executable is therefore -covered by this License. Section 6 states terms for distribution of such -executables. -When a "work that uses the Library" uses material from a header file that is part of -the Library, the object code for the work may be a derivative work of the Library -even though the source code is not. Whether this is true is especially significant -if the work can be linked without the Library, or if the work is itself a library. -The threshold for this to be true is not precisely defined by law. -If such an object file uses only numerical parameters, data structure layouts and -accessors, and small macros and small inline functions (ten lines or less in -length), then the use of the object file is unrestricted, regardless of whether it -is legally a derivative work. (Executables containing this object code plus portions -of the Library will still fall under Section 6.) -Otherwise, if the work is a derivative of the Library, you may distribute the object -code for the work under the terms of Section 6. Any executables containing that work -also fall under Section 6, whether or not they are linked directly with the Library -itself. -6. As an exception to the Sections above, you may also combine or link a "work that -uses the Library" with the Library to produce a work containing portions of the -Library, and distribute that work under terms of your choice, provided that the -terms permit modification of the work for the customer's own use and reverse -engineering for debugging such modifications. -You must give prominent notice with each copy of the work that the Library is used -in it and that the Library and its use are covered by this License. You must supply -a copy of this License. If the work during execution displays copyright notices, you -must include the copyright notice for the Library among them, as well as a reference -directing the user to the copy of this License. Also, you must do one of these -things: -a) Accompany the work with the complete corresponding machine-readable source code -for the Library including whatever changes were used in the work (which must be -distributed under Sections 1 and 2 above); and, if the work is an executable linked -with the Library, with the complete machine-readable "work that uses the Library", -as object code and/or source code, so that the user can modify the Library and then -relink to produce a modified executable containing the modified Library. (It is -understood that the user who changes the contents of definitions files in the -Library will not necessarily be able to recompile the application to use the -modified definitions.) b) Use a suitable shared library mechanism for linking with the Library. A suitable -mechanism is one that (1) uses at run time a copy of the library already present on -the user's computer system, rather than copying library functions into the -executable, and (2) will operate properly with a modified version of the library, if -the user installs one, as long as the modified version is interface-compatible with -the version that the work was made with. c) Accompany the work with a written offer, valid for at least three years, to give -the same user the materials specified in Subsection 6a, above, for a charge no more -than the cost of performing this distribution. d) If distribution of the work is made by offering access to copy from a designated -place, offer equivalent access to copy the above specified materials from the same -place. e) Verify that the user has already received a copy of these materials or that you -have already sent this user a copy. For an executable, the required form of the "work that uses the Library" must -include any data and utility programs needed for reproducing the executable from it. -However, as a special exception, the materials to be distributed need not include -anything that is normally distributed (in either source or binary form) with the -major components (compiler, kernel, and so on) of the operating system on which the -executable runs, unless that component itself accompanies the executable. -It may happen that this requirement contradicts the license restrictions of other -proprietary libraries that do not normally accompany the operating system. Such a -contradiction means you cannot use both them and the Library together in an -executable that you distribute. -7. You may place library facilities that are a work based on the Library side-by- -side in a single library together with other library facilities not covered by this -License, and distribute such a combined library, provided that the separate -distribution of the work based on the Library and of the other library facilities is -otherwise permitted, and provided that you do these two things: -a) Accompany the combined library with a copy of the same work based on the Library, uncombined with any other library facilities. This must be distributed under the terms of the Sections above. b) Give prominent notice with the combined library of the fact that part of it is a work based on the Library, and explaining where to find the accompanying uncombined form of the same work. 8. You may not copy, modify, sublicense, link with, or distribute the Library except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense, link with, or distribute the Library is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. -9. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Library or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Library (or any work based on the Library), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Library or works based on it. -10. Each time you redistribute the Library (or any work based on the Library), the recipient automatically receives a license from the original licensor to copy, distribute, link with or modify the Library subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties with this License. -11. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), 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 distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Library at all. For example, if a patent license would not permit royalty-free redistribution of the Library by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Library. -If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply, and the section as a whole is intended to apply in other circumstances. -It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. -12. If the distribution and/or use of the Library is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Library under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. -13. The Free Software Foundation may publish revised and/or new versions of the Lesser 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 Library specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Library does not specify a license version number, you may choose any version ever published by the -Free Software Foundation. -14. If you wish to incorporate parts of the Library into other free programs whose distribution conditions are incompatible with these, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. -NO WARRANTY -15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE LIBRARY "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 LIBRARY IS WITH -YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. -16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE LIBRARY 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 LIBRARY (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 LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Libraries If you develop a new library, and you want it to be of the greatest possible use to the public, we recommend making it free software that everyone can redistribute and change. You can do so by permitting redistribution under these terms (or, alternatively, under the terms of the ordinary General Public License). -To apply these terms, attach the following notices to the library. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. one line to give the library's name and an idea of what it does. Copyright (C) year name of author -This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. -This library 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 Lesser General Public License for more details. -You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Also add information on how to contact you by electronic and paper mail. -You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the library, if necessary. Here is a sample; alter the names: -Yoyodyne, Inc., hereby disclaims all copyright interest in the library `Frob' (a library for tweaking knobs) written by James Random Hacker. -signature of Ty Coon, 1 April 1990 Ty Coon, President of Vice That's all there is to it! - -*************************************************************************** - -%%The following software may be included in this product: -Webkit - -You are receiving a copy of the WebKit library in object code in the -JavaFX runtime or JavaFX SDK. -A copy of the Oracle modified WebKit library in source code is located -at http://oss.oracle.com/projects/webkit-java-mods/ . The terms of the -Oracle license do NOT apply to the WebKit program; it is licensed under -the following license separately from the Oracle programs you receive. -If you do not wish to install this program, you may not wish to install -the JavaFX runtime or JavaFX SDK. - -Use of any of this software is governed by the terms of the license below: - -GNU LIBRARY GENERAL PUBLIC LICENSE -Version 2, June 1991 -Copyright (C) 1991 Free Software Foundation, Inc. -51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA -Everyone is permitted to copy and distribute verbatim copies -of this license document, but changing it is not allowed. - -[This is the first released version of the library GPL. It is - numbered 2 because it goes with version 2 of the ordinary GPL.] -Preamble -The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public Licenses are intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. -This license, the Library General Public License, applies to some specially designated Free Software Foundation software, and to any other libraries whose authors decide to use it. You can use it for your libraries, 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 this service 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 make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the library, or if you modify it. -For example, if you distribute copies of the library, whether gratis or for a fee, you must give the recipients all the rights that we gave you. You must make sure that they, too, receive or can get the source code. If you link a program with the library, you must provide complete object files to the recipients so that they can relink them with the library, after making changes to the library and recompiling it. And you must show them these terms so they know their rights. -Our method of protecting your rights has two steps: (1) copyright the library, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the library. -Also, for each distributor's protection, we want to make certain that everyone understands that there is no warranty for this free library. If the library is modified by someone else and passed on, we want its recipients to know that what they have is not the original version, so that any problems introduced by others will not reflect on the original authors' reputations. -Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that companies distributing free software will individually obtain patent licenses, thus in effect transforming the program into proprietary software. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. -Most GNU software, including some libraries, is covered by the ordinary GNU General Public License, which was designed for utility programs. This license, the GNU Library General Public License, applies to certain designated libraries. This license is quite different from the ordinary one; be sure to read it in full, and don't assume that anything in it is the same as in the ordinary license. -The reason we have a separate public license for some libraries is that they blur the distinction we usually make between modifying or adding to a program and simply using it. Linking a program with a library, without changing the library, is in some sense simply using the library, and is analogous to running a utility program or application program. However, in a textual and legal sense, the linked executable is a combined work, a derivative of the original library, and the ordinary General Public License treats it as such. -Because of this blurred distinction, using the ordinary General Public License for libraries did not effectively promote software sharing, because most developers did not use the libraries. We concluded that weaker conditions might promote sharing better. -However, unrestricted linking of non-free programs would deprive the users of those programs of all benefit from the free status of the libraries themselves. This Library General Public License is intended to permit developers of non-free programs to use free libraries, while preserving your freedom as a user of such programs to change the free libraries that are incorporated in them. (We have not seen how to achieve this as regards changes in header files, but we have achieved it as regards changes in the actual functions of the Library.) The hope is that this will lead to faster development of free libraries. -The precise terms and conditions for copying, distribution and modification follow. Pay close attention to the difference between a "work based on the library" and a "work that uses the library". The former contains code derived from the library, while the latter only works together with the library. -Note that it is possible for a library to be covered by the ordinary General Public License rather than by this special one. -TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION -0. This License Agreement applies to any software library which contains a notice placed by the copyright holder or other authorized party saying it may be distributed under the terms of this Library General Public License (also called "this License"). Each licensee is addressed as "you". -A "library" means a collection of software functions and/or data prepared so as to be conveniently linked with application programs (which use some of those functions and data) to form executables. -The "Library", below, refers to any such software library or work which has been distributed under these terms. A "work based on the Library" means either the Library or any derivative work under copyright law: that is to say, a work containing the Library or a portion of it, either verbatim or with modifications and/or translated straightforwardly into another language. (Hereinafter, translation is included without limitation in the term "modification".) -"Source code" for a work means the preferred form of the work for making modifications to it. For a library, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the library. -Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running a program using the Library is not restricted, and output from such a program is covered only if its contents constitute a work based on the Library (independent of the use of the Library in a tool for writing it). Whether that is true depends on what the Library does and what the program that uses the Library does. -1. You may copy and distribute verbatim copies of the Library's complete source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and distribute a copy of this License along with the Library. -You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. -2. You may modify your copy or copies of the Library or any portion of it, thus forming a work based on the Library, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: -a) The modified work must itself be a software library. -b) You must cause the files modified to carry prominent notices stating that you changed the files and the date of any change. -c) You must cause the whole of the work to be licensed at no charge to all third parties under the terms of this License. -d) If a facility in the modified Library refers to a function or a table of data to be supplied by an application program that uses the facility, other than as an argument passed when the facility is invoked, then you must make a good faith effort to ensure that, in the event an application does not supply such function or table, the facility still operates, and performs whatever part of its purpose remains meaningful. (For example, a function in a library to compute square roots has a purpose that is entirely well-defined independent of the application. Therefore, Subsection 2d requires that any application-supplied function or table used by this function must be optional: if the application does not supply it, the square root function must still compute square roots.) -These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Library, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Library, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. -Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Library. -In addition, mere aggregation of another work not based on the Library with the Library (or with a work based on the Library) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. -3. You may opt to apply the terms of the ordinary GNU General Public License instead of this License to a given copy of the Library. To do this, you must alter all the notices that refer to this License, so that they refer to the ordinary GNU General Public License, version 2, instead of to this License. (If a newer version than version 2 of the ordinary GNU General Public License has appeared, then you can specify that version instead if you wish.) Do not make any other change in these notices. -Once this change is made in a given copy, it is irreversible for that copy, so the ordinary GNU General Public License applies to all subsequent copies and derivative works made from that copy. -This option is useful when you wish to copy part of the code of the Library into a program that is not a library. -4. You may copy and distribute the Library (or a portion or derivative of it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange. -If distribution of object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place satisfies the requirement to distribute the source code, even though third parties are not compelled to copy the source along with the object code. -5. A program that contains no derivative of any portion of the Library, but is designed to work with the Library by being compiled or linked with it, is called a "work that uses the Library". Such a work, in isolation, is not a derivative work of the Library, and therefore falls outside the scope of this License. -However, linking a "work that uses the Library" with the Library creates an executable that is a derivative of the Library (because it contains portions of the Library), rather than a "work that uses the library". The executable is therefore covered by this License. Section 6 states terms for distribution of such executables. -When a "work that uses the Library" uses material from a header file that is part of the Library, the object code for the work may be a derivative work of the Library even though the source code is not. Whether this is true is especially significant if the work can be linked without the Library, or if the work is itself a library. The threshold for this to be true is not precisely defined by law. -If such an object file uses only numerical parameters, data structure layouts and accessors, and small macros and small inline functions (ten lines or less in length), then the use of the object file is unrestricted, regardless of whether it is legally a derivative work. (Executables containing this object code plus portions of the Library will still fall under Section 6.) -Otherwise, if the work is a derivative of the Library, you may distribute the object code for the work under the terms of Section 6. Any executables containing that work also fall under Section 6, whether or not they are linked directly with the Library itself. -6. As an exception to the Sections above, you may also compile or link a "work that uses the Library" with the Library to produce a work containing portions of the Library, and distribute that work under terms of your choice, provided that the terms permit modification of the work for the customer's own use and reverse engineering for debugging such modifications. -You must give prominent notice with each copy of the work that the Library is used in it and that the Library and its use are covered by this License. You must supply a copy of this License. If the work during execution displays copyright notices, you must include the copyright notice for the Library among them, as well as a reference directing the user to the copy of this License. Also, you must do one of these things: -a) Accompany the work with the complete corresponding machine-readable source code for the Library including whatever changes were used in the work (which must be distributed under Sections 1 and 2 above); and, if the work is an executable linked with the Library, with the complete machine-readable "work that uses the Library", as object code and/or source code, so that the user can modify the Library and then relink to produce a modified executable containing the modified Library. (It is understood that the user who changes the contents of definitions files in the Library will not necessarily be able to recompile the application to use the modified definitions.) -b) Accompany the work with a written offer, valid for at least three years, to give the same user the materials specified in Subsection 6a, above, for a charge no more than the cost of performing this distribution. -c) If distribution of the work is made by offering access to copy from a designated place, offer equivalent access to copy the above specified materials from the same place. -d) Verify that the user has already received a copy of these materials or that you have already sent this user a copy. -For an executable, the required form of the "work that uses the Library" must include any data and utility programs needed for reproducing the executable from it. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. -It may happen that this requirement contradicts the license restrictions of other proprietary libraries that do not normally accompany the operating system. Such a contradiction means you cannot use both them and the Library together in an executable that you distribute. -7. You may place library facilities that are a work based on the Library side-by-side in a single library together with other library facilities not covered by this License, and distribute such a combined library, provided that the separate distribution of the work based on the Library and of the other library facilities is otherwise permitted, and provided that you do these two things: -a) Accompany the combined library with a copy of the same work based on the Library, uncombined with any other library facilities. This must be distributed under the terms of the Sections above. -b) Give prominent notice with the combined library of the fact that part of it is a work based on the Library, and explaining where to find the accompanying uncombined form of the same work. -8. You may not copy, modify, sublicense, link with, or distribute the Library except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense, link with, or distribute the Library is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. -9. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Library or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Library (or any work based on the Library), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Library or works based on it. -10. Each time you redistribute the Library (or any work based on the Library), the recipient automatically receives a license from the original licensor to copy, distribute, link with or modify the Library subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. -11. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), 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 distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Library at all. For example, if a patent license would not permit royalty-free redistribution of the Library by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Library. -If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply, and the section as a whole is intended to apply in other circumstances. -It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. -This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. -12. If the distribution and/or use of the Library is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Library under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. -13. The Free Software Foundation may publish revised and/or new versions of the Library 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 Library specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Library does not specify a license version number, you may choose any version ever published by the Free Software Foundation. -14. If you wish to incorporate parts of the Library into other free programs whose distribution conditions are incompatible with these, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. -NO WARRANTY -15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE LIBRARY "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 LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. -16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE LIBRARY 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 LIBRARY (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 LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - -*************************************************************************** - -%%The following software may be included in this product: -libxml - -The MIT License -Copyright (c) -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - -*************************************************************************** - -%%The following software may be included in this product: -libxslt - -The MIT License - -Copyright (c) - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/Java/Processing/processing-3.3.6/java/THIRDPARTYLICENSEREADME.txt b/Java/Processing/processing-3.3.6/java/THIRDPARTYLICENSEREADME.txt deleted file mode 100644 index 7b8be19..0000000 --- a/Java/Processing/processing-3.3.6/java/THIRDPARTYLICENSEREADME.txt +++ /dev/null @@ -1,3063 +0,0 @@ -DO NOT TRANSLATE OR LOCALIZE. ------------------------------ - -%% This notice is provided with respect to ASM Bytecode Manipulation -Framework v5.0.3, which may be included with JRE 8, and JDK 8, and -OpenJDK 8. - ---- begin of LICENSE --- - -Copyright (c) 2000-2011 France TĆ©lĆ©com -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - -1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - -2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - -3. Neither the name of the copyright holders nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE -LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF -THE POSSIBILITY OF SUCH DAMAGE. - ---- end of LICENSE --- - --------------------------------------------------------------------------------- - -%% This notice is provided with respect to BSDiff v4.3, which may be -included with JRE 8, JDK 8, and OpenJDK 8. - ---- begin of LICENSE --- - -Copyright 2003-2005 Colin Percival -All rights reserved - -Redistribution and use in source and binary forms, with or without -modification, are permitted providing that the following conditions -are met: -1. Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. -2. Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the -documentation and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR -IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY -DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, -STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING -IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. - ---- end of LICENSE --- - -------------------------------------------------------------------------------- - -%% This notice is provided with respect to CodeViewer 1.0, which may be -included with JDK 8. - ---- begin of LICENSE --- - -Copyright 1999 by CoolServlets.com. - -Any errors or suggested improvements to this class can be reported as -instructed on CoolServlets.com. We hope you enjoy this program... your -comments will encourage further development! This software is distributed -under the terms of the BSD License. Redistribution and use in source and -binary forms, with or without modification, are permitted provided that the -following conditions are met: - -1. Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -Neither name of CoolServlets.com nor the names of its contributors may be -used to endorse or promote products derived from this software without -specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY COOLSERVLETS.COM AND CONTRIBUTORS ``AS IS'' AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY -DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." - - ---- end of LICENSE --- - -------------------------------------------------------------------------------- - -%% This notice is provided with respect to Cryptix AES 3.2.0, which may be -included with JRE 8, JDK 8, and OpenJDK 8. - ---- begin of LICENSE --- - -Cryptix General License - -Copyright (c) 1995-2005 The Cryptix Foundation Limited. -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - 1. Redistributions of source code must retain the copyright notice, - this list of conditions and the following disclaimer. - - 2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - -THIS SOFTWARE IS PROVIDED BY THE CRYPTIX FOUNDATION LIMITED AND -CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, -INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. -IN NO EVENT SHALL THE CRYPTIX FOUNDATION LIMITED OR CONTRIBUTORS BE -LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR -BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE -OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - ---- end of LICENSE --- - -------------------------------------------------------------------------------- - -%% This notice is provided with respect to CUP Parser Generator for -Java 0.10k, which may be included with JRE 8, JDK 8, and OpenJDK 8. - ---- begin of LICENSE --- - -Copyright 1996-1999 by Scott Hudson, Frank Flannery, C. Scott Ananian - -Permission to use, copy, modify, and distribute this software and its -documentation for any purpose and without fee is hereby granted, provided -that the above copyright notice appear in all copies and that both the -copyright notice and this permission notice and warranty disclaimer appear in -supporting documentation, and that the names of the authors or their -employers not be used in advertising or publicity pertaining to distribution of -the software without specific, written prior permission. - -The authors and their employers disclaim all warranties with regard to -this software, including all implied warranties of merchantability and fitness. -In no event shall the authors or their employers be liable for any special, -indirect or consequential damages or any damages whatsoever resulting from -loss of use, data or profits, whether in an action of contract, negligence or -other tortious action, arising out of or in connection with the use or -performance of this software. - ---- end of LICENSE --- - -------------------------------------------------------------------------------- - -%% This notice is provided with respect to Document Object Model (DOM) Level 2 -& 3, which may be included with JRE 8, JDK 8, and OpenJDK 8. - ---- begin of LICENSE --- - -W3C SOFTWARE NOTICE AND LICENSE - -http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 - -This work (and included software, documentation such as READMEs, or other -related items) is being provided by the copyright holders under the following -license. By obtaining, using and/or copying this work, you (the licensee) -agree that you have read, understood, and will comply with the following terms -and conditions. - -Permission to copy, modify, and distribute this software and its -documentation, with or without modification, for any purpose and without fee -or royalty is hereby granted, provided that you include the following on ALL -copies of the software and documentation or portions thereof, including -modifications: - - 1.The full text of this NOTICE in a location viewable to users of the - redistributed or derivative work. - - 2.Any pre-existing intellectual property disclaimers, notices, or terms and - conditions. If none exist, the W3C Software Short Notice should be included - (hypertext is preferred, text is permitted) within the body of any - redistributed or derivative code. - - 3.Notice of any changes or modifications to the files, including the date - changes were made. (We recommend you provide URIs to the location from - which the code is derived.) - -THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS -MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT -LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR -PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENTATION WILL NOT INFRINGE ANY -THIRD PARTY PATENTS,COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS. - -COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL -OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR -DOCUMENTATION. The name and trademarks of copyright holders may NOT be used -in advertising or publicity pertaining to the software without specific, -written prior permission. Title to copyright in this software and any -associated documentation will at all times remain with copyright holders. - -____________________________________ - -This formulation of W3C's notice and license became active on December 31 -2002. This version removes the copyright ownership notice such that this -license can be used with materials other than those owned by the W3C, reflects -that ERCIM is now a host of the W3C, includes references to this specific -dated version of the license, and removes the ambiguous grant of "use". -Otherwise, this version is the same as the previous version and is written so -as to preserve the Free Software Foundation's assessment of GPL compatibility -and OSI's certification under the Open Source Definition. Please see our -Copyright FAQ for common questions about using materials from our site, -including specific terms and conditions for packages like libwww, Amaya, and -Jigsaw. Other questions about this notice can be directed to -site-policy@w3.org. - ---- end of LICENSE --- - -------------------------------------------------------------------------------- - -%% This notice is provided with respect to Dynalink v0.5, which may be -included with JRE 8, JDK 8, and OpenJDK 8. - ---- begin of LICENSE --- - -Copyright (c) 2009-2013, Attila Szegedi - -All rights reserved.Redistribution and use in source and binary forms, with or -without modification, are permitted provided that the following conditions are -met:* Redistributions of source code must retain the above copyright notice, -this list of conditions and the following disclaimer. * Redistributions in -binary form must reproduce the above copyright notice, this list of -conditions and the following disclaimer in the documentation and/or other -materials provided with the distribution. * Neither the name of Attila -Szegedi nor the names of its contributors may be used to endorse or promote -products derived from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THEPOSSIBILITY OF SUCH DAMAGE. - ---- end of LICENSE --- - -------------------------------------------------------------------------------- - -%% This notice is provided with respect to Elliptic Curve Cryptography, which -may be included with JRE 8, JDK 8, and OpenJDK 8. - -You are receiving a copy of the Elliptic Curve Cryptography library in source -form with the JDK 8 and OpenJDK 8 source distributions, and as object code in -the JRE 8 & JDK 8 runtimes. - -In the case of the JRE & JDK runtimes, the terms of the Oracle license do -NOT apply to the Elliptic Curve Cryptography library; it is licensed under the -following license, separately from Oracle's JDK & JRE. If you do not wish to -install the Elliptic Curve Cryptography library, you may delete the -Elliptic Curve Cryptography library: - - On Solaris and Linux systems: delete $(JAVA_HOME)/lib/libsunec.so - - On Windows systems: delete $(JAVA_HOME)\bin\sunec.dll - - On Mac systems, delete: - for JRE: /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/lib/libsunec.dylib - for JDK: $(JAVA_HOME)/jre/lib/libsunec.dylib - -Written Offer for ECC Source Code - For third party technology that you receive from Oracle in binary form - which is licensed under an open source license that gives you the right - to receive the source code for that binary, you can obtain a copy of - the applicable source code from this page: - http://hg.openjdk.java.net/jdk8u/jdk8u/jdk/file/tip/src/share/native/sun/security/ec/impl - - If the source code for the technology was not provided to you with the - binary, you can also receive a copy of the source code on physical - media by submitting a written request to: - - Oracle America, Inc. - Attn: Associate General Counsel, - Development and Engineering Legal - 500 Oracle Parkway, 10th Floor - Redwood Shores, CA 94065 - - Or, you may send an email to Oracle using the form at: - http://www.oracle.com/goto/opensourcecode/request - - Your request should include: - - The name of the component or binary file(s) for which you are requesting - the source code - - The name and version number of the Oracle product containing the binary - - The date you received the Oracle product - - Your name - - Your company name (if applicable) - - Your return mailing address and email and - - A telephone number in the event we need to reach you. - - We may charge you a fee to cover the cost of physical media and processing. - Your request must be sent (i) within three (3) years of the date you - received the Oracle product that included the component or binary - file(s) that are the subject of your request, or (ii) in the case of - code licensed under the GPL v3, for as long as Oracle offers spare - parts or customer support for that product model. - ---- begin of LICENSE --- - - GNU LESSER GENERAL PUBLIC LICENSE - Version 2.1, February 1999 - - Copyright (C) 1991, 1999 Free Software Foundation, Inc. - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - -[This is the first released version of the Lesser GPL. It also counts - as the successor of the GNU Library Public License, version 2, hence - the version number 2.1.] - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -Licenses are intended to guarantee your freedom to share and change -free software--to make sure the software is free for all its users. - - This license, the Lesser General Public License, applies to some -specially designated software packages--typically libraries--of the -Free Software Foundation and other authors who decide to use it. You -can use it too, but we suggest you first think carefully about whether -this license or the ordinary General Public License is the better -strategy to use in any particular case, based on the explanations below. - - When we speak of free software, we are referring to freedom of use, -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 this service if you wish); that you receive source code or can get -it if you want it; that you can change the software and use pieces of -it in new free programs; and that you are informed that you can do -these things. - - To protect your rights, we need to make restrictions that forbid -distributors to deny you these rights or to ask you to surrender these -rights. These restrictions translate to certain responsibilities for -you if you distribute copies of the library or if you modify it. - - For example, if you distribute copies of the library, whether gratis -or for a fee, you must give the recipients all the rights that we gave -you. You must make sure that they, too, receive or can get the source -code. If you link other code with the library, you must provide -complete object files to the recipients, so that they can relink them -with the library after making changes to the library and recompiling -it. And you must show them these terms so they know their rights. - - We protect your rights with a two-step method: (1) we copyright the -library, and (2) we offer you this license, which gives you legal -permission to copy, distribute and/or modify the library. - - To protect each distributor, we want to make it very clear that -there is no warranty for the free library. Also, if the library is -modified by someone else and passed on, the recipients should know -that what they have is not the original version, so that the original -author's reputation will not be affected by problems that might be -introduced by others. - - Finally, software patents pose a constant threat to the existence of -any free program. We wish to make sure that a company cannot -effectively restrict the users of a free program by obtaining a -restrictive license from a patent holder. Therefore, we insist that -any patent license obtained for a version of the library must be -consistent with the full freedom of use specified in this license. - - Most GNU software, including some libraries, is covered by the -ordinary GNU General Public License. This license, the GNU Lesser -General Public License, applies to certain designated libraries, and -is quite different from the ordinary General Public License. We use -this license for certain libraries in order to permit linking those -libraries into non-free programs. - - When a program is linked with a library, whether statically or using -a shared library, the combination of the two is legally speaking a -combined work, a derivative of the original library. The ordinary -General Public License therefore permits such linking only if the -entire combination fits its criteria of freedom. The Lesser General -Public License permits more lax criteria for linking other code with -the library. - - We call this license the "Lesser" General Public License because it -does Less to protect the user's freedom than the ordinary General -Public License. It also provides other free software developers Less -of an advantage over competing non-free programs. These disadvantages -are the reason we use the ordinary General Public License for many -libraries. However, the Lesser license provides advantages in certain -special circumstances. - - For example, on rare occasions, there may be a special need to -encourage the widest possible use of a certain library, so that it becomes -a de-facto standard. To achieve this, non-free programs must be -allowed to use the library. A more frequent case is that a free -library does the same job as widely used non-free libraries. In this -case, there is little to gain by limiting the free library to free -software only, so we use the Lesser General Public License. - - In other cases, permission to use a particular library in non-free -programs enables a greater number of people to use a large body of -free software. For example, permission to use the GNU C Library in -non-free programs enables many more people to use the whole GNU -operating system, as well as its variant, the GNU/Linux operating -system. - - Although the Lesser General Public License is Less protective of the -users' freedom, it does ensure that the user of a program that is -linked with the Library has the freedom and the wherewithal to run -that program using a modified version of the Library. - - The precise terms and conditions for copying, distribution and -modification follow. Pay close attention to the difference between a -"work based on the library" and a "work that uses the library". The -former contains code derived from the library, whereas the latter must -be combined with the library in order to run. - - GNU LESSER GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License Agreement applies to any software library or other -program which contains a notice placed by the copyright holder or -other authorized party saying it may be distributed under the terms of -this Lesser General Public License (also called "this License"). -Each licensee is addressed as "you". - - A "library" means a collection of software functions and/or data -prepared so as to be conveniently linked with application programs -(which use some of those functions and data) to form executables. - - The "Library", below, refers to any such software library or work -which has been distributed under these terms. A "work based on the -Library" means either the Library or any derivative work under -copyright law: that is to say, a work containing the Library or a -portion of it, either verbatim or with modifications and/or translated -straightforwardly into another language. (Hereinafter, translation is -included without limitation in the term "modification".) - - "Source code" for a work means the preferred form of the work for -making modifications to it. For a library, complete source code means -all the source code for all modules it contains, plus any associated -interface definition files, plus the scripts used to control compilation -and installation of the library. - - Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running a program using the Library is not restricted, and output from -such a program is covered only if its contents constitute a work based -on the Library (independent of the use of the Library in a tool for -writing it). Whether that is true depends on what the Library does -and what the program that uses the Library does. - - 1. You may copy and distribute verbatim copies of the Library's -complete source code as you receive it, in any medium, provided that -you conspicuously and appropriately publish on each copy an -appropriate copyright notice and disclaimer of warranty; keep intact -all the notices that refer to this License and to the absence of any -warranty; and distribute a copy of this License along with the -Library. - - You may charge a fee for the physical act of transferring a copy, -and you may at your option offer warranty protection in exchange for a -fee. - - 2. You may modify your copy or copies of the Library or any portion -of it, thus forming a work based on the Library, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) The modified work must itself be a software library. - - b) You must cause the files modified to carry prominent notices - stating that you changed the files and the date of any change. - - c) You must cause the whole of the work to be licensed at no - charge to all third parties under the terms of this License. - - d) If a facility in the modified Library refers to a function or a - table of data to be supplied by an application program that uses - the facility, other than as an argument passed when the facility - is invoked, then you must make a good faith effort to ensure that, - in the event an application does not supply such function or - table, the facility still operates, and performs whatever part of - its purpose remains meaningful. - - (For example, a function in a library to compute square roots has - a purpose that is entirely well-defined independent of the - application. Therefore, Subsection 2d requires that any - application-supplied function or table used by this function must - be optional: if the application does not supply it, the square - root function must still compute square roots.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Library, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Library, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote -it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Library. - -In addition, mere aggregation of another work not based on the Library -with the Library (or with a work based on the Library) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may opt to apply the terms of the ordinary GNU General Public -License instead of this License to a given copy of the Library. To do -this, you must alter all the notices that refer to this License, so -that they refer to the ordinary GNU General Public License, version 2, -instead of to this License. (If a newer version than version 2 of the -ordinary GNU General Public License has appeared, then you can specify -that version instead if you wish.) Do not make any other change in -these notices. - - Once this change is made in a given copy, it is irreversible for -that copy, so the ordinary GNU General Public License applies to all -subsequent copies and derivative works made from that copy. - - This option is useful when you wish to copy part of the code of -the Library into a program that is not a library. - - 4. You may copy and distribute the Library (or a portion or -derivative of it, under Section 2) in object code or executable form -under the terms of Sections 1 and 2 above provided that you accompany -it with the complete corresponding machine-readable source code, which -must be distributed under the terms of Sections 1 and 2 above on a -medium customarily used for software interchange. - - If distribution of object code is made by offering access to copy -from a designated place, then offering equivalent access to copy the -source code from the same place satisfies the requirement to -distribute the source code, even though third parties are not -compelled to copy the source along with the object code. - - 5. A program that contains no derivative of any portion of the -Library, but is designed to work with the Library by being compiled or -linked with it, is called a "work that uses the Library". Such a -work, in isolation, is not a derivative work of the Library, and -therefore falls outside the scope of this License. - - However, linking a "work that uses the Library" with the Library -creates an executable that is a derivative of the Library (because it -contains portions of the Library), rather than a "work that uses the -library". The executable is therefore covered by this License. -Section 6 states terms for distribution of such executables. - - When a "work that uses the Library" uses material from a header file -that is part of the Library, the object code for the work may be a -derivative work of the Library even though the source code is not. -Whether this is true is especially significant if the work can be -linked without the Library, or if the work is itself a library. The -threshold for this to be true is not precisely defined by law. - - If such an object file uses only numerical parameters, data -structure layouts and accessors, and small macros and small inline -functions (ten lines or less in length), then the use of the object -file is unrestricted, regardless of whether it is legally a derivative -work. (Executables containing this object code plus portions of the -Library will still fall under Section 6.) - - Otherwise, if the work is a derivative of the Library, you may -distribute the object code for the work under the terms of Section 6. -Any executables containing that work also fall under Section 6, -whether or not they are linked directly with the Library itself. - - 6. As an exception to the Sections above, you may also combine or -link a "work that uses the Library" with the Library to produce a -work containing portions of the Library, and distribute that work -under terms of your choice, provided that the terms permit -modification of the work for the customer's own use and reverse -engineering for debugging such modifications. - - You must give prominent notice with each copy of the work that the -Library is used in it and that the Library and its use are covered by -this License. You must supply a copy of this License. If the work -during execution displays copyright notices, you must include the -copyright notice for the Library among them, as well as a reference -directing the user to the copy of this License. Also, you must do one -of these things: - - a) Accompany the work with the complete corresponding - machine-readable source code for the Library including whatever - changes were used in the work (which must be distributed under - Sections 1 and 2 above); and, if the work is an executable linked - with the Library, with the complete machine-readable "work that - uses the Library", as object code and/or source code, so that the - user can modify the Library and then relink to produce a modified - executable containing the modified Library. (It is understood - that the user who changes the contents of definitions files in the - Library will not necessarily be able to recompile the application - to use the modified definitions.) - - b) Use a suitable shared library mechanism for linking with the - Library. A suitable mechanism is one that (1) uses at run time a - copy of the library already present on the user's computer system, - rather than copying library functions into the executable, and (2) - will operate properly with a modified version of the library, if - the user installs one, as long as the modified version is - interface-compatible with the version that the work was made with. - - c) Accompany the work with a written offer, valid for at - least three years, to give the same user the materials - specified in Subsection 6a, above, for a charge no more - than the cost of performing this distribution. - - d) If distribution of the work is made by offering access to copy - from a designated place, offer equivalent access to copy the above - specified materials from the same place. - - e) Verify that the user has already received a copy of these - materials or that you have already sent this user a copy. - - For an executable, the required form of the "work that uses the -Library" must include any data and utility programs needed for -reproducing the executable from it. However, as a special exception, -the materials to be distributed need not include anything that is -normally distributed (in either source or binary form) with the major -components (compiler, kernel, and so on) of the operating system on -which the executable runs, unless that component itself accompanies -the executable. - - It may happen that this requirement contradicts the license -restrictions of other proprietary libraries that do not normally -accompany the operating system. Such a contradiction means you cannot -use both them and the Library together in an executable that you -distribute. - - 7. You may place library facilities that are a work based on the -Library side-by-side in a single library together with other library -facilities not covered by this License, and distribute such a combined -library, provided that the separate distribution of the work based on -the Library and of the other library facilities is otherwise -permitted, and provided that you do these two things: - - a) Accompany the combined library with a copy of the same work - based on the Library, uncombined with any other library - facilities. This must be distributed under the terms of the - Sections above. - - b) Give prominent notice with the combined library of the fact - that part of it is a work based on the Library, and explaining - where to find the accompanying uncombined form of the same work. - - 8. You may not copy, modify, sublicense, link with, or distribute -the Library except as expressly provided under this License. Any -attempt otherwise to copy, modify, sublicense, link with, or -distribute the Library is void, and will automatically terminate your -rights under this License. However, parties who have received copies, -or rights, from you under this License will not have their licenses -terminated so long as such parties remain in full compliance. - - 9. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Library or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Library (or any work based on the -Library), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Library or works based on it. - - 10. Each time you redistribute the Library (or any work based on the -Library), the recipient automatically receives a license from the -original licensor to copy, distribute, link with or modify the Library -subject to these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties with -this License. - - 11. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -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 -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Library at all. For example, if a patent -license would not permit royalty-free redistribution of the Library by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Library. - -If any portion of this section is held invalid or unenforceable under any -particular circumstance, the balance of the section is intended to apply, -and the section as a whole is intended to apply in other circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 12. If the distribution and/or use of the Library is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Library under this License may add -an explicit geographical distribution limitation excluding those countries, -so that distribution is permitted only in or among countries not thus -excluded. In such case, this License incorporates the limitation as if -written in the body of this License. - - 13. The Free Software Foundation may publish revised and/or new -versions of the Lesser 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 Library -specifies a version number of this License which applies to it and -"any later version", you have the option of following the terms and -conditions either of that version or of any later version published by -the Free Software Foundation. If the Library does not specify a -license version number, you may choose any version ever published by -the Free Software Foundation. - - 14. If you wish to incorporate parts of the Library into other free -programs whose distribution conditions are incompatible with these, -write to the author to ask for permission. For software which is -copyrighted by the Free Software Foundation, write to the Free -Software Foundation; we sometimes make exceptions for this. Our -decision will be guided by the two goals of preserving the free status -of all derivatives of our free software and of promoting the sharing -and reuse of software generally. - - NO WARRANTY - - 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO -WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. -EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR -OTHER PARTIES PROVIDE THE LIBRARY "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 -LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME -THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN -WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY -AND/OR REDISTRIBUTE THE LIBRARY 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 -LIBRARY (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 LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF -SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Libraries - - If you develop a new library, and you want it to be of the greatest -possible use to the public, we recommend making it free software that -everyone can redistribute and change. You can do so by permitting -redistribution under these terms (or, alternatively, under the terms of the -ordinary General Public License). - - To apply these terms, attach the following notices to the library. It is -safest to attach them to the start of each source file to most effectively -convey 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 library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - This library 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - -Also add information on how to contact you by electronic and paper mail. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the library, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the - library `Frob' (a library for tweaking knobs) written by James Random Hacker. - - , 1 April 1990 - Ty Coon, President of Vice - -That's all there is to it! - ---- end of LICENSE --- - -------------------------------------------------------------------------------- - -%% This notice is provided with respect to ECMAScript Language -Specification ECMA-262 Edition 5.1 which may be included with -JRE 8, JDK 8, and OpenJDK 8. - ---- begin of LICENSE --- - -Copyright notice -Copyright Ā© 2011 Ecma International -Ecma International -Rue du Rhone 114 -CH-1204 Geneva -Tel: +41 22 849 6000 -Fax: +41 22 849 6001 -Web: http://www.ecma-international.org - -This document and possible translations of it may be copied and furnished to -others, and derivative works that comment on or otherwise explain it or assist -in its implementation may be prepared, copied, published, and distributed, in -whole or in part, without restriction of any kind, provided that the above -copyright notice and this section are included on all such copies and derivative -works. However, this document itself may not be modified in any way, including -by removing the copyright notice or references to Ecma International, except as -needed for the purpose of developing any document or deliverable produced by -Ecma International (in which case the rules applied to copyrights must be -followed) or as required to translate it into languages other than English. The -limited permissions granted above are perpetual and will not be revoked by Ecma -International or its successors or assigns. This document and the information -contained herein is provided on an "AS IS" basis and ECMA INTERNATIONAL -DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY -WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY OWNERSHIP -RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR -PURPOSE." Software License - -All Software contained in this document ("Software)" is protected by copyright -and is being made available under the "BSD License", included below. This -Software may be subject to third party rights (rights from parties other than -Ecma International), including patent rights, and no licenses under such third -party rights are granted under this license even if the third party concerned is -a member of Ecma International. SEE THE ECMA CODE OF CONDUCT IN PATENT MATTERS -AVAILABLE AT http://www.ecma-international.org/memento/codeofconduct.htm FOR -INFORMATION REGARDING THE LICENSING OF PATENT CLAIMS THAT ARE REQUIRED TO -IMPLEMENT ECMA INTERNATIONAL STANDARDS*. Redistribution and use in source and -binary forms, with or without modification, are permitted provided that the -following conditions are met: - -1. Redistributions of source code must retain the above copyright notice, this -list of conditions and the following disclaimer. - -2. Redistributions in binary form must reproduce the above copyright notice, -this list of conditions and the following disclaimer in the documentation and/or -other materials provided with the distribution. - -3. Neither the name of the authors nor Ecma International may be used to endorse -or promote products derived from this software without specific prior written -permission. - -THIS SOFTWARE IS PROVIDED BY THE ECMA INTERNATIONAL "AS IS" AND ANY EXPRESS OR -IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT -SHALL ECMA INTERNATIONAL BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR -BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING -IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY -OF SUCH DAMAGE. ---- end of LICENSE --- - -%% This notice is provided with respect to FontConfig 2.5, which may be -included with JRE 8, JDK 8, and OpenJDK 8 source distributions on -Linux and Solaris. - ---- begin of LICENSE --- - -Copyright Ā© 2001,2003 Keith Packard - -Permission to use, copy, modify, distribute, and sell this software and its -documentation for any purpose is hereby granted without fee, provided that the -above copyright notice appear in all copies and that both that copyright -notice and this permission notice appear in supporting documentation, and that -the name of Keith Packard not be used in advertising or publicity pertaining -to distribution of the software without specific, written prior permission. -Keith Packard makes no representations about the suitability of this software -for any purpose. It is provided "as is" without express or implied warranty. - -KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING -ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL KEITH -PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY -DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN -CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - - ---- end of LICENSE --- - -------------------------------------------------------------------------------- - -%% This notice is provided with respect to freebXML Registry 3.0 & 3.1, -which may be included with JRE 8, JDK 8, and OpenJDK 8. - ---- begin of LICENSE --- - -freebxml: Copyright (c) 2001 freebxml.org. All rights reserved. - -The names "The freebXML Registry Project" and "freebxml Software -Foundation" must not be used to endorse or promote products derived -from this software or be used in a product name without prior -written permission. For written permission, please contact -ebxmlrr-team@lists.sourceforge.net. - -This software consists of voluntary contributions made by many individuals -on behalf of the the freebxml Software Foundation. For more information on -the freebxml Software Foundation, please see . - -This product includes software developed by the Apache Software Foundation -(http://www.apache.org/). - -The freebxml License, Version 1.1 5 -Copyright (c) 2001 freebxml.org. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - - 1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - 2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - - 3. The end-user documentation included with the redistribution, if - any, must include the following acknowlegement: - "This product includes software developed by - freebxml.org (http://www.freebxml.org/)." - Alternately, this acknowlegement may appear in the software itself, - if and wherever such third-party acknowlegements normally appear. - - 4. The names "The freebXML Registry Project", "freebxml Software - Foundation" must not be used to endorse or promote products derived - from this software without prior written permission. For written - permission, please contact ebxmlrr-team@lists.sourceforge.net. - - 5. Products derived from this software may not be called "freebxml", - "freebXML Registry" nor may freebxml" appear in their names without - prior written permission of the freebxml Group. - -THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED -WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES -OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE freebxml SOFTWARE FOUNDATION OR -ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -SUCH DAMAGE. - ---- end of LICENSE --- - -------------------------------------------------------------------------------- - -%% This notice is provided with respect to IAIK PKCS#11 Wrapper, -which may be included with JRE 8, JDK 8, and OpenJDK 8. - ---- begin of LICENSE --- - -IAIK PKCS#11 Wrapper License - -Copyright (c) 2002 Graz University of Technology. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -1. Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -3. The end-user documentation included with the redistribution, if any, must - include the following acknowledgment: - - "This product includes software developed by IAIK of Graz University of - Technology." - - Alternately, this acknowledgment may appear in the software itself, if and - wherever such third-party acknowledgments normally appear. - -4. The names "Graz University of Technology" and "IAIK of Graz University of - Technology" must not be used to endorse or promote products derived from this - software without prior written permission. - -5. Products derived from this software may not be called "IAIK PKCS Wrapper", - nor may "IAIK" appear in their name, without prior written permission of - Graz University of Technology. - -THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESSED OR IMPLIED WARRANTIES, -INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -LICENSOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, -OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. - ---- end of LICENSE --- - -------------------------------------------------------------------------------- - -%% This notice is provided with respect to ICU4C 4.0.1 and ICU4J 4.4, which -may be included with JRE 8, JDK 8, and OpenJDK 8. - ---- begin of LICENSE --- - -Copyright (c) 1995-2010 International Business Machines Corporation and others - -All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, and/or sell copies of the -Software, and to permit persons to whom the Software is furnished to do so, -provided that the above copyright notice(s) and this permission notice appear -in all copies of the Software and that both the above copyright notice(s) and -this permission notice appear in supporting documentation. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN -NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE BE -LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY -DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN -CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall not -be used in advertising or otherwise to promote the sale, use or other dealings -in this Software without prior written authorization of the copyright holder. -All trademarks and registered trademarks mentioned herein are the property of -their respective owners. - ---- end of LICENSE --- - -------------------------------------------------------------------------------- - -%% This notice is provided with respect to IJG JPEG 6b, which may be -included with JRE 8, JDK 8, and OpenJDK 8. - ---- begin of LICENSE --- - -This software is copyright (C) 1991-1998, Thomas G. Lane. -All Rights Reserved except as specified below. - -Permission is hereby granted to use, copy, modify, and distribute this -software (or portions thereof) for any purpose, without fee, subject to these -conditions: -(1) If any part of the source code for this software is distributed, then this -README file must be included, with this copyright and no-warranty notice -unaltered; and any additions, deletions, or changes to the original files -must be clearly indicated in accompanying documentation. -(2) If only executable code is distributed, then the accompanying -documentation must state that "this software is based in part on the work of -the Independent JPEG Group". -(3) Permission for use of this software is granted only if the user accepts -full responsibility for any undesirable consequences; the authors accept -NO LIABILITY for damages of any kind. - -These conditions apply to any software derived from or based on the IJG code, -not just to the unmodified library. If you use our work, you ought to -acknowledge us. - -Permission is NOT granted for the use of any IJG author's name or company name -in advertising or publicity relating to this software or products derived from -it. This software may be referred to only as "the Independent JPEG Group's -software". - -We specifically permit and encourage the use of this software as the basis of -commercial products, provided that all warranty or liability claims are -assumed by the product vendor. - ---- end of LICENSE --- - --------------------------------------------------------------------------------- - -%% This notice is provided with respect to Jing 20030619, which may -be included with JRE 8, JDK 8, and OpenJDK 8. - ---- begin of LICENSE --- - -Copyright (c) 2001-2003 Thai Open Source Software Center Ltd All -rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - -Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - -Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the -documentation and/or other materials provided with the distribution. - -Neither the name of the Thai Open Source Software Center Ltd nor -the names of its contributors may be used to endorse or promote -products derived from this software without specific prior written -permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -SUCH DAMAGE. - ---- end of LICENSE --- - --------------------------------------------------------------------------------- - -%% This notice is provided with respect to Joni v1.1.9, which may be -included with JRE 8, JDK 8, and OpenJDK 8. - ---- begin of LICENSE --- - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - ---- end of LICENSE --- - -------------------------------------------------------------------------------- - -%% This notice is provided with respect to JOpt-Simple v3.0, which may be -included with JRE 8, JDK 8, and OpenJDK 8. - ---- begin of LICENSE --- - - Copyright (c) 2004-2009 Paul R. Holser, Jr. - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - "Software"), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE - LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION - OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - ---- end of LICENSE --- - --------------------------------------------------------------------------------- - -%% This notice is provided with respect to Kerberos functionality, which -which may be included with JRE 8, JDK 8, and OpenJDK 8. - ---- begin of LICENSE --- - - (C) Copyright IBM Corp. 1999 All Rights Reserved. - Copyright 1997 The Open Group Research Institute. All rights reserved. - ---- end of LICENSE --- - -------------------------------------------------------------------------------- - -%% This notice is provided with respect to Kerberos functionality from -FundsXpress, INC., which may be included with JRE 8, JDK 8, and OpenJDK 8. - ---- begin of LICENSE --- - - Copyright (C) 1998 by the FundsXpress, INC. - - All rights reserved. - - Export of this software from the United States of America may require - a specific license from the United States Government. It is the - responsibility of any person or organization contemplating export to - obtain such a license before exporting. - - WITHIN THAT CONSTRAINT, permission to use, copy, modify, and - distribute this software and its documentation for any purpose and - without fee is hereby granted, provided that the above copyright - notice appear in all copies and that both that copyright notice and - this permission notice appear in supporting documentation, and that - the name of FundsXpress. not be used in advertising or publicity pertaining - to distribution of the software without specific, written prior - permission. FundsXpress makes no representations about the suitability of - this software for any purpose. It is provided "as is" without express - or implied warranty. - - THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR - IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED - WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. - - ---- end of LICENSE --- - -------------------------------------------------------------------------------- - -%% This notice is provided with respect to Kronos OpenGL headers, which may be -included with JDK 8 and OpenJDK 8 source distributions. - ---- begin of LICENSE --- - - Copyright (c) 2007 The Khronos Group Inc. - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and/or associated documentation files (the "Materials"), to - deal in the Materials without restriction, including without limitation the - rights to use, copy, modify, merge, publish, distribute, sublicense, and/or - sell copies of the Materials, and to permit persons to whom the Materials are - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in all - copies or substantial portions of the Materials. - - THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE USE OR OTHER DEALINGS IN THE - MATERIALS. - ---- end of LICENSE --- - -------------------------------------------------------------------------------- - -%% Portions Copyright Eastman Kodak Company 1991-2003 - -------------------------------------------------------------------------------- - -%% This notice is provided with respect to libpng 1.6.16, which may be -included with JRE 8, JDK 8, and OpenJDK 8. - ---- begin of LICENSE --- - -This copy of the libpng notices is provided for your convenience. In case of -any discrepancy between this copy and the notices in the file png.h that is -included in the libpng distribution, the latter shall prevail. - -COPYRIGHT NOTICE, DISCLAIMER, and LICENSE: - -If you modify libpng you may insert additional notices immediately following -this sentence. - -This code is released under the libpng license. - -libpng versions 1.2.6, August 15, 2004, through 1.6.16, December 22, 2014, are -Copyright (c) 2004, 2006-2014 Glenn Randers-Pehrson, and are -distributed according to the same disclaimer and license as libpng-1.2.5 -with the following individual added to the list of Contributing Authors - - Cosmin Truta - -libpng versions 1.0.7, July 1, 2000, through 1.2.5 - October 3, 2002, are -Copyright (c) 2000-2002 Glenn Randers-Pehrson, and are -distributed according to the same disclaimer and license as libpng-1.0.6 -with the following individuals added to the list of Contributing Authors - - Simon-Pierre Cadieux - Eric S. Raymond - Gilles Vollant - -and with the following additions to the disclaimer: - - There is no warranty against interference with your enjoyment of the - library or against infringement. There is no warranty that our - efforts or the library will fulfill any of your particular purposes - or needs. This library is provided with all faults, and the entire - risk of satisfactory quality, performance, accuracy, and effort is with - the user. - -libpng versions 0.97, January 1998, through 1.0.6, March 20, 2000, are -Copyright (c) 1998, 1999 Glenn Randers-Pehrson, and are -distributed according to the same disclaimer and license as libpng-0.96, -with the following individuals added to the list of Contributing Authors: - - Tom Lane - Glenn Randers-Pehrson - Willem van Schaik - -libpng versions 0.89, June 1996, through 0.96, May 1997, are -Copyright (c) 1996, 1997 Andreas Dilger -Distributed according to the same disclaimer and license as libpng-0.88, -with the following individuals added to the list of Contributing Authors: - - John Bowler - Kevin Bracey - Sam Bushell - Magnus Holmgren - Greg Roelofs - Tom Tanner - -libpng versions 0.5, May 1995, through 0.88, January 1996, are -Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc. - -For the purposes of this copyright and license, "Contributing Authors" -is defined as the following set of individuals: - - Andreas Dilger - Dave Martindale - Guy Eric Schalnat - Paul Schmidt - Tim Wegner - -The PNG Reference Library is supplied "AS IS". The Contributing Authors -and Group 42, Inc. disclaim all warranties, expressed or implied, -including, without limitation, the warranties of merchantability and of -fitness for any purpose. The Contributing Authors and Group 42, Inc. -assume no liability for direct, indirect, incidental, special, exemplary, -or consequential damages, which may result from the use of the PNG -Reference Library, even if advised of the possibility of such damage. - -Permission is hereby granted to use, copy, modify, and distribute this -source code, or portions hereof, for any purpose, without fee, subject -to the following restrictions: - -1. The origin of this source code must not be misrepresented. - -2. Altered versions must be plainly marked as such and must not - be misrepresented as being the original source. - -3. This Copyright notice may not be removed or altered from any - source or altered source distribution. - -The Contributing Authors and Group 42, Inc. specifically permit, without -fee, and encourage the use of this source code as a component to -supporting the PNG file format in commercial products. If you use this -source code in a product, acknowledgment is not required but would be -appreciated. - - -A "png_get_copyright" function is available, for convenient use in "about" -boxes and the like: - - printf("%s",png_get_copyright(NULL)); - -Also, the PNG logo (in PNG format, of course) is supplied in the -files "pngbar.png" and "pngbar.jpg (88x31) and "pngnow.png" (98x31). - -Libpng is OSI Certified Open Source Software. OSI Certified Open Source is a -certification mark of the Open Source Initiative. - -Glenn Randers-Pehrson -glennrp at users.sourceforge.net -December 22, 2014 - ---- end of LICENSE --- - -------------------------------------------------------------------------------- - -%% This notice is provided with respect to GIFLIB 5.1.1 & libungif 4.1.3, -which may be included with JRE 8, JDK 8, and OpenJDK 8. - ---- begin of LICENSE --- - -The GIFLIB distribution is Copyright (c) 1997 Eric S. Raymond - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - ---- end of LICENSE --- - -------------------------------------------------------------------------------- - -%% This notice is provided with respect to Little CMS 2.7, which may be -included with JRE 8, JDK 8, and OpenJDK 8. - ---- begin of LICENSE --- - -Little CMS -Copyright (c) 1998-2015 Marti Maria Saguer - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - ---- end of LICENSE --- - -------------------------------------------------------------------------------- - -%% Lucida is a registered trademark or trademark of Bigelow & Holmes in the -U.S. and other countries. - -------------------------------------------------------------------------------- - -%% This notice is provided with respect to Mesa 3D Graphics Library v4.1, -which may be included with JRE 8, JDK 8, and OpenJDK 8 source distributions. - ---- begin of LICENSE --- - - Mesa 3-D graphics library - Version: 4.1 - - Copyright (C) 1999-2002 Brian Paul All Rights Reserved. - - Permission is hereby granted, free of charge, to any person obtaining a - copy of this software and associated documentation files (the "Software"), - to deal in the Software without restriction, including without limitation - the rights to use, copy, modify, merge, publish, distribute, sublicense, - and/or sell copies of the Software, and to permit persons to whom the - Software is furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included - in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN - AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - ---- end of LICENSE --- - -------------------------------------------------------------------------------- - -%% This notice is provided with respect to Mozilla Network Security -Services (NSS), which is supplied with the JDK test suite in the OpenJDK -source code repository. It is licensed under Mozilla Public License (MPL), -version 2.0. - -The NSS libraries are supplied in executable form, built from unmodified -NSS source code labeled with the "NSS_3_16_RTM" HG tag. - -The NSS source code is available in the OpenJDK source code repository at: - jdk/test/sun/security/pkcs11/nss/src - -The NSS libraries are available in the OpenJDK source code repository at: - jdk/test/sun/security/pkcs11/nss/lib - ---- begin of LICENSE --- - -Mozilla Public License Version 2.0 -================================== - -1. Definitions --------------- - -1.1. "Contributor" - means each individual or legal entity that creates, contributes to - the creation of, or owns Covered Software. - -1.2. "Contributor Version" - means the combination of the Contributions of others (if any) used - by a Contributor and that particular Contributor's Contribution. - -1.3. "Contribution" - means Covered Software of a particular Contributor. - -1.4. "Covered Software" - means Source Code Form to which the initial Contributor has attached - the notice in Exhibit A, the Executable Form of such Source Code - Form, and Modifications of such Source Code Form, in each case - including portions thereof. - -1.5. "Incompatible With Secondary Licenses" - means - - (a) that the initial Contributor has attached the notice described - in Exhibit B to the Covered Software; or - - (b) that the Covered Software was made available under the terms of - version 1.1 or earlier of the License, but not also under the - terms of a Secondary License. - -1.6. "Executable Form" - means any form of the work other than Source Code Form. - -1.7. "Larger Work" - means a work that combines Covered Software with other material, in - a separate file or files, that is not Covered Software. - -1.8. "License" - means this document. - -1.9. "Licensable" - means having the right to grant, to the maximum extent possible, - whether at the time of the initial grant or subsequently, any and - all of the rights conveyed by this License. - -1.10. "Modifications" - means any of the following: - - (a) any file in Source Code Form that results from an addition to, - deletion from, or modification of the contents of Covered - Software; or - - (b) any new file in Source Code Form that contains any Covered - Software. - -1.11. "Patent Claims" of a Contributor - means any patent claim(s), including without limitation, method, - process, and apparatus claims, in any patent Licensable by such - Contributor that would be infringed, but for the grant of the - License, by the making, using, selling, offering for sale, having - made, import, or transfer of either its Contributions or its - Contributor Version. - -1.12. "Secondary License" - means either the GNU General Public License, Version 2.0, the GNU - Lesser General Public License, Version 2.1, the GNU Affero General - Public License, Version 3.0, or any later versions of those - licenses. - -1.13. "Source Code Form" - means the form of the work preferred for making modifications. - -1.14. "You" (or "Your") - means an individual or a legal entity exercising rights under this - License. For legal entities, "You" includes any entity that - controls, is controlled by, or is under common control with You. For - purposes of this definition, "control" means (a) the power, direct - or indirect, to cause the direction or management of such entity, - whether by contract or otherwise, or (b) ownership of more than - fifty percent (50%) of the outstanding shares or beneficial - ownership of such entity. - -2. License Grants and Conditions --------------------------------- - -2.1. Grants - -Each Contributor hereby grants You a world-wide, royalty-free, -non-exclusive license: - -(a) under intellectual property rights (other than patent or trademark) - Licensable by such Contributor to use, reproduce, make available, - modify, display, perform, distribute, and otherwise exploit its - Contributions, either on an unmodified basis, with Modifications, or - as part of a Larger Work; and - -(b) under Patent Claims of such Contributor to make, use, sell, offer - for sale, have made, import, and otherwise transfer either its - Contributions or its Contributor Version. - -2.2. Effective Date - -The licenses granted in Section 2.1 with respect to any Contribution -become effective for each Contribution on the date the Contributor first -distributes such Contribution. - -2.3. Limitations on Grant Scope - -The licenses granted in this Section 2 are the only rights granted under -this License. No additional rights or licenses will be implied from the -distribution or licensing of Covered Software under this License. -Notwithstanding Section 2.1(b) above, no patent license is granted by a -Contributor: - -(a) for any code that a Contributor has removed from Covered Software; - or - -(b) for infringements caused by: (i) Your and any other third party's - modifications of Covered Software, or (ii) the combination of its - Contributions with other software (except as part of its Contributor - Version); or - -(c) under Patent Claims infringed by Covered Software in the absence of - its Contributions. - -This License does not grant any rights in the trademarks, service marks, -or logos of any Contributor (except as may be necessary to comply with -the notice requirements in Section 3.4). - -2.4. Subsequent Licenses - -No Contributor makes additional grants as a result of Your choice to -distribute the Covered Software under a subsequent version of this -License (see Section 10.2) or under the terms of a Secondary License (if -permitted under the terms of Section 3.3). - -2.5. Representation - -Each Contributor represents that the Contributor believes its -Contributions are its original creation(s) or it has sufficient rights -to grant the rights to its Contributions conveyed by this License. - -2.6. Fair Use - -This License is not intended to limit any rights You have under -applicable copyright doctrines of fair use, fair dealing, or other -equivalents. - -2.7. Conditions - -Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted -in Section 2.1. - -3. Responsibilities -------------------- - -3.1. Distribution of Source Form - -All distribution of Covered Software in Source Code Form, including any -Modifications that You create or to which You contribute, must be under -the terms of this License. You must inform recipients that the Source -Code Form of the Covered Software is governed by the terms of this -License, and how they can obtain a copy of this License. You may not -attempt to alter or restrict the recipients' rights in the Source Code -Form. - -3.2. Distribution of Executable Form - -If You distribute Covered Software in Executable Form then: - -(a) such Covered Software must also be made available in Source Code - Form, as described in Section 3.1, and You must inform recipients of - the Executable Form how they can obtain a copy of such Source Code - Form by reasonable means in a timely manner, at a charge no more - than the cost of distribution to the recipient; and - -(b) You may distribute such Executable Form under the terms of this - License, or sublicense it under different terms, provided that the - license for the Executable Form does not attempt to limit or alter - the recipients' rights in the Source Code Form under this License. - -3.3. Distribution of a Larger Work - -You may create and distribute a Larger Work under terms of Your choice, -provided that You also comply with the requirements of this License for -the Covered Software. If the Larger Work is a combination of Covered -Software with a work governed by one or more Secondary Licenses, and the -Covered Software is not Incompatible With Secondary Licenses, this -License permits You to additionally distribute such Covered Software -under the terms of such Secondary License(s), so that the recipient of -the Larger Work may, at their option, further distribute the Covered -Software under the terms of either this License or such Secondary -License(s). - -3.4. Notices - -You may not remove or alter the substance of any license notices -(including copyright notices, patent notices, disclaimers of warranty, -or limitations of liability) contained within the Source Code Form of -the Covered Software, except that You may alter any license notices to -the extent required to remedy known factual inaccuracies. - -3.5. Application of Additional Terms - -You may choose to offer, and to charge a fee for, warranty, support, -indemnity or liability obligations to one or more recipients of Covered -Software. However, You may do so only on Your own behalf, and not on -behalf of any Contributor. You must make it absolutely clear that any -such warranty, support, indemnity, or liability obligation is offered by -You alone, and You hereby agree to indemnify every Contributor for any -liability incurred by such Contributor as a result of warranty, support, -indemnity or liability terms You offer. You may include additional -disclaimers of warranty and limitations of liability specific to any -jurisdiction. - -4. Inability to Comply Due to Statute or Regulation ---------------------------------------------------- - -If it is impossible for You to comply with any of the terms of this -License with respect to some or all of the Covered Software due to -statute, judicial order, or regulation then You must: (a) comply with -the terms of this License to the maximum extent possible; and (b) -describe the limitations and the code they affect. Such description must -be placed in a text file included with all distributions of the Covered -Software under this License. Except to the extent prohibited by statute -or regulation, such description must be sufficiently detailed for a -recipient of ordinary skill to be able to understand it. - -5. Termination --------------- - -5.1. The rights granted under this License will terminate automatically -if You fail to comply with any of its terms. However, if You become -compliant, then the rights granted under this License from a particular -Contributor are reinstated (a) provisionally, unless and until such -Contributor explicitly and finally terminates Your grants, and (b) on an -ongoing basis, if such Contributor fails to notify You of the -non-compliance by some reasonable means prior to 60 days after You have -come back into compliance. Moreover, Your grants from a particular -Contributor are reinstated on an ongoing basis if such Contributor -notifies You of the non-compliance by some reasonable means, this is the -first time You have received notice of non-compliance with this License -from such Contributor, and You become compliant prior to 30 days after -Your receipt of the notice. - -5.2. If You initiate litigation against any entity by asserting a patent -infringement claim (excluding declaratory judgment actions, -counter-claims, and cross-claims) alleging that a Contributor Version -directly or indirectly infringes any patent, then the rights granted to -You by any and all Contributors for the Covered Software under Section -2.1 of this License shall terminate. - -5.3. In the event of termination under Sections 5.1 or 5.2 above, all -end user license agreements (excluding distributors and resellers) which -have been validly granted by You or Your distributors under this License -prior to termination shall survive termination. - -************************************************************************ -* * -* 6. Disclaimer of Warranty * -* ------------------------- * -* * -* Covered Software is provided under this License on an "as is" * -* basis, without warranty of any kind, either expressed, implied, or * -* statutory, including, without limitation, warranties that the * -* Covered Software is free of defects, merchantable, fit for a * -* particular purpose or non-infringing. The entire risk as to the * -* quality and performance of the Covered Software is with You. * -* Should any Covered Software prove defective in any respect, You * -* (not any Contributor) assume the cost of any necessary servicing, * -* repair, or correction. This disclaimer of warranty constitutes an * -* essential part of this License. No use of any Covered Software is * -* authorized under this License except under this disclaimer. * -* * -************************************************************************ - -************************************************************************ -* * -* 7. Limitation of Liability * -* -------------------------- * -* * -* Under no circumstances and under no legal theory, whether tort * -* (including negligence), contract, or otherwise, shall any * -* Contributor, or anyone who distributes Covered Software as * -* permitted above, be liable to You for any direct, indirect, * -* special, incidental, or consequential damages of any character * -* including, without limitation, damages for lost profits, loss of * -* goodwill, work stoppage, computer failure or malfunction, or any * -* and all other commercial damages or losses, even if such party * -* shall have been informed of the possibility of such damages. This * -* limitation of liability shall not apply to liability for death or * -* personal injury resulting from such party's negligence to the * -* extent applicable law prohibits such limitation. Some * -* jurisdictions do not allow the exclusion or limitation of * -* incidental or consequential damages, so this exclusion and * -* limitation may not apply to You. * -* * -************************************************************************ - -8. Litigation -------------- - -Any litigation relating to this License may be brought only in the -courts of a jurisdiction where the defendant maintains its principal -place of business and such litigation shall be governed by laws of that -jurisdiction, without reference to its conflict-of-law provisions. -Nothing in this Section shall prevent a party's ability to bring -cross-claims or counter-claims. - -9. Miscellaneous ----------------- - -This License represents the complete agreement concerning the subject -matter hereof. If any provision of this License is held to be -unenforceable, such provision shall be reformed only to the extent -necessary to make it enforceable. Any law or regulation which provides -that the language of a contract shall be construed against the drafter -shall not be used to construe this License against a Contributor. - -10. Versions of the License ---------------------------- - -10.1. New Versions - -Mozilla Foundation is the license steward. Except as provided in Section -10.3, no one other than the license steward has the right to modify or -publish new versions of this License. Each version will be given a -distinguishing version number. - -10.2. Effect of New Versions - -You may distribute the Covered Software under the terms of the version -of the License under which You originally received the Covered Software, -or under the terms of any subsequent version published by the license -steward. - -10.3. Modified Versions - -If you create software not governed by this License, and you want to -create a new license for such software, you may create and use a -modified version of this License if you rename the license and remove -any references to the name of the license steward (except to note that -such modified license differs from this License). - -10.4. Distributing Source Code Form that is Incompatible With Secondary -Licenses - -If You choose to distribute Source Code Form that is Incompatible With -Secondary Licenses under the terms of this version of the License, the -notice described in Exhibit B of this License must be attached. - -Exhibit A - Source Code Form License Notice -------------------------------------------- - - This Source Code Form is subject to the terms of the Mozilla Public - License, v. 2.0. If a copy of the MPL was not distributed with this - file, You can obtain one at http://mozilla.org/MPL/2.0/. - -If it is not possible or desirable to put the notice in a particular -file, then You may include the notice in a location (such as a LICENSE -file in a relevant directory) where a recipient would be likely to look -for such a notice. - -You may add additional accurate notices of copyright ownership. - -Exhibit B - "Incompatible With Secondary Licenses" Notice ---------------------------------------------------------- - - This Source Code Form is "Incompatible With Secondary Licenses", as - defined by the Mozilla Public License, v. 2.0. - ---- end of LICENSE --- - -------------------------------------------------------------------------------- - -%% This notice is provided with respect to PC/SC Lite for Suse Linux v.1.1.1, -which may be included with JRE 8, JDK 8, and OpenJDK 8 on Linux and Solaris. - ---- begin of LICENSE --- - -Copyright (c) 1999-2004 David Corcoran -Copyright (c) 1999-2004 Ludovic Rousseau -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - -1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. -2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. -3. All advertising materials mentioning features or use of this software - must display the following acknowledgement: - This product includes software developed by: - David Corcoran - http://www.linuxnet.com (MUSCLE) -4. The name of the author may not be used to endorse or promote products - derived from this software without specific prior written permission. - -Changes to this license can be made only by the copyright author with -explicit written consent. - -THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR -IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES -OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. -IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - ---- end of LICENSE --- - -------------------------------------------------------------------------------- - -%% This notice is provided with respect to PorterStemmer v4, which may be -included with JRE 8, JDK 8, and OpenJDK 8. - ---- begin of LICENSE --- - -See: http://tartarus.org/~martin/PorterStemmer - -The software is completely free for any purpose, unless notes at the head of -the program text indicates otherwise (which is rare). In any case, the notes -about licensing are never more restrictive than the BSD License. - -In every case where the software is not written by me (Martin Porter), this -licensing arrangement has been endorsed by the contributor, and it is -therefore unnecessary to ask the contributor again to confirm it. - -I have not asked any contributors (or their employers, if they have them) for -proofs that they have the right to distribute their software in this way. - ---- end of LICENSE --- - -------------------------------------------------------------------------------- - -%% This notice is provided with respect to Relax NG Object/Parser v.20050510, -which may be included with JRE 8, JDK 8, and OpenJDK 8. - ---- begin of LICENSE --- - -Copyright (c) Kohsuke Kawaguchi - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: The above copyright -notice and this permission notice shall be included in all copies or -substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - ---- end of LICENSE --- - -------------------------------------------------------------------------------- - -%% This notice is provided with respect to RelaxNGCC v1.12, which may be -included with JRE 8, JDK 8, and OpenJDK 8. - ---- begin of LICENSE --- - -Copyright (c) 2000-2003 Daisuke Okajima and Kohsuke Kawaguchi. -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -1. Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -3. The end-user documentation included with the redistribution, if any, must - include the following acknowledgment: - - "This product includes software developed by Daisuke Okajima - and Kohsuke Kawaguchi (http://relaxngcc.sf.net/)." - -Alternately, this acknowledgment may appear in the software itself, if and -wherever such third-party acknowledgments normally appear. - -4. The names of the copyright holders must not be used to endorse or promote - products derived from this software without prior written permission. For - written permission, please contact the copyright holders. - -5. Products derived from this software may not be called "RELAXNGCC", nor may - "RELAXNGCC" appear in their name, without prior written permission of the - copyright holders. - -THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESSED OR IMPLIED WARRANTIES, -INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.IN NO EVENT SHALL THE APACHE -SOFTWARE FOUNDATION OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, -EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - ---- end of LICENSE --- - -------------------------------------------------------------------------------- - -%% This notice is provided with respect to Relax NG Datatype 1.0, which -may be included with JRE 8, JDK 8, and OpenJDK 8. - ---- begin of LICENSE --- - -Copyright (c) 2005, 2010 Thai Open Source Software Center Ltd -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - - Neither the names of the copyright holders nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR -CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - ---- end of LICENSE --- - --------------------------------------------------------------------------------- - -%% This notice is provided with respect to SoftFloat version 2b, which may be -included with JRE 8, JDK 8, and OpenJDK 8 on Linux/ARM. - ---- begin of LICENSE --- - -Use of any of this software is governed by the terms of the license below: - -SoftFloat was written by me, John R. Hauser. This work was made possible in -part by the International Computer Science Institute, located at Suite 600, -1947 Center Street, Berkeley, California 94704. Funding was partially -provided by the National Science Foundation under grant MIP-9311980. The -original version of this code was written as part of a project to build -a fixed-point vector processor in collaboration with the University of -California at Berkeley, overseen by Profs. Nelson Morgan and John Wawrzynek. - -THIS SOFTWARE IS DISTRIBUTED AS IS, FOR FREE. Although reasonable effort -has been made to avoid it, THIS SOFTWARE MAY CONTAIN FAULTS THAT WILL AT -TIMES RESULT IN INCORRECT BEHAVIOR. USE OF THIS SOFTWARE IS RESTRICTED TO -PERSONS AND ORGANIZATIONS WHO CAN AND WILL TAKE FULL RESPONSIBILITY FOR ALL -LOSSES, COSTS, OR OTHER PROBLEMS THEY INCUR DUE TO THE SOFTWARE, AND WHO -FURTHERMORE EFFECTIVELY INDEMNIFY JOHN HAUSER AND THE INTERNATIONAL COMPUTER -SCIENCE INSTITUTE (possibly via similar legal warning) AGAINST ALL LOSSES, -COSTS, OR OTHER PROBLEMS INCURRED BY THEIR CUSTOMERS AND CLIENTS DUE TO THE -SOFTWARE. - -Derivative works are acceptable, even for commercial purposes, provided -that the minimal documentation requirements stated in the source code are -satisfied. - ---- end of LICENSE --- - -------------------------------------------------------------------------------- - -%% This notice is provided with respect to Sparkle 1.5, -which may be included with JRE 8 on Mac OS X. - ---- begin of LICENSE --- - -Copyright (c) 2012 Sparkle.org and Andy Matuschak - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - ---- end of LICENSE --- - -------------------------------------------------------------------------------- - -%% Portions licensed from Taligent, Inc. - -------------------------------------------------------------------------------- - -%% This notice is provided with respect to Thai Dictionary, which may be -included with JRE 8, JDK 8, and OpenJDK 8. - ---- begin of LICENSE --- - -Copyright (C) 1982 The Royal Institute, Thai Royal Government. - -Copyright (C) 1998 National Electronics and Computer Technology Center, -National Science and Technology Development Agency, -Ministry of Science Technology and Environment, -Thai Royal Government. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - ---- end of LICENSE --- - -------------------------------------------------------------------------------- - -%% This notice is provided with respect to Unicode 6.2.0 & CLDR 21.0.1 -which may be included with JRE 8, JDK 8, and OpenJDK 8. - ---- begin of LICENSE --- - -Unicode Terms of Use - -For the general privacy policy governing access to this site, see the Unicode -Privacy Policy. For trademark usage, see the UnicodeĀ® Consortium Name and -Trademark Usage Policy. - -A. Unicode Copyright. - 1. Copyright Ā© 1991-2013 Unicode, Inc. All rights reserved. - - 2. Certain documents and files on this website contain a legend indicating - that "Modification is permitted." Any person is hereby authorized, - without fee, to modify such documents and files to create derivative - works conforming to the UnicodeĀ® Standard, subject to Terms and - Conditions herein. - - 3. Any person is hereby authorized, without fee, to view, use, reproduce, - and distribute all documents and files solely for informational - purposes in the creation of products supporting the Unicode Standard, - subject to the Terms and Conditions herein. - - 4. Further specifications of rights and restrictions pertaining to the use - of the particular set of data files known as the "Unicode Character - Database" can be found in Exhibit 1. - - 5. Each version of the Unicode Standard has further specifications of - rights and restrictions of use. For the book editions (Unicode 5.0 and - earlier), these are found on the back of the title page. The online - code charts carry specific restrictions. All other files, including - online documentation of the core specification for Unicode 6.0 and - later, are covered under these general Terms of Use. - - 6. No license is granted to "mirror" the Unicode website where a fee is - charged for access to the "mirror" site. - - 7. Modification is not permitted with respect to this document. All copies - of this document must be verbatim. - -B. Restricted Rights Legend. Any technical data or software which is licensed - to the United States of America, its agencies and/or instrumentalities - under this Agreement is commercial technical data or commercial computer - software developed exclusively at private expense as defined in FAR 2.101, - or DFARS 252.227-7014 (June 1995), as applicable. For technical data, use, - duplication, or disclosure by the Government is subject to restrictions as - set forth in DFARS 202.227-7015 Technical Data, Commercial and Items (Nov - 1995) and this Agreement. For Software, in accordance with FAR 12-212 or - DFARS 227-7202, as applicable, use, duplication or disclosure by the - Government is subject to the restrictions set forth in this Agreement. - -C. Warranties and Disclaimers. - 1. This publication and/or website may include technical or typographical - errors or other inaccuracies . Changes are periodically added to the - information herein; these changes will be incorporated in new editions - of the publication and/or website. Unicode may make improvements and/or - changes in the product(s) and/or program(s) described in this - publication and/or website at any time. - - 2. If this file has been purchased on magnetic or optical media from - Unicode, Inc. the sole and exclusive remedy for any claim will be - exchange of the defective media within ninety (90) days of original - purchase. - - 3. EXCEPT AS PROVIDED IN SECTION C.2, THIS PUBLICATION AND/OR SOFTWARE IS - PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND EITHER EXPRESS, IMPLIED, - OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, ANY WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT. - UNICODE AND ITS LICENSORS ASSUME NO RESPONSIBILITY FOR ERRORS OR - OMISSIONS IN THIS PUBLICATION AND/OR SOFTWARE OR OTHER DOCUMENTS WHICH - ARE REFERENCED BY OR LINKED TO THIS PUBLICATION OR THE UNICODE WEBSITE. - -D. Waiver of Damages. In no event shall Unicode or its licensors be liable for - any special, incidental, indirect or consequential damages of any kind, or - any damages whatsoever, whether or not Unicode was advised of the - possibility of the damage, including, without limitation, those resulting - from the following: loss of use, data or profits, in connection with the - use, modification or distribution of this information or its derivatives. - -E.Trademarks & Logos. - 1. The Unicode Word Mark and the Unicode Logo are trademarks of Unicode, - Inc. ā€œThe Unicode Consortiumā€ and ā€œUnicode, Inc.ā€ are trade names of - Unicode, Inc. Use of the information and materials found on this - website indicates your acknowledgement of Unicode, Inc.’s exclusive - worldwide rights in the Unicode Word Mark, the Unicode Logo, and the - Unicode trade names. - - 2. The Unicode Consortium Name and Trademark Usage Policy (ā€œTrademark - Policyā€) are incorporated herein by reference and you agree to abide by - the provisions of the Trademark Policy, which may be changed from time - to time in the sole discretion of Unicode, Inc. - - 3. All third party trademarks referenced herein are the property of their - respective owners. - -Miscellaneous. - 1. Jurisdiction and Venue. This server is operated from a location in the - State of California, United States of America. Unicode makes no - representation that the materials are appropriate for use in other - locations. If you access this server from other locations, you are - responsible for compliance with local laws. This Agreement, all use of - this site and any claims and damages resulting from use of this site are - governed solely by the laws of the State of California without regard to - any principles which would apply the laws of a different jurisdiction. - The user agrees that any disputes regarding this site shall be resolved - solely in the courts located in Santa Clara County, California. The user - agrees said courts have personal jurisdiction and agree to waive any - right to transfer the dispute to any other forum. - - 2. Modification by Unicode. Unicode shall have the right to modify this - Agreement at any time by posting it to this site. The user may not - assign any part of this Agreement without Unicode’s prior written - consent. - - 3. Taxes. The user agrees to pay any taxes arising from access to this - website or use of the information herein, except for those based on - Unicode’s net income. - - 4. Severability. If any provision of this Agreement is declared invalid or - unenforceable, the remaining provisions of this Agreement shall remain - in effect. - - 5. Entire Agreement. This Agreement constitutes the entire agreement - between the parties. - -EXHIBIT 1 -UNICODE, INC. LICENSE AGREEMENT - DATA FILES AND SOFTWARE - -Unicode Data Files include all data files under the directories -http://www.unicode.org/Public/, http://www.unicode.org/reports/, and -http://www.unicode.org/cldr/data/. Unicode Data Files do not include PDF -online code charts under the directory http://www.unicode.org/Public/. -Software includes any source code published in the Unicode Standard or under -the directories http://www.unicode.org/Public/, -http://www.unicode.org/reports/, and http://www.unicode.org/cldr/data/. - -NOTICE TO USER: Carefully read the following legal agreement. BY DOWNLOADING, -INSTALLING, COPYING OR OTHERWISE USING UNICODE INC.'S DATA FILES ("DATA -FILES"), AND/OR SOFTWARE ("SOFTWARE"), YOU UNEQUIVOCALLY ACCEPT, AND AGREE TO -BE BOUND BY, ALL OF THE TERMS AND CONDITIONS OF THIS AGREEMENT. IF YOU DO NOT -AGREE, DO NOT DOWNLOAD, INSTALL, COPY, DISTRIBUTE OR USE THE DATA FILES OR -SOFTWARE. - -COPYRIGHT AND PERMISSION NOTICE - -Copyright Ā© 1991-2012 Unicode, Inc. All rights reserved. Distributed under the -Terms of Use in http://www.unicode.org/copyright.html. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of the Unicode data files and any associated documentation (the "Data Files") -or Unicode software and any associated documentation (the "Software") to deal -in the Data Files or Software without restriction, including without -limitation the rights to use, copy, modify, merge, publish, distribute, and/or -sell copies of the Data Files or Software, and to permit persons to whom the -Data Files or Software are furnished to do so, provided that (a) the above -copyright notice(s) and this permission notice appear with all copies of the -Data Files or Software, (b) both the above copyright notice(s) and this -permission notice appear in associated documentation, and (c) there is clear -notice in each modified Data File or in the Software as well as in the -documentation associated with the Data File(s) or Software that the data or -software has been modified. - -THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD -PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN -THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL -DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR -PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS -ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE -DATA FILES OR SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall not -be used in advertising or otherwise to promote the sale, use or other dealings -in these Data Files or Software without prior written authorization of the -copyright holder. - -Unicode and the Unicode logo are trademarks of Unicode, Inc. in the United -States and other countries. All third party trademarks referenced herein are -the property of their respective owners. - ---- end of LICENSE --- - -------------------------------------------------------------------------------- - -%% This notice is provided with respect to UPX v3.01, which may be included -with JRE 8 on Windows. - ---- begin of LICENSE --- - -Use of any of this software is governed by the terms of the license below: - - - ooooo ooo ooooooooo. ooooooo ooooo - `888' `8' `888 `Y88. `8888 d8' - 888 8 888 .d88' Y888..8P - 888 8 888ooo88P' `8888' - 888 8 888 .8PY888. - `88. .8' 888 d8' `888b - `YbodP' o888o o888o o88888o - - - The Ultimate Packer for eXecutables - Copyright (c) 1996-2000 Markus Oberhumer & Laszlo Molnar - http://wildsau.idv.uni-linz.ac.at/mfx/upx.html - http://www.nexus.hu/upx - http://upx.tsx.org - - -PLEASE CAREFULLY READ THIS LICENSE AGREEMENT, ESPECIALLY IF YOU PLAN -TO MODIFY THE UPX SOURCE CODE OR USE A MODIFIED UPX VERSION. - - -ABSTRACT -======== - - UPX and UCL are copyrighted software distributed under the terms - of the GNU General Public License (hereinafter the "GPL"). - - The stub which is imbedded in each UPX compressed program is part - of UPX and UCL, and contains code that is under our copyright. The - terms of the GNU General Public License still apply as compressing - a program is a special form of linking with our stub. - - As a special exception we grant the free usage of UPX for all - executables, including commercial programs. - See below for details and restrictions. - - -COPYRIGHT -========= - - UPX and UCL are copyrighted software. All rights remain with the authors. - - UPX is Copyright (C) 1996-2000 Markus Franz Xaver Johannes Oberhumer - UPX is Copyright (C) 1996-2000 Laszlo Molnar - - UCL is Copyright (C) 1996-2000 Markus Franz Xaver Johannes Oberhumer - - -GNU GENERAL PUBLIC LICENSE -========================== - - UPX and the UCL library are free software; you can redistribute them - and/or modify them under the terms of the GNU General Public License as - published by the Free Software Foundation; either version 2 of - the License, or (at your option) any later version. - - UPX and UCL are distributed in the hope that they 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; see the file COPYING. - - -SPECIAL EXCEPTION FOR COMPRESSED EXECUTABLES -============================================ - - The stub which is imbedded in each UPX compressed program is part - of UPX and UCL, and contains code that is under our copyright. The - terms of the GNU General Public License still apply as compressing - a program is a special form of linking with our stub. - - Hereby Markus F.X.J. Oberhumer and Laszlo Molnar grant you special - permission to freely use and distribute all UPX compressed programs - (including commercial ones), subject to the following restrictions: - - 1. You must compress your program with a completely unmodified UPX - version; either with our precompiled version, or (at your option) - with a self compiled version of the unmodified UPX sources as - distributed by us. - 2. This also implies that the UPX stub must be completely unmodfied, i.e. - the stub imbedded in your compressed program must be byte-identical - to the stub that is produced by the official unmodified UPX version. - 3. The decompressor and any other code from the stub must exclusively get - used by the unmodified UPX stub for decompressing your program at - program startup. No portion of the stub may get read, copied, - called or otherwise get used or accessed by your program. - - -ANNOTATIONS -=========== - - - You can use a modified UPX version or modified UPX stub only for - programs that are compatible with the GNU General Public License. - - - We grant you special permission to freely use and distribute all UPX - compressed programs. But any modification of the UPX stub (such as, - but not limited to, removing our copyright string or making your - program non-decompressible) will immediately revoke your right to - use and distribute a UPX compressed program. - - - UPX is not a software protection tool; by requiring that you use - the unmodified UPX version for your proprietary programs we - make sure that any user can decompress your program. This protects - both you and your users as nobody can hide malicious code - - any program that cannot be decompressed is highly suspicious - by definition. - - - You can integrate all or part of UPX and UCL into projects that - are compatible with the GNU GPL, but obviously you cannot grant - any special exceptions beyond the GPL for our code in your project. - - - We want to actively support manufacturers of virus scanners and - similar security software. Please contact us if you would like to - incorporate parts of UPX or UCL into such a product. - - - -Markus F.X.J. Oberhumer Laszlo Molnar -markus.oberhumer@jk.uni-linz.ac.at ml1050@cdata.tvnet.hu - -Linz, Austria, 25 Feb 2000 - -Additional License(s) - -The UPX license file is at http://upx.sourceforge.net/upx-license.html. - ---- end of LICENSE --- - -------------------------------------------------------------------------------- - -%% This notice is provided with respect to Xfree86-VidMode Extension 1.0, -which may be included with JRE 8, JDK 8, and OpenJDK 8 on Linux and Solaris. - ---- begin of LICENSE --- - -Version 1.1 of XFree86 ProjectLicence. - -Copyright (C) 1994-2004 The XFree86 Project, Inc. All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicence, and/or sell -copies of the Software, and to permit persons to whom the Software is furnished -to do so,subject to the following conditions: - - 1. Redistributions of source code must retain the above copyright - notice,this list of conditions, and the following disclaimer. - - 2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution, and in the same place - and form as other copyright, license and disclaimer information. - - 3. The end-user documentation included with the redistribution, if any,must - include the following acknowledgment: "This product includes - software developed by The XFree86 Project, Inc (http://www.xfree86.org/) and - its contributors", in the same place and form as other third-party - acknowledgments. Alternately, this acknowledgment may appear in the software - itself, in the same form and location as other such third-party - acknowledgments. - - 4. Except as contained in this notice, the name of The XFree86 Project,Inc - shall not be used in advertising or otherwise to promote the sale, use - or other dealings in this Software without prior written authorization from - The XFree86 Project, Inc. - - THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED - WARRANTIES,INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO - EVENT SHALL THE XFREE86 PROJECT, INC OR ITS CONTRIBUTORS BE LIABLE FOR ANY - DIRECT, INDIRECT, INCIDENTAL,SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - (INCLUDING, BUT NOT LIMITED TO,PROCUREMENT OF SUBSTITUTE GOODS OR - SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH - DAMAGE. - ---- end of LICENSE --- - -------------------------------------------------------------------------------- - -%% This notice is provided with respect to X Window System 6.8.2, which may be -included with JRE 8, JDK 8, and OpenJDK 8 on Linux and Solaris. - ---- begin of LICENSE --- - -This is the copyright for the files in src/solaris/native/sun/awt: list.h, -multiVis.h, wsutils.h, list.c, multiVis.c -Copyright (c) 1994 Hewlett-Packard Co. -Copyright (c) 1996 X Consortium - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR -OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, -ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. - -Except as contained in this notice, the name of the X Consortium shall -not be used in advertising or otherwise to promote the sale, use or -other dealings in this Software without prior written authorization -from the X Consortium. -___________________________ -The files in motif/lib/Xm/util included this copyright:mkdirhier.man, -xmkmf.man, chownxterm.c, makeg.man, mergelib.cpp, lndir.man, makestrs.man, -checktree.c, lndir.c, makestrs.c -Copyright (c) 1993, 1994 X Consortium - -Permission is hereby granted, free of charge, to any person obtaining a -copy of this software and associated documentation files (the "Software"), -to deal in the Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, sublicense, -and/or sell copies of the Software, and to permit persons to whom the -Software furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF -OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - -Except as contained in this notice, the name of the X Consortium shall not -be used in advertising or otherwise to promote the sale, use or other -dealing in this Software without prior written authorization from the -X Consortium. -_____________________________ -Xmos_r.h: -/* -Copyright (c) 1996 X Consortium - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN -AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -Except as contained in this notice, the name of the X Consortium shall not be -used in advertising or otherwise to promote the sale, use or other dealings -in this Software without prior written authorization from the X Consortium. -*/ - -_____________________________ -Copyright notice for extutil.h: -Copyright 1989, 1998 The Open Group - -All Rights Reserved. - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN -AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -Except as contained in this notice, the name of The Open Group shall not be -used in advertising or otherwise to promote the sale, use or other dealings -in this Software without prior written authorization from The Open Group. -* -* Author: Jim Fulton, MIT The Open Group -* -* Xlib Extension-Writing Utilities -* -* This package contains utilities for writing the client API for various -* protocol extensions. THESE INTERFACES ARE NOT PART OF THE X STANDARD AND -* ARE SUBJECT TO CHANGE! -*/ - -_____________________________ -Copyright notice for HPkeysym.h: -/* - -Copyright 1987, 1998 The Open Group - -All Rights Reserved. - -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR -OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, -ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. - -Except as contained in this notice, the name of The Open Group shall -not be used in advertising or otherwise to promote the sale, use or -other dealings in this Software without prior written authorization -from The Open Group. - -Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts, - -All Rights Reserved - -Permission to use, copy, modify, and distribute this software and its -documentation for any purpose and without fee is hereby granted, -provided that the above copyright notice appear in all copies and that -both that copyright notice and this permission notice appear in -supporting documentation, and that the names of Hewlett Packard -or Digital not be -used in advertising or publicity pertaining to distribution of the -software without specific, written prior permission. - -DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING -ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL -DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR -ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS -SOFTWARE. - -HEWLETT-PACKARD MAKES NO WARRANTY OF ANY KIND WITH REGARD -TO THIS SOFWARE, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. Hewlett-Packard shall not be liable for errors -contained herein or direct, indirect, special, incidental or -consequential damages in connection with the furnishing, -performance, or use of this material. - -*/ -_____________________________________ -Copyright notice in keysym2ucs.h: - -Copyright 1987, 1994, 1998 The Open Group - -Permission to use, copy, modify, distribute, and sell this software and its -documentation for any purpose is hereby granted without fee, provided that -the above copyright notice appear in all copies and that both that -copyright notice and this permission notice appear in supporting -documentation. - -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR -OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, -ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. - -Except as contained in this notice, the name of The Open Group shall -not be used in advertising or otherwise to promote the sale, use or -other dealings in this Software without prior written authorization -from The Open Group. - - -Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts - -All Rights Reserved - -Permission to use, copy, modify, and distribute this software and its -documentation for any purpose and without fee is hereby granted, -provided that the above copyright notice appear in all copies and that -both that copyright notice and this permission notice appear in -supporting documentation, and that the name of Digital not be -used in advertising or publicity pertaining to distribution of the -software without specific, written prior permission. - -DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING -ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL -DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR -ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS -SOFTWARE. - -*/ - ---- end of LICENSE --- - -------------------------------------------------------------------------------- - -%% This notice is provided with respect to zlib v1.2.11, which may be included -with JRE 8, JDK 8, and OpenJDK 8. - ---- begin of LICENSE --- - - version 1.2.11, January 15th, 2017 - - Copyright (C) 1995-2017 Jean-loup Gailly and Mark Adler - - This software is provided 'as-is', without any express or implied - warranty. In no event will the authors be held liable for any damages - arising from the use of this software. - - Permission is granted to anyone to use this software for any purpose, - including commercial applications, and to alter it and redistribute it - freely, subject to the following restrictions: - - 1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. - 2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. - 3. This notice may not be removed or altered from any source distribution. - - Jean-loup Gailly Mark Adler - jloup@gzip.org madler@alumni.caltech.edu - ---- end of LICENSE --- - -------------------------------------------------------------------------------- - -%% This notice is provided with respect to the following which may be -included with JRE 8, JDK 8, and OpenJDK 8. - - Apache Commons Math 3.2 - Apache Derby 10.11.1.2 - Apache Jakarta BCEL 5.1 - Apache Jakarta Regexp 1.4 - Apache Santuario XML Security for Java 1.5.4 - Apache Xalan-Java 2.7.1 - Apache Xerces Java 2.10.0 - Apache XML Resolver 1.1 - - ---- begin of LICENSE --- - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - ---- end of LICENSE --- - -------------------------------------------------------------------------------- - diff --git a/Java/Processing/processing-3.3.6/java/Welcome.html b/Java/Processing/processing-3.3.6/java/Welcome.html deleted file mode 100644 index 043d606..0000000 --- a/Java/Processing/processing-3.3.6/java/Welcome.html +++ /dev/null @@ -1,28 +0,0 @@ - - - -Welcome to the Java(TM) Platform - - - - -

Welcome to the JavaTM Platform

-

Welcome to the JavaTM Standard Edition Runtime - Environment. This provides complete runtime support for Java applications. -

The runtime environment includes the JavaTM - Plug-in product which supports the Java environment inside web browsers. -

References

-

-See the Java Plug-in product -documentation for more information on using the Java Plug-in product. -

See the Java Platform web site for - more information on the Java Platform. -


- -Copyright (c) 2006, 2017, Oracle and/or its affiliates. All rights reserved. - -

- - diff --git a/Java/Processing/processing-3.3.6/java/lib/accessibility.properties b/Java/Processing/processing-3.3.6/java/lib/accessibility.properties deleted file mode 100644 index d9f12e3..0000000 --- a/Java/Processing/processing-3.3.6/java/lib/accessibility.properties +++ /dev/null @@ -1,6 +0,0 @@ -# -# Load the Java Access Bridge class into the JVM -# -#assistive_technologies=com.sun.java.accessibility.AccessBridge -#screen_magnifier_present=true - diff --git a/Java/Processing/processing-3.3.6/java/lib/amd64/jvm.cfg b/Java/Processing/processing-3.3.6/java/lib/amd64/jvm.cfg deleted file mode 100644 index 4a2d964..0000000 --- a/Java/Processing/processing-3.3.6/java/lib/amd64/jvm.cfg +++ /dev/null @@ -1,38 +0,0 @@ -# -# -# -# Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved. -# ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. -# -# -# -# -# -# -# -# -# -# -# -# -# -# -# -# -# -# -# -# -# -# -# List of JVMs that can be used as an option to java, javac, etc. -# Order is important -- first in this list is the default JVM. -# NOTE that this both this file and its format are UNSUPPORTED and -# WILL GO AWAY in a future release. -# -# You may also select a JVM in an arbitrary location with the -# "-XXaltjvm=" option, but that too is unsupported -# and may not be available in a future release. -# --server KNOWN --client IGNORE diff --git a/Java/Processing/processing-3.3.6/java/lib/calendars.properties b/Java/Processing/processing-3.3.6/java/lib/calendars.properties deleted file mode 100644 index 87a8630..0000000 --- a/Java/Processing/processing-3.3.6/java/lib/calendars.properties +++ /dev/null @@ -1,60 +0,0 @@ -# Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved. -# ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. -# -# -# -# -# -# -# -# -# -# -# -# -# -# -# -# -# -# -# -# -# - -# -# Japanese imperial calendar -# -# Meiji since 1868-01-01 00:00:00 local time (Gregorian) -# Taisho since 1912-07-30 00:00:00 local time (Gregorian) -# Showa since 1926-12-25 00:00:00 local time (Gregorian) -# Heisei since 1989-01-08 00:00:00 local time (Gregorian) -calendar.japanese.type: LocalGregorianCalendar -calendar.japanese.eras: \ - name=Meiji,abbr=M,since=-3218832000000; \ - name=Taisho,abbr=T,since=-1812153600000; \ - name=Showa,abbr=S,since=-1357603200000; \ - name=Heisei,abbr=H,since=600220800000 - -# -# Taiwanese calendar -# Minguo since 1911-01-01 00:00:00 local time (Gregorian) -calendar.taiwanese.type: LocalGregorianCalendar -calendar.taiwanese.eras: \ - name=MinGuo,since=-1830384000000 - -# -# Thai Buddhist calendar -# Buddhist Era since -542-01-01 00:00:00 local time (Gregorian) -calendar.thai-buddhist.type: LocalGregorianCalendar -calendar.thai-buddhist.eras: \ - name=BuddhistEra,abbr=B.E.,since=-79302585600000 -calendar.thai-buddhist.year-boundary: \ - day1=4-1,since=-79302585600000; \ - day1=1-1,since=-915148800000 - -# -# Hijrah calendars -# -calendar.hijrah.Hijrah-umalqura: hijrah-config-umalqura.properties -calendar.hijrah.Hijrah-umalqura.type: islamic-umalqura diff --git a/Java/Processing/processing-3.3.6/java/lib/charsets.jar b/Java/Processing/processing-3.3.6/java/lib/charsets.jar deleted file mode 100644 index 786cc64..0000000 Binary files a/Java/Processing/processing-3.3.6/java/lib/charsets.jar and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/java/lib/classlist b/Java/Processing/processing-3.3.6/java/lib/classlist deleted file mode 100644 index 36e8ca1..0000000 --- a/Java/Processing/processing-3.3.6/java/lib/classlist +++ /dev/null @@ -1,2469 +0,0 @@ -java/lang/Object -java/lang/String -java/io/Serializable -java/lang/Comparable -java/lang/CharSequence -java/lang/Class -java/lang/reflect/GenericDeclaration -java/lang/reflect/AnnotatedElement -java/lang/reflect/Type -java/lang/Cloneable -java/lang/ClassLoader -java/lang/System -java/lang/Throwable -java/lang/Error -java/lang/ThreadDeath -java/lang/Exception -java/lang/RuntimeException -java/lang/SecurityManager -java/security/ProtectionDomain -java/security/AccessControlContext -java/security/SecureClassLoader -java/lang/ClassNotFoundException -java/lang/ReflectiveOperationException -java/lang/NoClassDefFoundError -java/lang/LinkageError -java/lang/ClassCastException -java/lang/ArrayStoreException -java/lang/VirtualMachineError -java/lang/OutOfMemoryError -java/lang/StackOverflowError -java/lang/IllegalMonitorStateException -java/lang/ref/Reference -java/lang/ref/SoftReference -java/lang/ref/WeakReference -java/lang/ref/FinalReference -java/lang/ref/PhantomReference -sun/misc/Cleaner -java/lang/ref/Finalizer -java/lang/Thread -java/lang/Runnable -java/lang/ThreadGroup -java/lang/Thread$UncaughtExceptionHandler -java/util/Properties -java/util/Hashtable -java/util/Map -java/util/Dictionary -java/lang/reflect/AccessibleObject -java/lang/reflect/Field -java/lang/reflect/Member -java/lang/reflect/Parameter -java/lang/reflect/Method -java/lang/reflect/Executable -java/lang/reflect/Constructor -sun/reflect/MagicAccessorImpl -sun/reflect/MethodAccessorImpl -sun/reflect/MethodAccessor -sun/reflect/ConstructorAccessorImpl -sun/reflect/ConstructorAccessor -sun/reflect/DelegatingClassLoader -sun/reflect/ConstantPool -sun/reflect/UnsafeStaticFieldAccessorImpl -sun/reflect/UnsafeFieldAccessorImpl -sun/reflect/FieldAccessorImpl -sun/reflect/FieldAccessor -sun/reflect/CallerSensitive -java/lang/annotation/Annotation -java/lang/invoke/DirectMethodHandle -java/lang/invoke/MethodHandle -java/lang/invoke/MemberName -java/lang/invoke/MethodHandleNatives -java/lang/invoke/LambdaForm -java/lang/invoke/MethodType -java/lang/BootstrapMethodError -java/lang/invoke/CallSite -java/lang/invoke/ConstantCallSite -java/lang/invoke/MutableCallSite -java/lang/invoke/VolatileCallSite -java/lang/StringBuffer -java/lang/AbstractStringBuilder -java/lang/Appendable -java/lang/StringBuilder -sun/misc/Unsafe -java/io/ByteArrayInputStream -java/io/InputStream -java/io/Closeable -java/lang/AutoCloseable -java/io/File -java/net/URLClassLoader -java/net/URL -java/util/jar/Manifest -sun/misc/Launcher -sun/misc/Launcher$AppClassLoader -sun/misc/Launcher$ExtClassLoader -java/security/CodeSource -java/lang/StackTraceElement -java/nio/Buffer -java/lang/Boolean -java/lang/Character -java/lang/Float -java/lang/Number -java/lang/Double -java/lang/Byte -java/lang/Short -java/lang/Integer -java/lang/Long -java/lang/NullPointerException -java/lang/ArithmeticException -java/io/ObjectStreamField -java/lang/String$CaseInsensitiveComparator -java/util/Comparator -java/lang/RuntimePermission -java/security/BasicPermission -java/security/Permission -java/security/Guard -java/security/AccessController -java/lang/reflect/ReflectPermission -sun/reflect/ReflectionFactory$GetReflectionFactoryAction -java/security/PrivilegedAction -java/security/cert/Certificate -java/util/Vector -java/util/List -java/util/Collection -java/lang/Iterable -java/util/RandomAccess -java/util/AbstractList -java/util/AbstractCollection -java/util/Stack -sun/reflect/ReflectionFactory -java/lang/ref/Reference$Lock -java/lang/ref/Reference$ReferenceHandler -java/lang/ref/ReferenceQueue -java/lang/ref/ReferenceQueue$Null -java/lang/ref/ReferenceQueue$Lock -java/lang/ref/Finalizer$FinalizerThread -sun/misc/VM -java/util/Hashtable$Entry -java/util/Map$Entry -java/lang/Math -java/util/Hashtable$EntrySet -java/util/AbstractSet -java/util/Set -java/util/Collections -java/util/Collections$EmptySet -java/util/Collections$EmptyList -java/util/Collections$EmptyMap -java/util/AbstractMap -java/util/Collections$SynchronizedSet -java/util/Collections$SynchronizedCollection -java/util/Objects -java/util/Hashtable$Enumerator -java/util/Enumeration -java/util/Iterator -java/lang/Runtime -sun/misc/Version -java/io/FileInputStream -java/io/FileDescriptor -java/io/FileDescriptor$1 -sun/misc/JavaIOFileDescriptorAccess -sun/misc/SharedSecrets -java/lang/NoSuchMethodError -java/lang/IncompatibleClassChangeError -java/util/ArrayList -java/util/Collections$UnmodifiableRandomAccessList -java/util/Collections$UnmodifiableList -java/util/Collections$UnmodifiableCollection -sun/reflect/Reflection -java/util/HashMap -java/util/HashMap$Node -java/io/FileOutputStream -java/io/OutputStream -java/io/Flushable -java/io/BufferedInputStream -java/io/FilterInputStream -java/util/concurrent/atomic/AtomicReferenceFieldUpdater -java/util/concurrent/atomic/AtomicReferenceFieldUpdater$AtomicReferenceFieldUpdaterImpl -java/util/concurrent/atomic/AtomicReferenceFieldUpdater$AtomicReferenceFieldUpdaterImpl$1 -java/security/PrivilegedExceptionAction -java/lang/Class$3 -java/lang/Class$ReflectionData -java/lang/Class$Atomic -sun/reflect/generics/repository/ClassRepository -sun/reflect/generics/repository/GenericDeclRepository -sun/reflect/generics/repository/AbstractRepository -java/lang/Class$AnnotationData -sun/reflect/annotation/AnnotationType -java/lang/ClassValue$ClassValueMap -java/util/WeakHashMap -java/lang/reflect/Modifier -java/lang/reflect/ReflectAccess -sun/reflect/LangReflectAccess -sun/reflect/misc/ReflectUtil -java/io/PrintStream -java/io/FilterOutputStream -java/io/BufferedOutputStream -java/io/OutputStreamWriter -java/io/Writer -sun/nio/cs/StreamEncoder -java/nio/charset/Charset -sun/nio/cs/StandardCharsets -sun/nio/cs/FastCharsetProvider -java/nio/charset/spi/CharsetProvider -sun/nio/cs/StandardCharsets$Aliases -sun/util/PreHashedMap -sun/nio/cs/StandardCharsets$Classes -sun/nio/cs/StandardCharsets$Cache -java/lang/ThreadLocal -java/util/concurrent/atomic/AtomicInteger -sun/security/action/GetPropertyAction -java/util/Arrays -sun/nio/cs/MS1252 -sun/nio/cs/HistoricallyNamedCharset -sun/nio/cs/SingleByte -java/lang/Class$1 -sun/reflect/ReflectionFactory$1 -sun/reflect/NativeConstructorAccessorImpl -sun/reflect/DelegatingConstructorAccessorImpl -sun/nio/cs/SingleByte$Encoder -sun/nio/cs/ArrayEncoder -java/nio/charset/CharsetEncoder -java/nio/charset/CodingErrorAction -java/nio/ByteBuffer -java/nio/HeapByteBuffer -java/nio/Bits -java/nio/ByteOrder -java/nio/Bits$1 -sun/misc/JavaNioAccess -java/io/BufferedWriter -java/io/DefaultFileSystem -java/io/WinNTFileSystem -java/io/FileSystem -java/io/ExpiringCache -java/io/ExpiringCache$1 -java/util/LinkedHashMap -java/io/File$PathStatus -java/lang/Enum -java/nio/file/Path -java/nio/file/Watchable -java/lang/ClassLoader$3 -java/io/ExpiringCache$Entry -java/util/LinkedHashMap$Entry -java/lang/ClassLoader$NativeLibrary -java/lang/Terminator -java/lang/Terminator$1 -sun/misc/SignalHandler -sun/misc/Signal -sun/misc/NativeSignalHandler -java/lang/Integer$IntegerCache -sun/misc/OSEnvironment -sun/io/Win32ErrorMode -java/lang/System$2 -sun/misc/JavaLangAccess -java/lang/IllegalArgumentException -java/lang/Compiler -java/lang/Compiler$1 -sun/misc/Launcher$Factory -java/net/URLStreamHandlerFactory -sun/security/util/Debug -java/lang/ClassLoader$ParallelLoaders -java/util/WeakHashMap$Entry -java/util/Collections$SetFromMap -java/util/WeakHashMap$KeySet -java/net/URLClassLoader$7 -sun/misc/JavaNetAccess -java/util/StringTokenizer -sun/misc/Launcher$ExtClassLoader$1 -sun/misc/MetaIndex -java/io/BufferedReader -java/io/Reader -java/lang/Readable -java/io/FileReader -java/io/InputStreamReader -sun/nio/cs/StreamDecoder -sun/nio/cs/SingleByte$Decoder -sun/nio/cs/ArrayDecoder -java/nio/charset/CharsetDecoder -java/nio/CharBuffer -java/nio/HeapCharBuffer -java/nio/charset/CoderResult -java/nio/charset/CoderResult$1 -java/nio/charset/CoderResult$Cache -java/nio/charset/CoderResult$2 -java/lang/reflect/Array -java/util/Locale -java/util/Locale$Cache -sun/util/locale/LocaleObjectCache -java/util/concurrent/ConcurrentHashMap -java/util/concurrent/ConcurrentMap -java/util/concurrent/ConcurrentHashMap$Segment -java/util/concurrent/locks/ReentrantLock -java/util/concurrent/locks/Lock -java/util/concurrent/ConcurrentHashMap$Node -java/util/concurrent/ConcurrentHashMap$CounterCell -java/util/concurrent/ConcurrentHashMap$KeySetView -java/util/concurrent/ConcurrentHashMap$CollectionView -java/util/concurrent/ConcurrentHashMap$ValuesView -java/util/concurrent/ConcurrentHashMap$EntrySetView -sun/util/locale/BaseLocale -sun/util/locale/BaseLocale$Cache -sun/util/locale/BaseLocale$Key -sun/util/locale/LocaleObjectCache$CacheEntry -java/util/Locale$LocaleKey -sun/util/locale/LocaleUtils -java/lang/CharacterData -java/lang/CharacterDataLatin1 -java/util/HashMap$TreeNode -java/io/FileInputStream$1 -sun/net/www/ParseUtil -java/util/BitSet -java/net/Parts -sun/net/www/protocol/file/Handler -java/net/URLStreamHandler -java/security/ProtectionDomain$JavaSecurityAccessImpl -sun/misc/JavaSecurityAccess -java/security/ProtectionDomain$2 -sun/misc/JavaSecurityProtectionDomainAccess -java/security/ProtectionDomain$Key -java/security/Principal -java/util/HashSet -sun/misc/URLClassPath -sun/net/www/protocol/jar/Handler -sun/misc/Launcher$AppClassLoader$1 -java/lang/SystemClassLoaderAction -java/lang/invoke/MethodHandleImpl -java/lang/invoke/MethodHandleImpl$1 -java/lang/invoke/MethodHandleImpl$2 -java/util/function/Function -java/lang/invoke/MethodHandleImpl$3 -java/lang/invoke/MethodHandleImpl$4 -java/lang/ClassValue -java/lang/ClassValue$Entry -java/lang/ClassValue$Identity -java/lang/ClassValue$Version -java/lang/invoke/MemberName$Factory -java/lang/invoke/MethodHandleStatics -java/lang/invoke/MethodHandleStatics$1 -sun/misc/PostVMInitHook -sun/usagetracker/UsageTrackerClient -java/util/concurrent/atomic/AtomicBoolean -sun/usagetracker/UsageTrackerClient$1 -sun/usagetracker/UsageTrackerClient$4 -sun/usagetracker/UsageTrackerClient$2 -java/lang/ProcessEnvironment -java/lang/ProcessEnvironment$NameComparator -java/lang/ProcessEnvironment$EntryComparator -java/util/Collections$UnmodifiableMap -java/util/TreeMap -java/util/NavigableMap -java/util/SortedMap -java/lang/ProcessEnvironment$CheckedEntrySet -java/util/HashMap$EntrySet -java/lang/ProcessEnvironment$CheckedEntrySet$1 -java/util/HashMap$EntryIterator -java/util/HashMap$HashIterator -java/lang/ProcessEnvironment$CheckedEntry -java/util/TreeMap$Entry -sun/usagetracker/UsageTrackerClient$3 -java/lang/StringCoding -java/lang/ThreadLocal$ThreadLocalMap -java/lang/ThreadLocal$ThreadLocalMap$Entry -sun/nio/cs/UTF_8 -sun/nio/cs/Unicode -java/lang/StringCoding$StringEncoder -sun/nio/cs/UTF_8$Encoder -java/io/FileOutputStream$1 -sun/launcher/LauncherHelper -java/lang/StringCoding$StringDecoder -java/net/URLClassLoader$1 -sun/net/util/URLUtil -sun/misc/URLClassPath$3 -sun/misc/URLClassPath$JarLoader -sun/misc/URLClassPath$Loader -java/util/zip/ZipFile -java/util/zip/ZipConstants -java/util/zip/ZipFile$1 -sun/misc/JavaUtilZipFileAccess -sun/misc/URLClassPath$JarLoader$1 -sun/misc/FileURLMapper -java/util/jar/JarFile -java/util/jar/JavaUtilJarAccessImpl -sun/misc/JavaUtilJarAccess -java/nio/charset/StandardCharsets -sun/nio/cs/US_ASCII -sun/nio/cs/ISO_8859_1 -sun/nio/cs/UTF_16BE -sun/nio/cs/UTF_16LE -sun/nio/cs/UTF_16 -java/util/ArrayDeque -java/util/Deque -java/util/Queue -java/util/zip/ZipCoder -sun/misc/PerfCounter -sun/misc/Perf$GetPerfAction -sun/misc/Perf -sun/misc/PerfCounter$CoreCounters -sun/nio/ch/DirectBuffer -java/nio/DirectByteBuffer -java/nio/MappedByteBuffer -java/nio/DirectLongBufferU -java/nio/LongBuffer -sun/misc/JarIndex -sun/misc/ExtensionDependency -java/util/zip/ZipEntry -java/util/jar/JarFile$JarFileEntry -java/util/jar/JarEntry -java/util/zip/ZipFile$ZipFileInputStream -java/util/zip/Inflater -java/util/zip/ZStreamRef -java/util/zip/ZipFile$ZipFileInflaterInputStream -java/util/zip/InflaterInputStream -sun/misc/IOUtils -sun/misc/URLClassPath$JarLoader$2 -sun/misc/Resource -sun/nio/ByteBuffered -java/security/Permissions -java/security/PermissionCollection -sun/net/www/protocol/file/FileURLConnection -sun/net/www/URLConnection -java/net/URLConnection -sun/net/www/MessageHeader -java/io/FilePermission -java/io/FilePermission$1 -java/io/FilePermissionCollection -java/security/AllPermission -java/security/UnresolvedPermission -java/security/BasicPermissionCollection -javax/swing/JLabel -javax/swing/SwingConstants -javax/accessibility/Accessible -javax/swing/JComponent -javax/swing/TransferHandler$HasGetTransferHandler -java/awt/Container -java/awt/Component -java/awt/image/ImageObserver -java/awt/MenuContainer -sun/launcher/LauncherHelper$FXHelper -java/lang/Class$MethodArray -java/lang/InterruptedException -javax/swing/JFrame -javax/swing/WindowConstants -javax/swing/RootPaneContainer -java/awt/Frame -java/awt/Window -java/util/concurrent/ConcurrentHashMap$ForwardingNode -java/awt/Graphics -java/lang/Void -sun/util/logging/PlatformLogger -sun/util/logging/PlatformLogger$Level -sun/util/logging/PlatformLogger$1 -sun/util/logging/PlatformLogger$DefaultLoggerProxy -sun/util/logging/PlatformLogger$LoggerProxy -sun/util/logging/PlatformLogger$JavaLoggerProxy -sun/util/logging/LoggingSupport -sun/util/logging/LoggingSupport$1 -java/util/logging/LoggingProxyImpl -sun/util/logging/LoggingProxy -sun/reflect/UnsafeFieldAccessorFactory -sun/reflect/UnsafeQualifiedStaticObjectFieldAccessorImpl -sun/reflect/UnsafeQualifiedStaticFieldAccessorImpl -sun/util/logging/LoggingSupport$2 -java/util/Date -sun/util/calendar/CalendarSystem -sun/util/calendar/Gregorian -sun/util/calendar/BaseCalendar -sun/util/calendar/AbstractCalendar -java/awt/Component$AWTTreeLock -java/awt/Toolkit -java/awt/Toolkit$4 -sun/awt/AWTAccessor$ToolkitAccessor -sun/awt/AWTAccessor -java/awt/Toolkit$5 -sun/util/CoreResourceBundleControl -java/util/ResourceBundle$Control -java/util/Arrays$ArrayList -java/util/ResourceBundle$Control$CandidateListCache -java/util/ResourceBundle -java/util/ResourceBundle$1 -java/util/spi/ResourceBundleControlProvider -java/util/ServiceLoader -java/util/ServiceLoader$LazyIterator -java/util/ServiceLoader$1 -java/util/LinkedHashMap$LinkedEntrySet -java/util/LinkedHashMap$LinkedEntryIterator -java/util/LinkedHashMap$LinkedHashIterator -sun/misc/Launcher$BootClassPathHolder -sun/misc/Launcher$BootClassPathHolder$1 -sun/misc/URLClassPath$2 -java/lang/ClassLoader$2 -sun/misc/URLClassPath$1 -java/net/URLClassLoader$3 -sun/misc/CompoundEnumeration -java/io/FileNotFoundException -java/io/IOException -java/security/PrivilegedActionException -java/net/URLClassLoader$3$1 -java/util/ResourceBundle$RBClassLoader -java/util/ResourceBundle$RBClassLoader$1 -java/util/ResourceBundle$CacheKey -java/util/ResourceBundle$LoaderReference -java/util/ResourceBundle$CacheKeyReference -java/util/ResourceBundle$SingleFormatControl -java/util/LinkedList -java/util/AbstractSequentialList -java/util/LinkedList$Node -sun/awt/resources/awt -java/util/ListResourceBundle -java/awt/Toolkit$3 -java/awt/Toolkit$1 -java/util/Properties$LineReader -java/awt/GraphicsEnvironment -java/lang/invoke/LambdaMetafactory -java/lang/invoke/MethodHandles$Lookup -java/lang/invoke/MethodType$ConcurrentWeakInternSet -java/lang/invoke/MethodTypeForm -java/lang/invoke/Invokers -java/lang/invoke/MethodType$ConcurrentWeakInternSet$WeakEntry -java/lang/invoke/MethodHandles -sun/invoke/util/Wrapper -sun/invoke/util/Wrapper$Format -java/lang/Byte$ByteCache -java/lang/Short$ShortCache -java/lang/Character$CharacterCache -java/lang/Long$LongCache -sun/invoke/util/VerifyAccess -sun/invoke/util/ValueConversions -java/lang/NoSuchMethodException -java/lang/invoke/LambdaForm$BasicType -java/lang/invoke/LambdaForm$Name -java/lang/invoke/LambdaForm$NamedFunction -java/lang/invoke/SimpleMethodHandle -java/lang/invoke/BoundMethodHandle -java/lang/invoke/BoundMethodHandle$SpeciesData -java/lang/invoke/BoundMethodHandle$Factory -java/lang/invoke/BoundMethodHandle$Species_L -java/util/HashMap$Values -java/util/HashMap$ValueIterator -sun/invoke/util/BytecodeDescriptor -java/lang/invoke/DirectMethodHandle$Lazy -java/lang/InstantiationException -java/util/Collections$UnmodifiableCollection$1 -java/util/AbstractList$Itr -java/lang/invoke/InvokerBytecodeGenerator -jdk/internal/org/objectweb/asm/ClassWriter -jdk/internal/org/objectweb/asm/ClassVisitor -jdk/internal/org/objectweb/asm/ByteVector -jdk/internal/org/objectweb/asm/Item -jdk/internal/org/objectweb/asm/MethodWriter -jdk/internal/org/objectweb/asm/MethodVisitor -jdk/internal/org/objectweb/asm/Type -jdk/internal/org/objectweb/asm/Label -jdk/internal/org/objectweb/asm/Frame -jdk/internal/org/objectweb/asm/AnnotationWriter -jdk/internal/org/objectweb/asm/AnnotationVisitor -java/lang/invoke/MethodHandleImpl$Intrinsic -java/lang/invoke/InvokerBytecodeGenerator$2 -sun/invoke/util/VerifyType -sun/invoke/empty/Empty -java/lang/NoSuchFieldException -java/lang/invoke/InvokerBytecodeGenerator$CpPatch -java/lang/invoke/DirectMethodHandle$Accessor -java/util/ArrayList$Itr -java/util/RandomAccessSubList -java/util/SubList -java/util/SubList$1 -java/util/ListIterator -java/util/AbstractList$ListItr -java/lang/invoke/MethodHandleImpl$AsVarargsCollector -java/lang/invoke/DelegatingMethodHandle -java/lang/invoke/WrongMethodTypeException -java/lang/invoke/MethodHandleImpl$Lazy -java/lang/invoke/MethodHandleImpl$IntrinsicMethodHandle -java/lang/NoSuchFieldError -java/lang/IllegalAccessException -java/lang/invoke/LambdaFormEditor -java/lang/invoke/LambdaFormEditor$Transform$Kind -java/lang/invoke/LambdaFormEditor$Transform -java/lang/invoke/LambdaFormBuffer -jdk/internal/org/objectweb/asm/FieldWriter -jdk/internal/org/objectweb/asm/FieldVisitor -java/lang/invoke/InnerClassLambdaMetafactory -java/lang/invoke/AbstractValidatingLambdaMetafactory -java/util/PropertyPermission -java/security/AccessController$1 -sun/security/util/SecurityConstants -java/net/NetPermission -java/security/SecurityPermission -java/net/SocketPermission -sun/security/action/GetBooleanAction -java/security/AllPermissionCollection -java/lang/invoke/InfoFromMemberName -java/lang/invoke/MethodHandleInfo -java/lang/invoke/InnerClassLambdaMetafactory$ForwardingMethodGenerator -java/lang/invoke/TypeConvertingMethodAdapter -java/lang/invoke/InnerClassLambdaMetafactory$1 -java/awt/Insets -java/awt/event/InputEvent -java/awt/event/ComponentEvent -java/awt/AWTEvent -java/util/EventObject -java/awt/AWTEvent$1 -sun/awt/AWTAccessor$AWTEventAccessor -java/awt/event/NativeLibLoader -java/awt/event/NativeLibLoader$1 -java/awt/event/InputEvent$1 -sun/awt/AWTAccessor$InputEventAccessor -sun/awt/windows/WComponentPeer -java/awt/peer/ComponentPeer -java/awt/dnd/peer/DropTargetPeer -sun/awt/windows/WObjectPeer -java/awt/Font -java/awt/Font$FontAccessImpl -sun/font/FontAccess -java/awt/geom/AffineTransform -sun/font/AttributeValues -sun/font/EAttribute -java/text/AttributedCharacterIterator$Attribute -java/lang/Class$4 -sun/reflect/NativeMethodAccessorImpl -sun/reflect/DelegatingMethodAccessorImpl -java/awt/font/TextAttribute -java/awt/Component$1 -sun/awt/AWTAccessor$ComponentAccessor -java/awt/Component$DummyRequestFocusController -sun/awt/RequestFocusController -java/awt/LayoutManager -java/awt/LightweightDispatcher -java/awt/event/AWTEventListener -java/util/EventListener -java/awt/Dimension -java/awt/geom/Dimension2D -java/awt/Container$1 -sun/awt/AWTAccessor$ContainerAccessor -javax/swing/JComponent$1 -java/awt/ComponentOrientation -java/awt/Component$3 -sun/awt/AppContext -java/util/IdentityHashMap -java/util/Collections$SynchronizedMap -sun/awt/AppContext$GetAppContextLock -sun/awt/AppContext$6 -sun/misc/JavaAWTAccess -sun/awt/AppContext$3 -sun/awt/AppContext$2 -sun/awt/SunToolkit -sun/awt/WindowClosingSupport -sun/awt/WindowClosingListener -sun/awt/ComponentFactory -sun/awt/InputMethodSupport -sun/awt/KeyboardFocusManagerPeerProvider -java/util/concurrent/locks/ReentrantLock$NonfairSync -java/util/concurrent/locks/ReentrantLock$Sync -java/util/concurrent/locks/AbstractQueuedSynchronizer -java/util/concurrent/locks/AbstractOwnableSynchronizer -java/util/concurrent/locks/AbstractQueuedSynchronizer$Node -java/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject -java/util/concurrent/locks/Condition -sun/misc/SoftCache -sun/awt/AppContext$State -sun/awt/AppContext$1 -java/awt/EventQueue -java/awt/EventQueue$1 -java/awt/EventQueue$2 -sun/awt/AWTAccessor$EventQueueAccessor -java/awt/Queue -sun/awt/MostRecentKeyValue -sun/awt/PostEventQueue -javax/swing/event/EventListenerList -javax/swing/SwingUtilities -javax/swing/RepaintManager -javax/swing/RepaintManager$DisplayChangedHandler -sun/awt/DisplayChangedListener -javax/swing/RepaintManager$1 -sun/swing/SwingAccessor$RepaintManagerAccessor -sun/swing/SwingAccessor -sun/awt/Win32GraphicsEnvironment -sun/java2d/SunGraphicsEnvironment -sun/awt/windows/WToolkit -sun/awt/windows/WToolkit$1 -sun/java2d/SurfaceData -java/awt/Transparency -sun/java2d/DisposerTarget -sun/java2d/StateTrackable -sun/java2d/Surface -sun/java2d/InvalidPipeException -java/lang/IllegalStateException -sun/java2d/NullSurfaceData -sun/java2d/StateTrackable$State -sun/java2d/loops/SurfaceType -sun/awt/image/PixelConverter -sun/awt/image/PixelConverter$Xrgb -sun/awt/image/PixelConverter$Argb -sun/awt/image/PixelConverter$ArgbPre -sun/awt/image/PixelConverter$Xbgr -sun/awt/image/PixelConverter$Rgba -sun/awt/image/PixelConverter$RgbaPre -sun/awt/image/PixelConverter$Ushort565Rgb -sun/awt/image/PixelConverter$Ushort555Rgb -sun/awt/image/PixelConverter$Ushort555Rgbx -sun/awt/image/PixelConverter$Ushort4444Argb -sun/awt/image/PixelConverter$ByteGray -sun/awt/image/PixelConverter$UshortGray -sun/awt/image/PixelConverter$Rgbx -sun/awt/image/PixelConverter$Bgrx -sun/awt/image/PixelConverter$ArgbBm -java/awt/image/ColorModel -java/awt/image/ColorModel$1 -java/awt/image/DirectColorModel -java/awt/image/PackedColorModel -java/awt/color/ColorSpace -java/awt/color/ICC_Profile -sun/java2d/cmm/ProfileDeferralInfo -sun/java2d/cmm/ProfileDeferralMgr -java/awt/color/ICC_ProfileRGB -java/awt/color/ICC_Profile$1 -sun/java2d/cmm/ProfileActivator -java/awt/color/ICC_ColorSpace -sun/java2d/StateTrackableDelegate -sun/java2d/StateTrackableDelegate$2 -sun/java2d/pipe/NullPipe -sun/java2d/pipe/PixelDrawPipe -sun/java2d/pipe/PixelFillPipe -sun/java2d/pipe/ShapeDrawPipe -sun/java2d/pipe/TextPipe -sun/java2d/pipe/DrawImagePipe -java/awt/image/IndexColorModel -sun/java2d/pipe/LoopPipe -sun/java2d/pipe/ParallelogramPipe -sun/java2d/pipe/LoopBasedPipe -sun/java2d/pipe/RenderingEngine -sun/java2d/pipe/RenderingEngine$1 -sun/dc/DuctusRenderingEngine -sun/java2d/pipe/OutlineTextRenderer -sun/java2d/pipe/SolidTextRenderer -sun/java2d/pipe/GlyphListLoopPipe -sun/java2d/pipe/GlyphListPipe -sun/java2d/pipe/AATextRenderer -sun/java2d/pipe/LCDTextRenderer -sun/java2d/pipe/AlphaColorPipe -sun/java2d/pipe/CompositePipe -sun/java2d/SurfaceData$PixelToShapeLoopConverter -sun/java2d/pipe/PixelToShapeConverter -sun/java2d/SurfaceData$PixelToPgramLoopConverter -sun/java2d/pipe/PixelToParallelogramConverter -sun/java2d/pipe/TextRenderer -sun/java2d/pipe/SpanClipRenderer -sun/java2d/pipe/Region -sun/java2d/pipe/RegionIterator -sun/java2d/pipe/Region$ImmutableRegion -sun/java2d/pipe/AAShapePipe -sun/java2d/pipe/AlphaPaintPipe -sun/java2d/pipe/SpanShapeRenderer$Composite -sun/java2d/pipe/SpanShapeRenderer -sun/java2d/pipe/GeneralCompositePipe -sun/java2d/pipe/DrawImage -sun/java2d/loops/RenderCache -sun/java2d/loops/RenderCache$Entry -sun/awt/image/SunVolatileImage -sun/java2d/DestSurfaceProvider -java/awt/image/VolatileImage -java/awt/Image -java/awt/ImageCapabilities -java/awt/Image$1 -sun/awt/image/SurfaceManager$ImageAccessor -sun/awt/image/SurfaceManager -sun/awt/image/VolatileSurfaceManager -sun/awt/windows/WToolkit$2 -sun/java2d/windows/WindowsFlags -sun/java2d/windows/WindowsFlags$1 -sun/java2d/WindowsSurfaceManagerFactory -sun/java2d/SurfaceManagerFactory -sun/awt/SunDisplayChanger -sun/java2d/SunGraphicsEnvironment$1 -sun/misc/FloatingDecimal -sun/misc/FloatingDecimal$ExceptionalBinaryToASCIIBuffer -sun/misc/FloatingDecimal$BinaryToASCIIConverter -sun/misc/FloatingDecimal$BinaryToASCIIBuffer -sun/misc/FloatingDecimal$1 -sun/misc/FloatingDecimal$PreparedASCIIToBinaryBuffer -sun/misc/FloatingDecimal$ASCIIToBinaryConverter -sun/misc/FloatingDecimal$ASCIIToBinaryBuffer -java/awt/Toolkit$2 -java/awt/Toolkit$DesktopPropertyChangeSupport -java/beans/PropertyChangeSupport -java/beans/PropertyChangeSupport$PropertyChangeListenerMap -java/beans/ChangeListenerMap -java/beans/PropertyChangeListener -sun/awt/SunToolkit$ModalityListenerList -sun/awt/ModalityListener -sun/misc/PerformanceLogger -sun/misc/PerformanceLogger$TimeData -sun/awt/windows/WToolkit$ToolkitDisposer -sun/java2d/DisposerRecord -sun/java2d/Disposer -sun/java2d/Disposer$1 -sun/misc/ThreadGroupUtils -sun/awt/AWTAutoShutdown -java/lang/invoke/DirectMethodHandle$Special -java/lang/ApplicationShutdownHooks -java/lang/ApplicationShutdownHooks$1 -java/lang/Shutdown -java/lang/Shutdown$Lock -java/awt/Rectangle -java/awt/Shape -java/awt/geom/Rectangle2D -java/awt/geom/RectangularShape -javax/swing/RepaintManager$ProcessingRunnable -com/sun/java/swing/SwingUtilities3 -javax/swing/UIManager -javax/swing/UIManager$LookAndFeelInfo -sun/awt/OSInfo -sun/awt/OSInfo$WindowsVersion -sun/awt/OSInfo$1 -sun/awt/OSInfo$OSType -sun/awt/HeadlessToolkit -sun/awt/windows/WDesktopProperties -sun/awt/windows/ThemeReader -java/util/concurrent/locks/ReentrantReadWriteLock -java/util/concurrent/locks/ReadWriteLock -sun/nio/ch/Interruptible -java/util/concurrent/locks/ReentrantReadWriteLock$NonfairSync -java/util/concurrent/locks/ReentrantReadWriteLock$Sync -java/util/concurrent/locks/ReentrantReadWriteLock$Sync$ThreadLocalHoldCounter -java/util/concurrent/locks/ReentrantReadWriteLock$ReadLock -java/util/concurrent/locks/ReentrantReadWriteLock$WriteLock -java/awt/Color -java/awt/Paint -sun/awt/windows/WDesktopProperties$WinPlaySound -java/awt/RenderingHints -sun/awt/SunHints -sun/awt/SunHints$Key -java/awt/RenderingHints$Key -sun/awt/SunHints$Value -sun/awt/SunHints$LCDContrastKey -java/util/HashMap$KeySet -java/util/HashMap$KeyIterator -java/util/Arrays$LegacyMergeSort -java/util/ComparableTimSort -java/beans/PropertyChangeEvent -java/awt/Toolkit$DesktopPropertyChangeSupport$1 -java/util/IdentityHashMap$Values -java/util/IdentityHashMap$ValueIterator -java/util/IdentityHashMap$IdentityHashMapIterator -sun/swing/SwingUtilities2 -java/awt/font/FontRenderContext -sun/swing/StringUIClientPropertyKey -sun/swing/UIClientPropertyKey -sun/swing/SwingUtilities2$LSBCacheEntry -javax/swing/UIManager$LAFState -javax/swing/UIDefaults -javax/swing/MultiUIDefaults -javax/swing/UIManager$1 -javax/swing/plaf/metal/MetalLookAndFeel -javax/swing/plaf/basic/BasicLookAndFeel -javax/swing/LookAndFeel -sun/swing/DefaultLookup -javax/swing/plaf/metal/OceanTheme -javax/swing/plaf/metal/DefaultMetalTheme -javax/swing/plaf/metal/MetalTheme -javax/swing/plaf/ColorUIResource -javax/swing/plaf/UIResource -sun/swing/PrintColorUIResource -javax/swing/plaf/metal/DefaultMetalTheme$FontDelegate -javax/swing/plaf/FontUIResource -sun/swing/SwingLazyValue -javax/swing/UIDefaults$LazyValue -javax/swing/UIDefaults$ActiveValue -javax/swing/plaf/InsetsUIResource -javax/swing/plaf/BorderUIResource$EmptyBorderUIResource -javax/swing/border/EmptyBorder -javax/swing/border/AbstractBorder -javax/swing/border/Border -sun/swing/SwingUtilities2$2 -javax/swing/plaf/basic/BasicLookAndFeel$2 -javax/swing/plaf/DimensionUIResource -javax/swing/UIDefaults$LazyInputMap -javax/swing/plaf/metal/MetalLookAndFeel$FontActiveValue -sun/swing/SwingUtilities2$AATextInfo -javax/swing/plaf/metal/MetalLookAndFeel$AATextListener -java/beans/PropertyChangeListenerProxy -java/util/EventListenerProxy -javax/swing/plaf/metal/OceanTheme$1 -javax/swing/plaf/metal/OceanTheme$2 -javax/swing/plaf/metal/OceanTheme$3 -javax/swing/plaf/metal/OceanTheme$4 -javax/swing/plaf/metal/OceanTheme$5 -javax/swing/plaf/metal/OceanTheme$6 -javax/swing/SwingPaintEventDispatcher -sun/awt/PaintEventDispatcher -java/awt/KeyboardFocusManager -java/awt/KeyEventDispatcher -java/awt/KeyEventPostProcessor -java/awt/KeyboardFocusManager$1 -sun/awt/AWTAccessor$KeyboardFocusManagerAccessor -java/awt/AWTKeyStroke -java/awt/AWTKeyStroke$1 -java/awt/DefaultKeyboardFocusManager -java/awt/DefaultKeyboardFocusManager$1 -sun/awt/AWTAccessor$DefaultKeyboardFocusManagerAccessor -java/awt/DefaultFocusTraversalPolicy -java/awt/ContainerOrderFocusTraversalPolicy -java/awt/FocusTraversalPolicy -java/util/Collections$UnmodifiableSet -sun/awt/windows/WKeyboardFocusManagerPeer -sun/awt/KeyboardFocusManagerPeerImpl -java/awt/peer/KeyboardFocusManagerPeer -javax/swing/UIManager$2 -javax/swing/JRootPane -javax/swing/UIDefaults$TextAndMnemonicHashMap -com/sun/swing/internal/plaf/metal/resources/metal -sun/util/ResourceBundleEnumeration -com/sun/swing/internal/plaf/basic/resources/basic -javax/swing/plaf/metal/MetalLabelUI -javax/swing/plaf/basic/BasicLabelUI -javax/swing/plaf/LabelUI -javax/swing/plaf/ComponentUI -sun/reflect/misc/MethodUtil -sun/reflect/misc/MethodUtil$1 -sun/net/www/protocol/jar/JarURLConnection -java/net/JarURLConnection -sun/net/www/protocol/jar/JarFileFactory -sun/net/www/protocol/jar/URLJarFile$URLJarFileCloseController -java/net/HttpURLConnection -sun/net/www/protocol/jar/URLJarFile -sun/net/www/protocol/jar/URLJarFile$URLJarFileEntry -sun/net/www/protocol/jar/JarURLConnection$JarURLInputStream -java/lang/UnsupportedOperationException -java/lang/reflect/InvocationTargetException -javax/swing/plaf/metal/DefaultMetalTheme$FontDelegate$1 -javax/swing/plaf/basic/BasicHTML -sun/awt/util/IdentityArrayList -java/awt/Window$Type -java/awt/Window$1 -sun/awt/AWTAccessor$WindowAccessor -java/awt/Frame$1 -sun/awt/AWTAccessor$FrameAccessor -java/awt/Cursor -java/awt/Point -java/awt/geom/Point2D -java/awt/Cursor$1 -sun/awt/AWTAccessor$CursorAccessor -java/awt/GraphicsDevice -sun/java2d/d3d/D3DGraphicsDevice -sun/awt/Win32GraphicsDevice -sun/misc/PerfCounter$WindowsClientCounters -sun/java2d/d3d/D3DRenderQueue -sun/java2d/pipe/RenderQueue -sun/java2d/pipe/RenderBuffer -sun/java2d/d3d/D3DRenderQueue$1 -sun/java2d/d3d/D3DGraphicsDevice$1Result -sun/java2d/d3d/D3DGraphicsDevice$1 -sun/java2d/d3d/D3DContext$D3DContextCaps -sun/java2d/pipe/hw/ContextCapabilities -sun/awt/Win32GraphicsConfig -sun/awt/image/SurfaceManager$ProxiedGraphicsConfig -java/awt/GraphicsConfiguration -java/awt/BorderLayout -java/awt/LayoutManager2 -java/awt/Dialog$ModalExclusionType -java/awt/Window$WindowDisposerRecord -javax/swing/JPanel -java/awt/FlowLayout -javax/swing/plaf/basic/BasicPanelUI -javax/swing/plaf/PanelUI -java/awt/Component$BaselineResizeBehavior -sun/swing/SwingLazyValue$1 -javax/swing/JLayeredPane -javax/swing/JRootPane$1 -javax/swing/ArrayTable -javax/swing/JRootPane$RootLayout -javax/swing/BufferStrategyPaintManager -javax/swing/RepaintManager$PaintManager -javax/swing/FocusManager -javax/swing/LayoutFocusTraversalPolicy -javax/swing/SortingFocusTraversalPolicy -javax/swing/InternalFrameFocusTraversalPolicy -javax/swing/SwingContainerOrderFocusTraversalPolicy -javax/swing/SortingFocusTraversalPolicy$1 -java/util/Spliterator$OfLong -java/util/Spliterator$OfPrimitive -java/util/Spliterator -java/util/Spliterator$OfInt -java/util/Spliterator$OfDouble -java/util/stream/IntStream -java/util/stream/BaseStream -java/util/stream/Stream -java/util/stream/DoubleStream -java/util/stream/LongStream -java/util/function/BinaryOperator -java/util/function/BiFunction -java/util/function/DoubleBinaryOperator -java/util/function/IntBinaryOperator -java/util/function/LongBinaryOperator -java/util/function/IntToLongFunction -java/util/function/IntFunction -java/util/function/IntToDoubleFunction -java/util/function/IntUnaryOperator -javax/swing/SwingDefaultFocusTraversalPolicy -javax/swing/LayoutComparator -javax/swing/plaf/metal/MetalRootPaneUI -javax/swing/plaf/basic/BasicRootPaneUI -javax/swing/plaf/RootPaneUI -javax/swing/plaf/basic/BasicRootPaneUI$RootPaneInputMap -javax/swing/plaf/ComponentInputMapUIResource -javax/swing/ComponentInputMap -javax/swing/InputMap -javax/swing/plaf/InputMapUIResource -javax/swing/KeyStroke -java/awt/VKCollection -java/awt/event/KeyEvent -java/awt/event/KeyEvent$1 -sun/awt/AWTAccessor$KeyEventAccessor -sun/reflect/UnsafeQualifiedStaticIntegerFieldAccessorImpl -javax/swing/plaf/basic/LazyActionMap -javax/swing/plaf/ActionMapUIResource -javax/swing/ActionMap -sun/awt/windows/WFramePeer -java/awt/peer/FramePeer -java/awt/peer/WindowPeer -java/awt/peer/ContainerPeer -sun/awt/windows/WWindowPeer -sun/awt/windows/WPanelPeer -java/awt/peer/PanelPeer -sun/awt/windows/WCanvasPeer -java/awt/peer/CanvasPeer -sun/awt/windows/WWindowPeer$ActiveWindowListener -sun/awt/windows/WWindowPeer$GuiDisposedListener -sun/awt/RepaintArea -sun/awt/ExtendedKeyCodes -sun/awt/EmbeddedFrame -sun/awt/LightweightFrame -sun/awt/im/InputMethodWindow -sun/awt/windows/WComponentPeer$2 -javax/swing/RepaintManager$2 -java/awt/event/InvocationEvent -java/awt/ActiveEvent -java/awt/event/InvocationEvent$1 -sun/awt/AWTAccessor$InvocationEventAccessor -java/awt/EventQueue$5 -java/awt/EventDispatchThread -sun/awt/PeerEvent -java/awt/EventDispatchThread$1 -sun/awt/EventQueueItem -java/awt/Conditional -java/awt/EventDispatchThread$HierarchyEventFilter -java/awt/EventFilter -java/awt/event/WindowEvent -java/awt/ModalEventFilter -sun/awt/EventQueueDelegate -java/awt/event/PaintEvent -sun/java2d/ScreenUpdateManager -java/awt/event/MouseEvent -sun/java2d/d3d/D3DScreenUpdateManager -java/awt/EventFilter$FilterAction -sun/awt/dnd/SunDragSourceContextPeer -java/awt/dnd/peer/DragSourceContextPeer -java/awt/EventQueue$3 -java/awt/MenuComponent -java/awt/TrayIcon -java/awt/event/InputMethodEvent -sun/java2d/d3d/D3DGraphicsConfig -java/awt/event/ActionEvent -sun/java2d/pipe/hw/AccelGraphicsConfig -sun/java2d/pipe/hw/BufferedContextProvider -java/util/LinkedList$ListItr -sun/java2d/windows/GDIWindowSurfaceData -javax/swing/RepaintManager$2$1 -sun/java2d/loops/XORComposite -java/awt/Composite -sun/java2d/windows/GDIBlitLoops -sun/java2d/loops/Blit -sun/java2d/loops/GraphicsPrimitive -sun/java2d/loops/GraphicsPrimitiveMgr -sun/java2d/loops/CompositeType -sun/java2d/SunGraphics2D -sun/awt/ConstrainableGraphics -java/awt/Graphics2D -java/awt/AlphaComposite -java/awt/geom/Path2D -java/awt/geom/Path2D$Float -sun/java2d/loops/BlitBg -sun/java2d/loops/ScaledBlit -sun/java2d/loops/FillRect -sun/java2d/loops/FillSpans -sun/java2d/loops/FillParallelogram -sun/java2d/loops/DrawParallelogram -sun/java2d/loops/DrawLine -sun/java2d/loops/DrawRect -sun/java2d/loops/DrawPolygons -sun/java2d/loops/DrawPath -sun/java2d/loops/FillPath -sun/java2d/loops/MaskBlit -sun/java2d/loops/MaskFill -sun/java2d/loops/DrawGlyphList -sun/java2d/loops/DrawGlyphListAA -sun/java2d/loops/DrawGlyphListLCD -sun/java2d/loops/TransformHelper -java/awt/BasicStroke -java/awt/Stroke -sun/java2d/pipe/ValidatePipe -sun/java2d/loops/CustomComponent -sun/java2d/loops/GraphicsPrimitiveProxy -sun/java2d/loops/GeneralRenderer -sun/java2d/loops/GraphicsPrimitiveMgr$1 -sun/java2d/loops/GraphicsPrimitiveMgr$2 -sun/java2d/windows/GDIRenderer -sun/java2d/loops/RenderLoops -sun/java2d/loops/GraphicsPrimitiveMgr$PrimitiveSpec -java/util/TimSort -sun/java2d/DefaultDisposerRecord -sun/java2d/SurfaceDataProxy -sun/awt/image/SurfaceManager$FlushableCacheData -sun/java2d/SurfaceDataProxy$1 -sun/java2d/StateTracker -sun/java2d/StateTracker$1 -sun/java2d/StateTracker$2 -sun/awt/windows/WColor -sun/awt/windows/WFontPeer -sun/awt/PlatformFont -java/awt/peer/FontPeer -sun/awt/NativeLibLoader -sun/awt/NativeLibLoader$1 -sun/font/SunFontManager -sun/java2d/FontSupport -sun/font/FontManagerForSGE -sun/font/FontManager -sun/font/SunFontManager$TTFilter -java/io/FilenameFilter -sun/font/SunFontManager$T1Filter -sun/font/SunFontManager$1 -sun/font/FontManagerNativeLibrary -sun/font/FontManagerNativeLibrary$1 -sun/font/FontUtilities -sun/font/FontUtilities$1 -sun/font/TrueTypeFont -sun/font/FileFont -sun/font/PhysicalFont -sun/font/Font2D -sun/font/Type1Font -java/awt/geom/Point2D$Float -sun/font/StrikeMetrics -java/awt/geom/Rectangle2D$Float -java/awt/geom/GeneralPath -sun/font/CharToGlyphMapper -sun/font/PhysicalStrike -sun/font/FontStrike -sun/font/StrikeCache -sun/font/StrikeCache$1 -sun/font/GlyphList -sun/font/FontManagerFactory -sun/font/FontManagerFactory$1 -sun/awt/Win32FontManager -sun/awt/Win32FontManager$1 -sun/font/CompositeFont -sun/font/SunFontManager$2 -sun/font/SunFontManager$FontRegistrationInfo -sun/awt/windows/WFontConfiguration -sun/awt/FontConfiguration -sun/awt/FontDescriptor -java/io/DataInputStream -java/io/DataInput -sun/font/CompositeFontDescriptor -sun/font/Font2DHandle -sun/font/FontFamily -sun/font/SunFontManager$3 -sun/awt/Win32FontManager$2 -sun/awt/FontConfiguration$2 -sun/awt/windows/WingDings -sun/awt/windows/WingDings$Encoder -sun/awt/Symbol -sun/awt/Symbol$Encoder -sun/awt/im/InputMethodManager -sun/awt/im/ExecutableInputMethodManager -sun/awt/windows/WInputMethodDescriptor -java/awt/im/spi/InputMethodDescriptor -sun/awt/im/InputMethodLocator -sun/awt/im/ExecutableInputMethodManager$3 -java/awt/peer/LightweightPeer -sun/awt/NullComponentPeer -java/awt/EventQueue$4 -java/awt/SplashScreen -sun/awt/dnd/SunDropTargetEvent -java/awt/Dialog -java/awt/event/FocusEvent -java/util/concurrent/locks/LockSupport -java/awt/Dialog$ModalityType -sun/awt/TimedWindowEvent -java/awt/SequencedEvent -java/awt/SequencedEvent$1 -sun/awt/AWTAccessor$SequencedEventAccessor -java/awt/DefaultKeyboardFocusManager$DefaultKeyboardFocusManagerSentEvent -java/awt/SentEvent -sun/awt/windows/WGlobalCursorManager -sun/awt/event/IgnorePaintEvent -sun/awt/GlobalCursorManager -sun/awt/GlobalCursorManager$NativeUpdater -java/util/ArrayList$ListItr -sun/awt/CausedFocusEvent$Cause -java/awt/KeyboardFocusManager$HeavyweightFocusRequest -java/awt/DefaultKeyboardFocusManager$TypeAheadMarker -java/awt/KeyboardFocusManager$LightweightFocusRequest -sun/awt/CausedFocusEvent -java/util/IdentityHashMap$KeySet -java/util/IdentityHashMap$KeyIterator -javax/swing/RepaintManager$4 -sun/java2d/d3d/D3DSurfaceData$D3DWindowSurfaceData -sun/java2d/d3d/D3DSurfaceData -sun/java2d/pipe/hw/AccelSurface -java/awt/GraphicsCallback$PaintCallback -java/awt/GraphicsCallback -sun/awt/SunGraphicsCallback -javax/swing/BufferStrategyPaintManager$BufferInfo -java/awt/event/WindowListener -java/awt/event/ComponentAdapter -java/awt/event/ComponentListener -java/awt/AWTEventMulticaster -java/awt/event/ContainerListener -java/awt/event/FocusListener -java/awt/event/KeyListener -java/awt/event/MouseListener -java/awt/event/MouseMotionListener -java/awt/event/WindowFocusListener -java/awt/event/WindowStateListener -java/awt/event/ActionListener -java/awt/event/ItemListener -java/awt/event/AdjustmentListener -java/awt/event/TextListener -java/awt/event/InputMethodListener -java/awt/event/HierarchyListener -java/awt/event/HierarchyBoundsListener -java/awt/event/MouseWheelListener -java/awt/BufferCapabilities -java/awt/Component$BltSubRegionBufferStrategy -sun/awt/SubRegionShowable -java/awt/Component$BltBufferStrategy -java/awt/image/BufferStrategy -sun/awt/image/BufferedImageGraphicsConfig -sun/print/PrinterGraphicsConfig -sun/java2d/opengl/WGLGraphicsConfig -sun/java2d/opengl/OGLGraphicsConfig -sun/awt/image/BufImgVolatileSurfaceManager -java/awt/image/Raster -java/awt/image/DataBufferInt -java/awt/image/DataBuffer -java/awt/image/DataBuffer$1 -sun/awt/image/SunWritableRaster$DataStealer -sun/awt/image/SunWritableRaster -java/awt/image/WritableRaster -java/awt/image/SinglePixelPackedSampleModel -java/awt/image/SampleModel -sun/awt/image/IntegerInterleavedRaster -sun/awt/image/IntegerComponentRaster -sun/awt/image/NativeLibLoader -sun/awt/image/NativeLibLoader$1 -java/awt/image/BufferedImage -java/awt/image/WritableRenderedImage -java/awt/image/RenderedImage -java/awt/image/BufferedImage$1 -sun/awt/image/BufImgSurfaceData -sun/awt/image/BufImgSurfaceData$ICMColorData -sun/font/FontDesignMetrics -java/awt/FontMetrics -sun/font/FontDesignMetrics$MetricsKey -sun/font/FontStrikeDesc -sun/font/CompositeStrike -sun/font/FontStrikeDisposer -sun/java2d/Disposer$PollDisposable -sun/font/StrikeCache$SoftDisposerRef -sun/font/StrikeCache$DisposableStrike -sun/font/TrueTypeFont$TTDisposerRecord -sun/font/TrueTypeFont$1 -java/io/RandomAccessFile -java/io/DataOutput -sun/nio/ch/FileChannelImpl -java/nio/channels/FileChannel -java/nio/channels/SeekableByteChannel -java/nio/channels/ByteChannel -java/nio/channels/ReadableByteChannel -java/nio/channels/Channel -java/nio/channels/WritableByteChannel -java/nio/channels/GatheringByteChannel -java/nio/channels/ScatteringByteChannel -java/nio/channels/spi/AbstractInterruptibleChannel -java/nio/channels/InterruptibleChannel -java/nio/file/attribute/FileAttribute -sun/nio/ch/IOUtil -sun/nio/ch/IOUtil$1 -sun/nio/ch/NativeThreadSet -sun/nio/ch/FileDispatcherImpl -sun/nio/ch/FileDispatcher -sun/nio/ch/NativeDispatcher -sun/nio/ch/FileDispatcherImpl$1 -java/nio/channels/spi/AbstractInterruptibleChannel$1 -sun/nio/ch/NativeThread -sun/nio/ch/IOStatus -sun/nio/ch/Util -sun/nio/ch/Util$1 -sun/nio/ch/Util$BufferCache -java/nio/DirectByteBuffer$Deallocator -java/nio/ByteBufferAsIntBufferB -java/nio/IntBuffer -sun/font/TrueTypeFont$DirectoryEntry -java/nio/ByteBufferAsShortBufferB -java/nio/ShortBuffer -sun/nio/cs/UTF_16$Decoder -sun/nio/cs/UnicodeDecoder -sun/font/FileFontStrike -sun/font/FontScaler -sun/font/T2KFontScaler -sun/font/T2KFontScaler$1 -sun/font/TrueTypeGlyphMapper -sun/font/CMap -sun/font/CMap$NullCMapClass -sun/font/CMap$CMapFormat4 -java/nio/ByteBufferAsCharBufferB -sun/font/FontDesignMetrics$KeyReference -sun/font/CompositeGlyphMapper -java/awt/print/PrinterGraphics -java/awt/PrintGraphics -sun/java2d/loops/FontInfo -java/util/jar/Attributes -java/util/jar/Manifest$FastInputStream -sun/nio/cs/UTF_8$Decoder -java/util/jar/Attributes$Name -sun/misc/ASCIICaseInsensitiveComparator -java/util/jar/JarVerifier -java/security/CodeSigner -java/util/jar/JarVerifier$3 -java/io/ByteArrayOutputStream -java/lang/Package -sun/security/util/SignatureFileVerifier -sun/security/util/ManifestEntryVerifier -java/util/MissingResourceException -java/io/StringWriter -javax/swing/JDialog -javax/swing/text/JTextComponent -javax/swing/Scrollable -javax/swing/JTextArea -javax/swing/JScrollPane -javax/swing/ScrollPaneConstants -javax/swing/AbstractButton -java/awt/ItemSelectable -javax/swing/JButton -java/lang/SecurityException -javax/swing/JWindow -java/lang/NumberFormatException -java/io/UnsupportedEncodingException -sun/misc/URLClassPath$FileLoader -java/lang/IndexOutOfBoundsException -java/lang/CloneNotSupportedException -java/lang/InternalError -java/net/UnknownHostException -java/net/Socket -java/net/SocketAddress -java/nio/channels/SocketChannel -java/nio/channels/NetworkChannel -java/nio/channels/spi/AbstractSelectableChannel -java/nio/channels/SelectableChannel -java/net/InetAddress -java/net/SocketException -java/net/SocketImplFactory -java/net/InetSocketAddress -java/net/InetSocketAddress$InetSocketAddressHolder -java/net/Proxy -java/net/SocketImpl -java/net/SocketOptions -java/net/SocksSocketImpl -java/net/SocksConsts -java/net/PlainSocketImpl -java/net/AbstractPlainSocketImpl -java/net/AbstractPlainSocketImpl$1 -java/net/PlainSocketImpl$1 -java/net/DualStackPlainSocketImpl -java/net/InetAddress$1 -java/net/InetAddress$InetAddressHolder -java/net/InetAddress$Cache -java/net/InetAddress$Cache$Type -java/net/InetAddressImplFactory -java/net/Inet6AddressImpl -java/net/InetAddressImpl -java/net/InetAddress$2 -sun/net/spi/nameservice/NameService -sun/net/util/IPAddressUtil -java/net/Inet4Address -java/net/SocksSocketImpl$3 -java/net/ProxySelector -sun/net/spi/DefaultProxySelector -sun/net/spi/DefaultProxySelector$1 -sun/net/NetProperties -sun/net/NetProperties$1 -java/net/Inet6Address -java/net/URI -java/net/URI$Parser -sun/net/spi/DefaultProxySelector$NonProxyInfo -sun/net/spi/DefaultProxySelector$3 -java/net/Proxy$Type -sun/net/NetHooks -java/net/Inet6Address$Inet6AddressHolder -java/net/SocketTimeoutException -java/io/InterruptedIOException -javax/swing/UnsupportedLookAndFeelException -java/net/MalformedURLException -java/lang/UnsatisfiedLinkError -sun/misc/FDBigInteger -java/util/ResourceBundle$Control$1 -java/net/URLClassLoader$2 -java/util/PropertyResourceBundle -java/util/ResourceBundle$BundleReference -java/util/logging/Level -java/util/logging/Level$KnownLevel -java/util/logging/Logger -java/util/logging/Handler -java/util/logging/Logger$LoggerBundle -java/util/concurrent/CopyOnWriteArrayList -java/util/logging/LogManager -java/util/logging/LogManager$1 -java/util/logging/LogManager$SystemLoggerContext -java/util/logging/LogManager$LoggerContext -java/util/logging/LogManager$LogNode -java/util/logging/LoggingPermission -java/util/logging/LogManager$Cleaner -java/util/logging/LogManager$2 -java/util/logging/LogManager$3 -java/util/logging/LogManager$LoggerWeakRef -java/util/logging/LogManager$LoggerContext$1 -java/util/logging/LogManager$RootLogger -java/util/logging/LogManager$5 -java/util/logging/Logger$1 -sun/util/logging/resources/logging -javax/swing/Box -javax/swing/Box$Filler -javax/swing/Icon -javax/swing/BoxLayout -javax/swing/plaf/basic/BasicPopupMenuUI -javax/swing/plaf/PopupMenuUI -javax/swing/ImageIcon -javax/swing/ImageIcon$1 -javax/swing/ImageIcon$2 -javax/swing/ImageIcon$2$1 -java/awt/dnd/DropTarget -java/awt/dnd/DropTargetListener -javax/accessibility/AccessibleContext -sun/reflect/UnsafeObjectFieldAccessorImpl -java/awt/MediaTracker -sun/misc/SoftCache$ValueCell -sun/awt/image/URLImageSource -sun/awt/image/InputStreamImageSource -java/awt/image/ImageProducer -sun/awt/image/ImageFetchable -sun/awt/image/ToolkitImage -javax/swing/ImageIcon$3 -java/awt/ImageMediaEntry -java/awt/MediaEntry -sun/awt/image/MultiResolutionToolkitImage -sun/awt/image/MultiResolutionImage -sun/awt/image/ImageRepresentation -java/awt/image/ImageConsumer -sun/awt/image/ImageWatched -sun/awt/image/ImageWatched$Link -sun/awt/image/ImageWatched$WeakLink -sun/awt/image/ImageConsumerQueue -sun/awt/image/ImageFetcher -sun/awt/image/FetcherInfo -sun/awt/image/ImageFetcher$1 -sun/net/ProgressMonitor -sun/net/DefaultProgressMeteringPolicy -sun/net/ProgressMeteringPolicy -sun/net/www/MimeTable -java/net/FileNameMap -sun/net/www/MimeTable$1 -sun/net/www/MimeTable$DefaultInstanceHolder -sun/net/www/MimeTable$DefaultInstanceHolder$1 -sun/net/www/MimeEntry -java/net/URLConnection$1 -java/text/SimpleDateFormat -java/text/DateFormat -java/text/Format -java/text/DateFormat$Field -java/text/Format$Field -java/util/TimeZone -sun/util/calendar/ZoneInfo -sun/util/calendar/ZoneInfoFile -sun/util/calendar/ZoneInfoFile$1 -sun/util/calendar/ZoneInfoFile$ZoneOffsetTransitionRule -sun/util/calendar/ZoneInfoFile$Checksum -java/util/zip/CRC32 -java/util/zip/Checksum -java/util/TimeZone$1 -java/util/Calendar -sun/util/spi/CalendarProvider -java/util/spi/LocaleServiceProvider -sun/util/locale/provider/LocaleProviderAdapter -sun/util/locale/provider/JRELocaleProviderAdapter -sun/util/locale/provider/ResourceBundleBasedAdapter -sun/util/locale/provider/SPILocaleProviderAdapter -sun/util/locale/provider/AuxLocaleProviderAdapter -sun/util/locale/provider/AuxLocaleProviderAdapter$NullProvider -sun/util/locale/provider/LocaleProviderAdapter$Type -sun/util/locale/provider/LocaleProviderAdapter$1 -sun/util/locale/provider/CalendarProviderImpl -sun/util/locale/provider/AvailableLanguageTags -sun/util/locale/provider/LocaleDataMetaInfo -sun/util/locale/provider/JRELocaleProviderAdapter$1 -java/util/Calendar$Builder -java/util/GregorianCalendar -sun/util/locale/provider/CalendarDataUtility -java/util/spi/CalendarDataProvider -sun/util/locale/provider/LocaleServiceProviderPool -java/text/spi/BreakIteratorProvider -java/text/spi/CollatorProvider -java/text/spi/DateFormatProvider -java/text/spi/DateFormatSymbolsProvider -java/text/spi/DecimalFormatSymbolsProvider -java/text/spi/NumberFormatProvider -java/util/spi/CurrencyNameProvider -java/util/spi/LocaleNameProvider -java/util/spi/TimeZoneNameProvider -sun/util/locale/provider/CalendarDataProviderImpl -sun/util/locale/provider/SPILocaleProviderAdapter$1 -sun/util/locale/provider/CalendarDataUtility$CalendarWeekParameterGetter -sun/util/locale/provider/LocaleServiceProviderPool$LocalizedObjectGetter -sun/util/locale/provider/LocaleResources -sun/util/resources/LocaleData -sun/util/resources/LocaleData$1 -sun/util/resources/LocaleData$LocaleDataResourceBundleControl -sun/util/locale/LanguageTag -java/util/Collections$EmptyIterator -sun/util/resources/CalendarData -sun/util/resources/LocaleNamesBundle -sun/util/resources/OpenListResourceBundle -sun/util/resources/en/CalendarData_en -sun/util/locale/provider/LocaleResources$ResourceReference -sun/util/calendar/Gregorian$Date -sun/util/calendar/BaseCalendar$Date -sun/util/calendar/CalendarDate -sun/util/calendar/CalendarUtils -java/text/DateFormatSymbols -sun/util/locale/provider/DateFormatSymbolsProviderImpl -sun/text/resources/FormatData -sun/util/resources/ParallelListResourceBundle -java/util/concurrent/atomic/AtomicMarkableReference -java/util/concurrent/atomic/AtomicMarkableReference$Pair -sun/text/resources/en/FormatData_en -sun/text/resources/en/FormatData_en_US -sun/util/resources/ParallelListResourceBundle$KeySet -java/text/NumberFormat -sun/util/locale/provider/NumberFormatProviderImpl -java/text/DecimalFormatSymbols -sun/util/locale/provider/DecimalFormatSymbolsProviderImpl -java/util/Currency -java/util/Currency$1 -sun/util/locale/provider/CurrencyNameProviderImpl -java/util/Currency$CurrencyNameGetter -sun/util/resources/CurrencyNames -sun/util/resources/en/CurrencyNames_en_US -java/text/DecimalFormat -java/text/FieldPosition -java/text/DigitList -java/math/RoundingMode -java/text/DontCareFieldPosition -java/text/DontCareFieldPosition$1 -java/text/Format$FieldDelegate -sun/awt/image/GifImageDecoder -sun/awt/image/ImageDecoder -sun/awt/image/GifFrame -java/awt/image/DataBufferByte -java/awt/image/PixelInterleavedSampleModel -java/awt/image/ComponentSampleModel -sun/awt/image/ByteInterleavedRaster -sun/awt/image/ByteComponentRaster -sun/awt/image/BytePackedRaster -javax/swing/plaf/BorderUIResource -javax/swing/BorderFactory -javax/swing/border/BevelBorder -javax/swing/border/EtchedBorder -javax/swing/plaf/metal/MetalIconFactory -javax/swing/plaf/metal/MetalIconFactory$TreeFolderIcon -javax/swing/plaf/metal/MetalIconFactory$FolderIcon16 -java/lang/ClassLoaderHelper -java/util/zip/ZipInputStream -java/io/PushbackInputStream -java/util/zip/ZipUtils -java/io/RandomAccessFile$1 -java/lang/Thread$State -javax/swing/SwingUtilities$SharedOwnerFrame -javax/swing/border/LineBorder -javax/swing/Popup$HeavyWeightWindow -sun/awt/ModalExclude -javax/swing/SizeRequirements -com/sun/java/swing/plaf/windows/WindowsPopupWindow -java/applet/Applet -java/awt/Panel -javax/swing/JRadioButton -javax/swing/JToggleButton -java/lang/ClassFormatError -sun/awt/image/BufImgSurfaceManager -java/awt/geom/RectIterator -java/awt/geom/PathIterator -javax/swing/CellRendererPane -javax/swing/RepaintManager$3 -java/io/ObjectInputStream -java/io/ObjectInput -java/io/ObjectStreamConstants -javax/swing/JTabbedPane -javax/swing/event/MenuListener -javax/swing/event/ChangeListener -javax/swing/DefaultSingleSelectionModel -javax/swing/SingleSelectionModel -javax/swing/JTabbedPane$ModelListener -javax/swing/plaf/metal/MetalTabbedPaneUI -javax/swing/plaf/basic/BasicTabbedPaneUI -javax/swing/plaf/TabbedPaneUI -javax/swing/plaf/metal/MetalTabbedPaneUI$TabbedPaneLayout -javax/swing/plaf/basic/BasicTabbedPaneUI$TabbedPaneLayout -javax/swing/plaf/basic/BasicTabbedPaneUI$TabbedPaneScrollLayout -javax/swing/plaf/basic/BasicTabbedPaneUI$Handler -sun/reflect/MethodAccessorGenerator -sun/reflect/AccessorGenerator -sun/reflect/ClassFileConstants -sun/reflect/ByteVectorFactory -sun/reflect/ByteVectorImpl -sun/reflect/ByteVector -sun/reflect/ClassFileAssembler -sun/reflect/UTF8 -sun/reflect/Label -sun/reflect/Label$PatchInfo -sun/reflect/MethodAccessorGenerator$1 -sun/reflect/ClassDefiner -sun/reflect/ClassDefiner$1 -sun/reflect/BootstrapConstructorAccessorImpl -javax/swing/JTextField -javax/swing/JViewport -java/awt/CardLayout -javax/swing/text/Document -javax/swing/text/JTextComponent$1 -sun/swing/SwingAccessor$JTextComponentAccessor -javax/swing/text/JTextComponent$4 -com/sun/beans/util/Cache -com/sun/beans/util/Cache$Kind -com/sun/beans/util/Cache$Kind$1 -com/sun/beans/util/Cache$Kind$2 -com/sun/beans/util/Cache$Kind$3 -com/sun/beans/util/Cache$CacheEntry -javax/swing/Action -javax/swing/JTextField$NotifyAction -javax/swing/text/TextAction -javax/swing/AbstractAction -java/lang/ArrayIndexOutOfBoundsException -javax/swing/DropMode -javax/swing/text/JTextComponent$MutableCaretEvent -javax/swing/event/CaretEvent -javax/swing/plaf/metal/MetalTextFieldUI -javax/swing/plaf/basic/BasicTextFieldUI -javax/swing/plaf/basic/BasicTextUI -javax/swing/text/ViewFactory -javax/swing/plaf/TextUI -javax/swing/plaf/basic/BasicTextUI$BasicCursor -javax/swing/text/DefaultEditorKit -javax/swing/text/EditorKit -javax/swing/text/DefaultEditorKit$InsertContentAction -javax/swing/text/DefaultEditorKit$DeletePrevCharAction -javax/swing/text/DefaultEditorKit$DeleteNextCharAction -javax/swing/text/DefaultEditorKit$ReadOnlyAction -javax/swing/text/DefaultEditorKit$DeleteWordAction -javax/swing/text/DefaultEditorKit$WritableAction -javax/swing/text/DefaultEditorKit$CutAction -javax/swing/text/DefaultEditorKit$CopyAction -javax/swing/text/DefaultEditorKit$PasteAction -javax/swing/text/DefaultEditorKit$VerticalPageAction -javax/swing/text/DefaultEditorKit$PageAction -javax/swing/text/DefaultEditorKit$InsertBreakAction -javax/swing/text/DefaultEditorKit$BeepAction -javax/swing/text/DefaultEditorKit$NextVisualPositionAction -javax/swing/text/DefaultEditorKit$BeginWordAction -javax/swing/text/DefaultEditorKit$EndWordAction -javax/swing/text/DefaultEditorKit$PreviousWordAction -javax/swing/text/DefaultEditorKit$NextWordAction -javax/swing/text/DefaultEditorKit$BeginLineAction -javax/swing/text/DefaultEditorKit$EndLineAction -javax/swing/text/DefaultEditorKit$BeginParagraphAction -javax/swing/text/DefaultEditorKit$EndParagraphAction -javax/swing/text/DefaultEditorKit$BeginAction -javax/swing/text/DefaultEditorKit$EndAction -javax/swing/text/DefaultEditorKit$DefaultKeyTypedAction -javax/swing/text/DefaultEditorKit$InsertTabAction -javax/swing/text/DefaultEditorKit$SelectWordAction -javax/swing/text/DefaultEditorKit$SelectLineAction -javax/swing/text/DefaultEditorKit$SelectParagraphAction -javax/swing/text/DefaultEditorKit$SelectAllAction -javax/swing/text/DefaultEditorKit$UnselectAction -javax/swing/text/DefaultEditorKit$ToggleComponentOrientationAction -javax/swing/text/DefaultEditorKit$DumpModelAction -javax/swing/plaf/basic/BasicTextUI$TextTransferHandler -javax/swing/TransferHandler -javax/swing/TransferHandler$TransferAction -sun/swing/UIAction -javax/swing/text/Position$Bias -javax/swing/plaf/basic/BasicTextUI$RootView -javax/swing/text/View -javax/swing/plaf/basic/BasicTextUI$UpdateHandler -javax/swing/event/DocumentListener -javax/swing/plaf/basic/BasicTextUI$DragListener -javax/swing/plaf/basic/DragRecognitionSupport$BeforeDrag -javax/swing/event/MouseInputAdapter -javax/swing/event/MouseInputListener -java/awt/event/MouseAdapter -javax/swing/plaf/metal/MetalBorders -javax/swing/plaf/BorderUIResource$CompoundBorderUIResource -javax/swing/border/CompoundBorder -javax/swing/plaf/metal/MetalBorders$TextFieldBorder -javax/swing/plaf/metal/MetalBorders$Flush3DBorder -javax/swing/plaf/basic/BasicBorders$MarginBorder -javax/swing/plaf/basic/BasicTextUI$BasicCaret -javax/swing/text/DefaultCaret -javax/swing/text/Caret -javax/swing/text/DefaultCaret$Handler -java/awt/datatransfer/ClipboardOwner -javax/swing/Timer -javax/swing/Timer$DoPostEvent -javax/swing/plaf/basic/BasicTextUI$BasicHighlighter -javax/swing/text/DefaultHighlighter -javax/swing/text/LayeredHighlighter -javax/swing/text/Highlighter -javax/swing/text/Highlighter$Highlight -javax/swing/text/DefaultHighlighter$DefaultHighlightPainter -javax/swing/text/LayeredHighlighter$LayerPainter -javax/swing/text/Highlighter$HighlightPainter -javax/swing/text/DefaultHighlighter$SafeDamager -javax/swing/ClientPropertyKey -javax/swing/ClientPropertyKey$1 -sun/awt/AWTAccessor$ClientPropertyKeyAccessor -javax/swing/TransferHandler$SwingDropTarget -java/awt/dnd/DropTargetContext -java/awt/datatransfer/SystemFlavorMap -java/awt/datatransfer/FlavorMap -java/awt/datatransfer/FlavorTable -java/awt/datatransfer/SystemFlavorMap$SoftCache -javax/swing/TransferHandler$DropHandler -javax/swing/TransferHandler$TransferSupport -javax/swing/text/PlainDocument -javax/swing/text/AbstractDocument -javax/swing/text/GapContent -javax/swing/text/AbstractDocument$Content -javax/swing/text/GapVector -javax/swing/text/GapContent$MarkVector -javax/swing/text/GapContent$MarkData -javax/swing/text/StyleContext -javax/swing/text/AbstractDocument$AttributeContext -javax/swing/text/StyleConstants -javax/swing/text/StyleConstants$CharacterConstants -javax/swing/text/AttributeSet$CharacterAttribute -javax/swing/text/StyleConstants$FontConstants -javax/swing/text/AttributeSet$FontAttribute -javax/swing/text/StyleConstants$ColorConstants -javax/swing/text/AttributeSet$ColorAttribute -javax/swing/text/StyleConstants$ParagraphConstants -javax/swing/text/AttributeSet$ParagraphAttribute -javax/swing/text/StyleContext$FontKey -javax/swing/text/SimpleAttributeSet -javax/swing/text/MutableAttributeSet -javax/swing/text/AttributeSet -javax/swing/text/SimpleAttributeSet$EmptyAttributeSet -javax/swing/text/StyleContext$NamedStyle -javax/swing/text/Style -java/util/Collections$EmptyEnumeration -javax/swing/text/StyleContext$SmallAttributeSet -java/util/LinkedHashMap$LinkedKeySet -java/util/Collections$3 -java/util/LinkedHashMap$LinkedKeyIterator -javax/swing/text/AbstractDocument$BidiRootElement -javax/swing/text/AbstractDocument$BranchElement -javax/swing/text/AbstractDocument$AbstractElement -javax/swing/text/Element -javax/swing/tree/TreeNode -javax/swing/text/AbstractDocument$1 -javax/swing/text/AbstractDocument$BidiElement -javax/swing/text/AbstractDocument$LeafElement -javax/swing/text/GapContent$StickyPosition -javax/swing/text/Position -javax/swing/text/StyleContext$KeyEnumeration -javax/swing/text/FieldView -javax/swing/text/PlainView -javax/swing/text/TabExpander -javax/swing/text/JTextComponent$DefaultKeymap -javax/swing/text/Keymap -javax/swing/text/JTextComponent$KeymapWrapper -javax/swing/text/JTextComponent$KeymapActionMap -javax/swing/plaf/basic/BasicTextUI$FocusAction -javax/swing/plaf/basic/BasicTextUI$TextActionWrapper -javax/swing/plaf/synth/SynthUI -javax/swing/plaf/synth/SynthConstants -javax/swing/JEditorPane -javax/swing/DefaultBoundedRangeModel -javax/swing/BoundedRangeModel -javax/swing/JTextField$ScrollRepainter -javax/swing/DefaultButtonModel -javax/swing/ButtonModel -javax/swing/AbstractButton$Handler -javax/swing/plaf/basic/BasicButtonUI -javax/swing/plaf/ButtonUI -javax/swing/plaf/metal/MetalBorders$ButtonBorder -javax/swing/plaf/basic/BasicButtonListener -javax/swing/event/AncestorListener -java/beans/VetoableChangeListener -javax/swing/plaf/metal/MetalComboBoxButton -javax/swing/plaf/basic/BasicArrowButton -javax/swing/plaf/metal/MetalScrollButton -sun/swing/ImageIconUIResource -javax/swing/GrayFilter -java/awt/image/RGBImageFilter -java/awt/image/ImageFilter -java/awt/image/FilteredImageSource -javax/swing/plaf/basic/BasicGraphicsUtils -javax/swing/ButtonGroup -org/xml/sax/SAXException -javax/xml/parsers/ParserConfigurationException -org/xml/sax/EntityResolver -org/w3c/dom/Node -java/io/StringReader -java/security/NoSuchAlgorithmException -java/security/GeneralSecurityException -java/util/zip/DeflaterOutputStream -java/util/zip/GZIPInputStream -org/xml/sax/InputSource -javax/xml/parsers/DocumentBuilderFactory -javax/xml/parsers/FactoryFinder -javax/xml/parsers/SecuritySupport -javax/xml/parsers/SecuritySupport$2 -javax/xml/parsers/SecuritySupport$5 -javax/xml/parsers/FactoryFinder$1 -javax/xml/parsers/DocumentBuilder -org/w3c/dom/Document -org/xml/sax/helpers/DefaultHandler -org/xml/sax/DTDHandler -org/xml/sax/ContentHandler -org/xml/sax/ErrorHandler -org/xml/sax/SAXNotSupportedException -org/xml/sax/Locator -org/xml/sax/SAXNotRecognizedException -org/xml/sax/SAXParseException -org/w3c/dom/NodeList -org/w3c/dom/events/EventTarget -org/w3c/dom/traversal/DocumentTraversal -org/w3c/dom/events/DocumentEvent -org/w3c/dom/ranges/DocumentRange -org/w3c/dom/Entity -org/w3c/dom/Element -org/w3c/dom/CharacterData -org/w3c/dom/CDATASection -org/w3c/dom/Text -org/xml/sax/AttributeList -org/w3c/dom/DOMException -org/w3c/dom/DocumentType -org/w3c/dom/Notation -org/w3c/dom/Attr -org/w3c/dom/EntityReference -org/w3c/dom/ProcessingInstruction -org/w3c/dom/Comment -org/w3c/dom/DocumentFragment -org/w3c/dom/traversal/TreeWalker -org/w3c/dom/ranges/Range -org/w3c/dom/events/Event -org/w3c/dom/events/MutationEvent -org/w3c/dom/traversal/NodeIterator -org/w3c/dom/events/EventException -java/lang/StringIndexOutOfBoundsException -org/w3c/dom/NamedNodeMap -java/awt/GridLayout -javax/swing/JToggleButton$ToggleButtonModel -javax/swing/plaf/metal/MetalRadioButtonUI -javax/swing/plaf/basic/BasicRadioButtonUI -javax/swing/plaf/basic/BasicToggleButtonUI -javax/swing/plaf/basic/BasicBorders -javax/swing/plaf/basic/BasicBorders$RadioButtonBorder -javax/swing/plaf/basic/BasicBorders$ButtonBorder -javax/swing/plaf/metal/MetalIconFactory$RadioButtonIcon -javax/swing/plaf/basic/BasicRadioButtonUI$KeyHandler -javax/swing/plaf/basic/BasicRadioButtonUI$SelectPreviousBtn -javax/swing/plaf/basic/BasicRadioButtonUI$SelectNextBtn -javax/swing/event/ChangeEvent -java/awt/event/ItemEvent -javax/swing/ToolTipManager -javax/swing/ToolTipManager$insideTimerAction -javax/swing/ToolTipManager$outsideTimerAction -javax/swing/ToolTipManager$stillInsideTimerAction -javax/swing/ToolTipManager$MoveBeforeEnterListener -java/awt/event/MouseMotionAdapter -javax/swing/ToolTipManager$AccessibilityKeyListener -java/awt/event/KeyAdapter -java/awt/CardLayout$Card -javax/swing/JComboBox -javax/swing/event/ListDataListener -javax/swing/JCheckBox -javax/swing/JPopupMenu -javax/swing/MenuElement -javax/swing/DefaultComboBoxModel -javax/swing/MutableComboBoxModel -javax/swing/ComboBoxModel -javax/swing/ListModel -javax/swing/AbstractListModel -javax/swing/JComboBox$1 -javax/swing/AncestorNotifier -javax/swing/plaf/metal/MetalComboBoxUI -javax/swing/plaf/basic/BasicComboBoxUI -javax/swing/plaf/ComboBoxUI -javax/swing/plaf/metal/MetalComboBoxUI$MetalComboBoxLayoutManager -javax/swing/plaf/basic/BasicComboBoxUI$ComboBoxLayoutManager -javax/swing/plaf/basic/BasicComboPopup -javax/swing/plaf/basic/ComboPopup -javax/swing/plaf/basic/BasicComboPopup$EmptyListModelClass -javax/swing/plaf/basic/BasicLookAndFeel$AWTEventHelper -java/awt/event/AWTEventListenerProxy -java/awt/Toolkit$SelectiveAWTEventListener -java/awt/Toolkit$ToolkitEventMulticaster -javax/swing/plaf/basic/BasicLookAndFeel$1 -javax/swing/plaf/basic/DefaultMenuLayout -javax/swing/plaf/metal/MetalBorders$PopupMenuBorder -javax/swing/plaf/basic/BasicPopupMenuUI$BasicPopupMenuListener -javax/swing/event/PopupMenuListener -javax/swing/plaf/basic/BasicPopupMenuUI$BasicMenuKeyListener -javax/swing/event/MenuKeyListener -javax/swing/plaf/basic/BasicPopupMenuUI$MouseGrabber -javax/swing/MenuSelectionManager -javax/swing/plaf/basic/BasicPopupMenuUI$MenuKeyboardHelper -javax/swing/plaf/basic/BasicPopupMenuUI$MenuKeyboardHelper$1 -java/awt/event/FocusAdapter -javax/swing/plaf/basic/BasicComboPopup$1 -javax/swing/JList -javax/swing/DefaultListSelectionModel -javax/swing/ListSelectionModel -javax/swing/plaf/basic/BasicListUI -javax/swing/plaf/ListUI -javax/swing/plaf/basic/BasicListUI$ListTransferHandler -javax/swing/DefaultListCellRenderer$UIResource -javax/swing/DefaultListCellRenderer -javax/swing/ListCellRenderer -javax/swing/plaf/basic/BasicListUI$Handler -javax/swing/event/ListSelectionListener -javax/swing/JMenu -javax/swing/JMenuItem -javax/swing/event/ListSelectionEvent -javax/swing/plaf/basic/BasicComboPopup$Handler -javax/swing/ScrollPaneLayout$UIResource -javax/swing/ScrollPaneLayout -javax/swing/ViewportLayout -javax/swing/plaf/basic/BasicViewportUI -javax/swing/plaf/ViewportUI -javax/swing/JScrollPane$ScrollBar -javax/swing/JScrollBar -java/awt/Adjustable -javax/swing/JScrollBar$ModelListener -javax/swing/plaf/metal/MetalScrollBarUI -javax/swing/plaf/basic/BasicScrollBarUI -javax/swing/plaf/ScrollBarUI -javax/swing/plaf/metal/MetalBumps -javax/swing/plaf/basic/BasicScrollBarUI$TrackListener -javax/swing/plaf/basic/BasicScrollBarUI$ArrowButtonListener -javax/swing/plaf/basic/BasicScrollBarUI$ModelListener -javax/swing/plaf/metal/MetalScrollBarUI$ScrollBarListener -javax/swing/plaf/basic/BasicScrollBarUI$PropertyChangeHandler -javax/swing/plaf/basic/BasicScrollBarUI$Handler -javax/swing/plaf/basic/BasicScrollBarUI$ScrollListener -javax/swing/JViewport$ViewListener -javax/swing/plaf/metal/MetalScrollPaneUI -javax/swing/plaf/basic/BasicScrollPaneUI -javax/swing/plaf/ScrollPaneUI -javax/swing/plaf/metal/MetalBorders$ScrollPaneBorder -javax/swing/plaf/basic/BasicScrollPaneUI$Handler -javax/swing/plaf/metal/MetalScrollPaneUI$1 -javax/swing/plaf/basic/BasicComboBoxRenderer$UIResource -javax/swing/plaf/basic/BasicComboBoxRenderer -javax/swing/plaf/metal/MetalComboBoxEditor$UIResource -javax/swing/plaf/metal/MetalComboBoxEditor -javax/swing/plaf/basic/BasicComboBoxEditor -javax/swing/ComboBoxEditor -javax/swing/plaf/basic/BasicComboBoxEditor$BorderlessTextField -javax/swing/plaf/basic/BasicComboBoxEditor$UIResource -javax/swing/text/Segment -java/text/CharacterIterator -javax/swing/plaf/metal/MetalComboBoxEditor$1 -javax/swing/plaf/metal/MetalComboBoxEditor$EditorBorder -javax/swing/JToolBar -javax/swing/plaf/metal/MetalComboBoxUI$MetalPropertyChangeListener -javax/swing/plaf/basic/BasicComboBoxUI$PropertyChangeHandler -javax/swing/plaf/basic/BasicComboBoxUI$Handler -javax/swing/plaf/metal/MetalComboBoxIcon -javax/swing/plaf/metal/MetalComboBoxButton$1 -javax/swing/plaf/basic/BasicComboBoxUI$DefaultKeySelectionManager -javax/swing/JComboBox$KeySelectionManager -javax/swing/plaf/metal/MetalCheckBoxUI -javax/swing/plaf/metal/MetalIconFactory$CheckBoxIcon -java/lang/ExceptionInInitializerError -com/sun/java/swing/plaf/windows/WindowsTabbedPaneUI -javax/swing/JProgressBar -javax/swing/JProgressBar$ModelListener -javax/swing/plaf/metal/MetalProgressBarUI -javax/swing/plaf/basic/BasicProgressBarUI -javax/swing/plaf/ProgressBarUI -javax/swing/plaf/BorderUIResource$LineBorderUIResource -javax/swing/plaf/basic/BasicProgressBarUI$Handler -javax/swing/JTable -javax/swing/event/TableModelListener -javax/swing/event/TableColumnModelListener -javax/swing/event/CellEditorListener -javax/swing/event/RowSorterListener -javax/swing/tree/TreeModel -javax/swing/table/TableCellRenderer -javax/swing/table/JTableHeader -javax/swing/event/TreeExpansionListener -javax/swing/table/AbstractTableModel -javax/swing/table/TableModel -javax/swing/table/DefaultTableCellRenderer -javax/swing/JCheckBoxMenuItem -javax/swing/JTree -javax/swing/tree/TreeSelectionModel -javax/swing/tree/DefaultTreeCellRenderer -javax/swing/tree/TreeCellRenderer -javax/swing/table/TableCellEditor -javax/swing/CellEditor -javax/swing/JToolTip -javax/swing/table/TableColumn -javax/swing/table/DefaultTableColumnModel -javax/swing/table/TableColumnModel -javax/swing/table/DefaultTableModel -javax/swing/event/TableModelEvent -sun/swing/table/DefaultTableCellHeaderRenderer -sun/swing/table/DefaultTableCellHeaderRenderer$EmptyIcon -javax/swing/plaf/basic/BasicTableHeaderUI -javax/swing/plaf/TableHeaderUI -javax/swing/plaf/basic/BasicTableHeaderUI$1 -javax/swing/plaf/basic/BasicTableHeaderUI$MouseInputHandler -javax/swing/DefaultCellEditor -javax/swing/tree/TreeCellEditor -javax/swing/AbstractCellEditor -javax/swing/plaf/basic/BasicTableUI -javax/swing/plaf/TableUI -javax/swing/plaf/basic/BasicTableUI$TableTransferHandler -javax/swing/plaf/basic/BasicTableUI$Handler -javax/swing/tree/DefaultTreeSelectionModel -javax/swing/tree/TreePath -javax/swing/plaf/metal/MetalTreeUI -javax/swing/plaf/basic/BasicTreeUI -javax/swing/plaf/TreeUI -javax/swing/plaf/basic/BasicTreeUI$Actions -javax/swing/plaf/basic/BasicTreeUI$TreeTransferHandler -javax/swing/plaf/metal/MetalTreeUI$LineListener -javax/swing/plaf/basic/BasicTreeUI$Handler -javax/swing/event/TreeModelListener -javax/swing/event/TreeSelectionListener -javax/swing/event/SwingPropertyChangeSupport -javax/swing/tree/VariableHeightLayoutCache -javax/swing/tree/AbstractLayoutCache -javax/swing/tree/RowMapper -javax/swing/plaf/basic/BasicTreeUI$NodeDimensionsHandler -javax/swing/tree/AbstractLayoutCache$NodeDimensions -javax/swing/JTree$TreeModelHandler -javax/swing/tree/VariableHeightLayoutCache$TreeStateNode -javax/swing/tree/DefaultMutableTreeNode -javax/swing/tree/MutableTreeNode -javax/swing/tree/DefaultMutableTreeNode$PreorderEnumeration -java/util/Vector$1 -javax/swing/event/TableColumnModelEvent -javax/swing/JPopupMenu$Separator -javax/swing/JSeparator -java/text/ParseException -java/text/NumberFormat$Field -javax/swing/text/GapContent$InsertUndo -javax/swing/undo/AbstractUndoableEdit -javax/swing/undo/UndoableEdit -javax/swing/text/AbstractDocument$DefaultDocumentEvent -javax/swing/event/DocumentEvent -javax/swing/undo/CompoundEdit -javax/swing/event/DocumentEvent$EventType -javax/swing/text/Utilities -javax/swing/text/SegmentCache -javax/swing/text/SegmentCache$CachedSegment -javax/swing/event/DocumentEvent$ElementChange -javax/swing/event/UndoableEditEvent -javax/swing/event/UndoableEditListener -java/awt/Canvas -java/util/Locale$Category -java/util/Locale$1 -javax/swing/filechooser/FileFilter -java/io/FileWriter -javax/swing/tree/DefaultTreeModel -javax/swing/tree/DefaultTreeCellEditor -javax/swing/tree/DefaultTreeCellEditor$1 -javax/swing/tree/DefaultTreeCellEditor$DefaultTextField -javax/swing/DefaultCellEditor$1 -javax/swing/DefaultCellEditor$EditorDelegate -javax/swing/tree/DefaultTreeCellEditor$EditorContainer -javax/swing/JTree$TreeSelectionRedirector -javax/swing/JMenuItem$MenuItemFocusListener -javax/swing/plaf/basic/BasicMenuItemUI -javax/swing/plaf/MenuItemUI -javax/swing/plaf/metal/MetalBorders$MenuItemBorder -javax/swing/plaf/metal/MetalIconFactory$MenuItemArrowIcon -sun/swing/MenuItemLayoutHelper -javax/swing/plaf/basic/BasicMenuItemUI$Handler -javax/swing/event/MenuDragMouseListener -javax/swing/event/TreeModelEvent -javax/swing/JSplitPane -javax/swing/plaf/metal/MetalSplitPaneUI -javax/swing/plaf/basic/BasicSplitPaneUI -javax/swing/plaf/SplitPaneUI -javax/swing/plaf/basic/BasicSplitPaneDivider -javax/swing/plaf/basic/BasicBorders$SplitPaneBorder -javax/swing/plaf/metal/MetalSplitPaneDivider -javax/swing/plaf/basic/BasicSplitPaneDivider$DividerLayout -javax/swing/plaf/basic/BasicSplitPaneDivider$MouseHandler -javax/swing/plaf/basic/BasicBorders$SplitPaneDividerBorder -javax/swing/plaf/basic/BasicSplitPaneUI$BasicHorizontalLayoutManager -javax/swing/plaf/basic/BasicSplitPaneUI$1 -javax/swing/plaf/basic/BasicSplitPaneUI$Handler -javax/swing/plaf/metal/MetalSplitPaneDivider$1 -javax/swing/plaf/basic/BasicSplitPaneDivider$OneTouchActionHandler -javax/swing/plaf/metal/MetalSplitPaneDivider$2 -javax/swing/border/TitledBorder -javax/swing/plaf/basic/BasicTextAreaUI -javax/swing/text/AbstractDocument$ElementEdit -java/util/Random -java/util/concurrent/atomic/AtomicLong -java/net/NoRouteToHostException -java/net/BindException -javax/swing/tree/PathPlaceHolder -javax/swing/event/TreeSelectionEvent -javax/swing/JList$3 -javax/swing/JList$ListSelectionHandler -javax/swing/JSlider -javax/swing/JSlider$ModelListener -javax/swing/plaf/metal/MetalSliderUI -javax/swing/plaf/basic/BasicSliderUI -javax/swing/plaf/SliderUI -javax/swing/plaf/basic/BasicSliderUI$Actions -javax/swing/plaf/metal/MetalIconFactory$HorizontalSliderThumbIcon -javax/swing/plaf/metal/MetalIconFactory$VerticalSliderThumbIcon -javax/swing/plaf/basic/BasicSliderUI$TrackListener -javax/swing/plaf/basic/BasicSliderUI$Handler -javax/swing/plaf/basic/BasicSliderUI$ScrollListener -javax/swing/plaf/metal/MetalSliderUI$MetalPropertyListener -javax/swing/plaf/basic/BasicSliderUI$PropertyChangeHandler -sun/font/SunFontManager$FamilyDescription -java/util/concurrent/ConcurrentHashMap$KeyIterator -java/util/concurrent/ConcurrentHashMap$BaseIterator -java/util/concurrent/ConcurrentHashMap$Traverser -sun/font/SunFontManager$10 -sun/font/SunFontManager$11 -java/util/concurrent/ConcurrentHashMap$ValueIterator -java/lang/CharacterData00 -javax/swing/DefaultListModel -javax/swing/event/ListDataEvent -javax/sound/sampled/DataLine -javax/sound/sampled/Line -javax/sound/sampled/Line$Info -javax/sound/sampled/DataLine$Info -javax/sound/sampled/Control$Type -javax/sound/sampled/FloatControl$Type -javax/sound/sampled/LineUnavailableException -javax/sound/sampled/UnsupportedAudioFileException -javax/swing/JMenuBar -javax/swing/plaf/basic/BasicMenuBarUI -javax/swing/plaf/MenuBarUI -javax/swing/plaf/metal/MetalBorders$MenuBarBorder -javax/swing/plaf/basic/BasicMenuBarUI$Handler -javax/swing/KeyboardManager -javax/swing/JRadioButtonMenuItem -javax/swing/JMenu$MenuChangeListener -javax/swing/plaf/basic/BasicMenuUI -javax/swing/plaf/metal/MetalIconFactory$MenuArrowIcon -javax/swing/plaf/basic/BasicMenuUI$Handler -javax/swing/JMenuItem$AccessibleJMenuItem -javax/swing/AbstractButton$AccessibleAbstractButton -javax/accessibility/AccessibleAction -javax/accessibility/AccessibleValue -javax/accessibility/AccessibleText -javax/accessibility/AccessibleExtendedComponent -javax/accessibility/AccessibleComponent -javax/swing/JComponent$AccessibleJComponent -java/awt/Container$AccessibleAWTContainer -java/awt/Component$AccessibleAWTComponent -javax/accessibility/AccessibleContext$1 -sun/awt/AWTAccessor$AccessibleContextAccessor -javax/accessibility/AccessibleRelationSet -javax/swing/JMenu$WinListener -java/awt/event/WindowAdapter -javax/swing/plaf/metal/MetalPopupMenuSeparatorUI -javax/swing/plaf/metal/MetalSeparatorUI -javax/swing/plaf/basic/BasicSeparatorUI -javax/swing/plaf/SeparatorUI -javax/accessibility/AccessibleState -javax/accessibility/AccessibleBundle -javax/swing/plaf/basic/BasicCheckBoxMenuItemUI -javax/swing/plaf/metal/MetalIconFactory$CheckBoxMenuItemIcon -javax/swing/JCheckBoxMenuItem$AccessibleJCheckBoxMenuItem -javax/swing/plaf/basic/BasicRadioButtonMenuItemUI -javax/swing/plaf/metal/MetalIconFactory$RadioButtonMenuItemIcon -java/awt/event/ContainerEvent -sun/awt/image/ImageDecoder$1 -java/awt/im/InputContext -sun/awt/im/InputMethodContext -java/awt/im/spi/InputMethodContext -java/awt/im/InputMethodRequests -sun/awt/im/InputContext -sun/awt/windows/WInputMethod -sun/awt/im/InputMethodAdapter -java/awt/im/spi/InputMethod -sun/util/locale/ParseStatus -sun/util/locale/StringTokenIterator -sun/util/locale/InternalLocaleBuilder -sun/util/locale/InternalLocaleBuilder$CaseInsensitiveChar -javax/swing/JTabbedPane$Page -java/net/DatagramSocket -java/net/MulticastSocket -java/net/DatagramPacket -java/net/DatagramPacket$1 -java/net/Inet4AddressImpl -sun/net/InetAddressCachePolicy -sun/net/InetAddressCachePolicy$1 -java/security/Security -java/security/Security$1 -sun/net/InetAddressCachePolicy$2 -java/net/InetAddress$CacheEntry -java/text/Collator -java/net/DefaultDatagramSocketImplFactory -sun/util/locale/provider/CollatorProviderImpl -java/net/DefaultDatagramSocketImplFactory$1 -java/net/DualStackPlainDatagramSocketImpl -java/util/Collections$UnmodifiableList$1 -java/net/AbstractPlainDatagramSocketImpl -java/net/DatagramSocketImpl -sun/text/resources/CollationData -java/net/AbstractPlainDatagramSocketImpl$1 -java/text/RuleBasedCollator -java/net/TwoStacksPlainDatagramSocketImpl -java/text/RBCollationTables -java/net/DatagramSocket$1 -java/text/RBTableBuilder -java/net/NetworkInterface -java/text/RBCollationTables$BuildAPI -sun/text/IntHashtable -sun/net/ResourceManager -sun/text/UCompactIntArray -sun/text/normalizer/NormalizerImpl -sun/text/normalizer/ICUData -java/net/NetworkInterface$1 -java/net/InterfaceAddress -java/net/DefaultInterface -java/net/ServerSocket -sun/text/normalizer/NormalizerDataReader -sun/text/normalizer/ICUBinary$Authenticate -sun/text/normalizer/ICUBinary -sun/text/normalizer/NormalizerImpl$FCDTrieImpl -sun/text/normalizer/Trie$DataManipulate -sun/text/normalizer/NormalizerImpl$NormTrieImpl -sun/text/normalizer/NormalizerImpl$AuxTrieImpl -sun/text/normalizer/IntTrie -sun/text/normalizer/Trie -sun/text/normalizer/CharTrie -sun/text/normalizer/CharTrie$FriendAgent -sun/text/normalizer/UnicodeSet -sun/text/normalizer/UnicodeMatcher -sun/text/normalizer/NormalizerImpl$DecomposeArgs -java/text/MergeCollation -java/text/PatternEntry$Parser -java/text/PatternEntry -java/text/EntryPair -sun/text/ComposedCharIter -sun/text/normalizer/UTF16 -sun/net/www/protocol/http/Handler -java/security/SignatureException -java/security/InvalidKeyException -java/security/KeyException -java/security/Signature -java/security/SignatureSpi -java/io/ObjectInputStream$BlockDataInputStream -java/io/ObjectInputStream$PeekInputStream -java/io/ObjectInputStream$HandleTable -java/io/ObjectInputStream$HandleTable$HandleList -java/io/ObjectInputStream$ValidationList -java/io/Bits -java/io/ObjectStreamClass -sun/security/provider/DSAPublicKey -java/security/interfaces/DSAPublicKey -java/security/interfaces/DSAKey -java/security/PublicKey -java/security/Key -sun/security/x509/X509Key -java/io/ObjectStreamClass$Caches -java/io/ObjectStreamClass$WeakClassKey -java/io/ObjectStreamClass$EntryFuture -java/io/ObjectOutputStream -java/io/ObjectOutput -java/lang/reflect/Proxy -java/lang/reflect/InvocationHandler -java/lang/reflect/WeakCache -java/lang/reflect/Proxy$KeyFactory -java/lang/reflect/Proxy$ProxyClassFactory -java/io/Externalizable -java/io/ObjectStreamClass$2 -sun/security/x509/AlgorithmId -sun/security/util/DerEncoder -sun/security/util/BitArray -sun/reflect/SerializationConstructorAccessorImpl -sun/reflect/UnsafeQualifiedStaticLongFieldAccessorImpl -java/io/ObjectStreamClass$FieldReflectorKey -sun/security/util/DerOutputStream -java/io/ObjectStreamClass$FieldReflector -sun/security/util/DerValue -java/io/ObjectStreamClass$1 -java/io/DataOutputStream -java/io/ObjectStreamClass$MemberSignature -java/math/BigInteger -java/io/ObjectStreamClass$3 -java/io/ObjectStreamClass$4 -java/security/interfaces/DSAParams -java/io/ObjectStreamClass$5 -java/io/ObjectStreamClass$ClassDataSlot -java/io/SerialCallbackContext -java/security/MessageDigest -java/security/MessageDigestSpi -sun/security/util/DerInputStream -sun/security/jca/GetInstance -sun/security/util/DerInputBuffer -sun/security/jca/Providers -java/lang/InheritableThreadLocal -sun/security/util/ObjectIdentifier -sun/security/jca/ProviderList -sun/security/jca/ProviderConfig -java/security/Provider -sun/security/jca/ProviderList$3 -sun/security/jca/ProviderList$1 -java/security/Provider$ServiceKey -java/security/Provider$EngineDescription -java/security/AlgorithmParameters -java/security/AlgorithmParametersSpi -sun/security/jca/ProviderList$2 -sun/security/jca/ProviderConfig$2 -sun/security/provider/Sun -sun/security/provider/SunEntries -sun/security/provider/SunEntries$1 -sun/security/provider/NativePRNG -sun/security/provider/NativePRNG$Blocking -sun/security/provider/NativePRNG$NonBlocking -java/security/Provider$Service -java/security/Provider$UString -sun/security/provider/SHA -sun/security/provider/DSAParameters -sun/security/provider/DigestBase -sun/security/jca/GetInstance$Instance -java/security/MessageDigest$Delegate -sun/security/util/ByteArrayLexOrder -sun/security/util/ByteArrayTagOrder -sun/security/provider/ByteArrayAccess -sun/security/util/DerIndefLenConverter -java/io/ObjectOutputStream$BlockDataOutputStream -java/io/ObjectOutputStream$HandleTable -java/io/ObjectOutputStream$ReplaceTable -java/io/ObjectStreamClass$ExceptionInfo -java/io/ObjectInputStream$GetFieldImpl -java/io/ObjectInputStream$GetField -java/math/BigInteger$UnsafeHolder -sun/security/jca/ServiceId -sun/security/jca/ProviderList$ServiceList -sun/security/jca/ProviderList$ServiceList$1 -java/security/Signature$Delegate -java/util/ArrayList$SubList -java/util/ArrayList$SubList$1 -java/security/interfaces/DSAPrivateKey -java/security/PrivateKey -javax/security/auth/Destroyable -sun/security/provider/DSA$SHA1withDSA -sun/security/provider/DSA$LegacyDSA -sun/security/provider/DSA -java/security/spec/DSAParameterSpec -java/security/spec/AlgorithmParameterSpec -java/math/MutableBigInteger -java/math/SignedMutableBigInteger -javax/swing/TimerQueue -java/util/concurrent/DelayQueue -java/util/concurrent/BlockingQueue -java/util/AbstractQueue -java/util/PriorityQueue -javax/swing/TimerQueue$1 -javax/swing/TimerQueue$DelayedTimer -java/util/concurrent/Delayed -java/util/concurrent/TimeUnit -java/util/concurrent/TimeUnit$1 -java/util/concurrent/TimeUnit$2 -java/util/concurrent/TimeUnit$3 -java/util/concurrent/TimeUnit$4 -java/util/concurrent/TimeUnit$5 -java/util/concurrent/TimeUnit$6 -java/util/concurrent/TimeUnit$7 -java/awt/Window$1DisposeAction -java/awt/EventQueue$1AWTInvocationLock -java/awt/LightweightDispatcher$2 -java/awt/Component$FlipBufferStrategy -java/lang/StrictMath -javax/swing/JLayer -javax/swing/JInternalFrame -javax/swing/KeyboardManager$ComponentKeyStrokePair -sun/swing/MenuItemLayoutHelper$RectSize -javax/swing/JTable$2 -javax/swing/JTable$Resizable3 -javax/swing/JTable$Resizable2 -javax/swing/JTable$5 -java/awt/Label -sun/awt/windows/WLabelPeer -java/awt/peer/LabelPeer -java/awt/Event -sun/awt/PlatformFont$PlatformFontCache -sun/nio/cs/UTF_16LE$Encoder -sun/nio/cs/UnicodeEncoder -sun/nio/cs/UTF_16LE$Decoder -sun/nio/cs/Surrogate$Parser -sun/nio/cs/Surrogate -java/awt/KeyboardFocusManager$3 -java/net/Authenticator -sun/awt/AppContext$PostShutdownEventRunnable -sun/awt/AWTAutoShutdown$1 -java/net/ConnectException -java/lang/Throwable$WrappedPrintStream -java/lang/Throwable$PrintStreamOrWriter -sun/awt/image/PNGImageDecoder -sun/awt/image/PNGFilterInputStream -sun/awt/image/OffScreenImage -sun/util/locale/provider/TimeZoneNameUtility -sun/util/locale/provider/TimeZoneNameProviderImpl -sun/util/locale/provider/TimeZoneNameUtility$TimeZoneNameGetter -sun/util/resources/TimeZoneNames -sun/util/resources/TimeZoneNamesBundle -sun/util/resources/en/TimeZoneNames_en -java/io/FilterReader -java/io/EOFException -javax/swing/filechooser/FileSystemView -javax/swing/filechooser/WindowsFileSystemView -javax/swing/filechooser/FileSystemView$1 -java/util/jar/JarFile$JarEntryIterator -java/util/zip/ZipFile$ZipEntryIterator -java/lang/IllegalAccessError -java/text/MessageFormat -java/text/MessageFormat$Field -java/util/Hashtable$ValueCollection -javax/swing/event/CaretListener -javax/swing/plaf/metal/MetalButtonUI -javax/swing/plaf/metal/MetalToggleButtonUI -javax/swing/plaf/metal/MetalBorders$ToggleButtonBorder -javax/swing/event/MenuEvent -javax/swing/border/MatteBorder -sun/font/StandardGlyphVector -java/awt/font/GlyphVector -sun/font/StandardGlyphVector$GlyphStrike -sun/font/CoreMetrics -sun/font/FontLineMetrics -java/awt/font/LineMetrics -javax/swing/JToolBar$DefaultToolBarLayout -javax/swing/plaf/metal/MetalToolBarUI -javax/swing/plaf/basic/BasicToolBarUI -javax/swing/plaf/ToolBarUI -javax/swing/plaf/metal/MetalBorders$ToolBarBorder -javax/swing/plaf/metal/MetalBorders$RolloverButtonBorder -javax/swing/plaf/metal/MetalBorders$RolloverMarginBorder -javax/swing/plaf/basic/BasicBorders$RolloverMarginBorder -javax/swing/plaf/metal/MetalToolBarUI$MetalDockingListener -javax/swing/plaf/basic/BasicToolBarUI$DockingListener -javax/swing/plaf/basic/BasicToolBarUI$Handler -javax/swing/JToolBar$Separator -javax/swing/plaf/basic/BasicToolBarSeparatorUI -java/awt/event/AdjustmentEvent -java/awt/MenuBar -# 7b979133406b8b9a diff --git a/Java/Processing/processing-3.3.6/java/lib/cmm/CIEXYZ.pf b/Java/Processing/processing-3.3.6/java/lib/cmm/CIEXYZ.pf deleted file mode 100644 index db3ba20..0000000 Binary files a/Java/Processing/processing-3.3.6/java/lib/cmm/CIEXYZ.pf and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/java/lib/cmm/GRAY.pf b/Java/Processing/processing-3.3.6/java/lib/cmm/GRAY.pf deleted file mode 100644 index e31a4a7..0000000 Binary files a/Java/Processing/processing-3.3.6/java/lib/cmm/GRAY.pf and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/java/lib/cmm/LINEAR_RGB.pf b/Java/Processing/processing-3.3.6/java/lib/cmm/LINEAR_RGB.pf deleted file mode 100644 index eadae04..0000000 Binary files a/Java/Processing/processing-3.3.6/java/lib/cmm/LINEAR_RGB.pf and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/java/lib/cmm/sRGB.pf b/Java/Processing/processing-3.3.6/java/lib/cmm/sRGB.pf deleted file mode 100644 index 7f9d18d..0000000 Binary files a/Java/Processing/processing-3.3.6/java/lib/cmm/sRGB.pf and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/java/lib/content-types.properties b/Java/Processing/processing-3.3.6/java/lib/content-types.properties deleted file mode 100644 index 8949352..0000000 --- a/Java/Processing/processing-3.3.6/java/lib/content-types.properties +++ /dev/null @@ -1,276 +0,0 @@ -#sun.net.www MIME content-types table -# -# Property fields: -# -# ::= 'description' '=' -# ::= 'file_extensions' '=' -# ::= 'icon' '=' -# ::= 'browser' | 'application' | 'save' | 'unknown' -# ::= 'application' '=' -# - -# -# The "we don't know anything about this data" type(s). -# Used internally to mark unrecognized types. -# -content/unknown: description=Unknown Content -unknown/unknown: description=Unknown Data Type - -# -# The template we should use for temporary files when launching an application -# to view a document of given type. -# -temp.file.template: c:\\temp\\%s - -# -# The "real" types. -# -application/octet-stream: \ - description=Generic Binary Stream;\ - file_extensions=.saveme,.dump,.hqx,.arc,.obj,.lib,.bin,.exe,.zip,.gz - -application/oda: \ - description=ODA Document;\ - file_extensions=.oda - -application/pdf: \ - description=Adobe PDF Format;\ - file_extensions=.pdf - -application/postscript: \ - description=Postscript File;\ - file_extensions=.eps,.ai,.ps;\ - icon=ps - -application/rtf: \ - description=Wordpad Document;\ - file_extensions=.rtf;\ - action=application;\ - application=wordpad.exe %s - -application/x-dvi: \ - description=TeX DVI File;\ - file_extensions=.dvi - -application/x-hdf: \ - description=Hierarchical Data Format;\ - file_extensions=.hdf;\ - action=save - -application/x-latex: \ - description=LaTeX Source;\ - file_extensions=.latex - -application/x-netcdf: \ - description=Unidata netCDF Data Format;\ - file_extensions=.nc,.cdf;\ - action=save - -application/x-tex: \ - description=TeX Source;\ - file_extensions=.tex - -application/x-texinfo: \ - description=Gnu Texinfo;\ - file_extensions=.texinfo,.texi - -application/x-troff: \ - description=Troff Source;\ - file_extensions=.t,.tr,.roff - -application/x-troff-man: \ - description=Troff Manpage Source;\ - file_extensions=.man - -application/x-troff-me: \ - description=Troff ME Macros;\ - file_extensions=.me - -application/x-troff-ms: \ - description=Troff MS Macros;\ - file_extensions=.ms - -application/x-wais-source: \ - description=Wais Source;\ - file_extensions=.src,.wsrc - -application/zip: \ - description=Zip File;\ - file_extensions=.zip;\ - icon=zip;\ - action=save - -application/x-bcpio: \ - description=Old Binary CPIO Archive;\ - file_extensions=.bcpio;\ - action=save - -application/x-cpio: \ - description=Unix CPIO Archive;\ - file_extensions=.cpio;\ - action=save - -application/x-gtar: \ - description=Gnu Tar Archive;\ - file_extensions=.gtar;\ - icon=tar;\ - action=save - -application/x-shar: \ - description=Shell Archive;\ - file_extensions=.sh,.shar;\ - action=save - -application/x-sv4cpio: \ - description=SVR4 CPIO Archive;\ - file_extensions=.sv4cpio;\ - action=save - -application/x-sv4crc: \ - description=SVR4 CPIO with CRC;\ - file_extensions=.sv4crc;\ - action=save - -application/x-tar: \ - description=Tar Archive;\ - file_extensions=.tar;\ - icon=tar;\ - action=save - -application/x-ustar: \ - description=US Tar Archive;\ - file_extensions=.ustar;\ - action=save - -audio/basic: \ - description=Basic Audio;\ - file_extensions=.snd,.au;\ - icon=audio - -audio/x-aiff: \ - description=Audio Interchange Format File;\ - file_extensions=.aifc,.aif,.aiff;\ - icon=aiff - -audio/x-wav: \ - description=Wav Audio;\ - file_extensions=.wav;\ - icon=wav;\ - action=application;\ - application=mplayer.exe %s - -image/gif: \ - description=GIF Image;\ - file_extensions=.gif;\ - icon=gif;\ - action=browser - -image/ief: \ - description=Image Exchange Format;\ - file_extensions=.ief - -image/jpeg: \ - description=JPEG Image;\ - file_extensions=.jfif,.jfif-tbnl,.jpe,.jpg,.jpeg;\ - icon=jpeg;\ - action=browser - -image/tiff: \ - description=TIFF Image;\ - file_extensions=.tif,.tiff;\ - icon=tiff - -image/vnd.fpx: \ - description=FlashPix Image;\ - file_extensions=.fpx,.fpix - -image/x-cmu-rast: \ - description=CMU Raster Image;\ - file_extensions=.ras - -image/x-portable-anymap: \ - description=PBM Anymap Image;\ - file_extensions=.pnm - -image/x-portable-bitmap: \ - description=PBM Bitmap Image;\ - file_extensions=.pbm - -image/x-portable-graymap: \ - description=PBM Graymap Image;\ - file_extensions=.pgm - -image/x-portable-pixmap: \ - description=PBM Pixmap Image;\ - file_extensions=.ppm - -image/x-rgb: \ - description=RGB Image;\ - file_extensions=.rgb - -image/x-xbitmap: \ - description=X Bitmap Image;\ - file_extensions=.xbm,.xpm - -image/x-xwindowdump: \ - description=X Window Dump Image;\ - file_extensions=.xwd - -image/png: \ - description=PNG Image;\ - file_extensions=.png;\ - icon=png;\ - action=browser - -image/bmp: \ - description=Bitmap Image;\ - file_extensions=.bmp; - -text/html: \ - description=HTML Document;\ - file_extensions=.htm,.html;\ - icon=html - -text/plain: \ - description=Plain Text;\ - file_extensions=.text,.c,.cc,.c++,.h,.pl,.txt,.java,.el;\ - icon=text;\ - action=browser - -text/tab-separated-values: \ - description=Tab Separated Values Text;\ - file_extensions=.tsv - -text/x-setext: \ - description=Structure Enhanced Text;\ - file_extensions=.etx - -video/mpeg: \ - description=MPEG Video Clip;\ - file_extensions=.mpg,.mpe,.mpeg;\ - icon=mpeg - -video/quicktime: \ - description=QuickTime Video Clip;\ - file_extensions=.mov,.qt - -application/x-troff-msvideo: \ - description=AVI Video;\ - file_extensions=.avi;\ - icon=avi;\ - action=application;\ - application=mplayer.exe %s - -video/x-sgi-movie: \ - description=SGI Movie;\ - file_extensions=.movie,.mv - -message/rfc822: \ - description=Internet Email Message;\ - file_extensions=.mime - -application/xml: \ - description=XML document;\ - file_extensions=.xml - - diff --git a/Java/Processing/processing-3.3.6/java/lib/currency.data b/Java/Processing/processing-3.3.6/java/lib/currency.data deleted file mode 100644 index 7d523e2..0000000 Binary files a/Java/Processing/processing-3.3.6/java/lib/currency.data and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/java/lib/deploy.jar b/Java/Processing/processing-3.3.6/java/lib/deploy.jar deleted file mode 100644 index 63dd154..0000000 Binary files a/Java/Processing/processing-3.3.6/java/lib/deploy.jar and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/java/lib/deploy/ffjcext.zip b/Java/Processing/processing-3.3.6/java/lib/deploy/ffjcext.zip deleted file mode 100644 index 6ac9eb6..0000000 Binary files a/Java/Processing/processing-3.3.6/java/lib/deploy/ffjcext.zip and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/java/lib/deploy/messages.properties b/Java/Processing/processing-3.3.6/java/lib/deploy/messages.properties deleted file mode 100644 index 408b2a8..0000000 --- a/Java/Processing/processing-3.3.6/java/lib/deploy/messages.properties +++ /dev/null @@ -1,57 +0,0 @@ -# -# Copyright (c) 2004, 2011, Oracle and/or its affiliates. All rights reserved. -# ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. -# - -error.internal.badmsg=internal error, unknown message -error.badinst.nojre=Bad installation. No JRE found in configuration file -error.launch.execv=Error encountered while invoking Java Web Start (execv) -error.launch.sysexec=Error encountered while invoking Java Web Start (SysExec) -error.listener.failed=Splash: sysCreateListenerSocket failed -error.accept.failed=Splash: accept failed -error.recv.failed=Splash: recv failed -error.invalid.port=Splash: didn't revive a valid port -error.read=Read past end of buffer -error.xmlparsing=XML Parsing error: wrong kind of token found -error.splash.exit=Java Web Start splash screen process exiting .....\n -# "Last WinSock Error" means the error message for the last operation that failed. -error.winsock=\tLast WinSock Error: -error.winsock.load=Couldn't load winsock.dll -error.winsock.start=WSAStartup failed -error.badinst.nohome=Bad installation: JAVAWS_HOME not set -error.splash.noimage=Splash: couldn't load splash screen image -error.splash.socket=Splash: server socket failed -error.splash.cmnd=Splash: unrecognized command -error.splash.port=Splash: port not specified -error.splash.send=Splash: send failed -error.splash.timer=Splash: couldn't create shutdown timer -error.splash.x11.open=Splash: Can't open X11 display -error.splash.x11.connect=Splash: X11 connection failed -# Javaws usage: '\' is a joining of two sentence,which are connected including -# the invisible character '\n'. -message.javaws.usage=\n\ -Usage:\tjavaws [run-options] \n\ - \tjavaws [control-options] \n\ - \n\ -where run-options include: \n\ - -verbose \tdisplay additional output \n\ - -offline \trun the application in offline mode \n\ - -system \trun the application from the system cache only\n\ - -Xnosplash \trun without showing a splash screen \n\ - -J

- - - - - - - - -
- - -

Welcome to Processing 3

-
- -

- Read about what’s new in 3.0 → -

- -

- Note that some sketches from Processing 2 may not be compatible. - What has changed? -

- - - - - - - -
- - - Show this welcome
message each time -
- -
- -
- - - - diff --git a/Java/Processing/processing-3.3.6/lib/welcome/sketchbook.html b/Java/Processing/processing-3.3.6/lib/welcome/sketchbook.html deleted file mode 100644 index 68ae9ba..0000000 --- a/Java/Processing/processing-3.3.6/lib/welcome/sketchbook.html +++ /dev/null @@ -1,126 +0,0 @@ - - - Welcome to Processing 3 - - - - - -
- - - - - - - -
- - -

Welcome to Processing 3

-
- -

- Read about what’s new in 3.0 → -

- -

- Note that some sketches from Processing 2 may not be compatible. - What has changed? -

- -
-

- Since older sketches may not be compatible, we recommend creating a new sketchbook folder, so Processing 2 and 3 can happily coexist. This is a one-time process. Read more about it. -

- - - - - - - - - - -
- - - Create a new sketchbook folder for use with Processing 3 sketches (recommended!) -
- - - Use the existing sketchbook folder for both old and new sketches (may cause conflicts with installed libraries) -
- -
- - - - - - - -
- - - Show this welcome
message each time -
- -
- -
- - - diff --git a/Java/Processing/processing-3.3.6/modes/java/.classpath b/Java/Processing/processing-3.3.6/modes/java/.classpath deleted file mode 100644 index 839265b..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/.classpath +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/.externalToolBuilders/AutoBuild.launch b/Java/Processing/processing-3.3.6/modes/java/.externalToolBuilders/AutoBuild.launch deleted file mode 100644 index 9bdf4dd..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/.externalToolBuilders/AutoBuild.launch +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/.project b/Java/Processing/processing-3.3.6/modes/java/.project deleted file mode 100644 index a4d62a2..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/.project +++ /dev/null @@ -1,27 +0,0 @@ - - - processing-java - - - - - - org.eclipse.jdt.core.javabuilder - - - - - org.eclipse.ui.externaltools.ExternalToolBuilder - full,incremental, - - - LaunchConfigHandle - <project>/.externalToolBuilders/AutoBuild.launch - - - - - - org.eclipse.jdt.core.javanature - - diff --git a/Java/Processing/processing-3.3.6/modes/java/.settings/org.eclipse.jdt.core.prefs b/Java/Processing/processing-3.3.6/modes/java/.settings/org.eclipse.jdt.core.prefs deleted file mode 100644 index a698e59..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/.settings/org.eclipse.jdt.core.prefs +++ /dev/null @@ -1,12 +0,0 @@ -eclipse.preferences.version=1 -org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled -org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 -org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.compliance=1.8 -org.eclipse.jdt.core.compiler.debug.lineNumber=generate -org.eclipse.jdt.core.compiler.debug.localVariable=generate -org.eclipse.jdt.core.compiler.debug.sourceFile=generate -org.eclipse.jdt.core.compiler.problem.assertIdentifier=error -org.eclipse.jdt.core.compiler.problem.enumIdentifier=error -org.eclipse.jdt.core.compiler.source=1.8 diff --git a/Java/Processing/processing-3.3.6/modes/java/application/Info.plist.tmpl b/Java/Processing/processing-3.3.6/modes/java/application/Info.plist.tmpl deleted file mode 100644 index 1fbe138..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/application/Info.plist.tmpl +++ /dev/null @@ -1,75 +0,0 @@ - - - - - CFBundleDevelopmentRegion - English - CFBundleExecutable - @@sketch@@ - CFBundleIconFile - sketch.icns - CFBundleIdentifier - @@sketch@@ - CFBundleDisplayName - @@sketch@@ - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - @@sketch@@ - CFBundlePackageType - APPL - - - CFBundleShortVersionString - 1 - CFBundleVersion - 1 - CFBundleSignature - ???? - NSHumanReadableCopyright - Your copyright here - CFBundleGetInfoString - Created with Processing - - - @@jvm_runtime@@ - - JVMMainClassName - @@sketch@@ - - LSMinimumSystemVersion - 10.8.5 - - NSHighResolutionCapable - - - LSArchitecturePriority - - x86_64 - - - LSEnvironment - - LC_CTYPE - UTF-8 - - - LSUIPresentationMode - @@lsuipresentationmode@@ - - JVMOptions - -@@jvm_options_list@@ - -Xdock:icon=$APP_ROOT/Contents/Resources/sketch.icns - -Djava.library.path=$APP_ROOT/Contents/Java - -Dapple.laf.useScreenMenuBar=true - -Dcom.apple.macos.use-file-dialog-packages=true - -Dcom.apple.macos.useScreenMenuBar=true - -Dcom.apple.mrj.application.apple.menu.about.name=@@sketch@@ - -Dcom.apple.smallTabs=true - - JVMArguments - - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/application/launch4j/LICENSE.txt b/Java/Processing/processing-3.3.6/modes/java/application/launch4j/LICENSE.txt deleted file mode 100644 index bf03c83..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/application/launch4j/LICENSE.txt +++ /dev/null @@ -1,30 +0,0 @@ -Launch4j (http://launch4j.sourceforge.net/) -Cross-platform Java application wrapper for creating Windows native executables. - -Copyright (c) 2004, 2015 Grzegorz Kowal -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: - -1. Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - -2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -3. Neither the name of the copyright holder nor the names of its contributors - may be used to endorse or promote products derived from this software without - specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, -THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED -AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. \ No newline at end of file diff --git a/Java/Processing/processing-3.3.6/modes/java/application/launch4j/head/LICENSE.txt b/Java/Processing/processing-3.3.6/modes/java/application/launch4j/head/LICENSE.txt deleted file mode 100644 index e95c830..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/application/launch4j/head/LICENSE.txt +++ /dev/null @@ -1,26 +0,0 @@ -Launch4j (http://launch4j.sourceforge.net/) -Cross-platform Java application wrapper for creating Windows native executables. - -Copyright (c) 2004, 2015 Grzegorz Kowal - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -Except as contained in this notice, the name(s) of the above copyright holders -shall not be used in advertising or otherwise to promote the sale, use or other -dealings in this Software without prior written authorization. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. \ No newline at end of file diff --git a/Java/Processing/processing-3.3.6/modes/java/application/launch4j/head/consolehead.o b/Java/Processing/processing-3.3.6/modes/java/application/launch4j/head/consolehead.o deleted file mode 100644 index 60bb62f..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/application/launch4j/head/consolehead.o and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/application/launch4j/head/guihead.o b/Java/Processing/processing-3.3.6/modes/java/application/launch4j/head/guihead.o deleted file mode 100644 index 7cff132..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/application/launch4j/head/guihead.o and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/application/launch4j/head/head.o b/Java/Processing/processing-3.3.6/modes/java/application/launch4j/head/head.o deleted file mode 100644 index d5d63d6..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/application/launch4j/head/head.o and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/application/launch4j/launch4j.jar b/Java/Processing/processing-3.3.6/modes/java/application/launch4j/launch4j.jar deleted file mode 100644 index 6daad70..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/application/launch4j/launch4j.jar and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/application/launch4j/lib/LICENSE.txt b/Java/Processing/processing-3.3.6/modes/java/application/launch4j/lib/LICENSE.txt deleted file mode 100644 index 4848b3e..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/application/launch4j/lib/LICENSE.txt +++ /dev/null @@ -1,27 +0,0 @@ -(BSD Style License) - -Copyright (c) 2003-2004, Joe Walnes -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -Redistributions of source code must retain the above copyright notice, this list of -conditions and the following disclaimer. Redistributions in binary form must reproduce -the above copyright notice, this list of conditions and the following disclaimer in -the documentation and/or other materials provided with the distribution. - -Neither the name of XStream nor the names of its contributors may be used to endorse -or promote products derived from this software without specific prior written -permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY -EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES -OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT -SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED -TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR -BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY -WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. diff --git a/Java/Processing/processing-3.3.6/modes/java/application/launch4j/lib/xstream.jar b/Java/Processing/processing-3.3.6/modes/java/application/launch4j/lib/xstream.jar deleted file mode 100644 index 392e1c9..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/application/launch4j/lib/xstream.jar and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/application/launch4j/w32api/LICENSE.txt b/Java/Processing/processing-3.3.6/modes/java/application/launch4j/w32api/LICENSE.txt deleted file mode 100644 index aea85bd..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/application/launch4j/w32api/LICENSE.txt +++ /dev/null @@ -1,25 +0,0 @@ -MinGW - Licensing Terms - -Various pieces distributed with MinGW come with its own copyright and license: - -Basic MinGW runtime - MinGW base runtime package is uncopyrighted and placed in the public domain. - This basically means that you can do what you want with the code. - -w32api - You are free to use, modify and copy this package. - No restrictions are imposed on programs or object files compiled with this library. - You may not restrict the the usage of this library. - You may distribute this library as part of another package or as a modified package - if and only if you do not restrict the usage of the portions consisting - of this (optionally modified) library. - If distributed as a modified package then this file must be included. - - This library 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. - -MinGW profiling code - MinGW profiling code is distributed under the GNU General Public License. - -The development tools such as GCC, GDB, GNU Make, etc all covered by GNU General Public License. diff --git a/Java/Processing/processing-3.3.6/modes/java/application/launch4j/w32api/crt2.o b/Java/Processing/processing-3.3.6/modes/java/application/launch4j/w32api/crt2.o deleted file mode 100644 index f81f836..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/application/launch4j/w32api/crt2.o and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/application/launch4j/w32api/libadvapi32.a b/Java/Processing/processing-3.3.6/modes/java/application/launch4j/w32api/libadvapi32.a deleted file mode 100644 index c471853..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/application/launch4j/w32api/libadvapi32.a and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/application/launch4j/w32api/libgcc.a b/Java/Processing/processing-3.3.6/modes/java/application/launch4j/w32api/libgcc.a deleted file mode 100644 index d3f8947..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/application/launch4j/w32api/libgcc.a and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/application/launch4j/w32api/libkernel32.a b/Java/Processing/processing-3.3.6/modes/java/application/launch4j/w32api/libkernel32.a deleted file mode 100644 index 5d3eb07..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/application/launch4j/w32api/libkernel32.a and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/application/launch4j/w32api/libmingw32.a b/Java/Processing/processing-3.3.6/modes/java/application/launch4j/w32api/libmingw32.a deleted file mode 100644 index d1f7888..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/application/launch4j/w32api/libmingw32.a and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/application/launch4j/w32api/libmsvcrt.a b/Java/Processing/processing-3.3.6/modes/java/application/launch4j/w32api/libmsvcrt.a deleted file mode 100644 index 6714146..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/application/launch4j/w32api/libmsvcrt.a and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/application/launch4j/w32api/libshell32.a b/Java/Processing/processing-3.3.6/modes/java/application/launch4j/w32api/libshell32.a deleted file mode 100644 index d35fbda..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/application/launch4j/w32api/libshell32.a and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/application/launch4j/w32api/libuser32.a b/Java/Processing/processing-3.3.6/modes/java/application/launch4j/w32api/libuser32.a deleted file mode 100644 index 387fb65..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/application/launch4j/w32api/libuser32.a and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/application/sketch.icns b/Java/Processing/processing-3.3.6/modes/java/application/sketch.icns deleted file mode 100644 index 8a9b313..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/application/sketch.icns and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/application/sketch.ico b/Java/Processing/processing-3.3.6/modes/java/application/sketch.ico deleted file mode 100644 index e843e90..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/application/sketch.ico and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/application/template.app/Contents/MacOS/JavaApplicationStub b/Java/Processing/processing-3.3.6/modes/java/application/template.app/Contents/MacOS/JavaApplicationStub deleted file mode 100644 index 56ec300..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/application/template.app/Contents/MacOS/JavaApplicationStub and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/application/template.app/Contents/PkgInfo b/Java/Processing/processing-3.3.6/modes/java/application/template.app/Contents/PkgInfo deleted file mode 100644 index bd04210..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/application/template.app/Contents/PkgInfo +++ /dev/null @@ -1 +0,0 @@ -APPL???? \ No newline at end of file diff --git a/Java/Processing/processing-3.3.6/modes/java/application/template.app/Contents/Resources/sketch.icns b/Java/Processing/processing-3.3.6/modes/java/application/template.app/Contents/Resources/sketch.icns deleted file mode 100644 index 2bdb4df..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/application/template.app/Contents/Resources/sketch.icns and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/build.xml b/Java/Processing/processing-3.3.6/modes/java/build.xml deleted file mode 100644 index 3293274..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/build.xml +++ /dev/null @@ -1,146 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Arrays/Array/Array.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Arrays/Array/Array.pde deleted file mode 100644 index 1fd4330..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Arrays/Array/Array.pde +++ /dev/null @@ -1,50 +0,0 @@ -/** - * Array. - * - * An array is a list of data. Each piece of data in an array - * is identified by an index number representing its position in - * the array. Arrays are zero based, which means that the first - * element in the array is [0], the second element is [1], and so on. - * In this example, an array named "coswav" is created and - * filled with the cosine values. This data is displayed three - * separate ways on the screen. - */ - - -float[] coswave; - -void setup() { - size(640, 360); - coswave = new float[width]; - for (int i = 0; i < width; i++) { - float amount = map(i, 0, width, 0, PI); - coswave[i] = abs(cos(amount)); - } - background(255); - noLoop(); -} - -void draw() { - - int y1 = 0; - int y2 = height/3; - for (int i = 0; i < width; i++) { - stroke(coswave[i]*255); - line(i, y1, i, y2); - } - - y1 = y2; - y2 = y1 + y1; - for (int i = 0; i < width; i++) { - stroke(coswave[i]*255 / 4); - line(i, y1, i, y2); - } - - y1 = y2; - y2 = height; - for (int i = 0; i < width; i++) { - stroke(255 - coswave[i]*255); - line(i, y1, i, y2); - } - -} \ No newline at end of file diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Arrays/Array2D/Array2D.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Arrays/Array2D/Array2D.pde deleted file mode 100644 index 0a98afc..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Arrays/Array2D/Array2D.pde +++ /dev/null @@ -1,41 +0,0 @@ -/** - * Array 2D. - * - * Demonstrates the syntax for creating a two-dimensional (2D) array. - * Values in a 2D array are accessed through two index values. - * 2D arrays are useful for storing images. In this example, each dot - * is colored in relation to its distance from the center of the image. - */ - -float[][] distances; -float maxDistance; -int spacer; - -void setup() { - size(640, 360); - maxDistance = dist(width/2, height/2, width, height); - distances = new float[width][height]; - for (int y = 0; y < height; y++) { - for (int x = 0; x < width; x++) { - float distance = dist(width/2, height/2, x, y); - distances[x][y] = distance/maxDistance * 255; - } - } - spacer = 10; - strokeWeight(6); - noLoop(); // Run once and stop -} - -void draw() { - background(0); - // This embedded loop skips over values in the arrays based on - // the spacer variable, so there are more values in the array - // than are drawn here. Change the value of the spacer variable - // to change the density of the points - for (int y = 0; y < height; y += spacer) { - for (int x = 0; x < width; x += spacer) { - stroke(distances[x][y]); - point(x + spacer/2, y + spacer/2); - } - } -} \ No newline at end of file diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Arrays/ArrayObjects/ArrayObjects.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Arrays/ArrayObjects/ArrayObjects.pde deleted file mode 100644 index 1f68e75..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Arrays/ArrayObjects/ArrayObjects.pde +++ /dev/null @@ -1,33 +0,0 @@ -/** - * Array Objects. - * - * Demonstrates the syntax for creating an array of custom objects. - */ - -int unit = 40; -int count; -Module[] mods; - -void setup() { - size(640, 360); - noStroke(); - int wideCount = width / unit; - int highCount = height / unit; - count = wideCount * highCount; - mods = new Module[count]; - - int index = 0; - for (int y = 0; y < highCount; y++) { - for (int x = 0; x < wideCount; x++) { - mods[index++] = new Module(x*unit, y*unit, unit/2, unit/2, random(0.05, 0.8), unit); - } - } -} - -void draw() { - background(0); - for (Module mod : mods) { - mod.update(); - mod.display(); - } -} \ No newline at end of file diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Arrays/ArrayObjects/Module.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Arrays/ArrayObjects/Module.pde deleted file mode 100644 index b065472..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Arrays/ArrayObjects/Module.pde +++ /dev/null @@ -1,39 +0,0 @@ -class Module { - int xOffset; - int yOffset; - float x, y; - int unit; - int xDirection = 1; - int yDirection = 1; - float speed; - - // Contructor - Module(int xOffsetTemp, int yOffsetTemp, int xTemp, int yTemp, float speedTemp, int tempUnit) { - xOffset = xOffsetTemp; - yOffset = yOffsetTemp; - x = xTemp; - y = yTemp; - speed = speedTemp; - unit = tempUnit; - } - - // Custom method for updating the variables - void update() { - x = x + (speed * xDirection); - if (x >= unit || x <= 0) { - xDirection *= -1; - x = x + (1 * xDirection); - y = y + (1 * yDirection); - } - if (y >= unit || y <= 0) { - yDirection *= -1; - y = y + (1 * yDirection); - } - } - - // Custom method for drawing the object - void display() { - fill(255); - ellipse(xOffset + x, yOffset + y, 6, 6); - } -} \ No newline at end of file diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Camera/MoveEye/MoveEye.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Camera/MoveEye/MoveEye.pde deleted file mode 100644 index 6a63846..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Camera/MoveEye/MoveEye.pde +++ /dev/null @@ -1,28 +0,0 @@ -/** - * Move Eye. - * by Simon Greenwold. - * - * The camera lifts up (controlled by mouseY) while looking at the same point. - */ - -void setup() { - size(640, 360, P3D); - fill(204); -} - -void draw() { - lights(); - background(0); - - // Change height of the camera with mouseY - camera(30.0, mouseY, 220.0, // eyeX, eyeY, eyeZ - 0.0, 0.0, 0.0, // centerX, centerY, centerZ - 0.0, 1.0, 0.0); // upX, upY, upZ - - noStroke(); - box(90); - stroke(255); - line(-100, 0, 0, 100, 0, 0); - line(0, -100, 0, 0, 100, 0); - line(0, 0, -100, 0, 0, 100); -} diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Camera/Orthographic/Orthographic.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Camera/Orthographic/Orthographic.pde deleted file mode 100644 index 8c3fb3e..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Camera/Orthographic/Orthographic.pde +++ /dev/null @@ -1,40 +0,0 @@ -/** - * Perspective vs. Ortho - * - * Move the mouse left to right to change the "far" - * parameter for the perspective() and ortho() functions. - * This parameter sets the maximum distance from the - * origin away from the viewer and will clip the geometry. - * Click a mouse button to switch between the perspective and - * orthographic projections. - */ - - -boolean showPerspective = false; - -void setup() { - size(600, 360, P3D); - noFill(); - fill(255); - noStroke(); -} - -void draw() { - lights(); - background(0); - float far = map(mouseX, 0, width, 120, 400); - if (showPerspective == true) { - perspective(PI/3.0, float(width)/float(height), 10, far); - } else { - ortho(-width/2.0, width/2.0, -height/2.0, height/2.0, 10, far); - } - translate(width/2, height/2, 0); - rotateX(-PI/6); - rotateY(PI/3); - box(180); -} - -void mousePressed() { - showPerspective = !showPerspective; -} - diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Camera/Perspective/Perspective.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Camera/Perspective/Perspective.pde deleted file mode 100644 index 613e739..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Camera/Perspective/Perspective.pde +++ /dev/null @@ -1,40 +0,0 @@ -/** - * Perspective. - * - * Move the mouse left and right to change the field of view (fov). - * Click to modify the aspect ratio. The perspective() function - * sets a perspective projection applying foreshortening, making - * distant objects appear smaller than closer ones. The parameters - * define a viewing volume with the shape of truncated pyramid. - * Objects near to the front of the volume appear their actual size, - * while farther objects appear smaller. This projection simulates - * the perspective of the world more accurately than orthographic projection. - * The version of perspective without parameters sets the default - * perspective and the version with four parameters allows the programmer - * to set the area precisely. - */ - -void setup() { - size(640, 360, P3D); - noStroke(); -} - -void draw() { - lights(); - background(0); - float cameraY = height/2.0; - float fov = mouseX/float(width) * PI/2; - float cameraZ = cameraY / tan(fov / 2.0); - float aspect = float(width)/float(height); - if (mousePressed) { - aspect = aspect / 2.0; - } - perspective(fov, aspect, cameraZ/10.0, cameraZ*10.0); - - translate(width/2+30, height/2, 0); - rotateX(-PI/6); - rotateY(PI/3 + mouseY/float(height) * PI); - box(45); - translate(0, 0, -50); - box(30); -} \ No newline at end of file diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Color/Brightness/Brightness.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Color/Brightness/Brightness.pde deleted file mode 100644 index 261fdce..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Color/Brightness/Brightness.pde +++ /dev/null @@ -1,27 +0,0 @@ -/** - * Brightness - * by Rusty Robison. - * - * Brightness is the relative lightness or darkness of a color. - * Move the cursor vertically over each bar to alter its brightness. - */ - -int barWidth = 20; -int lastBar = -1; - -void setup() { - size(640, 360); - colorMode(HSB, width, 100, width); - noStroke(); - background(0); -} - -void draw() { - int whichBar = mouseX / barWidth; - if (whichBar != lastBar) { - int barX = whichBar * barWidth; - fill(barX, 100, mouseY); - rect(barX, 0, barWidth, height); - lastBar = whichBar; - } -} diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Color/ColorVariables/ColorVariables.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Color/ColorVariables/ColorVariables.pde deleted file mode 100644 index 8b62969..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Color/ColorVariables/ColorVariables.pde +++ /dev/null @@ -1,40 +0,0 @@ -/** - * Color Variables (Homage to Albers). - * - * This example creates variables for colors that may be referred to - * in the program by a name, rather than a number. - */ - -size(640, 360); -noStroke(); -background(51, 0, 0); - -color inside = color(204, 102, 0); -color middle = color(204, 153, 0); -color outside = color(153, 51, 0); - -// These statements are equivalent to the statements above. -// Programmers may use the format they prefer. -//color inside = #CC6600; -//color middle = #CC9900; -//color outside = #993300; - -pushMatrix(); -translate(80, 80); -fill(outside); -rect(0, 0, 200, 200); -fill(middle); -rect(40, 60, 120, 120); -fill(inside); -rect(60, 90, 80, 80); -popMatrix(); - -pushMatrix(); -translate(360, 80); -fill(inside); -rect(0, 0, 200, 200); -fill(outside); -rect(40, 60, 120, 120); -fill(middle); -rect(60, 90, 80, 80); -popMatrix(); diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Color/Hue/Hue.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Color/Hue/Hue.pde deleted file mode 100644 index d2d0c28..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Color/Hue/Hue.pde +++ /dev/null @@ -1,30 +0,0 @@ -/** - * Hue. - * - * Hue is the color reflected from or transmitted through an object - * and is typically referred to as the name of the color (red, blue, yellow, etc.) - * Move the cursor vertically over each bar to alter its hue. - */ - -int barWidth = 20; -int lastBar = -1; - -void setup() -{ - size(640, 360); - colorMode(HSB, height, height, height); - noStroke(); - background(0); -} - -void draw() -{ - int whichBar = mouseX / barWidth; - if (whichBar != lastBar) { - int barX = whichBar * barWidth; - fill(mouseY, height, height); - rect(barX, 0, barWidth, height); - lastBar = whichBar; - } -} - diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Color/LinearGradient/LinearGradient.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Color/LinearGradient/LinearGradient.pde deleted file mode 100644 index f83b522..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Color/LinearGradient/LinearGradient.pde +++ /dev/null @@ -1,55 +0,0 @@ -/** - * Simple Linear Gradient - * - * The lerpColor() function is useful for interpolating - * between two colors. - */ - -// Constants -int Y_AXIS = 1; -int X_AXIS = 2; -color b1, b2, c1, c2; - -void setup() { - size(640, 360); - - // Define colors - b1 = color(255); - b2 = color(0); - c1 = color(204, 102, 0); - c2 = color(0, 102, 153); - - noLoop(); -} - -void draw() { - // Background - setGradient(0, 0, width/2, height, b1, b2, X_AXIS); - setGradient(width/2, 0, width/2, height, b2, b1, X_AXIS); - // Foreground - setGradient(50, 90, 540, 80, c1, c2, Y_AXIS); - setGradient(50, 190, 540, 80, c2, c1, X_AXIS); -} - -void setGradient(int x, int y, float w, float h, color c1, color c2, int axis ) { - - noFill(); - - if (axis == Y_AXIS) { // Top to bottom gradient - for (int i = y; i <= y+h; i++) { - float inter = map(i, y, y+h, 0, 1); - color c = lerpColor(c1, c2, inter); - stroke(c); - line(x, i, x+w, i); - } - } - else if (axis == X_AXIS) { // Left to right gradient - for (int i = x; i <= x+w; i++) { - float inter = map(i, x, x+w, 0, 1); - color c = lerpColor(c1, c2, inter); - stroke(c); - line(i, y, i, y+h); - } - } -} - diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Color/RadialGradient/RadialGradient.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Color/RadialGradient/RadialGradient.pde deleted file mode 100644 index ed358a1..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Color/RadialGradient/RadialGradient.pde +++ /dev/null @@ -1,36 +0,0 @@ -/** - * Radial Gradient. - * - * Draws are series of concentric circles to create a gradient - * from one color to another. - */ - -int dim; - -void setup() { - size(640, 360); - dim = width/2; - background(0); - colorMode(HSB, 360, 100, 100); - noStroke(); - ellipseMode(RADIUS); - frameRate(1); -} - -void draw() { - background(0); - for (int x = 0; x <= width; x+=dim) { - drawGradient(x, height/2); - } -} - -void drawGradient(float x, float y) { - int radius = dim/2; - float h = random(0, 360); - for (int r = radius; r > 0; --r) { - fill(h, 90, 90); - ellipse(x, y, r, r); - h = (h + 1) % 360; - } -} - diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Color/Relativity/Relativity.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Color/Relativity/Relativity.pde deleted file mode 100644 index 6ca87cd..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Color/Relativity/Relativity.pde +++ /dev/null @@ -1,42 +0,0 @@ -/** - * Relativity. - * - * Each color is perceived in relation to other colors. The top and bottom - * bars each contain the same component colors, but a different display order - * causes individual colors to appear differently. - */ - -color a, b, c, d, e; - -void setup() { - size(640, 360); - noStroke(); - a = color(165, 167, 20); - b = color(77, 86, 59); - c = color(42, 106, 105); - d = color(165, 89, 20); - e = color(146, 150, 127); - noLoop(); // Draw only one time -} - -void draw() { - drawBand(a, b, c, d, e, 0, width/128); - drawBand(c, a, d, b, e, height/2, width/128); -} - -void drawBand(color v, color w, color x, color y, color z, int ypos, int barWidth) { - int num = 5; - color[] colorOrder = { v, w, x, y, z }; - for(int i = 0; i < width; i += barWidth*num) { - for(int j = 0; j < num; j++) { - fill(colorOrder[j]); - rect(i+j*barWidth, ypos, barWidth, height/2); - } - } -} - - - - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Color/Saturation/Saturation.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Color/Saturation/Saturation.pde deleted file mode 100644 index c7a0c3c..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Color/Saturation/Saturation.pde +++ /dev/null @@ -1,29 +0,0 @@ -/** - * Saturation. - * - * Saturation is the strength or purity of the color and represents the - * amount of gray in proportion to the hue. A "saturated" color is pure - * and an "unsaturated" color has a large percentage of gray. - * Move the cursor vertically over each bar to alter its saturation. - */ - -int barWidth = 20; -int lastBar = -1; - - -void setup() { - size(640, 360); - colorMode(HSB, width, height, 100); - noStroke(); -} - - -void draw() { - int whichBar = mouseX / barWidth; - if (whichBar != lastBar) { - int barX = whichBar * barWidth; - fill(barX, mouseY, 66); - rect(barX, 0, barWidth, height); - lastBar = whichBar; - } -} diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Color/WaveGradient/WaveGradient.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Color/WaveGradient/WaveGradient.pde deleted file mode 100644 index f83f8dd..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Color/WaveGradient/WaveGradient.pde +++ /dev/null @@ -1,41 +0,0 @@ -/** - * Wave Gradient - * by Ira Greenberg. - * - * Generate a gradient along a sin() wave. - */ - -float amplitude = 30; -float fillGap = 2.5; - -void setup() { - size(640, 360); - background(200); - - // To efficiently set all the pixels on screen, make the set() - // calls on a PImage, then write the result to the screen. - PImage gradient = createImage(width, height, RGB); - float frequency = 0; - - for (int i =- 75; i < height+75; i++){ - // Reset angle to 0, so waves stack properly - float angle = 0; - // Increasing frequency causes more gaps - frequency += 0.002; - for (float j = 0; j < width+75; j++){ - float py = i + sin(radians(angle)) * amplitude; - angle += frequency; - color c = color(abs(py-i)*255/amplitude, 255-abs(py-i)*255/amplitude, j*(255.0/(width+50))); - // Hack to fill gaps. Raise value of fillGap if you increase frequency - for (int filler = 0; filler < fillGap; filler++){ - gradient.set(int(j-filler), int(py)-filler, c); - gradient.set(int(j), int(py), c); - gradient.set(int(j+filler), int(py)+filler, c); - } - } - } - // Draw the image to the screen - set(0, 0, gradient); - // Another alternative for drawing to the screen - //image(gradient, 0, 0); -} diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Control/Conditionals1/Conditionals1.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Control/Conditionals1/Conditionals1.pde deleted file mode 100644 index ae83fa3..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Control/Conditionals1/Conditionals1.pde +++ /dev/null @@ -1,26 +0,0 @@ -/** - * Conditionals 1. - * - * Conditions are like questions. - * They allow a program to decide to take one action if - * the answer to a question is "true" or to do another action - * if the answer to the question is "false."
- * The questions asked within a program are always logical - * or relational statements. For example, if the variable 'i' is - * equal to zero then draw a line. - */ - -size(640, 360); -background(0); - -for(int i = 10; i < width; i += 10) { - // If 'i' divides by 20 with no remainder draw - // the first line, else draw the second line - if((i % 20) == 0) { - stroke(255); - line(i, 80, i, height/2); - } else { - stroke(153); - line(i, 20, i, 180); - } -} \ No newline at end of file diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Control/Conditionals2/Conditionals2.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Control/Conditionals2/Conditionals2.pde deleted file mode 100644 index 72dcf9b..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Control/Conditionals2/Conditionals2.pde +++ /dev/null @@ -1,28 +0,0 @@ -/** - * Conditionals 2. - * - * We extend the language of conditionals from the previous - * example by adding the keyword "else". This allows conditionals - * to ask two or more sequential questions, each with a different - * action. - */ - -size(640, 360); -background(0); - -for (int i = 2; i < width-2; i += 2) { - // If 'i' divides by 20 with no remainder - if ((i % 20) == 0) { - stroke(255); - line(i, 80, i, height/2); - // If 'i' divides by 10 with no remainder - } else if ((i % 10) == 0) { - stroke(153); - line(i, 20, i, 180); - // If neither of the above two conditions are met - // then draw this line - } else { - stroke(102); - line(i, height/2, i, height-20); - } -} \ No newline at end of file diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Control/EmbeddedIteration/EmbeddedIteration.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Control/EmbeddedIteration/EmbeddedIteration.pde deleted file mode 100644 index a35f562..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Control/EmbeddedIteration/EmbeddedIteration.pde +++ /dev/null @@ -1,22 +0,0 @@ -/** - * Embedding Iteration. - * - * Embedding "for" structures allows repetition in two dimensions. - * - */ - - -size(640, 360); -background(0); - -int gridSize = 40; - -for (int x = gridSize; x <= width - gridSize; x += gridSize) { - for (int y = gridSize; y <= height - gridSize; y += gridSize) { - noStroke(); - fill(255); - rect(x-1, y-1, 3, 3); - stroke(255, 100); - line(x, y, width/2, height/2); - } -} \ No newline at end of file diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Control/Iteration/Iteration.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Control/Iteration/Iteration.pde deleted file mode 100644 index 268d548..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Control/Iteration/Iteration.pde +++ /dev/null @@ -1,41 +0,0 @@ -/** - * Iteration. - * - * Iteration with a "for" structure to construct repetitive forms. - */ - -int y; -int num = 14; - -size(640, 360); -background(102); -noStroke(); - -// White bars -fill(255); -y = 60; -for(int i = 0; i < num/3; i++) { - rect(50, y, 475, 10); - y+=20; -} - -// Gray bars -fill(51); -y = 40; -for(int i = 0; i < num; i++) { - rect(405, y, 30, 10); - y += 20; -} -y = 50; -for(int i = 0; i < num; i++) { - rect(425, y, 30, 10); - y += 20; -} - -// Thin lines -y = 45; -fill(0); -for(int i = 0; i < num-1; i++) { - rect(120, y, 40, 1); - y+= 20; -} \ No newline at end of file diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Control/LogicalOperators/LogicalOperators.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Control/LogicalOperators/LogicalOperators.pde deleted file mode 100644 index eb20ea7..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Control/LogicalOperators/LogicalOperators.pde +++ /dev/null @@ -1,45 +0,0 @@ -/** - * Logical Operators. - * - * The logical operators for AND (&&) and OR (||) are used to - * combine simple relational statements into more complex expressions. - * The NOT (!) operator is used to negate a boolean statement. - */ - -size(640, 360); -background(126); - -boolean test = false; - -for (int i = 5; i <= height; i += 5) { - // Logical AND - stroke(0); - if((i > 35) && (i < 100)) { - line(width/4, i, width/2, i); - test = false; - } - - // Logical OR - stroke(76); - if ((i <= 35) || (i >= 100)) { - line(width/2, i, width, i); - test = true; - } - - // Testing if a boolean value is "true" - // The expression "if(test)" is equivalent to "if(test == true)" - if (test) { - stroke(0); - point(width/3, i); - } - - // Testing if a boolean value is "false" - // The expression "if(!test)" is equivalent to "if(test == false)" - if (!test) { - stroke(255); - point(width/4, i); - } -} - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Data/CharactersStrings/CharactersStrings.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Data/CharactersStrings/CharactersStrings.pde deleted file mode 100644 index 3be296d..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Data/CharactersStrings/CharactersStrings.pde +++ /dev/null @@ -1,50 +0,0 @@ -/** - * Characters Strings. - * - * The character datatype, abbreviated as char, stores letters and - * symbols in the Unicode format, a coding system developed to support - * a variety of world languages. Characters are distinguished from other - * symbols by putting them between single quotes ('P').
- *
- * A string is a sequence of characters. A string is noted by surrounding - * a group of letters with double quotes ("Processing"). - * Chars and strings are most often used with the keyboard methods, - * to display text to the screen, and to load images or files.
- *
- * The String datatype must be capitalized because it is a complex datatype. - * A String is actually a class with its own methods, some of which are - * featured below. - */ - -char letter; -String words = "Begin..."; - -void setup() { - size(640, 360); - // Create the font - textFont(createFont("SourceCodePro-Regular.ttf", 36)); -} - -void draw() { - background(0); // Set background to black - - // Draw the letter to the center of the screen - textSize(14); - text("Click on the program, then type to add to the String", 50, 50); - text("Current key: " + letter, 50, 70); - text("The String is " + words.length() + " characters long", 50, 90); - - textSize(36); - text(words, 50, 120, 540, 300); -} - -void keyTyped() { - // The variable "key" always contains the value - // of the most recent key pressed. - if ((key >= 'A' && key <= 'z') || key == ' ') { - letter = key; - words = words + key; - // Write the letter to the console - println(key); - } -} \ No newline at end of file diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Data/CharactersStrings/data/SourceCodePro-Regular.ttf b/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Data/CharactersStrings/data/SourceCodePro-Regular.ttf deleted file mode 100644 index b2cff92..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Data/CharactersStrings/data/SourceCodePro-Regular.ttf and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Data/DatatypeConversion/DatatypeConversion.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Data/DatatypeConversion/DatatypeConversion.pde deleted file mode 100644 index 1c2a398..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Data/DatatypeConversion/DatatypeConversion.pde +++ /dev/null @@ -1,33 +0,0 @@ -/** - * Datatype Conversion. - * - * It is sometimes beneficial to convert a value from one type of - * data to another. Each of the conversion functions converts its parameter - * to an equivalent representation within its datatype. - * The conversion functions include int(), float(), char(), byte(), and others. - */ - -size(640, 360); -background(0); -noStroke(); - -textFont(createFont("SourceCodePro-Regular.ttf",24)); - -char c; // Chars are used for storing alphanumeric symbols -float f; // Floats are decimal numbers -int i; // Integers are values between 2,147,483,647 and -2147483648 -byte b; // Bytes are values between -128 and 128 - -c = 'A'; -f = float(c); // Sets f = 65.0 -i = int(f * 1.4); // Sets i to 91 -b = byte(c / 2); // Sets b to 32 - -//println(f); -//println(i); -//println(b); - -text("The value of variable c is " + c, 50, 100); -text("The value of variable f is " + f, 50, 150); -text("The value of variable i is " + i, 50, 200); -text("The value of variable b is " + b, 50, 250); \ No newline at end of file diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Data/DatatypeConversion/data/SourceCodePro-Regular.ttf b/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Data/DatatypeConversion/data/SourceCodePro-Regular.ttf deleted file mode 100644 index b2cff92..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Data/DatatypeConversion/data/SourceCodePro-Regular.ttf and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Data/IntegersFloats/IntegersFloats.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Data/IntegersFloats/IntegersFloats.pde deleted file mode 100644 index c03318b..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Data/IntegersFloats/IntegersFloats.pde +++ /dev/null @@ -1,33 +0,0 @@ -/** - * Integers Floats. - * - * Integers and floats are two different kinds of numerical data. - * An integer (more commonly called an int) is a number without - * a decimal point. A float is a floating-point number, which means - * it is a number that has a decimal place. Floats are used when - * more precision is needed. - */ - -int a = 0; // Create a variable "a" of the datatype "int" -float b = 0.0; // Create a variable "b" of the datatype "float" - -void setup() { - size(640, 360); - stroke(255); -} - -void draw() { - background(0); - - a = a + 1; - b = b + 0.2; - line(a, 0, a, height/2); - line(b, height/2, b, height); - - if(a > width) { - a = 0; - } - if(b > width) { - b = 0; - } -} \ No newline at end of file diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Data/TrueFalse/TrueFalse.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Data/TrueFalse/TrueFalse.pde deleted file mode 100644 index 13de7b7..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Data/TrueFalse/TrueFalse.pde +++ /dev/null @@ -1,37 +0,0 @@ -/** - * True/False. - * - * A Boolean variable has only two possible values: true or false. - * It is common to use Booleans with control statements to - * determine the flow of a program. In this example, when the - * boolean value "x" is true, vertical black lines are drawn and when - * the boolean value "x" is false, horizontal gray lines are drawn. - */ - -boolean b = false; - -size(640, 360); -background(0); -stroke(255); - -int d = 20; -int middle = width/2; - -for (int i = d; i <= width; i += d) { - - if (i < middle) { - b = true; - } else { - b = false; - } - - if (b == true) { - // Vertical line - line(i, d, i, height-d); - } - - if (b == false) { - // Horizontal line - line(middle, i - middle + d, width-d, i - middle + d); - } -} \ No newline at end of file diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Data/VariableScope/VariableScope.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Data/VariableScope/VariableScope.pde deleted file mode 100644 index d1147ec..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Data/VariableScope/VariableScope.pde +++ /dev/null @@ -1,57 +0,0 @@ -/** - * Variable Scope. - * - * Variables have a global or local "scope". - * For example, variables declared within either the - * setup() or draw() functions may be only used in these - * functions. Global variables, variables declared outside - * of setup() and draw(), may be used anywhere within the program. - * If a local variable is declared with the same name as a - * global variable, the program will use the local variable to make - * its calculations within the current scope. Variables are localized - * within each block, the space between a { and }. - */ - -int a = 80; // Create a global variable "a" - -void setup() { - size(640, 360); - background(0); - stroke(255); - noLoop(); -} - -void draw() { - // Draw a line using the global variable "a" - line(a, 0, a, height); - - // Create a new variable "a" local to the for() statement - for (int a = 120; a < 200; a += 2) { - line(a, 0, a, height); - } - - // Create a new variable "a" local to the draw() function - int a = 300; - // Draw a line using the new local variable "a" - line(a, 0, a, height); - - // Make a call to the custom function drawAnotherLine() - drawAnotherLine(); - - // Make a call to the custom function setYetAnotherLine() - drawYetAnotherLine(); -} - -void drawAnotherLine() { - // Create a new variable "a" local to this method - int a = 320; - // Draw a line using the local variable "a" - line(a, 0, a, height); -} - -void drawYetAnotherLine() { - // Because no new local variable "a" is set, - // this line draws using the original global - // variable "a", which is set to the value 80. - line(a+2, 0, a+2, height); -} diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Data/Variables/Variables.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Data/Variables/Variables.pde deleted file mode 100644 index ea35e2e..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Data/Variables/Variables.pde +++ /dev/null @@ -1,40 +0,0 @@ -/** - * Variables. - * - * Variables are used for storing values. In this example, change - * the values of variables to affect the composition. - */ - -size(640, 360); -background(0); -stroke(153); -strokeWeight(4); -strokeCap(SQUARE); - -int a = 50; -int b = 120; -int c = 180; - -line(a, b, a+c, b); -line(a, b+10, a+c, b+10); -line(a, b+20, a+c, b+20); -line(a, b+30, a+c, b+30); - -a = a + c; -b = height-b; - -line(a, b, a+c, b); -line(a, b+10, a+c, b+10); -line(a, b+20, a+c, b+20); -line(a, b+30, a+c, b+30); - -a = a + c; -b = height-b; - -line(a, b, a+c, b); -line(a, b+10, a+c, b+10); -line(a, b+20, a+c, b+20); -line(a, b+30, a+c, b+30); - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Form/Bezier/Bezier.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Form/Bezier/Bezier.pde deleted file mode 100644 index bf3c46a..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Form/Bezier/Bezier.pde +++ /dev/null @@ -1,22 +0,0 @@ -/** - * Bezier. - * - * The first two parameters for the bezier() function specify the - * first point in the curve and the last two parameters specify - * the last point. The middle parameters set the control points - * that define the shape of the curve. - */ - -void setup() { - size(640, 360); - stroke(255); - noFill(); -} - -void draw() { - background(0); - for (int i = 0; i < 200; i += 20) { - bezier(mouseX-(i/2.0), 40+i, 410, 20, 440, 300, 240-(i/16.0), 300+(i/8.0)); - } -} - diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Form/PieChart/PieChart.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Form/PieChart/PieChart.pde deleted file mode 100644 index 0dd505e..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Form/PieChart/PieChart.pde +++ /dev/null @@ -1,30 +0,0 @@ -/** - * Pie Chart - * - * Uses the arc() function to generate a pie chart from the data - * stored in an array. - */ - -int[] angles = { 30, 10, 45, 35, 60, 38, 75, 67 }; - -void setup() { - size(640, 360); - noStroke(); - noLoop(); // Run once and stop -} - -void draw() { - background(100); - pieChart(300, angles); -} - -void pieChart(float diameter, int[] data) { - float lastAngle = 0; - for (int i = 0; i < data.length; i++) { - float gray = map(i, 0, data.length, 0, 255); - fill(gray); - arc(width/2, height/2, diameter, diameter, lastAngle, lastAngle+radians(data[i])); - lastAngle += radians(data[i]); - } -} - diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Form/PointsLines/PointsLines.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Form/PointsLines/PointsLines.pde deleted file mode 100644 index ec0529b..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Form/PointsLines/PointsLines.pde +++ /dev/null @@ -1,34 +0,0 @@ -/** - * Points and Lines. - * - * Points and lines can be used to draw basic geometry. - * Change the value of the variable 'd' to scale the form. - * The four variables set the positions based on the value of 'd'. - */ - -int d = 70; -int p1 = d; -int p2 = p1+d; -int p3 = p2+d; -int p4 = p3+d; - -size(640, 360); -noSmooth(); -background(0); -translate(140, 0); - -// Draw gray box -stroke(153); -line(p3, p3, p2, p3); -line(p2, p3, p2, p2); -line(p2, p2, p3, p2); -line(p3, p2, p3, p3); - -// Draw white points -stroke(255); -point(p1, p1); -point(p1, p3); -point(p2, p4); -point(p3, p1); -point(p4, p2); -point(p4, p4); diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Form/Primitives3D/Primitives3D.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Form/Primitives3D/Primitives3D.pde deleted file mode 100644 index 0533011..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Form/Primitives3D/Primitives3D.pde +++ /dev/null @@ -1,30 +0,0 @@ -/** - * Primitives 3D. - * - * Placing mathematically 3D objects in synthetic space. - * The lights() method reveals their imagined dimension. - * The box() and sphere() functions each have one parameter - * which is used to specify their size. These shapes are - * positioned using the translate() function. - */ - -size(640, 360, P3D); -background(0); -lights(); - -noStroke(); -pushMatrix(); -translate(130, height/2, 0); -rotateY(1.25); -rotateX(-0.4); -box(100); -popMatrix(); - -noFill(); -stroke(255); -pushMatrix(); -translate(500, height*0.35, -200); -sphere(280); -popMatrix(); - - diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Form/RegularPolygon/RegularPolygon.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Form/RegularPolygon/RegularPolygon.pde deleted file mode 100644 index 0937923..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Form/RegularPolygon/RegularPolygon.pde +++ /dev/null @@ -1,46 +0,0 @@ -/** - * Regular Polygon - * - * What is your favorite? Pentagon? Hexagon? Heptagon? - * No? What about the icosagon? The polygon() function - * created for this example is capable of drawing any - * regular polygon. Try placing different numbers into the - * polygon() function calls within draw() to explore. - */ - -void setup() { - size(640, 360); -} - -void draw() { - background(102); - - pushMatrix(); - translate(width*0.2, height*0.5); - rotate(frameCount / 200.0); - polygon(0, 0, 82, 3); // Triangle - popMatrix(); - - pushMatrix(); - translate(width*0.5, height*0.5); - rotate(frameCount / 50.0); - polygon(0, 0, 80, 20); // Icosahedron - popMatrix(); - - pushMatrix(); - translate(width*0.8, height*0.5); - rotate(frameCount / -100.0); - polygon(0, 0, 70, 7); // Heptagon - popMatrix(); -} - -void polygon(float x, float y, float radius, int npoints) { - float angle = TWO_PI / npoints; - beginShape(); - for (float a = 0; a < TWO_PI; a += angle) { - float sx = x + cos(a) * radius; - float sy = y + sin(a) * radius; - vertex(sx, sy); - } - endShape(CLOSE); -} \ No newline at end of file diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Form/ShapePrimitives/ShapePrimitives.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Form/ShapePrimitives/ShapePrimitives.pde deleted file mode 100644 index 96c630f..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Form/ShapePrimitives/ShapePrimitives.pde +++ /dev/null @@ -1,32 +0,0 @@ -/** - * Shape Primitives. - * - * The basic shape primitive functions are triangle(), - * rect(), quad(), ellipse(), and arc(). Squares are made - * with rect() and circles are made with ellipse(). Each - * of these functions requires a number of parameters to - * determine the shape's position and size. - */ - -size(640, 360); -background(0); -noStroke(); - -fill(204); -triangle(18, 18, 18, 360, 81, 360); - -fill(102); -rect(81, 81, 63, 63); - -fill(204); -quad(189, 18, 216, 18, 216, 360, 144, 360); - -fill(255); -ellipse(252, 144, 72, 72); - -fill(204); -triangle(288, 18, 351, 360, 288, 360); - -fill(255); -arc(479, 300, 280, 280, PI, TWO_PI); - diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Form/Star/Star.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Form/Star/Star.pde deleted file mode 100644 index 0136873..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Form/Star/Star.pde +++ /dev/null @@ -1,48 +0,0 @@ -/** - * Star - * - * The star() function created for this example is capable of drawing a - * wide range of different forms. Try placing different numbers into the - * star() function calls within draw() to explore. - */ - -void setup() { - size(640, 360); -} - -void draw() { - background(102); - - pushMatrix(); - translate(width*0.2, height*0.5); - rotate(frameCount / 200.0); - star(0, 0, 5, 70, 3); - popMatrix(); - - pushMatrix(); - translate(width*0.5, height*0.5); - rotate(frameCount / 400.0); - star(0, 0, 80, 100, 40); - popMatrix(); - - pushMatrix(); - translate(width*0.8, height*0.5); - rotate(frameCount / -100.0); - star(0, 0, 30, 70, 5); - popMatrix(); -} - -void star(float x, float y, float radius1, float radius2, int npoints) { - float angle = TWO_PI / npoints; - float halfAngle = angle/2.0; - beginShape(); - for (float a = 0; a < TWO_PI; a += angle) { - float sx = x + cos(a) * radius2; - float sy = y + sin(a) * radius2; - vertex(sx, sy); - sx = x + cos(a+halfAngle) * radius1; - sy = y + sin(a+halfAngle) * radius1; - vertex(sx, sy); - } - endShape(CLOSE); -} \ No newline at end of file diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Form/TriangleStrip/TriangleStrip.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Form/TriangleStrip/TriangleStrip.pde deleted file mode 100644 index ec479eb..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Form/TriangleStrip/TriangleStrip.pde +++ /dev/null @@ -1,42 +0,0 @@ -/** - * Triangle Strip - * by Ira Greenberg. - * - * Generate a closed ring using the vertex() function and - * beginShape(TRIANGLE_STRIP) mode. The outsideRadius and insideRadius - * variables control ring's radii respectively. - */ - -int x; -int y; -float outsideRadius = 150; -float insideRadius = 100; - -void setup() { - size(640, 360); - background(204); - x = width/2; - y = height/2; -} - -void draw() { - background(204); - - int numPoints = int(map(mouseX, 0, width, 6, 60)); - float angle = 0; - float angleStep = 180.0/numPoints; - - beginShape(TRIANGLE_STRIP); - for (int i = 0; i <= numPoints; i++) { - float px = x + cos(radians(angle)) * outsideRadius; - float py = y + sin(radians(angle)) * outsideRadius; - angle += angleStep; - vertex(px, py); - px = x + cos(radians(angle)) * insideRadius; - py = y + sin(radians(angle)) * insideRadius; - vertex(px, py); - angle += angleStep; - } - endShape(); -} - diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Image/Alphamask/Alphamask.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Image/Alphamask/Alphamask.pde deleted file mode 100644 index b27efdb..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Image/Alphamask/Alphamask.pde +++ /dev/null @@ -1,24 +0,0 @@ -/** - * Alpha Mask. - * - * Loads a "mask" for an image to specify the transparency - * in different parts of the image. The two images are blended - * together using the mask() method of PImage. - */ - -PImage img; -PImage imgMask; - -void setup() { - size(640, 360); - img = loadImage("moonwalk.jpg"); - imgMask = loadImage("mask.jpg"); - img.mask(imgMask); - imageMode(CENTER); -} - -void draw() { - background(0, 102, 153); - image(img, width/2, height/2); - image(img, mouseX, mouseY); -} diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Image/Alphamask/data/mask.jpg b/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Image/Alphamask/data/mask.jpg deleted file mode 100644 index ebf9e66..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Image/Alphamask/data/mask.jpg and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Image/Alphamask/data/moonwalk.jpg b/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Image/Alphamask/data/moonwalk.jpg deleted file mode 100644 index 793781a..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Image/Alphamask/data/moonwalk.jpg and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Image/BackgroundImage/BackgroundImage.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Image/BackgroundImage/BackgroundImage.pde deleted file mode 100644 index 8effef3..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Image/BackgroundImage/BackgroundImage.pde +++ /dev/null @@ -1,30 +0,0 @@ -/** - * Background Image. - * - * This example presents the fastest way to load a background image - * into Processing. To load an image as the background, it must be - * the same width and height as the program. - */ - -PImage bg; -int y; - -void setup() { - size(640, 360); - // The background image must be the same size as the parameters - // into the size() method. In this program, the size of the image - // is 640 x 360 pixels. - bg = loadImage("moonwalk.jpg"); -} - -void draw() { - background(bg); - - stroke(226, 204, 0); - line(0, y, width, y); - - y++; - if (y > height) { - y = 0; - } -} diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Image/BackgroundImage/data/moonwalk.jpg b/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Image/BackgroundImage/data/moonwalk.jpg deleted file mode 100644 index 793781a..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Image/BackgroundImage/data/moonwalk.jpg and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Image/CreateImage/CreateImage.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Image/CreateImage/CreateImage.pde deleted file mode 100644 index b3ea02c..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Image/CreateImage/CreateImage.pde +++ /dev/null @@ -1,23 +0,0 @@ -/** - * Create Image. - * - * The createImage() function provides a fresh buffer of pixels to play with. - * This example creates an image gradient. - */ - -PImage img; - -void setup() { - size(640, 360); - img = createImage(230, 230, ARGB); - for(int i = 0; i < img.pixels.length; i++) { - float a = map(i, 0, img.pixels.length, 255, 0); - img.pixels[i] = color(0, 153, 204, a); - } -} - -void draw() { - background(0); - image(img, 90, 80); - image(img, mouseX-img.width/2, mouseY-img.height/2); -} diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Image/LoadDisplayImage/LoadDisplayImage.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Image/LoadDisplayImage/LoadDisplayImage.pde deleted file mode 100644 index d8db956..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Image/LoadDisplayImage/LoadDisplayImage.pde +++ /dev/null @@ -1,22 +0,0 @@ -/** - * Load and Display - * - * Images can be loaded and displayed to the screen at their actual size - * or any other size. - */ - -PImage img; // Declare variable "a" of type PImage - -void setup() { - size(640, 360); - // The image file must be in the data folder of the current sketch - // to load successfully - img = loadImage("moonwalk.jpg"); // Load the image into the program -} - -void draw() { - // Displays the image at its actual size at point (0,0) - image(img, 0, 0); - // Displays the image at point (0, height/2) at half of its size - image(img, 0, height/2, img.width/2, img.height/2); -} diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Image/LoadDisplayImage/data/moonwalk.jpg b/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Image/LoadDisplayImage/data/moonwalk.jpg deleted file mode 100644 index 793781a..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Image/LoadDisplayImage/data/moonwalk.jpg and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Image/Pointillism/Pointillism.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Image/Pointillism/Pointillism.pde deleted file mode 100644 index e886bde..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Image/Pointillism/Pointillism.pde +++ /dev/null @@ -1,30 +0,0 @@ -/** - * Pointillism - * by Daniel Shiffman. - * - * Mouse horizontal location controls size of dots. - * Creates a simple pointillist effect using ellipses colored - * according to pixels in an image. - */ - -PImage img; -int smallPoint, largePoint; - -void setup() { - size(640, 360); - img = loadImage("moonwalk.jpg"); - smallPoint = 4; - largePoint = 40; - imageMode(CENTER); - noStroke(); - background(255); -} - -void draw() { - float pointillize = map(mouseX, 0, width, smallPoint, largePoint); - int x = int(random(img.width)); - int y = int(random(img.height)); - color pix = img.get(x, y); - fill(pix, 128); - ellipse(x, y, pointillize, pointillize); -} diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Image/Pointillism/data/moonwalk.jpg b/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Image/Pointillism/data/moonwalk.jpg deleted file mode 100644 index 793781a..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Image/Pointillism/data/moonwalk.jpg and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Image/RequestImage/RequestImage.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Image/RequestImage/RequestImage.pde deleted file mode 100644 index a1b0151..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Image/RequestImage/RequestImage.pde +++ /dev/null @@ -1,89 +0,0 @@ -/** - * Request Image - * by Ira Greenberg ( From Processing for Flash Developers). - * - * Shows how to use the requestImage() function with preloader animation. - * The requestImage() function loads images on a separate thread so that - * the sketch does not freeze while they load. It's very useful when you are - * loading large images. - * - * These images are small for a quick download, but try it with your own huge - * images to get the full effect. - */ - -int imgCount = 12; -PImage[] imgs = new PImage[imgCount]; -float imgW; - -// Keeps track of loaded images (true or false) -boolean[] loadStates = new boolean[imgCount]; - -// For loading animation -float loaderX, loaderY, theta; - -void setup() { - size(640, 360); - imgW = width/imgCount; - - // Load images asynchronously - for (int i = 0; i < imgCount; i++){ - imgs[i] = requestImage("PT_anim"+nf(i, 4)+".gif"); - } -} - -void draw(){ - background(0); - - // Start loading animation - runLoaderAni(); - - for (int i = 0; i < imgs.length; i++){ - // Check if individual images are fully loaded - if ((imgs[i].width != 0) && (imgs[i].width != -1)){ - // As images are loaded set true in boolean array - loadStates[i] = true; - } - } - // When all images are loaded draw them to the screen - if (checkLoadStates()){ - drawImages(); - } -} - -void drawImages() { - int y = (height - imgs[0].height) / 2; - for (int i = 0; i < imgs.length; i++){ - image(imgs[i], width/imgs.length*i, y, imgs[i].height, imgs[i].height); - } -} - -// Loading animation -void runLoaderAni(){ - // Only run when images are loading - if (!checkLoadStates()){ - ellipse(loaderX, loaderY, 10, 10); - loaderX += 2; - loaderY = height/2 + sin(theta) * (height/8); - theta += PI/22; - // Reposition ellipse if it goes off the screen - if (loaderX > width + 5){ - loaderX = -5; - } - } -} - -// Return true when all images are loaded - no false values left in array -boolean checkLoadStates(){ - for (int i = 0; i < imgs.length; i++){ - if (loadStates[i] == false){ - return false; - } - } - return true; -} - - - - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Image/RequestImage/data/PT_anim0000.gif b/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Image/RequestImage/data/PT_anim0000.gif deleted file mode 100644 index b0e3f04..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Image/RequestImage/data/PT_anim0000.gif and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Image/RequestImage/data/PT_anim0001.gif b/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Image/RequestImage/data/PT_anim0001.gif deleted file mode 100644 index 4f7cb90..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Image/RequestImage/data/PT_anim0001.gif and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Image/RequestImage/data/PT_anim0002.gif b/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Image/RequestImage/data/PT_anim0002.gif deleted file mode 100644 index 4d37297..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Image/RequestImage/data/PT_anim0002.gif and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Image/RequestImage/data/PT_anim0003.gif b/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Image/RequestImage/data/PT_anim0003.gif deleted file mode 100644 index d3ab403..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Image/RequestImage/data/PT_anim0003.gif and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Image/RequestImage/data/PT_anim0004.gif b/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Image/RequestImage/data/PT_anim0004.gif deleted file mode 100644 index 44cd62b..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Image/RequestImage/data/PT_anim0004.gif and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Image/RequestImage/data/PT_anim0005.gif b/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Image/RequestImage/data/PT_anim0005.gif deleted file mode 100644 index 185298a..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Image/RequestImage/data/PT_anim0005.gif and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Image/RequestImage/data/PT_anim0006.gif b/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Image/RequestImage/data/PT_anim0006.gif deleted file mode 100644 index 30de511..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Image/RequestImage/data/PT_anim0006.gif and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Image/RequestImage/data/PT_anim0007.gif b/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Image/RequestImage/data/PT_anim0007.gif deleted file mode 100644 index cc9f8f8..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Image/RequestImage/data/PT_anim0007.gif and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Image/RequestImage/data/PT_anim0008.gif b/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Image/RequestImage/data/PT_anim0008.gif deleted file mode 100644 index 76475fa..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Image/RequestImage/data/PT_anim0008.gif and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Image/RequestImage/data/PT_anim0009.gif b/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Image/RequestImage/data/PT_anim0009.gif deleted file mode 100644 index 3b22462..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Image/RequestImage/data/PT_anim0009.gif and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Image/RequestImage/data/PT_anim0010.gif b/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Image/RequestImage/data/PT_anim0010.gif deleted file mode 100644 index 9c008f3..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Image/RequestImage/data/PT_anim0010.gif and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Image/RequestImage/data/PT_anim0011.gif b/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Image/RequestImage/data/PT_anim0011.gif deleted file mode 100644 index db227e2..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Image/RequestImage/data/PT_anim0011.gif and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Image/Transparency/Transparency.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Image/Transparency/Transparency.pde deleted file mode 100644 index 1a0cbb7..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Image/Transparency/Transparency.pde +++ /dev/null @@ -1,29 +0,0 @@ -/** - * Transparency. - * - * Move the pointer left and right across the image to change - * its position. This program overlays one image over another - * by modifying the alpha value of the image with the tint() function. - */ - -PImage img; -float offset = 0; -float easing = 0.05; - -void setup() { - size(640, 360); - img = loadImage("moonwalk.jpg"); // Load an image into the program -} - -void draw() { - image(img, 0, 0); // Display at full opacity - float dx = (mouseX-img.width/2) - offset; - offset += dx * easing; - tint(255, 127); // Display at half opacity - image(img, offset, 0); -} - - - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Image/Transparency/data/moonwalk.jpg b/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Image/Transparency/data/moonwalk.jpg deleted file mode 100644 index 793781a..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Image/Transparency/data/moonwalk.jpg and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Input/Clock/Clock.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Input/Clock/Clock.pde deleted file mode 100644 index 01e6105..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Input/Clock/Clock.pde +++ /dev/null @@ -1,62 +0,0 @@ -/** - * Clock. - * - * The current time can be read with the second(), minute(), - * and hour() functions. In this example, sin() and cos() values - * are used to set the position of the hands. - */ - -int cx, cy; -float secondsRadius; -float minutesRadius; -float hoursRadius; -float clockDiameter; - -void setup() { - size(640, 360); - stroke(255); - - int radius = min(width, height) / 2; - secondsRadius = radius * 0.72; - minutesRadius = radius * 0.60; - hoursRadius = radius * 0.50; - clockDiameter = radius * 1.8; - - cx = width / 2; - cy = height / 2; -} - -void draw() { - background(0); - - // Draw the clock background - fill(80); - noStroke(); - ellipse(cx, cy, clockDiameter, clockDiameter); - - // Angles for sin() and cos() start at 3 o'clock; - // subtract HALF_PI to make them start at the top - float s = map(second(), 0, 60, 0, TWO_PI) - HALF_PI; - float m = map(minute() + norm(second(), 0, 60), 0, 60, 0, TWO_PI) - HALF_PI; - float h = map(hour() + norm(minute(), 0, 60), 0, 24, 0, TWO_PI * 2) - HALF_PI; - - // Draw the hands of the clock - stroke(255); - strokeWeight(1); - line(cx, cy, cx + cos(s) * secondsRadius, cy + sin(s) * secondsRadius); - strokeWeight(2); - line(cx, cy, cx + cos(m) * minutesRadius, cy + sin(m) * minutesRadius); - strokeWeight(4); - line(cx, cy, cx + cos(h) * hoursRadius, cy + sin(h) * hoursRadius); - - // Draw the minute ticks - strokeWeight(2); - beginShape(POINTS); - for (int a = 0; a < 360; a+=6) { - float angle = radians(a); - float x = cx + cos(angle) * secondsRadius; - float y = cy + sin(angle) * secondsRadius; - vertex(x, y); - } - endShape(); -} diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Input/Constrain/Constrain.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Input/Constrain/Constrain.pde deleted file mode 100644 index dca7382..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Input/Constrain/Constrain.pde +++ /dev/null @@ -1,38 +0,0 @@ -/** - * Constrain. - * - * Move the mouse across the screen to move the circle. - * The program constrains the circle to its box. - */ - -float mx; -float my; -float easing = 0.05; -int radius = 24; -int edge = 100; -int inner = edge + radius; - -void setup() { - size(640, 360); - noStroke(); - ellipseMode(RADIUS); - rectMode(CORNERS); -} - -void draw() { - background(51); - - if (abs(mouseX - mx) > 0.1) { - mx = mx + (mouseX - mx) * easing; - } - if (abs(mouseY - my) > 0.1) { - my = my + (mouseY- my) * easing; - } - - mx = constrain(mx, inner, width - inner); - my = constrain(my, inner, height - inner); - fill(76); - rect(edge, edge, width-edge, height-edge); - fill(255); - ellipse(mx, my, radius, radius); -} diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Input/Easing/Easing.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Input/Easing/Easing.pde deleted file mode 100644 index ea622ab..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Input/Easing/Easing.pde +++ /dev/null @@ -1,33 +0,0 @@ -/** - * Easing. - * - * Move the mouse across the screen and the symbol will follow. - * Between drawing each frame of the animation, the program - * calculates the difference between the position of the - * symbol and the cursor. If the distance is larger than - * 1 pixel, the symbol moves part of the distance (0.05) from its - * current position toward the cursor. - */ - -float x; -float y; -float easing = 0.05; - -void setup() { - size(640, 360); - noStroke(); -} - -void draw() { - background(51); - - float targetX = mouseX; - float dx = targetX - x; - x += dx * easing; - - float targetY = mouseY; - float dy = targetY - y; - y += dy * easing; - - ellipse(x, y, 66, 66); -} \ No newline at end of file diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Input/Keyboard/Keyboard.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Input/Keyboard/Keyboard.pde deleted file mode 100644 index f2c6da2..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Input/Keyboard/Keyboard.pde +++ /dev/null @@ -1,38 +0,0 @@ -/** - * Keyboard. - * - * Click on the image to give it focus and press the letter keys - * to create forms in time and space. Each key has a unique identifying - * number. These numbers can be used to position shapes in space. - */ - -int rectWidth; - -void setup() { - size(640, 360); - noStroke(); - background(0); - rectWidth = width/4; -} - -void draw() { - // keep draw() here to continue looping while waiting for keys -} - -void keyPressed() { - int keyIndex = -1; - if (key >= 'A' && key <= 'Z') { - keyIndex = key - 'A'; - } else if (key >= 'a' && key <= 'z') { - keyIndex = key - 'a'; - } - if (keyIndex == -1) { - // If it's not a letter key, clear the screen - background(0); - } else { - // It's a letter key, fill a rectangle - fill(millis() % 255); - float x = map(keyIndex, 0, 25, 0, width - rectWidth); - rect(x, 0, rectWidth, height); - } -} diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Input/KeyboardFunctions/KeyboardFunctions.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Input/KeyboardFunctions/KeyboardFunctions.pde deleted file mode 100644 index 7e70c2f..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Input/KeyboardFunctions/KeyboardFunctions.pde +++ /dev/null @@ -1,87 +0,0 @@ -/** - * Keyboard Functions. - * Modified from code by Martin. - * Original 'Color Typewriter' concept by John Maeda. - * - * Click on the window to give it focus and press the letter keys to type colors. - * The keyboard function keyPressed() is called whenever - * a key is pressed. keyReleased() is another keyboard - * function that is called when a key is released. - */ - -int maxHeight = 40; -int minHeight = 20; -int letterHeight = maxHeight; // Height of the letters -int letterWidth = 20; // Width of the letter - -int x = -letterWidth; // X position of the letters -int y = 0; // Y position of the letters - -boolean newletter; - -int numChars = 26; // There are 26 characters in the alphabet -color[] colors = new color[numChars]; - -void setup() { - size(640, 360); - noStroke(); - colorMode(HSB, numChars); - background(numChars/2); - // Set a hue value for each key - for(int i = 0; i < numChars; i++) { - colors[i] = color(i, numChars, numChars); - } -} - -void draw() { - if(newletter == true) { - // Draw the "letter" - int y_pos; - if (letterHeight == maxHeight) { - y_pos = y; - rect( x, y_pos, letterWidth, letterHeight ); - } else { - y_pos = y + minHeight; - rect( x, y_pos, letterWidth, letterHeight ); - fill(numChars/2); - rect( x, y_pos-minHeight, letterWidth, letterHeight ); - } - newletter = false; - } -} - -void keyPressed() -{ - // If the key is between 'A'(65) to 'Z' and 'a' to 'z'(122) - if((key >= 'A' && key <= 'Z') || (key >= 'a' && key <= 'z')) { - int keyIndex; - if(key <= 'Z') { - keyIndex = key-'A'; - letterHeight = maxHeight; - fill(colors[keyIndex]); - } else { - keyIndex = key-'a'; - letterHeight = minHeight; - fill(colors[keyIndex]); - } - } else { - fill(0); - letterHeight = 10; - } - - newletter = true; - - // Update the "letter" position - x = ( x + letterWidth ); - - // Wrap horizontally - if (x > width - letterWidth) { - x = 0; - y+= maxHeight; - } - - // Wrap vertically - if( y > height - letterHeight) { - y = 0; // reset y to 0 - } -} diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Input/Milliseconds/Milliseconds.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Input/Milliseconds/Milliseconds.pde deleted file mode 100644 index 45977d9..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Input/Milliseconds/Milliseconds.pde +++ /dev/null @@ -1,24 +0,0 @@ -/** - * Milliseconds. - * - * A millisecond is 1/1000 of a second. - * Processing keeps track of the number of milliseconds a program has run. - * By modifying this number with the modulo(%) operator, - * different patterns in time are created. - */ - -float scale; - -void setup() { - size(640, 360); - noStroke(); - scale = width/20; -} - -void draw() { - for (int i = 0; i < scale; i++) { - colorMode(RGB, (i+1) * scale * 10); - fill(millis()%((i+1) * scale * 10)); - rect(i*scale, 0, scale, height); - } -} diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Input/Mouse1D/Mouse1D.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Input/Mouse1D/Mouse1D.pde deleted file mode 100644 index 6c9cf41..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Input/Mouse1D/Mouse1D.pde +++ /dev/null @@ -1,27 +0,0 @@ -/** - * Mouse 1D. - * - * Move the mouse left and right to shift the balance. - * The "mouseX" variable is used to control both the - * size and color of the rectangles. - */ - -void setup() { - size(640, 360); - noStroke(); - colorMode(RGB, height, height, height); - rectMode(CENTER); -} - -void draw() { - background(0.0); - - float r1 = map(mouseX, 0, width, 0, height); - float r2 = height-r1; - - fill(r1); - rect(width/2 + r1/2, height/2, r1, r1); - - fill(r2); - rect(width/2 - r2/2, height/2, r2, r2); -} \ No newline at end of file diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Input/Mouse2D/Mouse2D.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Input/Mouse2D/Mouse2D.pde deleted file mode 100644 index 679c43c..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Input/Mouse2D/Mouse2D.pde +++ /dev/null @@ -1,21 +0,0 @@ -/** - * Mouse 2D. - * - * Moving the mouse changes the position and size of each box. - */ - -void setup() { - size(640, 360); - noStroke(); - rectMode(CENTER); -} - -void draw() { - background(51); - fill(255, 204); - rect(mouseX, height/2, mouseY/2+10, mouseY/2+10); - fill(255, 204); - int inverseX = width-mouseX; - int inverseY = height-mouseY; - rect(inverseX, height/2, (inverseY/2)+10, (inverseY/2)+10); -} \ No newline at end of file diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Input/MouseFunctions/MouseFunctions.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Input/MouseFunctions/MouseFunctions.pde deleted file mode 100644 index fa8cd43..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Input/MouseFunctions/MouseFunctions.pde +++ /dev/null @@ -1,64 +0,0 @@ -/** - * Mouse Functions. - * - * Click on the box and drag it across the screen. - */ - -float bx; -float by; -int boxSize = 75; -boolean overBox = false; -boolean locked = false; -float xOffset = 0.0; -float yOffset = 0.0; - -void setup() { - size(640, 360); - bx = width/2.0; - by = height/2.0; - rectMode(RADIUS); -} - -void draw() { - background(0); - - // Test if the cursor is over the box - if (mouseX > bx-boxSize && mouseX < bx+boxSize && - mouseY > by-boxSize && mouseY < by+boxSize) { - overBox = true; - if(!locked) { - stroke(255); - fill(153); - } - } else { - stroke(153); - fill(153); - overBox = false; - } - - // Draw the box - rect(bx, by, boxSize, boxSize); -} - -void mousePressed() { - if(overBox) { - locked = true; - fill(255, 255, 255); - } else { - locked = false; - } - xOffset = mouseX-bx; - yOffset = mouseY-by; - -} - -void mouseDragged() { - if(locked) { - bx = mouseX-xOffset; - by = mouseY-yOffset; - } -} - -void mouseReleased() { - locked = false; -} \ No newline at end of file diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Input/MousePress/MousePress.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Input/MousePress/MousePress.pde deleted file mode 100644 index 00d997f..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Input/MousePress/MousePress.pde +++ /dev/null @@ -1,24 +0,0 @@ -/** - * Mouse Press. - * - * Move the mouse to position the shape. - * Press the mouse button to invert the color. - */ - - -void setup() { - size(640, 360); - noSmooth(); - fill(126); - background(102); -} - -void draw() { - if (mousePressed) { - stroke(255); - } else { - stroke(0); - } - line(mouseX-66, mouseY, mouseX+66, mouseY); - line(mouseX, mouseY-66, mouseX, mouseY+66); -} diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Input/MouseSignals/MouseSignals.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Input/MouseSignals/MouseSignals.pde deleted file mode 100644 index c477675..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Input/MouseSignals/MouseSignals.pde +++ /dev/null @@ -1,55 +0,0 @@ -/** - * Mouse Signals. - * - * Move and click the mouse to generate signals. - * The top row is the signal from "mouseX", - * the middle row is the signal from "mouseY", - * and the bottom row is the signal from "mousePressed". - */ - -int[] xvals; -int[] yvals; -int[] bvals; - -void setup() -{ - size(640, 360); - noSmooth(); - xvals = new int[width]; - yvals = new int[width]; - bvals = new int[width]; -} - -int arrayindex = 0; - -void draw() -{ - background(102); - - for(int i = 1; i < width; i++) { - xvals[i-1] = xvals[i]; - yvals[i-1] = yvals[i]; - bvals[i-1] = bvals[i]; - } - // Add the new values to the end of the array - xvals[width-1] = mouseX; - yvals[width-1] = mouseY; - if(mousePressed) { - bvals[width-1] = 0; - } else { - bvals[width-1] = 255; - } - - fill(255); - noStroke(); - rect(0, height/3, width, height/3+1); - - for(int i=1; i 10000 - -void setup() { - size(640, 360, P3D); - noStroke(); - fill(204); - sphereDetail(60); -} - -void draw() { - background(0); - - // Light the bottom of the sphere - directionalLight(51, 102, 126, 0, -1, 0); - - // Orange light on the upper-right of the sphere - spotLight(204, 153, 0, 360, 160, 600, 0, 0, -1, PI/2, 600); - - // Moving spotlight that follows the mouse - spotLight(102, 153, 204, 360, mouseY, 600, 0, 0, -1, PI/2, 600); - - translate(width/2, height/2, 0); - sphere(120); -} \ No newline at end of file diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Math/AdditiveWave/AdditiveWave.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Math/AdditiveWave/AdditiveWave.pde deleted file mode 100644 index 45eb623..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Math/AdditiveWave/AdditiveWave.pde +++ /dev/null @@ -1,67 +0,0 @@ -/** - * Additive Wave - * by Daniel Shiffman. - * - * Create a more complex wave by adding two waves together. - */ - -int xspacing = 8; // How far apart should each horizontal location be spaced -int w; // Width of entire wave -int maxwaves = 4; // total # of waves to add together - -float theta = 0.0; -float[] amplitude = new float[maxwaves]; // Height of wave -float[] dx = new float[maxwaves]; // Value for incrementing X, to be calculated as a function of period and xspacing -float[] yvalues; // Using an array to store height values for the wave (not entirely necessary) - -void setup() { - size(640, 360); - frameRate(30); - colorMode(RGB, 255, 255, 255, 100); - w = width + 16; - - for (int i = 0; i < maxwaves; i++) { - amplitude[i] = random(10,30); - float period = random(100,300); // How many pixels before the wave repeats - dx[i] = (TWO_PI / period) * xspacing; - } - - yvalues = new float[w/xspacing]; -} - -void draw() { - background(0); - calcWave(); - renderWave(); -} - -void calcWave() { - // Increment theta (try different values for 'angular velocity' here - theta += 0.02; - - // Set all height values to zero - for (int i = 0; i < yvalues.length; i++) { - yvalues[i] = 0; - } - - // Accumulate wave height values - for (int j = 0; j < maxwaves; j++) { - float x = theta; - for (int i = 0; i < yvalues.length; i++) { - // Every other wave is cosine instead of sine - if (j % 2 == 0) yvalues[i] += sin(x)*amplitude[j]; - else yvalues[i] += cos(x)*amplitude[j]; - x+=dx[j]; - } - } -} - -void renderWave() { - // A simple way to draw the wave with an ellipse at each location - noStroke(); - fill(255,50); - ellipseMode(CENTER); - for (int x = 0; x < yvalues.length; x++) { - ellipse(x*xspacing,height/2+yvalues[x],16,16); - } -} diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Math/Arctangent/Arctangent.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Math/Arctangent/Arctangent.pde deleted file mode 100644 index 3653077..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Math/Arctangent/Arctangent.pde +++ /dev/null @@ -1,57 +0,0 @@ -/** - * Arctangent. - * - * Move the mouse to change the direction of the eyes. - * The atan2() function computes the angle from each eye - * to the cursor. - */ - -Eye e1, e2, e3; - -void setup() { - size(640, 360); - noStroke(); - e1 = new Eye( 250, 16, 120); - e2 = new Eye( 164, 185, 80); - e3 = new Eye( 420, 230, 220); -} - -void draw() { - background(102); - - e1.update(mouseX, mouseY); - e2.update(mouseX, mouseY); - e3.update(mouseX, mouseY); - - e1.display(); - e2.display(); - e3.display(); -} - -class Eye { - int x, y; - int size; - float angle = 0.0; - - Eye(int tx, int ty, int ts) { - x = tx; - y = ty; - size = ts; - } - - void update(int mx, int my) { - angle = atan2(my-y, mx-x); - } - - void display() { - pushMatrix(); - translate(x, y); - fill(255); - ellipse(0, 0, size, size); - rotate(angle); - fill(153, 204, 0); - ellipse(size/4, 0, size/2, size/2); - popMatrix(); - } -} - diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Math/Distance1D/Distance1D.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Math/Distance1D/Distance1D.pde deleted file mode 100644 index 4070655..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Math/Distance1D/Distance1D.pde +++ /dev/null @@ -1,54 +0,0 @@ -/** - * Distance 1D. - * - * Move the mouse left and right to control the - * speed and direction of the moving shapes. - */ - -float xpos1; -float xpos2; -float xpos3; -float xpos4; -int thin = 8; -int thick = 36; - -void setup() -{ - size(640, 360); - noStroke(); - xpos1 = width/2; - xpos2 = width/2; - xpos3 = width/2; - xpos4 = width/2; -} - -void draw() -{ - background(0); - - float mx = mouseX * 0.4 - width/5.0; - - fill(102); - rect(xpos2, 0, thick, height/2); - fill(204); - rect(xpos1, 0, thin, height/2); - fill(102); - rect(xpos4, height/2, thick, height/2); - fill(204); - rect(xpos3, height/2, thin, height/2); - - xpos1 += mx/16; - xpos2 += mx/64; - xpos3 -= mx/16; - xpos4 -= mx/64; - - if(xpos1 < -thin) { xpos1 = width; } - if(xpos1 > width) { xpos1 = -thin; } - if(xpos2 < -thick) { xpos2 = width; } - if(xpos2 > width) { xpos2 = -thick; } - if(xpos3 < -thin) { xpos3 = width; } - if(xpos3 > width) { xpos3 = -thin; } - if(xpos4 < -thick) { xpos4 = width; } - if(xpos4 > width) { xpos4 = -thick; } -} - diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Math/Distance2D/Distance2D.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Math/Distance2D/Distance2D.pde deleted file mode 100644 index 19a803f..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Math/Distance2D/Distance2D.pde +++ /dev/null @@ -1,27 +0,0 @@ -/** - * Distance 2D. - * - * Move the mouse across the image to obscure and reveal the matrix. - * Measures the distance from the mouse to each square and sets the - * size proportionally. - */ - -float max_distance; - -void setup() { - size(640, 360); - noStroke(); - max_distance = dist(0, 0, width, height); -} - -void draw() { - background(0); - - for(int i = 0; i <= width; i += 20) { - for(int j = 0; j <= height; j += 20) { - float size = dist(mouseX, mouseY, i, j); - size = size/max_distance * 66; - ellipse(i, j, size, size); - } - } -} \ No newline at end of file diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Math/DoubleRandom/DoubleRandom.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Math/DoubleRandom/DoubleRandom.pde deleted file mode 100644 index 082b32d..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Math/DoubleRandom/DoubleRandom.pde +++ /dev/null @@ -1,26 +0,0 @@ -/** - * Double Random - * by Ira Greenberg. - * - * Using two random() calls and the point() function - * to create an irregular sawtooth line. - */ - -int totalPts = 300; -float steps = totalPts + 1; - -void setup() { - size(640, 360); - stroke(255); - frameRate(1); -} - -void draw() { - background(0); - float rand = 0; - for (int i = 1; i < steps; i++) { - point( (width/steps) * i, (height/2) + random(-rand, rand) ); - rand += random(-5, 5); - } -} - diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Math/Graphing2DEquation/Graphing2DEquation.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Math/Graphing2DEquation/Graphing2DEquation.pde deleted file mode 100644 index 1572e85..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Math/Graphing2DEquation/Graphing2DEquation.pde +++ /dev/null @@ -1,39 +0,0 @@ -/** - * Graphing 2D Equations - * by Daniel Shiffman. - * - * Graphics the following equation: - * sin(n*cos(r) + 5*theta) - * where n is a function of horizontal mouse location. - */ - -void setup() { - size(640, 360); -} - -void draw() { - loadPixels(); - float n = (mouseX * 10.0) / width; - float w = 16.0; // 2D space width - float h = 16.0; // 2D space height - float dx = w / width; // Increment x this amount per pixel - float dy = h / height; // Increment y this amount per pixel - float x = -w/2; // Start x at -1 * width / 2 - for (int i = 0; i < width; i++) { - float y = -h/2; // Start y at -1 * height / 2 - for (int j = 0; j < height; j++) { - float r = sqrt((x*x) + (y*y)); // Convert cartesian to polar - float theta = atan2(y,x); // Convert cartesian to polar - // Compute 2D polar coordinate function - float val = sin(n*cos(r) + 5 * theta); // Results in a value between -1 and 1 - //float val = cos(r); // Another simple function - //float val = sin(theta); // Another simple function - // Map resulting vale to grayscale value - pixels[i+j*width] = color((val + 1.0) * 255.0/2.0); // Scale to between 0 and 255 - y += dy; // Increment y - } - x += dx; // Increment x - } - updatePixels(); -} - diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Math/IncrementDecrement/IncrementDecrement.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Math/IncrementDecrement/IncrementDecrement.pde deleted file mode 100644 index 49b1152..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Math/IncrementDecrement/IncrementDecrement.pde +++ /dev/null @@ -1,44 +0,0 @@ -/** - * Increment Decrement. - * - * Writing "a++" is equivalent to "a = a + 1". - * Writing "a--" is equivalent to "a = a - 1". - */ - -int a; -int b; -boolean direction; - -void setup() { - size(640, 360); - colorMode(RGB, width); - a = 0; - b = width; - direction = true; - frameRate(30); -} - -void draw() { - a++; - if(a > width) { - a = 0; - direction = !direction; - } - if(direction == true){ - stroke(a); - } else { - stroke(width-a); - } - line(a, 0, a, height/2); - - b--; - if(b < 0) { - b = width; - } - if(direction == true) { - stroke(width-b); - } else { - stroke(b); - } - line(b, height/2+1, b, height); -} diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Math/Interpolate/Interpolate.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Math/Interpolate/Interpolate.pde deleted file mode 100644 index a359f0b..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Math/Interpolate/Interpolate.pde +++ /dev/null @@ -1,35 +0,0 @@ -/** - * Linear Interpolation. - * - * Move the mouse across the screen and the symbol will follow. - * Between drawing each frame of the animation, the ellipse moves - * part of the distance (0.05) from its current position toward - * the cursor using the lerp() function - * - * This is the same as the Easing under input only with lerp() instead. - */ - -float x; -float y; - -void setup() { - size(640, 360); - noStroke(); -} - -void draw() { - background(51); - - // lerp() calculates a number between two numbers at a specific increment. - // The amt parameter is the amount to interpolate between the two values - // where 0.0 equal to the first point, 0.1 is very near the first point, 0.5 - // is half-way in between, etc. - - // Here we are moving 5% of the way to the mouse location each frame - x = lerp(x, mouseX, 0.05); - y = lerp(y, mouseY, 0.05); - - fill(255); - stroke(255); - ellipse(x, y, 66, 66); -} \ No newline at end of file diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Math/Map/Map.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Math/Map/Map.pde deleted file mode 100644 index 5bde98c..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Math/Map/Map.pde +++ /dev/null @@ -1,24 +0,0 @@ -/** - * Map. - * - * Use the map() function to take any number and scale it to a new number - * that is more useful for the project that you are working on. For example, use the - * numbers from the mouse position to control the size or color of a shape. - * In this example, the mouse’s x-coordinate (numbers between 0 and 360) are scaled to - * new numbers to define the color and size of a circle. - */ - -void setup() { - size(640, 360); - noStroke(); -} - -void draw() { - background(0); - // Scale the mouseX value from 0 to 640 to a range between 0 and 175 - float c = map(mouseX, 0, width, 0, 175); - // Scale the mouseX value from 0 to 640 to a range between 40 and 300 - float d = map(mouseX, 0, width, 40, 300); - fill(255, c, 0); - ellipse(width/2, height/2, d, d); -} diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Math/Noise1D/Noise1D.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Math/Noise1D/Noise1D.pde deleted file mode 100644 index 3b83cfa..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Math/Noise1D/Noise1D.pde +++ /dev/null @@ -1,32 +0,0 @@ -/** - * Noise1D. - * - * Using 1D Perlin Noise to assign location. - */ - -float xoff = 0.0; -float xincrement = 0.01; - -void setup() { - size(640, 360); - background(0); - noStroke(); -} - -void draw() { - // Create an alpha blended background - fill(0, 10); - rect(0,0,width,height); - - //float n = random(0,width); // Try this line instead of noise - - // Get a noise value based on xoff and scale it according to the window's width - float n = noise(xoff)*width; - - // With each cycle, increment xoff - xoff += xincrement; - - // Draw the ellipse at the value produced by perlin noise - fill(200); - ellipse(n,height/2, 64, 64); -} \ No newline at end of file diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Math/Noise2D/Noise2D.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Math/Noise2D/Noise2D.pde deleted file mode 100644 index b933490..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Math/Noise2D/Noise2D.pde +++ /dev/null @@ -1,44 +0,0 @@ -/** - * Noise2D - * by Daniel Shiffman. - * - * Using 2D noise to create simple texture. - */ - -float increment = 0.02; - -void setup() { - size(640, 360); -} - -void draw() { - - loadPixels(); - - float xoff = 0.0; // Start xoff at 0 - float detail = map(mouseX, 0, width, 0.1, 0.6); - noiseDetail(8, detail); - - // For every x,y coordinate in a 2D space, calculate a noise value and produce a brightness value - for (int x = 0; x < width; x++) { - xoff += increment; // Increment xoff - float yoff = 0.0; // For every xoff, start yoff at 0 - for (int y = 0; y < height; y++) { - yoff += increment; // Increment yoff - - // Calculate noise and scale by 255 - float bright = noise(xoff, yoff) * 255; - - // Try using this line instead - //float bright = random(0,255); - - // Set each pixel onscreen to a grayscale value - pixels[x+y*width] = color(bright); - } - } - - updatePixels(); -} - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Math/Noise3D/Noise3D.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Math/Noise3D/Noise3D.pde deleted file mode 100644 index aa37b53..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Math/Noise3D/Noise3D.pde +++ /dev/null @@ -1,53 +0,0 @@ -/** - * Noise3D. - * - * Using 3D noise to create simple animated texture. - * Here, the third dimension ('z') is treated as time. - */ - -float increment = 0.01; -// The noise function's 3rd argument, a global variable that increments once per cycle -float zoff = 0.0; -// We will increment zoff differently than xoff and yoff -float zincrement = 0.02; - -void setup() { - size(640, 360); - frameRate(30); -} - -void draw() { - - // Optional: adjust noise detail here - // noiseDetail(8,0.65f); - - loadPixels(); - - float xoff = 0.0; // Start xoff at 0 - - // For every x,y coordinate in a 2D space, calculate a noise value and produce a brightness value - for (int x = 0; x < width; x++) { - xoff += increment; // Increment xoff - float yoff = 0.0; // For every xoff, start yoff at 0 - for (int y = 0; y < height; y++) { - yoff += increment; // Increment yoff - - // Calculate noise and scale by 255 - float bright = noise(xoff,yoff,zoff)*255; - - // Try using this line instead - //float bright = random(0,255); - - // Set each pixel onscreen to a grayscale value - pixels[x+y*width] = color(bright,bright,bright); - } - } - updatePixels(); - - zoff += zincrement; // Increment zoff - - -} - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Math/NoiseWave/NoiseWave.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Math/NoiseWave/NoiseWave.pde deleted file mode 100644 index 152a00f..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Math/NoiseWave/NoiseWave.pde +++ /dev/null @@ -1,40 +0,0 @@ -/** - * Noise Wave - * by Daniel Shiffman. - * - * Using Perlin Noise to generate a wave-like pattern. - */ - -float yoff = 0.0; // 2nd dimension of perlin noise - -void setup() { - size(640, 360); -} - -void draw() { - background(51); - - fill(255); - // We are going to draw a polygon out of the wave points - beginShape(); - - float xoff = 0; // Option #1: 2D Noise - // float xoff = yoff; // Option #2: 1D Noise - - // Iterate over horizontal pixels - for (float x = 0; x <= width; x += 10) { - // Calculate a y value according to noise, map to - float y = map(noise(xoff, yoff), 0, 1, 200,300); // Option #1: 2D Noise - // float y = map(noise(xoff), 0, 1, 200,300); // Option #2: 1D Noise - - // Set the vertex - vertex(x, y); - // Increment x dimension for noise - xoff += 0.05; - } - // increment y dimension for noise - yoff += 0.01; - vertex(width, height); - vertex(0, height); - endShape(CLOSE); -} diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Math/OperatorPrecedence/OperatorPrecedence.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Math/OperatorPrecedence/OperatorPrecedence.pde deleted file mode 100644 index 9fd09e4..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Math/OperatorPrecedence/OperatorPrecedence.pde +++ /dev/null @@ -1,58 +0,0 @@ -/** - * Operator Precedence - * - * If you don't explicitly state the order in which - * an expression is evaluated, they are evaluated based - * on the operator precedence. For example, in the statement - * "4+2*8", the 2 will first be multiplied by 8 and then the result will - * be added to 4. This is because the "*" has a higher precedence - * than the "+". To avoid ambiguity in reading the program, - * it is recommended that is statement is written as "4+(2*8)". - * The order of evaluation can be controlled through placement of - * parenthesis in the code. A table of operator precedence follows below. - * - */ - -// The highest precedence is at the top of the list and -// the lowest is at the bottom. -// Multiplicative: * / % -// Additive: + - -// Relational: < > <= >= -// Equality: == != -// Logical AND: && -// Logical OR: || -// Assignment: = += -= *= /= %= - -size(640, 360); -background(51); -noFill(); -stroke(51); - -stroke(204); -for(int i=0; i< width-20; i+= 4) { - // The 30 is added to 70 and then evaluated - // if it is greater than the current value of "i" - // For clarity, write as "if (i > (30 + 70)) {" - if (i > 30 + 70) { - line(i, 0, i, 50); - } -} - -stroke(255); -// The 2 is multiplied by the 8 and the result is added to the 4 -// For clarity, write as "rect(5 + (2 * 8), 0, 90, 20);" -rect(4 + 2 * 8, 52, 290, 48); -rect((4 + 2) * 8, 100, 290, 49); - -stroke(153); -for (int i = 0; i < width; i+= 2) { - // The relational statements are evaluated - // first, and then the logical AND statements and - // finally the logical OR. For clarity, write as: - // "if(((i > 20) && (i < 50)) || ((i > 100) && (i < width-20))) {" - if (i > 20 && i < 50 || i > 100 && i < width-20) { - line(i, 151, i, height-1); - } -} - - diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Math/PolarToCartesian/PolarToCartesian.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Math/PolarToCartesian/PolarToCartesian.pde deleted file mode 100644 index 0545049..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Math/PolarToCartesian/PolarToCartesian.pde +++ /dev/null @@ -1,52 +0,0 @@ -/** - * PolarToCartesian - * by Daniel Shiffman. - * - * Convert a polar coordinate (r,theta) to cartesian (x,y): - * x = r * cos(theta) - * y = r * sin(theta) - */ - -float r; - -// Angle and angular velocity, accleration -float theta; -float theta_vel; -float theta_acc; - -void setup() { - size(640, 360); - - // Initialize all values - r = height * 0.45; - theta = 0; - theta_vel = 0; - theta_acc = 0.0001; -} - -void draw() { - - background(0); - - // Translate the origin point to the center of the screen - translate(width/2, height/2); - - // Convert polar to cartesian - float x = r * cos(theta); - float y = r * sin(theta); - - // Draw the ellipse at the cartesian coordinate - ellipseMode(CENTER); - noStroke(); - fill(200); - ellipse(x, y, 32, 32); - - // Apply acceleration and velocity to angle (r remains static in this example) - theta_vel += theta_acc; - theta += theta_vel; - -} - - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Math/Random/Random.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Math/Random/Random.pde deleted file mode 100644 index 56ac420..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Math/Random/Random.pde +++ /dev/null @@ -1,22 +0,0 @@ -/** - * Random. - * - * Random numbers create the basis of this image. - * Each time the program is loaded the result is different. - */ - -void setup() { - size(640, 360); - background(0); - strokeWeight(20); - frameRate(2); -} - -void draw() { - for (int i = 0; i < width; i++) { - float r = random(255); - stroke(r); - line(i, 0, i, height); - } -} - diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Math/RandomGaussian/RandomGaussian.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Math/RandomGaussian/RandomGaussian.pde deleted file mode 100644 index d71501d..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Math/RandomGaussian/RandomGaussian.pde +++ /dev/null @@ -1,28 +0,0 @@ -/** - * Random Gaussian. - * - * This sketch draws ellipses with x and y locations tied to a gaussian distribution of random numbers. - */ - -void setup() { - size(640, 360); - background(0); -} - -void draw() { - - // Get a gaussian random number w/ mean of 0 and standard deviation of 1.0 - float val = randomGaussian(); - - float sd = 60; // Define a standard deviation - float mean = width/2; // Define a mean value (middle of the screen along the x-axis) - float x = ( val * sd ) + mean; // Scale the gaussian random number by standard deviation and mean - - noStroke(); - fill(255, 10); - noStroke(); - ellipse(x, height/2, 32, 32); // Draw an ellipse at our "normal" random location -} - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Math/Sine/Sine.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Math/Sine/Sine.pde deleted file mode 100644 index 7e29cbd..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Math/Sine/Sine.pde +++ /dev/null @@ -1,32 +0,0 @@ -/** - * Sine. - * - * Smoothly scaling size with the sin() function. - */ - -float diameter; -float angle = 0; - -void setup() { - size(640, 360); - diameter = height - 10; - noStroke(); - noStroke(); - fill(255, 204, 0); -} - -void draw() { - - background(0); - - float d1 = 10 + (sin(angle) * diameter/2) + diameter/2; - float d2 = 10 + (sin(angle + PI/2) * diameter/2) + diameter/2; - float d3 = 10 + (sin(angle + PI) * diameter/2) + diameter/2; - - ellipse(0, height/2, d1, d1); - ellipse(width/2, height/2, d2, d2); - ellipse(width, height/2, d3, d3); - - angle += 0.02; -} - diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Math/SineCosine/SineCosine.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Math/SineCosine/SineCosine.pde deleted file mode 100644 index 85fe3b7..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Math/SineCosine/SineCosine.pde +++ /dev/null @@ -1,47 +0,0 @@ -/** - * Sine Cosine. - * - * Linear movement with sin() and cos(). - * Numbers between 0 and PI*2 (TWO_PI which angles roughly 6.28) - * are put into these functions and numbers between -1 and 1 are - * returned. These values are then scaled to produce larger movements. - */ - -float x1, x2, y1, y2; -float angle1, angle2; -float scalar = 70; - -void setup() { - size(640, 360); - noStroke(); - rectMode(CENTER); -} - -void draw() { - background(0); - - float ang1 = radians(angle1); - float ang2 = radians(angle2); - - x1 = width/2 + (scalar * cos(ang1)); - x2 = width/2 + (scalar * cos(ang2)); - - y1 = height/2 + (scalar * sin(ang1)); - y2 = height/2 + (scalar * sin(ang2)); - - fill(255); - rect(width*0.5, height*0.5, 140, 140); - - fill(0, 102, 153); - ellipse(x1, height*0.5 - 120, scalar, scalar); - ellipse(x2, height*0.5 + 120, scalar, scalar); - - fill(255, 204, 0); - ellipse(width*0.5 - 120, y1, scalar, scalar); - ellipse(width*0.5 + 120, y2, scalar, scalar); - - angle1 += 2; - angle2 += 3; - -} - diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Math/SineWave/SineWave.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Math/SineWave/SineWave.pde deleted file mode 100644 index f242b35..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Math/SineWave/SineWave.pde +++ /dev/null @@ -1,50 +0,0 @@ -/** - * Sine Wave - * by Daniel Shiffman. - * - * Render a simple sine wave. - */ - -int xspacing = 16; // How far apart should each horizontal location be spaced -int w; // Width of entire wave - -float theta = 0.0; // Start angle at 0 -float amplitude = 75.0; // Height of wave -float period = 500.0; // How many pixels before the wave repeats -float dx; // Value for incrementing X, a function of period and xspacing -float[] yvalues; // Using an array to store height values for the wave - -void setup() { - size(640, 360); - w = width+16; - dx = (TWO_PI / period) * xspacing; - yvalues = new float[w/xspacing]; -} - -void draw() { - background(0); - calcWave(); - renderWave(); -} - -void calcWave() { - // Increment theta (try different values for 'angular velocity' here - theta += 0.02; - - // For every x value, calculate a y value with sine function - float x = theta; - for (int i = 0; i < yvalues.length; i++) { - yvalues[i] = sin(x)*amplitude; - x+=dx; - } -} - -void renderWave() { - noStroke(); - fill(255); - // A simple way to draw the wave with an ellipse at each location - for (int x = 0; x < yvalues.length; x++) { - ellipse(x*xspacing, height/2+yvalues[x], 16, 16); - } -} - diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Objects/CompositeObjects/CompositeObjects.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Objects/CompositeObjects/CompositeObjects.pde deleted file mode 100644 index f5b1fca..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Objects/CompositeObjects/CompositeObjects.pde +++ /dev/null @@ -1,23 +0,0 @@ -/** - * Composite Objects - * - * An object can include several other objects. Creating such composite objects - * is a good way to use the principles of modularity and build higher levels of - * abstraction within a program. - */ - -EggRing er1, er2; - - -void setup() { - size(640, 360); - er1 = new EggRing(width*0.45, height*0.5, 0.1, 120); - er2 = new EggRing(width*0.65, height*0.8, 0.05, 180); -} - - -void draw() { - background(0); - er1.transmit(); - er2.transmit(); -} diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Objects/CompositeObjects/Egg.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Objects/CompositeObjects/Egg.pde deleted file mode 100644 index 6dcdebf..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Objects/CompositeObjects/Egg.pde +++ /dev/null @@ -1,36 +0,0 @@ -class Egg { - float x, y; // X-coordinate, y-coordinate - float tilt; // Left and right angle offset - float angle; // Used to define the tilt - float scalar; // Height of the egg - - // Constructor - Egg(float xpos, float ypos, float t, float s) { - x = xpos; - y = ypos; - tilt = t; - scalar = s / 100.0; - } - - void wobble() { - tilt = cos(angle) / 8; - angle += 0.1; - } - - void display() { - noStroke(); - fill(255); - pushMatrix(); - translate(x, y); - rotate(tilt); - scale(scalar); - beginShape(); - vertex(0, -100); - bezierVertex(25, -100, 40, -65, 40, -40); - bezierVertex(40, -15, 25, 0, 0, 0); - bezierVertex(-25, 0, -40, -15, -40, -40); - bezierVertex(-40, -65, -25, -100, 0, -100); - endShape(); - popMatrix(); - } -} diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Objects/CompositeObjects/EggRing.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Objects/CompositeObjects/EggRing.pde deleted file mode 100644 index 699c3d1..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Objects/CompositeObjects/EggRing.pde +++ /dev/null @@ -1,19 +0,0 @@ -class EggRing { - Egg ovoid; - Ring circle = new Ring(); - - EggRing(float x, float y, float t, float sp) { - ovoid = new Egg(x, y, t, sp); - circle.start(x, y - sp/2); - } - - void transmit() { - ovoid.wobble(); - ovoid.display(); - circle.grow(); - circle.display(); - if (circle.on == false) { - circle.on = true; - } - } -} diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Objects/CompositeObjects/Ring.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Objects/CompositeObjects/Ring.pde deleted file mode 100644 index 78edb45..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Objects/CompositeObjects/Ring.pde +++ /dev/null @@ -1,31 +0,0 @@ -class Ring { - - float x, y; // X-coordinate, y-coordinate - float diameter; // Diameter of the ring - boolean on = false; // Turns the display on and off - - void start(float xpos, float ypos) { - x = xpos; - y = ypos; - on = true; - diameter = 1; - } - - void grow() { - if (on == true) { - diameter += 0.5; - if (diameter > width*2) { - diameter = 0.0; - } - } - } - - void display() { - if (on == true) { - noFill(); - strokeWeight(4); - stroke(155, 153); - ellipse(x, y, diameter, diameter); - } - } -} diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Objects/Inheritance/Inheritance.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Objects/Inheritance/Inheritance.pde deleted file mode 100644 index cf5e551..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Objects/Inheritance/Inheritance.pde +++ /dev/null @@ -1,72 +0,0 @@ -/** - * Inheritance - * - * A class can be defined using another class as a foundation. In object-oriented - * programming terminology, one class can inherit fi elds and methods from another. - * An object that inherits from another is called a subclass, and the object it - * inherits from is called a superclass. A subclass extends the superclass. - */ - -SpinSpots spots; -SpinArm arm; - -void setup() { - size(640, 360); - arm = new SpinArm(width/2, height/2, 0.01); - spots = new SpinSpots(width/2, height/2, -0.02, 90.0); -} - -void draw() { - background(204); - arm.update(); - arm.display(); - spots.update(); - spots.display(); -} - -class Spin { - float x, y, speed; - float angle = 0.0; - Spin(float xpos, float ypos, float s) { - x = xpos; - y = ypos; - speed = s; - } - void update() { - angle += speed; - } -} - -class SpinArm extends Spin { - SpinArm(float x, float y, float s) { - super(x, y, s); - } - void display() { - strokeWeight(1); - stroke(0); - pushMatrix(); - translate(x, y); - angle += speed; - rotate(angle); - line(0, 0, 165, 0); - popMatrix(); - } -} - -class SpinSpots extends Spin { - float dim; - SpinSpots(float x, float y, float s, float d) { - super(x, y, s); - dim = d; - } - void display() { - noStroke(); - pushMatrix(); - translate(x, y); - angle += speed; - rotate(angle); - ellipse(-dim/2, 0, dim, dim); - ellipse(dim/2, 0, dim, dim); - popMatrix(); - } -} diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Objects/MultipleConstructors/MultipleConstructors.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Objects/MultipleConstructors/MultipleConstructors.pde deleted file mode 100644 index fb01916..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Objects/MultipleConstructors/MultipleConstructors.pde +++ /dev/null @@ -1,49 +0,0 @@ -/** - * Multiple constructors - * - * A class can have multiple constructors that assign the fields in different ways. - * Sometimes it's beneficial to specify every aspect of an object's data by assigning - * parameters to the fields, but other times it might be appropriate to define only - * one or a few. - */ - -Spot sp1, sp2; - -void setup() { - size(640, 360); - background(204); - noLoop(); - // Run the constructor without parameters - sp1 = new Spot(); - // Run the constructor with three parameters - sp2 = new Spot(width*0.5, height*0.5, 120); -} - -void draw() { - sp1.display(); - sp2.display(); -} - -class Spot { - float x, y, radius; - - // First version of the Spot constructor; - // the fields are assigned default values - Spot() { - radius = 40; - x = width*0.25; - y = height*0.5; - } - - // Second version of the Spot constructor; - // the fields are assigned with parameters - Spot(float xpos, float ypos, float r) { - x = xpos; - y = ypos; - radius = r; - } - void display() { - ellipse(x, y, radius*2, radius*2); - } - -} diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Objects/Objects/Objects.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Objects/Objects/Objects.pde deleted file mode 100644 index 7ba7bef..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Objects/Objects/Objects.pde +++ /dev/null @@ -1,71 +0,0 @@ -/** - * Objects - * by hbarragan. - * - * Move the cursor across the image to change the speed and positions - * of the geometry. The class MRect defines a group of lines. - */ - -MRect r1, r2, r3, r4; - -void setup() -{ - size(640, 360); - fill(255, 204); - noStroke(); - r1 = new MRect(1, 134.0, 0.532, 0.1*height, 10.0, 60.0); - r2 = new MRect(2, 44.0, 0.166, 0.3*height, 5.0, 50.0); - r3 = new MRect(2, 58.0, 0.332, 0.4*height, 10.0, 35.0); - r4 = new MRect(1, 120.0, 0.0498, 0.9*height, 15.0, 60.0); -} - -void draw() -{ - background(0); - - r1.display(); - r2.display(); - r3.display(); - r4.display(); - - r1.move(mouseX-(width/2), mouseY+(height*0.1), 30); - r2.move((mouseX+(width*0.05))%width, mouseY+(height*0.025), 20); - r3.move(mouseX/4, mouseY-(height*0.025), 40); - r4.move(mouseX-(width/2), (height-mouseY), 50); -} - -class MRect -{ - int w; // single bar width - float xpos; // rect xposition - float h; // rect height - float ypos ; // rect yposition - float d; // single bar distance - float t; // number of bars - - MRect(int iw, float ixp, float ih, float iyp, float id, float it) { - w = iw; - xpos = ixp; - h = ih; - ypos = iyp; - d = id; - t = it; - } - - void move (float posX, float posY, float damping) { - float dif = ypos - posY; - if (abs(dif) > 1) { - ypos -= dif/damping; - } - dif = xpos - posX; - if (abs(dif) > 1) { - xpos -= dif/damping; - } - } - - void display() { - for (int i=0; i - - - - -]> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Shape/GetChild/GetChild.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Shape/GetChild/GetChild.pde deleted file mode 100644 index 08767f4..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Shape/GetChild/GetChild.pde +++ /dev/null @@ -1,43 +0,0 @@ -/** - * Get Child. - * - * SVG files can be made of many individual shapes. - * Each of these shapes (called a "child") has its own name - * that can be used to extract it from the "parent" file. - * This example loads a map of the United States and creates - * two new PShape objects by extracting the data from two states. - */ - -PShape usa; -PShape michigan; -PShape ohio; - -void setup() { - size(640, 360); - usa = loadShape("usa-wikipedia.svg"); - michigan = usa.getChild("MI"); - ohio = usa.getChild("OH"); -} - -void draw() { - background(255); - - // Draw the full map - shape(usa, -600, -180); - - // Disable the colors found in the SVG file - michigan.disableStyle(); - // Set our own coloring - fill(0, 51, 102); - noStroke(); - // Draw a single state - shape(michigan, -600, -180); // Wolverines! - - // Disable the colors found in the SVG file - ohio.disableStyle(); - // Set our own coloring - fill(153, 0, 0); - noStroke(); - // Draw a single state - shape(ohio, -600, -180); // Buckeyes! -} diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Shape/GetChild/data/usa-wikipedia.svg b/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Shape/GetChild/data/usa-wikipedia.svg deleted file mode 100644 index 5b8b8ed..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Shape/GetChild/data/usa-wikipedia.svg +++ /dev/null @@ -1,452 +0,0 @@ - - - - -]> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Shape/LoadDisplayOBJ/LoadDisplayOBJ.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Shape/LoadDisplayOBJ/LoadDisplayOBJ.pde deleted file mode 100644 index 4d9edb5..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Shape/LoadDisplayOBJ/LoadDisplayOBJ.pde +++ /dev/null @@ -1,30 +0,0 @@ -/** - * Load and Display an OBJ Shape. - * - * The loadShape() command is used to read simple SVG (Scalable Vector Graphics) - * files and OBJ (Object) files into a Processing sketch. This example loads an - * OBJ file of a rocket and displays it to the screen. - */ - - -PShape rocket; - -float ry; - -public void setup() { - size(640, 360, P3D); - - rocket = loadShape("rocket.obj"); -} - -public void draw() { - background(0); - lights(); - - translate(width/2, height/2 + 100, -200); - rotateZ(PI); - rotateY(ry); - shape(rocket); - - ry += 0.02; -} diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Shape/LoadDisplayOBJ/data/rocket.mtl b/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Shape/LoadDisplayOBJ/data/rocket.mtl deleted file mode 100644 index fbce8d0..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Shape/LoadDisplayOBJ/data/rocket.mtl +++ /dev/null @@ -1,8 +0,0 @@ -newmtl Default -illum 2 -Ka 0.698039 0.698039 0.698039 -Kd 0.698039 0.698039 0.698039 -Ks 0.710000 0.710000 0.710000 -Ns 76.109253 -map_Kd rocket.png - diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Shape/LoadDisplayOBJ/data/rocket.png b/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Shape/LoadDisplayOBJ/data/rocket.png deleted file mode 100644 index b9724ab..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Shape/LoadDisplayOBJ/data/rocket.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Shape/LoadDisplaySVG/LoadDisplaySVG.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Shape/LoadDisplaySVG/LoadDisplaySVG.pde deleted file mode 100644 index b1c9114..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Shape/LoadDisplaySVG/LoadDisplaySVG.pde +++ /dev/null @@ -1,23 +0,0 @@ -/** - * Load and Display a Shape. - * Illustration by George Brower. - * - * The loadShape() command is used to read simple SVG (Scalable Vector Graphics) - * files and OBJ (Object) files into a Processing sketch. This example loads an - * SVG file of a monster robot face and displays it to the screen. - */ - -PShape bot; - -void setup() { - size(640, 360); - // The file "bot1.svg" must be in the data folder - // of the current sketch to load successfully - bot = loadShape("bot1.svg"); -} - -void draw(){ - background(102); - shape(bot, 110, 90, 100, 100); // Draw at coordinate (110, 90) at size 100 x 100 - shape(bot, 280, 40); // Draw at coordinate (280, 40) at the default size -} diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Shape/LoadDisplaySVG/data/bot1.svg b/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Shape/LoadDisplaySVG/data/bot1.svg deleted file mode 100644 index 91b130b..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Shape/LoadDisplaySVG/data/bot1.svg +++ /dev/null @@ -1,160 +0,0 @@ - - - - - -]> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Shape/ScaleShape/ScaleShape.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Shape/ScaleShape/ScaleShape.pde deleted file mode 100644 index 80428d4..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Shape/ScaleShape/ScaleShape.pde +++ /dev/null @@ -1,25 +0,0 @@ -/** - * Scale Shape. - * Illustration by George Brower. - * - * Move the mouse left and right to zoom the SVG file. - * This shows how, unlike an imported image, the lines - * remain smooth at any size. - */ - -PShape bot; - -void setup() { - size(640, 360); - // The file "bot1.svg" must be in the data folder - // of the current sketch to load successfully - bot = loadShape("bot1.svg"); -} - -void draw() { - background(102); - translate(width/2, height/2); - float zoom = map(mouseX, 0, width, 0.1, 4.5); - scale(zoom); - shape(bot, -140, -140); -} diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Shape/ScaleShape/data/bot1.svg b/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Shape/ScaleShape/data/bot1.svg deleted file mode 100644 index 91b130b..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Shape/ScaleShape/data/bot1.svg +++ /dev/null @@ -1,160 +0,0 @@ - - - - - -]> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Shape/ShapeVertices/ShapeVertices.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Shape/ShapeVertices/ShapeVertices.pde deleted file mode 100644 index a28eeb3..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Shape/ShapeVertices/ShapeVertices.pde +++ /dev/null @@ -1,42 +0,0 @@ -/** - * Shape Vertices. - * - * How to iterate over the vertices of a shape. - * When loading an obj or SVG, getVertexCount() - * will typically return 0 since all the vertices - * are in the child shapes. - * - * You should iterate through the children and then - * iterate through their vertices. - */ - -// The shape -PShape uk; - -void setup() { - size(640, 360); - // Load the shape - uk = loadShape("uk.svg"); -} - -void draw() { - background(51); - // Center where we will draw all the vertices - translate(width/2 - uk.width/2, height/2- uk.height/2); - - // Iterate over the children - int children = uk.getChildCount(); - for (int i = 0; i < children; i++) { - PShape child = uk.getChild(i); - int total = child.getVertexCount(); - - // Now we can actually get the vertices from each child - for (int j = 0; j < total; j++) { - PVector v = child.getVertex(j); - // Cycling brightness for each vertex - stroke((frameCount + (i+1)*j) % 255); - // Just a dot for each one - point(v.x, v.y); - } - } -} diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Shape/ShapeVertices/data/uk.svg b/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Shape/ShapeVertices/data/uk.svg deleted file mode 100644 index 00d6d65..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Shape/ShapeVertices/data/uk.svg +++ /dev/null @@ -1,569 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Structure/Coordinates/Coordinates.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Structure/Coordinates/Coordinates.pde deleted file mode 100644 index 222ab50..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Structure/Coordinates/Coordinates.pde +++ /dev/null @@ -1,37 +0,0 @@ -/** - * Coordinates. - * - * All shapes drawn to the screen have a position that is - * specified as a coordinate. All coordinates are measured - * as the distance from the origin in units of pixels. - * The origin [0, 0] is the coordinate is in the upper left - * of the window and the coordinate in the lower right is - * [width-1, height-1]. - */ - -// Sets the screen to be 640 pixels wide and 360 pixels high -size(640, 360); - -// Set the background to black and turn off the fill color -background(0); -noFill(); - -// The two parameters of the point() method each specify coordinates. -// The first parameter is the x-coordinate and the second is the Y -stroke(255); -point(width * 0.5, height * 0.5); -point(width * 0.5, height * 0.25); - -// Coordinates are used for drawing all shapes, not just points. -// Parameters for different functions are used for different purposes. -// For example, the first two parameters to line() specify -// the coordinates of the first endpoint and the second two parameters -// specify the second endpoint -stroke(0, 153, 255); -line(0, height*0.33, width, height*0.33); - -// By default, the first two parameters to rect() are the -// coordinates of the upper-left corner and the second pair -// is the width and height -stroke(255, 153, 0); -rect(width*0.25, height*0.1, width * 0.5, height * 0.8); diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Structure/CreateGraphics/CreateGraphics.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Structure/CreateGraphics/CreateGraphics.pde deleted file mode 100644 index 62d6984..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Structure/CreateGraphics/CreateGraphics.pde +++ /dev/null @@ -1,34 +0,0 @@ -/** - * Create Graphics. - * - * The createGraphics() function creates an object from the PGraphics class - * PGraphics is the main graphics and rendering context for Processing. - * The beginDraw() method is necessary to prepare for drawing and endDraw() is - * necessary to finish. Use this class if you need to draw into an off-screen - * graphics buffer or to maintain two contexts with different properties. - */ - -PGraphics pg; - -void setup() { - size(640, 360); - pg = createGraphics(400, 200); -} - -void draw() { - fill(0, 12); - rect(0, 0, width, height); - fill(255); - noStroke(); - ellipse(mouseX, mouseY, 60, 60); - - pg.beginDraw(); - pg.background(51); - pg.noFill(); - pg.stroke(255); - pg.ellipse(mouseX-120, mouseY-60, 60, 60); - pg.endDraw(); - - // Draw the offscreen buffer to the screen with image() - image(pg, 120, 60); -} diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Structure/CreateGraphics/data/mask.jpg b/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Structure/CreateGraphics/data/mask.jpg deleted file mode 100644 index bbd1382..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Structure/CreateGraphics/data/mask.jpg and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Structure/CreateGraphics/data/test.jpg b/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Structure/CreateGraphics/data/test.jpg deleted file mode 100644 index 04d3fc5..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Structure/CreateGraphics/data/test.jpg and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Structure/Functions/Functions.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Structure/Functions/Functions.pde deleted file mode 100644 index b838b61..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Structure/Functions/Functions.pde +++ /dev/null @@ -1,29 +0,0 @@ -/** - * Functions. - * - * The drawTarget() function makes it easy to draw many distinct targets. - * Each call to drawTarget() specifies the position, size, and number of - * rings for each target. - */ - -void setup() { - size(640, 360); - background(51); - noStroke(); - noLoop(); -} - -void draw() { - drawTarget(width*0.25, height*0.4, 200, 4); - drawTarget(width*0.5, height*0.5, 300, 10); - drawTarget(width*0.75, height*0.3, 120, 6); -} - -void drawTarget(float xloc, float yloc, int size, int num) { - float grayvalues = 255/num; - float steps = size/num; - for (int i = 0; i < num; i++) { - fill(i*grayvalues); - ellipse(xloc, yloc, size - i*steps, size - i*steps); - } -} diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Structure/Loop/Loop.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Structure/Loop/Loop.pde deleted file mode 100644 index 1ad323f..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Structure/Loop/Loop.pde +++ /dev/null @@ -1,39 +0,0 @@ -/** - * Loop. - * - * The loop() function causes draw() to execute - * continuously. If noLoop is called in setup() - * the draw() is only executed once. In this example - * click the mouse to execute loop(), which will - * cause the draw() the execute continuously. - */ - -float y = 100; - -// The statements in the setup() function -// run once when the program begins -void setup() { - size(640, 360); // Size should be the first statement - stroke(255); // Set stroke color to white - noLoop(); - - y = height * 0.5; -} - -// The statements in draw() are run until the -// program is stopped. Each statement is run in -// sequence and after the last line is read, the first -// line is run again. -void draw() { - background(0); // Set the background to black - line(0, y, width, y); - - y = y - 1; - if (y < 0) { - y = height; - } -} - -void mousePressed() { - loop(); -} diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Structure/NoLoop/NoLoop.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Structure/NoLoop/NoLoop.pde deleted file mode 100644 index 595de53..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Structure/NoLoop/NoLoop.pde +++ /dev/null @@ -1,34 +0,0 @@ -/** - * No Loop. - * - * The noLoop() function causes draw() to only - * execute once. Without calling noLoop(), the - * code inside draw() is run continually. - */ - -float y; - -// The statements in the setup() function -// execute once when the program begins -void setup() -{ - size(640, 360); // Size should be the first statement - stroke(255); // Set line drawing color to white - noLoop(); - - y = height * 0.5; -} - -// The statements in draw() are executed until the -// program is stopped. Each statement is executed in -// sequence and after the last line is read, the first -// line is executed again. -void draw() -{ - background(0); // Set the background to black - y = y - 1; - if (y < 0) { y = height; } - line(0, y, width, y); -} - - diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Structure/Recursion/Recursion.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Structure/Recursion/Recursion.pde deleted file mode 100644 index 5aff5ef..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Structure/Recursion/Recursion.pde +++ /dev/null @@ -1,28 +0,0 @@ -/** - * Recursion. - * - * A demonstration of recursion, which means functions call themselves. - * Notice how the drawCircle() function calls itself at the end of its block. - * It continues to do this until the variable "level" is equal to 1. - */ - -void setup() { - size(640, 360); - noStroke(); - noLoop(); -} - -void draw() { - drawCircle(width/2, 280, 6); -} - -void drawCircle(int x, int radius, int level) { - float tt = 126 * level/4.0; - fill(tt); - ellipse(x, height/2, radius*2, radius*2); - if(level > 1) { - level = level - 1; - drawCircle(x - radius/2, radius/2, level); - drawCircle(x + radius/2, radius/2, level); - } -} diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Structure/Redraw/Redraw.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Structure/Redraw/Redraw.pde deleted file mode 100644 index 807f8e5..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Structure/Redraw/Redraw.pde +++ /dev/null @@ -1,35 +0,0 @@ -/** - * Redraw. - * - * The redraw() function makes draw() execute once. - * In this example, draw() is executed once every time - * the mouse is clicked. - */ - -float y; - -// The statements in the setup() function -// execute once when the program begins -void setup() { - size(640, 360); // Size should be the first statement - stroke(255); // Set line drawing color to white - noLoop(); - y = height * 0.5; -} - -// The statements in draw() are executed until the -// program is stopped. Each statement is executed in -// sequence and after the last line is read, the first -// line is executed again. -void draw() { - background(0); // Set the background to black - y = y - 4; - if (y < 0) { y = height; } - line(0, y, width, y); -} - -void mousePressed() { - redraw(); -} - - diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Structure/SetupDraw/SetupDraw.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Structure/SetupDraw/SetupDraw.pde deleted file mode 100644 index 5c46b53..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Structure/SetupDraw/SetupDraw.pde +++ /dev/null @@ -1,29 +0,0 @@ -/** - * Setup and Draw. - * - * The code inside the draw() function runs continuously - * from top to bottom until the program is stopped. - */ - -int y = 100; - -// The statements in the setup() function -// execute once when the program begins -void setup() { - size(640, 360); // Size must be the first statement - stroke(255); // Set line drawing color to white - frameRate(30); -} -// The statements in draw() are executed until the -// program is stopped. Each statement is executed in -// sequence and after the last line is read, the first -// line is executed again. -void draw() { - background(0); // Clear the screen with a black background - y = y - 1; - if (y < 0) { - y = height; - } - line(0, y, width, y); -} - diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Structure/StatementsComments/StatementsComments.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Structure/StatementsComments/StatementsComments.pde deleted file mode 100644 index bd99bd3..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Structure/StatementsComments/StatementsComments.pde +++ /dev/null @@ -1,20 +0,0 @@ -/** - * Statements and Comments. - * - * Statements are the elements that make up programs. - * The ";" (semi-colon) symbol is used to end statements. - * It is called the "statement terminator." - * Comments are used for making notes to help people better understand programs. - * A comment begins with two forward slashes ("//"). - */ - -// The size function is a statement that tells the computer -// how large to make the window. -// Each function statement has zero or more parameters. -// Parameters are data passed into the function -// and are used as values for telling the computer what to do. -size(640, 360); - -// The background function is a statement that tells the computer -// which color (or gray value) to make the background of the display window -background(204, 153, 0); diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Structure/WidthHeight/WidthHeight.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Structure/WidthHeight/WidthHeight.pde deleted file mode 100644 index ea5b4ec..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Structure/WidthHeight/WidthHeight.pde +++ /dev/null @@ -1,22 +0,0 @@ -/** - * Width and Height. - * - * The 'width' and 'height' variables contain the width and height - * of the display window as defined in the size() function. - */ - -void setup() { - size(640, 360); -} - -void draw() { - background(127); - noStroke(); - for (int i = 0; i < height; i += 20) { - fill(129, 206, 15); - rect(0, i, width, 10); - fill(255); - rect(i, 0, 10, height); - } -} - diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Transform/Arm/Arm.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Transform/Arm/Arm.pde deleted file mode 100644 index f339566..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Transform/Arm/Arm.pde +++ /dev/null @@ -1,40 +0,0 @@ -/** - * Arm. - * - * The angle of each segment is controlled with the mouseX and - * mouseY position. The transformations applied to the first segment - * are also applied to the second segment because they are inside - * the same pushMatrix() and popMatrix() group. -*/ - -float x, y; -float angle1 = 0.0; -float angle2 = 0.0; -float segLength = 100; - -void setup() { - size(640, 360); - strokeWeight(30); - stroke(255, 160); - - x = width * 0.3; - y = height * 0.5; -} - -void draw() { - background(0); - - angle1 = (mouseX/float(width) - 0.5) * -PI; - angle2 = (mouseY/float(height) - 0.5) * PI; - - pushMatrix(); - segment(x, y, angle1); - segment(segLength, 0, angle2); - popMatrix(); -} - -void segment(float x, float y, float a) { - translate(x, y); - rotate(a); - line(0, 0, segLength, 0); -} diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Transform/Rotate/Rotate.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Transform/Rotate/Rotate.pde deleted file mode 100644 index dd00515..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Transform/Rotate/Rotate.pde +++ /dev/null @@ -1,34 +0,0 @@ -/** - * Rotate. - * - * Rotating a square around the Z axis. To get the results - * you expect, send the rotate function angle parameters that are - * values between 0 and PI*2 (TWO_PI which is roughly 6.28). If you prefer to - * think about angles as degrees (0-360), you can use the radians() - * method to convert your values. For example: scale(radians(90)) - * is identical to the statement scale(PI/2). - */ - -float angle; -float jitter; - -void setup() { - size(640, 360); - noStroke(); - fill(255); - rectMode(CENTER); -} - -void draw() { - background(51); - - // during even-numbered seconds (0, 2, 4, 6...) - if (second() % 2 == 0) { - jitter = random(-0.1, 0.1); - } - angle = angle + jitter; - float c = cos(angle); - translate(width/2, height/2); - rotate(c); - rect(0, 0, 180, 180); -} diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Transform/RotatePushPop/RotatePushPop.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Transform/RotatePushPop/RotatePushPop.pde deleted file mode 100644 index cc5569b..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Transform/RotatePushPop/RotatePushPop.pde +++ /dev/null @@ -1,37 +0,0 @@ -/** - * Rotate Push Pop. - * - * The push() and pop() functions allow for more control over transformations. - * The push function saves the current coordinate system to the stack - * and pop() restores the prior coordinate system. - */ - -float a; // Angle of rotation -float offset = PI/24.0; // Angle offset between boxes -int num = 12; // Number of boxes - -void setup() { - size(640, 360, P3D); - noStroke(); -} - - -void draw() { - - lights(); - - background(0, 0, 26); - translate(width/2, height/2); - - for(int i = 0; i < num; i++) { - float gray = map(i, 0, num-1, 0, 255); - pushMatrix(); - fill(gray); - rotateY(a + offset*i); - rotateX(a/2 + offset*i); - box(200); - popMatrix(); - } - - a += 0.01; -} diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Transform/RotateXY/RotateXY.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Transform/RotateXY/RotateXY.pde deleted file mode 100644 index d6401c1..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Transform/RotateXY/RotateXY.pde +++ /dev/null @@ -1,40 +0,0 @@ -/** - * Rotate 1. - * - * Rotating simultaneously in the X and Y axis. - * Transformation functions such as rotate() are additive. - * Successively calling rotate(1.0) and rotate(2.0) - * is equivalent to calling rotate(3.0). - */ - -float a = 0.0; -float rSize; // rectangle size - -void setup() { - size(640, 360, P3D); - rSize = width / 6; - noStroke(); - fill(204, 204); -} - -void draw() { - background(126); - - a += 0.005; - if(a > TWO_PI) { - a = 0.0; - } - - translate(width/2, height/2); - - rotateX(a); - rotateY(a * 2.0); - fill(255); - rect(-rSize, -rSize, rSize*2, rSize*2); - - rotateX(a * 1.001); - rotateY(a * 2.002); - fill(0); - rect(-rSize, -rSize, rSize*2, rSize*2); - -} diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Transform/Scale/Scale.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Transform/Scale/Scale.pde deleted file mode 100644 index e11baa1..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Transform/Scale/Scale.pde +++ /dev/null @@ -1,37 +0,0 @@ -/** - * Scale - * by Denis Grutze. - * - * Paramenters for the scale() function are values specified - * as decimal percentages. For example, the method call scale(2.0) - * will increase the dimension of the shape by 200 percent. - * Objects always scale from the origin. - */ - -float a = 0.0; -float s = 0.0; - -void setup() { - size(640, 360); - noStroke(); - rectMode(CENTER); - frameRate(30); -} - -void draw() { - - background(102); - - a = a + 0.04; - s = cos(a)*2; - - translate(width/2, height/2); - scale(s); - fill(51); - rect(0, 0, 50, 50); - - translate(75, 0); - fill(255); - scale(s); - rect(0, 0, 50, 50); -} diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Transform/Translate/Translate.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Transform/Translate/Translate.pde deleted file mode 100644 index d701904..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Transform/Translate/Translate.pde +++ /dev/null @@ -1,37 +0,0 @@ -/** - * Translate. - * - * The translate() function allows objects to be moved - * to any location within the window. The first parameter - * sets the x-axis offset and the second parameter sets the - * y-axis offset. - */ - -float x, y; -float dim = 80.0; - -void setup() { - size(640, 360); - noStroke(); -} - -void draw() { - background(102); - - x = x + 0.8; - - if (x > width + dim) { - x = -dim; - } - - translate(x, height/2-dim/2); - fill(255); - rect(-dim/2, -dim/2, dim, dim); - - // Transforms accumulate. Notice how this rect moves - // twice as fast as the other, but it has the same - // parameter for the x-axis value - translate(x, dim); - fill(0); - rect(-dim/2, -dim/2, dim, dim); -} diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Typography/Letters/Letters.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Typography/Letters/Letters.pde deleted file mode 100644 index 12b9c8d..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Typography/Letters/Letters.pde +++ /dev/null @@ -1,50 +0,0 @@ -/** - * Letters. - * - * Draws letters to the screen. This requires loading a font, - * setting the font, and then drawing the letters. - */ - -PFont f; - -void setup() { - size(640, 360); - background(0); - - // Create the font - printArray(PFont.list()); - f = createFont("SourceCodePro-Regular.ttf", 24); - textFont(f); - textAlign(CENTER, CENTER); -} - -void draw() { - background(0); - - // Set the left and top margin - int margin = 10; - translate(margin*4, margin*4); - - int gap = 46; - int counter = 35; - - for (int y = 0; y < height-gap; y += gap) { - for (int x = 0; x < width-gap; x += gap) { - - char letter = char(counter); - - if (letter == 'A' || letter == 'E' || letter == 'I' || letter == 'O' || letter == 'U') { - fill(255, 204, 0); - } - else { - fill(255); - } - - // Draw the letter to the screen - text(letter, x, y); - - // Increment the counter - counter++; - } - } -} \ No newline at end of file diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Typography/Letters/data/SourceCodePro-Regular.ttf b/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Typography/Letters/data/SourceCodePro-Regular.ttf deleted file mode 100644 index b2cff92..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Typography/Letters/data/SourceCodePro-Regular.ttf and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Typography/Words/Words.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Typography/Words/Words.pde deleted file mode 100644 index 86922c0..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Typography/Words/Words.pde +++ /dev/null @@ -1,41 +0,0 @@ -/** - * Words. - * - * The text() function is used for writing words to the screen. - * The letters can be aligned left, center, or right with the - * textAlign() function. - */ - -PFont f; - -void setup() { - size(640, 360); - - // Create the font - printArray(PFont.list()); - f = createFont("SourceCodePro-Regular.ttf", 24); - textFont(f); -} - -void draw() { - background(102); - textAlign(RIGHT); - drawType(width * 0.25); - textAlign(CENTER); - drawType(width * 0.5); - textAlign(LEFT); - drawType(width * 0.75); -} - -void drawType(float x) { - line(x, 0, x, 65); - line(x, 220, x, height); - fill(0); - text("ichi", x, 95); - fill(51); - text("ni", x, 130); - fill(204); - text("san", x, 165); - fill(255); - text("shi", x, 210); -} \ No newline at end of file diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Typography/Words/data/SourceCodePro-Regular.ttf b/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Typography/Words/data/SourceCodePro-Regular.ttf deleted file mode 100644 index b2cff92..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Typography/Words/data/SourceCodePro-Regular.ttf and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Web/EmbeddedLinks/EmbeddedLinks.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Web/EmbeddedLinks/EmbeddedLinks.pde deleted file mode 100644 index 9db5933..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Web/EmbeddedLinks/EmbeddedLinks.pde +++ /dev/null @@ -1,47 +0,0 @@ -/** - * Loading URLs. - * - * Click on the button to open a URL in a browser - */ - -boolean overButton = false; - -void setup() { - size(640, 360); -} - -void draw() { - background(204); - - if (overButton == true) { - fill(255); - } else { - noFill(); - } - rect(105, 60, 75, 75); - line(135, 105, 155, 85); - line(140, 85, 155, 85); - line(155, 85, 155, 100); -} - -void mousePressed() { - if (overButton) { - link("http://www.processing.org"); - } -} - -void mouseMoved() { - checkButtons(); -} - -void mouseDragged() { - checkButtons(); -} - -void checkButtons() { - if (mouseX > 105 && mouseX < 180 && mouseY > 60 && mouseY <135) { - overButton = true; - } else { - overButton = false; - } -} diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Web/LoadingImages/LoadingImages.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Web/LoadingImages/LoadingImages.pde deleted file mode 100644 index 3ebc338..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Basics/Web/LoadingImages/LoadingImages.pde +++ /dev/null @@ -1,24 +0,0 @@ -/** - * Loading Images. - * - * Processing applications can load images from the network. - * - */ - -PImage img; - -void setup() { - size(640, 360); - img = loadImage("http://processing.org/img/processing-web.png"); - noLoop(); -} - -void draw() { - background(0); - if (img != null) { - for (int i = 0; i < 5; i++) { - image(img, 0, img.height * i); - } - } -} - diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Graphics/DepthSort/DepthSort.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Graphics/DepthSort/DepthSort.pde deleted file mode 100644 index 7380c77..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Graphics/DepthSort/DepthSort.pde +++ /dev/null @@ -1,50 +0,0 @@ -// Depth sorting example by Jakub Valtar -// https://github.com/JakubValtar - -void setup() { - size(640, 720, P3D); - colorMode(HSB, 100, 100, 100, 100); - - frameRate(60); -} - -void draw() { - //beginRaw(PDF, "output" + frameCount + ".pdf"); - - if (!mousePressed) { - hint(ENABLE_DEPTH_SORT); - } else { - hint(DISABLE_DEPTH_SORT); - } - - noStroke(); - - background(0); - - translate(width/2, height/2, -300); - scale(2); - - int rot = frameCount; - - rotateZ(radians(90)); - rotateX(radians(rot/60.0f * 10)); - rotateY(radians(rot/60.0f * 30)); - - blendMode(ADD); - - for (int i = 0; i < 100; i++) { - fill(map(i % 10, 0, 10, 0, 100), 100, 100, 30); - - beginShape(TRIANGLES); - vertex(200, 50, -50); - vertex(100, 100, 50); - vertex(100, 0, 20); - endShape(); - - rotateY(radians(270.0f/100)); - } - - //endRaw(); - - if (frameCount % 30 == 0) println(frameRate); -} \ No newline at end of file diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Graphics/LowLevelGLVboInterleaved/LowLevelGLVboInterleaved.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Graphics/LowLevelGLVboInterleaved/LowLevelGLVboInterleaved.pde deleted file mode 100644 index 78800d5..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Graphics/LowLevelGLVboInterleaved/LowLevelGLVboInterleaved.pde +++ /dev/null @@ -1,163 +0,0 @@ -// Draws a triangle using low-level OpenGL calls. - -import java.nio.*; - -PShader sh; - -float[] attribs; - -FloatBuffer attribBuffer; - -int attribVboId; - -final static int VERT_CMP_COUNT = 4; // vertex component count (x, y, z, w) -> 4 -final static int CLR_CMP_COUNT = 4; // color component count (r, g, b, a) -> 4 - -public void setup() { - size(640, 360, P3D); - - // Loads a shader to render geometry w/out - // textures and lights. - sh = loadShader("frag.glsl", "vert.glsl"); - - attribs = new float[24]; - attribBuffer = allocateDirectFloatBuffer(24); - - PGL pgl = beginPGL(); - - IntBuffer intBuffer = IntBuffer.allocate(1); - pgl.genBuffers(1, intBuffer); - - attribVboId = intBuffer.get(0); - - endPGL(); -} - -public void draw() { - - PGL pgl = beginPGL(); - - background(0); - - // The geometric transformations will be automatically passed - // to the shader. - rotate(frameCount * 0.01f, width, height, 0); - - updateGeometry(); - sh.bind(); - - // get "vertex" attribute location in the shader - final int vertLoc = pgl.getAttribLocation(sh.glProgram, "vertex"); - // enable array for "vertex" attribute - pgl.enableVertexAttribArray(vertLoc); - - // get "color" attribute location in the shader - final int colorLoc = pgl.getAttribLocation(sh.glProgram, "color"); - // enable array for "color" attribute - pgl.enableVertexAttribArray(colorLoc); - - - /* - BUFFER LAYOUT from updateGeometry() - - xyzwrgbaxyzwrgbaxyzwrgba... - - |v1 |v2 |v3 |... - |0 |4 |8 |12 |16 |20 |... - |xyzw|rgba|xyzw|rgba|xyzw|rgba|... - - stride (values per vertex) is 8 floats - vertex offset is 0 floats (starts at the beginning of each line) - color offset is 4 floats (starts after vertex coords) - - |0 |4 |8 - v1 |xyzw|rgba| - v2 |xyzw|rgba| - v3 |xyzw|rgba| - |... - */ - final int stride = (VERT_CMP_COUNT + CLR_CMP_COUNT) * Float.BYTES; - final int vertexOffset = 0 * Float.BYTES; - final int colorOffset = VERT_CMP_COUNT * Float.BYTES; - - // bind VBO - pgl.bindBuffer(PGL.ARRAY_BUFFER, attribVboId); - // fill VBO with data - pgl.bufferData(PGL.ARRAY_BUFFER, Float.BYTES * attribs.length, attribBuffer, PGL.DYNAMIC_DRAW); - // associate currently bound VBO with "vertex" shader attribute - pgl.vertexAttribPointer(vertLoc, VERT_CMP_COUNT, PGL.FLOAT, false, stride, vertexOffset); - // associate currently bound VBO with "color" shader attribute - pgl.vertexAttribPointer(colorLoc, CLR_CMP_COUNT, PGL.FLOAT, false, stride, colorOffset); - // unbind VBO - pgl.bindBuffer(PGL.ARRAY_BUFFER, 0); - - - pgl.drawArrays(PGL.TRIANGLES, 0, 3); - - - // disable arrays for attributes before unbinding the shader - pgl.disableVertexAttribArray(vertLoc); - pgl.disableVertexAttribArray(colorLoc); - - sh.unbind(); - - endPGL(); -} - -// Triggers a crash when closing the output window using the close button -//public void dispose() { -// PGL pgl = beginPGL(); - -// IntBuffer intBuffer = IntBuffer.allocate(1); -// intBuffer.put(attribVboId); -// intBuffer.rewind(); -// pgl.deleteBuffers(1, intBuffer); - -// endPGL(); -//} - -void updateGeometry() { - // Vertex 1 - attribs[0] = 0; - attribs[1] = 0; - attribs[2] = 0; - attribs[3] = 1; - - // Color 1 - attribs[4] = 1; - attribs[5] = 0; - attribs[6] = 0; - attribs[7] = 1; - - // Vertex 2 - attribs[8] = width/2; - attribs[9] = height; - attribs[10] = 0; - attribs[11] = 1; - - // Color 2 - attribs[12] = 0; - attribs[13] = 1; - attribs[14] = 0; - attribs[15] = 1; - - // Vertex 3 - attribs[16] = width; - attribs[17] = 0; - attribs[18] = 0; - attribs[19] = 1; - - // Color 3 - attribs[20] = 0; - attribs[21] = 0; - attribs[22] = 1; - attribs[23] = 1; - - attribBuffer.rewind(); - attribBuffer.put(attribs); - attribBuffer.rewind(); -} - -FloatBuffer allocateDirectFloatBuffer(int n) { - return ByteBuffer.allocateDirect(n * Float.BYTES).order(ByteOrder.nativeOrder()).asFloatBuffer(); -} \ No newline at end of file diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Graphics/LowLevelGLVboInterleaved/data/frag.glsl b/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Graphics/LowLevelGLVboInterleaved/data/frag.glsl deleted file mode 100644 index 16742d2..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Graphics/LowLevelGLVboInterleaved/data/frag.glsl +++ /dev/null @@ -1,30 +0,0 @@ -/* - Part of the Processing project - http://processing.org - - Copyright (c) 2011-12 Ben Fry and Casey Reas - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License version 2.1 as published by the Free Software Foundation. - - This library 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General - Public License along with this library; if not, write to the - Free Software Foundation, Inc., 59 Temple Place, Suite 330, - Boston, MA 02111-1307 USA - */ - -#ifdef GL_ES -precision mediump float; -precision mediump int; -#endif - -varying vec4 vertColor; - -void main() { - gl_FragColor = vertColor; -} \ No newline at end of file diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Graphics/LowLevelGLVboInterleaved/data/vert.glsl b/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Graphics/LowLevelGLVboInterleaved/data/vert.glsl deleted file mode 100644 index 27c255e..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Graphics/LowLevelGLVboInterleaved/data/vert.glsl +++ /dev/null @@ -1,31 +0,0 @@ -/* - Part of the Processing project - http://processing.org - - Copyright (c) 2011-12 Ben Fry and Casey Reas - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License version 2.1 as published by the Free Software Foundation. - - This library 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General - Public License along with this library; if not, write to the - Free Software Foundation, Inc., 59 Temple Place, Suite 330, - Boston, MA 02111-1307 USA - */ - -uniform mat4 transform; - -attribute vec4 vertex; -attribute vec4 color; - -varying vec4 vertColor; - -void main() { - gl_Position = transform * vertex; - vertColor = color; -} \ No newline at end of file diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Graphics/LowLevelGLVboSeparate/LowLevelGLVboSeparate.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Graphics/LowLevelGLVboSeparate/LowLevelGLVboSeparate.pde deleted file mode 100644 index 2caf653..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Graphics/LowLevelGLVboSeparate/LowLevelGLVboSeparate.pde +++ /dev/null @@ -1,188 +0,0 @@ -// Draws a triangle using low-level OpenGL calls. - -import java.nio.*; - -PShader sh; - -float[] vertices; -float[] colors; - -FloatBuffer vertexBuffer; -FloatBuffer colorBuffer; - -int vertexVboId; -int colorVboId; - -final static int VERT_CMP_COUNT = 4; // vertex component count (x, y, z, w) -> 4 -final static int CLR_CMP_COUNT = 4; // color component count (r, g, b, a) -> 4 - -public void setup() { - size(640, 360, P3D); - - // Loads a shader to render geometry w/out - // textures and lights. - sh = loadShader("frag.glsl", "vert.glsl"); - - vertices = new float[12]; - colors = new float[12]; - - vertexBuffer = allocateDirectFloatBuffer(12); - colorBuffer = allocateDirectFloatBuffer(12); - - PGL pgl = beginPGL(); - - // allocate buffer big enough to get all VBO ids back - IntBuffer intBuffer = IntBuffer.allocate(2); - pgl.genBuffers(2, intBuffer); - - vertexVboId = intBuffer.get(0); - colorVboId = intBuffer.get(1); - - endPGL(); -} - -public void draw() { - - PGL pgl = beginPGL(); - - background(0); - - // The geometric transformations will be automatically passed - // to the shader. - rotate(frameCount * 0.01f, width, height, 0); - - updateGeometry(); - sh.bind(); - - // get "vertex" attribute location in the shader - final int vertLoc = pgl.getAttribLocation(sh.glProgram, "vertex"); - // enable array for "vertex" attribute - pgl.enableVertexAttribArray(vertLoc); - - // get "color" attribute location in the shader - final int colorLoc = pgl.getAttribLocation(sh.glProgram, "color"); - // enable array for "color" attribute - pgl.enableVertexAttribArray(colorLoc); - - /* - BUFFER LAYOUT from updateGeometry() - - Vertex buffer: - - xyzwxyzwxyzw... - - |v1 |v2 |v3 |... - |0 |4 |8 |... - |xyzw|xyzw|xyzw|... - - - Color buffer: - - rgbargbargba... - - |v1 |v2 |v3 |... - |0 |4 |8 |... - |rgba|rgba|rgba|... - - stride (values per vertex) is 4 floats in both cases - vertex offset is 0 floats in both cases - */ - final int vertexStride = VERT_CMP_COUNT * Float.BYTES; - final int colorStride = CLR_CMP_COUNT * Float.BYTES; - final int vertexOffset = 0 * Float.BYTES; - final int colorOffset = 0 * Float.BYTES; - - - { // VERTEX - // bind VBO - pgl.bindBuffer(PGL.ARRAY_BUFFER, vertexVboId); - // fill VBO with data - pgl.bufferData(PGL.ARRAY_BUFFER, Float.BYTES * vertices.length, vertexBuffer, PGL.DYNAMIC_DRAW); - // associate currently bound VBO with shader attribute - pgl.vertexAttribPointer(vertLoc, VERT_CMP_COUNT, PGL.FLOAT, false, vertexStride, vertexOffset); - } - - { // COLOR - // bind VBO - pgl.bindBuffer(PGL.ARRAY_BUFFER, colorVboId); - // fill bound VBO with data - pgl.bufferData(PGL.ARRAY_BUFFER, Float.BYTES * colors.length, colorBuffer, PGL.DYNAMIC_DRAW); - // associate currently bound VBO with shader attribute - pgl.vertexAttribPointer(colorLoc, CLR_CMP_COUNT, PGL.FLOAT, false, colorStride, colorOffset); - } - - // unbind VBOs - pgl.bindBuffer(PGL.ARRAY_BUFFER, 0); - - - pgl.drawArrays(PGL.TRIANGLES, 0, 3); - - - // disable arrays for attributes before unbinding the shader - pgl.disableVertexAttribArray(vertLoc); - pgl.disableVertexAttribArray(colorLoc); - - sh.unbind(); - - endPGL(); -} - -// Triggers a crash when closing the output window using the close button -//public void dispose() { -// PGL pgl = beginPGL(); - -// IntBuffer intBuffer = IntBuffer.allocate(2); -// intBuffer.put(vertexVboId); -// intBuffer.put(colorVboId); -// intBuffer.rewind(); -// pgl.deleteBuffers(2, intBuffer); - -// endPGL(); -//} - -void updateGeometry() { - // Vertex 1 - vertices[0] = 0; - vertices[1] = 0; - vertices[2] = 0; - vertices[3] = 1; - - colors[0] = 1; - colors[1] = 0; - colors[2] = 0; - colors[3] = 1; - - // Vertex 2 - vertices[4] = width/2; - vertices[5] = height; - vertices[6] = 0; - vertices[7] = 1; - - colors[4] = 0; - colors[5] = 1; - colors[6] = 0; - colors[7] = 1; - - // Vertex 3 - vertices[8] = width; - vertices[9] = 0; - vertices[10] = 0; - vertices[11] = 1; - - colors[8] = 0; - colors[9] = 0; - colors[10] = 1; - colors[11] = 1; - - vertexBuffer.rewind(); - vertexBuffer.put(vertices); - vertexBuffer.rewind(); - - colorBuffer.rewind(); - colorBuffer.put(colors); - colorBuffer.rewind(); -} - -FloatBuffer allocateDirectFloatBuffer(int n) { - return ByteBuffer.allocateDirect(n * Float.BYTES).order(ByteOrder.nativeOrder()).asFloatBuffer(); -} \ No newline at end of file diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Graphics/LowLevelGLVboSeparate/data/frag.glsl b/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Graphics/LowLevelGLVboSeparate/data/frag.glsl deleted file mode 100644 index 16742d2..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Graphics/LowLevelGLVboSeparate/data/frag.glsl +++ /dev/null @@ -1,30 +0,0 @@ -/* - Part of the Processing project - http://processing.org - - Copyright (c) 2011-12 Ben Fry and Casey Reas - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License version 2.1 as published by the Free Software Foundation. - - This library 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General - Public License along with this library; if not, write to the - Free Software Foundation, Inc., 59 Temple Place, Suite 330, - Boston, MA 02111-1307 USA - */ - -#ifdef GL_ES -precision mediump float; -precision mediump int; -#endif - -varying vec4 vertColor; - -void main() { - gl_FragColor = vertColor; -} \ No newline at end of file diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Graphics/LowLevelGLVboSeparate/data/vert.glsl b/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Graphics/LowLevelGLVboSeparate/data/vert.glsl deleted file mode 100644 index 27c255e..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Graphics/LowLevelGLVboSeparate/data/vert.glsl +++ /dev/null @@ -1,31 +0,0 @@ -/* - Part of the Processing project - http://processing.org - - Copyright (c) 2011-12 Ben Fry and Casey Reas - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License version 2.1 as published by the Free Software Foundation. - - This library 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General - Public License along with this library; if not, write to the - Free Software Foundation, Inc., 59 Temple Place, Suite 330, - Boston, MA 02111-1307 USA - */ - -uniform mat4 transform; - -attribute vec4 vertex; -attribute vec4 color; - -varying vec4 vertColor; - -void main() { - gl_Position = transform * vertex; - vertColor = color; -} \ No newline at end of file diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Graphics/MeshTweening/MeshTweening.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Graphics/MeshTweening/MeshTweening.pde deleted file mode 100644 index 14c5e44..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Graphics/MeshTweening/MeshTweening.pde +++ /dev/null @@ -1,50 +0,0 @@ -// Use of custom vertex attributes. -// Inspired by -// http://pyopengl.sourceforge.net/context/tutorials/shader_4.html - -PShader sh; -PShape grid; - -void setup() { - size(640, 360, P3D); - sh = loadShader("frag.glsl", "vert.glsl"); - shader(sh); - - grid = createShape(); - grid.beginShape(QUADS); - grid.noStroke(); - grid.fill(150); - float d = 10; - for (int x = -500; x < 500; x += d) { - for (int y = -500; y < 500; y += d) { - grid.fill(255 * noise(x, y)); - grid.attribPosition("tweened", x, y, 100 * noise(x, y)); - grid.vertex(x, y, 0); - - grid.fill(255 * noise(x + d, y)); - grid.attribPosition("tweened", x + d, y, 100 * noise(x + d, y)); - grid.vertex(x + d, y, 0); - - grid.fill(255 * noise(x + d, y + d)); - grid.attribPosition("tweened", x + d, y + d, 100 * noise(x + d, y + d)); - grid.vertex(x + d, y + d, 0); - - grid.fill(255 * noise(x, y + d)); - grid.attribPosition("tweened", x, y + d, 100 * noise(x, y + d)); - grid.vertex(x, y + d, 0); - } - } - grid.endShape(); -} - -void draw() { - background(255); - - sh.set("tween", map(mouseX, 0, width, 0, 1)); - - translate(width/2, height/2, 0); - rotateX(frameCount * 0.01); - rotateY(frameCount * 0.01); - - shape(grid); -} \ No newline at end of file diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Graphics/MeshTweening/data/frag.glsl b/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Graphics/MeshTweening/data/frag.glsl deleted file mode 100644 index 3585015..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Graphics/MeshTweening/data/frag.glsl +++ /dev/null @@ -1,5 +0,0 @@ -varying vec4 vertColor; - -void main() { - gl_FragColor = vertColor; -} \ No newline at end of file diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Graphics/MeshTweening/data/vert.glsl b/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Graphics/MeshTweening/data/vert.glsl deleted file mode 100644 index 69fb682..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Graphics/MeshTweening/data/vert.glsl +++ /dev/null @@ -1,14 +0,0 @@ -uniform mat4 transformMatrix; -uniform float tween; - -attribute vec4 position; -attribute vec4 tweened; -attribute vec4 color; - -varying vec4 vertColor; - -void main() { - gl_Position = transformMatrix * ((1.0 - tween) * position + tween * tweened); - - vertColor = color; -} \ No newline at end of file diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Graphics/Particles/Particle.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Graphics/Particles/Particle.pde deleted file mode 100644 index b205887..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Graphics/Particles/Particle.pde +++ /dev/null @@ -1,59 +0,0 @@ -class Particle { - - PVector velocity; - float lifespan = 255; - - PShape part; - float partSize; - - PVector gravity = new PVector(0,0.1); - - - Particle() { - partSize = random(10,60); - part = createShape(); - part.beginShape(QUAD); - part.noStroke(); - part.texture(sprite); - part.normal(0, 0, 1); - part.vertex(-partSize/2, -partSize/2, 0, 0); - part.vertex(+partSize/2, -partSize/2, sprite.width, 0); - part.vertex(+partSize/2, +partSize/2, sprite.width, sprite.height); - part.vertex(-partSize/2, +partSize/2, 0, sprite.height); - part.endShape(); - - rebirth(width/2,height/2); - lifespan = random(255); - } - - PShape getShape() { - return part; - } - - void rebirth(float x, float y) { - float a = random(TWO_PI); - float speed = random(0.5,4); - velocity = new PVector(cos(a), sin(a)); - velocity.mult(speed); - lifespan = 255; - part.resetMatrix(); - part.translate(x, y); - } - - boolean isDead() { - if (lifespan < 0) { - return true; - } else { - return false; - } - } - - - public void update() { - lifespan = lifespan - 1; - velocity.add(gravity); - - part.setTint(color(255,lifespan)); - part.translate(velocity.x, velocity.y); - } -} diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Graphics/Particles/ParticleSystem.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Graphics/Particles/ParticleSystem.pde deleted file mode 100644 index 0d164dc..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Graphics/Particles/ParticleSystem.pde +++ /dev/null @@ -1,36 +0,0 @@ -class ParticleSystem { - ArrayList particles; - - PShape particleShape; - - ParticleSystem(int n) { - particles = new ArrayList(); - particleShape = createShape(PShape.GROUP); - - for (int i = 0; i < n; i++) { - Particle p = new Particle(); - particles.add(p); - particleShape.addChild(p.getShape()); - } - } - - void update() { - for (Particle p : particles) { - p.update(); - } - } - - void setEmitter(float x, float y) { - for (Particle p : particles) { - if (p.isDead()) { - p.rebirth(x, y); - } - } - } - - void display() { - - shape(particleShape); - } -} - diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Graphics/Particles/Particles.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Graphics/Particles/Particles.pde deleted file mode 100644 index cb3d6da..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Graphics/Particles/Particles.pde +++ /dev/null @@ -1,31 +0,0 @@ -// Particles, by Daniel Shiffman. - -ParticleSystem ps; -PImage sprite; - -void setup() { - size(1024, 768, P2D); - orientation(LANDSCAPE); - sprite = loadImage("sprite.png"); - ps = new ParticleSystem(10000); - - // Writing to the depth buffer is disabled to avoid rendering - // artifacts due to the fact that the particles are semi-transparent - // but not z-sorted. - hint(DISABLE_DEPTH_MASK); -} - -void draw () { - background(0); - ps.update(); - ps.display(); - - ps.setEmitter(mouseX,mouseY); - - fill(255); - textSize(16); - text("Frame rate: " + int(frameRate), 10, 20); - -} - - diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Graphics/Particles/data/sprite.png b/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Graphics/Particles/data/sprite.png deleted file mode 100644 index cc0f45c..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Graphics/Particles/data/sprite.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Graphics/Patch/Patch.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Graphics/Patch/Patch.pde deleted file mode 100644 index 2fd6163..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Graphics/Patch/Patch.pde +++ /dev/null @@ -1,161 +0,0 @@ -// Bezier patch By Maritus Watz: -// http://www.openprocessing.org/sketch/57709 -// Normal calculation added by Andres Colubri -// Direct port of sample code by Paul Bourke. -// Original code: http://paulbourke.net/geometry/bezier/ - -int ni=4, nj=5, RESI=ni*10, RESJ=nj*10; -PVector outp[][], inp[][]; -PVector normp[][]; -boolean autoNormals = false; - -void setup() { - size(1024, 768, P3D); - build(); -} - -void draw() { - background(255); - translate(width/2,height/2); - lights(); - scale(0.9); - rotateY(map(mouseX,0,width,-PI,PI)); - rotateX(map(mouseY,0,height,-PI,PI)); - - noStroke(); - fill(255); - for(int i=0; i= 1) { - blend *= nn; - nn--; - if (kn > 1) { - blend /= (double)kn; - kn--; - } - if (nkn > 1) { - blend /= (double)nkn; - nkn--; - } - } - if (k > 0) - blend *= Math.pow(mu, (double)k); - if (n-k > 0) - blend *= Math.pow(1-mu, (double)(n-k)); - - return(blend); -} - -double DBezierBlend(int k, double mu, int n) { - int nn, kn, nkn; - double dblendf = 1; - - nn = n; - kn = k; - nkn = n - k; - - while (nn >= 1) { - dblendf *= nn; - nn--; - if (kn > 1) { - dblendf /= (double)kn; - kn--; - } - if (nkn > 1) { - dblendf /= (double)nkn; - nkn--; - } - } - - double fk = 1; - double dk = 0; - double fnk = 1; - double dnk = 0; - if (k > 0) { - fk = Math.pow(mu, (double)k); - dk = k*Math.pow(mu, (double)k-1); - } - if (n-k > 0) { - fnk = Math.pow(1-mu, (double)(n-k)); - dnk = (k-n)*Math.pow(1-mu, (double)(n-k-1)); - } - dblendf *= (dk * fnk + fk * dnk); - - return(dblendf); -} diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Graphics/Planets/Perlin.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Graphics/Planets/Perlin.pde deleted file mode 100644 index 2096349..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Graphics/Planets/Perlin.pde +++ /dev/null @@ -1,261 +0,0 @@ -// Implementation of 1D, 2D, and 3D Perlin noise. Based on the -// C code by Paul Bourke: -// http://local.wasp.uwa.edu.au/~pbourke/texture_colour/perlin/ -class Perlin { - int B = 0x100; - int BM = 0xff; - int N = 0x1000; - int NP = 12; - int NM = 0xfff; - - int p[]; - float g3[][]; - float g2[][]; - float g1[]; - - void normalize2(float v[]) { - float s = sqrt(v[0] * v[0] + v[1] * v[1]); - v[0] = v[0] / s; - v[1] = v[1] / s; - } - - void normalize3(float v[]) { - float s = sqrt(v[0] * v[0] + v[1] * v[1] + v[2] * v[2]); - v[0] = v[0] / s; - v[1] = v[1] / s; - v[2] = v[2] / s; - } - - float sCurve(float t) { - return t * t * (3.0 - 2.0 * t); - } - - float at2(float q[], float rx, float ry) { - return rx * q[0] + ry * q[1]; - } - - float at3(float q[], float rx, float ry, float rz) { - return rx * q[0] + ry * q[1] + rz * q[2]; - } - - Perlin() { - p = new int[B + B + 2]; - g3 = new float[B + B + 2][3]; - g2 = new float[B + B + 2][2]; - g1 = new float[B + B + 2]; - - init(); - } - - void init() { - int i, j, k; - - for (i = 0 ; i < B ; i++) { - p[i] = i; - g1[i] = (random(B + B) - B) / B; - - for (j = 0 ; j < 2 ; j++) - g2[i][j] = (random(B + B) - B) / B; - normalize2(g2[i]); - - for (j = 0 ; j < 3 ; j++) - g3[i][j] = (random(B + B) - B) / B; - normalize3(g3[i]); - } - - while (0 < --i) { - k = p[i]; - p[i] = p[j = int(random(B))]; - p[j] = k; - } - - for (i = 0 ; i < B + 2 ; i++) { - p[B + i] = p[i]; - g1[B + i] = g1[i]; - for (j = 0 ; j < 2 ; j++) - g2[B + i][j] = g2[i][j]; - for (j = 0 ; j < 3 ; j++) - g3[B + i][j] = g3[i][j]; - } - } - - float noise1(float[] vec) { - int bx0, bx1; - float rx0, rx1, sx, t, u, v; - - t = vec[0] + N; - bx0 = int(t) & BM; - bx1 = (bx0 + 1) & BM; - rx0 = t - int(t); - rx1 = rx0 - 1.0; - - sx = sCurve(rx0); - u = rx0 * g1[p[bx0]]; - v = rx1 * g1[p[bx1]]; - - return lerp(u, v, sx); - } - - float noise2(float[] vec) { - int bx0, bx1, by0, by1, b00, b10, b01, b11; - float rx0, rx1, ry0, ry1, sx, sy, a, b, t, u, v; - float[] q; - int i, j; - - t = vec[0] + N; - bx0 = int(t) & BM; - bx1 = (bx0 + 1) & BM; - rx0 = t - int(t); - rx1 = rx0 - 1.0; - - t = vec[1] + N; - by0 = int(t) & BM; - by1 = (by0 + 1) & BM; - ry0 = t - int(t); - ry1 = ry0 - 1.0; - - i = p[bx0]; - j = p[bx1]; - - b00 = p[i + by0]; - b10 = p[j + by0]; - b01 = p[i + by1]; - b11 = p[j + by1]; - - sx = sCurve(rx0); - sy = sCurve(ry0); - - q = g2[b00]; - u = at2(q, rx0, ry0); - q = g2[b10]; - v = at2(q, rx1, ry0); - a = lerp(u, v, sx); - - q = g2[b01] ; - u = at2(q, rx0, ry1); - q = g2[b11] ; - v = at2(q, rx1, ry1); - b = lerp(u, v, sx); - - return lerp(a, b, sy); - } - - float noise3(float[] vec) { - int bx0, bx1, by0, by1, bz0, bz1, b00, b10, b01, b11; - float rx0, rx1, ry0, ry1, rz0, rz1, sy, sz, a, b, c, d, t, u, v; - float[] q; - int i, j; - - t = vec[0] + N; - bx0 = int(t) & BM; - bx1 = (bx0 + 1) & BM; - rx0 = t - int(t); - rx1 = rx0 - 1.0; - - t = vec[1] + N; - by0 = int(t) & BM; - by1 = (by0 + 1) & BM; - ry0 = t - int(t); - ry1 = ry0 - 1.0; - - t = vec[2] + N; - bz0 = int(t) & BM; - bz1 = (bz0 + 1) & BM; - rz0 = t - int(t); - rz1 = rz0 - 1.0; - - i = p[bx0]; - j = p[bx1]; - - b00 = p[i + by0]; - b10 = p[j + by0]; - b01 = p[i + by1]; - b11 = p[j + by1]; - - t = sCurve(rx0); - sy = sCurve(ry0); - sz = sCurve(rz0); - - q = g3[b00 + bz0]; - u = at3(q, rx0, ry0, rz0); - q = g3[b10 + bz0]; - v = at3(q, rx1, ry0, rz0); - a = lerp(u, v, t); - - q = g3[b01 + bz0]; - u = at3(q, rx0, ry1, rz0); - q = g3[b11 + bz0]; - v = at3(q, rx1, ry1, rz0); - b = lerp(u, v, t); - - c = lerp(a, b, sy); - - q = g3[b00 + bz1]; - u = at3(q, rx0, ry0, rz1); - q = g3[b10 + bz1]; - v = at3(q, rx1, ry0, rz1); - a = lerp(u, v, t); - - q = g3[b01 + bz1]; - u = at3(q, rx0, ry1, rz1); - q = g3[b11 + bz1]; - v = at3(q, rx1, ry1, rz1); - b = lerp(u, v, t); - - d = lerp(a, b, sy); - - return lerp(c, d, sz); - } - - // In what follows "nalpha" is the weight when the sum is formed. - // Typically it is 2, as this approaches 1 the function is noisier. - // "nbeta" is the harmonic scaling/spacing, typically 2. n is the - // number of harmonics added up in the final result. Higher number - // results in more detailed noise. - - float noise1D(float x, float nalpha, float nbeta, int n) { - float val, sum = 0; - float v[] = {x}; - float nscale = 1; - - for (int i = 0; i < n; i++) { - val = noise1(v); - sum += val / nscale; - nscale *= nalpha; - v[0] *= nbeta; - } - return sum; - } - - float noise2D(float x, float y, float nalpha, float nbeta, int n) { - float val,sum = 0; - float v[] = {x, y}; - float nscale = 1; - - for (int i = 0; i < n; i++) { - val = noise2(v); - sum += val / nscale; - nscale *= nalpha; - v[0] *= nbeta; - v[1] *= nbeta; - } - return sum; - } - - float noise3D(float x, float y, float z, float nalpha, float nbeta, int n) { - float val, sum = 0; - float v[] = {x, y, z}; - float nscale = 1; - - for (int i = 0 ; i < n; i++) { - val = noise3(v); - sum += val / nscale; - nscale *= nalpha; - v[0] *= nbeta; - v[1] *= nbeta; - v[2] *= nbeta; - } - return sum; - } -} - diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Graphics/Planets/Planets.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Graphics/Planets/Planets.pde deleted file mode 100644 index 2fae280..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Graphics/Planets/Planets.pde +++ /dev/null @@ -1,109 +0,0 @@ -// Planets, by Andres Colubri -// -// Sun and mercury textures from http://planetpixelemporium.com -// Star field picture from http://www.galacticimages.com/ - -PImage starfield; - -PShape sun; -PImage suntex; - -PShape planet1; -PImage surftex1; -PImage cloudtex; - -PShape planet2; -PImage surftex2; - -void setup() { - size(1024, 768, P3D); - - starfield = loadImage("starfield.jpg"); - suntex = loadImage("sun.jpg"); - surftex1 = loadImage("planet.jpg"); - - // We need trilinear sampling for this texture so it looks good - // even when rendered very small. - //PTexture.Parameters params1 = PTexture.newParameters(ARGB, TRILINEAR); - surftex2 = loadImage("mercury.jpg"); - - /* - // The clouds texture will "move" having the values of its u - // texture coordinates displaced by adding a constant increment - // in each frame. This requires REPEAT wrapping mode so texture - // coordinates can be larger than 1. - //PTexture.Parameters params2 = PTexture.newParameters(); - //params2.wrapU = REPEAT; - cloudtex = createImage(512, 256); - - // Using 3D Perlin noise to generate a clouds texture that is seamless on - // its edges so it can be applied on a sphere. - cloudtex.loadPixels(); - Perlin perlin = new Perlin(); - for (int j = 0; j < cloudtex.height; j++) { - for (int i = 0; i < cloudtex.width; i++) { - // The angle values corresponding to each u,v pair: - float u = float(i) / cloudtex.width; - float v = float(j) / cloudtex.height; - float phi = map(u, 0, 1, TWO_PI, 0); - float theta = map(v, 0, 1, -HALF_PI, HALF_PI); - // The x, y, z point corresponding to these angles: - float x = cos(phi) * cos(theta); - float y = sin(theta); - float z = sin(phi) * cos(theta); - float n = perlin.noise3D(x, y, z, 1.2, 2, 8); - cloudtex.pixels[j * cloudtex.width + i] = color(255, 255, 255, 255 * n * n); - } - } - cloudtex.updatePixels(); - */ - - noStroke(); - fill(255); - sphereDetail(40); - - sun = createShape(SPHERE, 150); - sun.setTexture(suntex); - - planet1 = createShape(SPHERE, 150); - planet1.setTexture(surftex1); - - planet2 = createShape(SPHERE, 50); - planet2.setTexture(surftex2); -} - -void draw() { - // Even we draw a full screen image after this, it is recommended to use - // background to clear the screen anyways, otherwise A3D will think - // you want to keep each drawn frame in the framebuffer, which results in - // slower rendering. - background(0); - - // Disabling writing to the depth mask so the - // background image doesn't occludes any 3D object. - hint(DISABLE_DEPTH_MASK); - image(starfield, 0, 0, width, height); - hint(ENABLE_DEPTH_MASK); - - pushMatrix(); - translate(width/2, height/2, -300); - - pushMatrix(); - rotateY(PI * frameCount / 500); - shape(sun); - popMatrix(); - - pointLight(255, 255, 255, 0, 0, 0); - rotateY(PI * frameCount / 300); - translate(0, 0, 300); - - shape(planet2); - - popMatrix(); - - noLights(); - pointLight(255, 255, 255, 0, 0, -150); - - translate(0.75 * width, 0.6 * height, 50); - shape(planet1); -} \ No newline at end of file diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Graphics/Planets/data/mercury.jpg b/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Graphics/Planets/data/mercury.jpg deleted file mode 100644 index 9bb2c0b..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Graphics/Planets/data/mercury.jpg and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Graphics/Planets/data/planet.jpg b/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Graphics/Planets/data/planet.jpg deleted file mode 100644 index 8fd33bf..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Graphics/Planets/data/planet.jpg and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Graphics/Planets/data/starfield.jpg b/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Graphics/Planets/data/starfield.jpg deleted file mode 100644 index bf190df..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Graphics/Planets/data/starfield.jpg and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Graphics/Planets/data/sun.jpg b/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Graphics/Planets/data/sun.jpg deleted file mode 100644 index 46d7bea..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Graphics/Planets/data/sun.jpg and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Graphics/Ribbons/ArcBall.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Graphics/Ribbons/ArcBall.pde deleted file mode 100644 index 5c4f74c..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Graphics/Ribbons/ArcBall.pde +++ /dev/null @@ -1,190 +0,0 @@ -// Ariel and V3ga's arcball class with a couple tiny mods by Robert Hodgin - -class Arcball { - float center_x, center_y, radius; - Vec3 v_down, v_drag; - Quat q_now, q_down, q_drag; - Vec3[] axisSet; - int axis; - float mxv, myv; - float x, y; - - Arcball(float center_x, float center_y, float radius){ - this.center_x = center_x; - this.center_y = center_y; - this.radius = radius; - - v_down = new Vec3(); - v_drag = new Vec3(); - - q_now = new Quat(); - q_down = new Quat(); - q_drag = new Quat(); - - axisSet = new Vec3[] {new Vec3(1.0f, 0.0f, 0.0f), new Vec3(0.0f, 1.0f, 0.0f), new Vec3(0.0f, 0.0f, 1.0f)}; - axis = -1; // no constraints... - } - - void mousePressed(){ - v_down = mouse_to_sphere(mouseX, mouseY); - q_down.set(q_now); - q_drag.reset(); - } - - void mouseDragged(){ - v_drag = mouse_to_sphere(mouseX, mouseY); - q_drag.set(Vec3.dot(v_down, v_drag), Vec3.cross(v_down, v_drag)); - } - - void run(){ - q_now = Quat.mul(q_drag, q_down); - applyQuat2Matrix(q_now); - - x += mxv; - y += myv; - mxv -= mxv * .01; - myv -= myv * .01; - } - - Vec3 mouse_to_sphere(float x, float y){ - Vec3 v = new Vec3(); - v.x = (x - center_x) / radius; - v.y = (y - center_y) / radius; - - float mag = v.x * v.x + v.y * v.y; - if (mag > 1.0f){ - v.normalize(); - } else { - v.z = sqrt(1.0f - mag); - } - - return (axis == -1) ? v : constrain_vector(v, axisSet[axis]); - } - - Vec3 constrain_vector(Vec3 vector, Vec3 axis){ - Vec3 res = new Vec3(); - res.sub(vector, Vec3.mul(axis, Vec3.dot(axis, vector))); - res.normalize(); - return res; - } - - void applyQuat2Matrix(Quat q){ - // instead of transforming q into a matrix and applying it... - - float[] aa = q.getValue(); - rotate(aa[0], aa[1], aa[2], aa[3]); - } -} - -static class Vec3{ - float x, y, z; - - Vec3(){ - } - - Vec3(float x, float y, float z){ - this.x = x; - this.y = y; - this.z = z; - } - - void normalize(){ - float length = length(); - x /= length; - y /= length; - z /= length; - } - - float length(){ - return (float) Math.sqrt(x * x + y * y + z * z); - } - - static Vec3 cross(Vec3 v1, Vec3 v2){ - Vec3 res = new Vec3(); - res.x = v1.y * v2.z - v1.z * v2.y; - res.y = v1.z * v2.x - v1.x * v2.z; - res.z = v1.x * v2.y - v1.y * v2.x; - return res; - } - - static float dot(Vec3 v1, Vec3 v2){ - return v1.x * v2.x + v1.y * v2.y + v1.z * v2.z; - } - - static Vec3 mul(Vec3 v, float d){ - Vec3 res = new Vec3(); - res.x = v.x * d; - res.y = v.y * d; - res.z = v.z * d; - return res; - } - - void sub(Vec3 v1, Vec3 v2){ - x = v1.x - v2.x; - y = v1.y - v2.y; - z = v1.z - v2.z; - } -} - -static class Quat{ - float w, x, y, z; - - Quat(){ - reset(); - } - - Quat(float w, float x, float y, float z){ - this.w = w; - this.x = x; - this.y = y; - this.z = z; - } - - void reset(){ - w = 1.0f; - x = 0.0f; - y = 0.0f; - z = 0.0f; - } - - void set(float w, Vec3 v){ - this.w = w; - x = v.x; - y = v.y; - z = v.z; - } - - void set(Quat q){ - w = q.w; - x = q.x; - y = q.y; - z = q.z; - } - - static Quat mul(Quat q1, Quat q2){ - Quat res = new Quat(); - res.w = q1.w * q2.w - q1.x * q2.x - q1.y * q2.y - q1.z * q2.z; - res.x = q1.w * q2.x + q1.x * q2.w + q1.y * q2.z - q1.z * q2.y; - res.y = q1.w * q2.y + q1.y * q2.w + q1.z * q2.x - q1.x * q2.z; - res.z = q1.w * q2.z + q1.z * q2.w + q1.x * q2.y - q1.y * q2.x; - return res; - } - - float[] getValue(){ - // transforming this quat into an angle and an axis vector... - - float[] res = new float[4]; - - float sa = (float) Math.sqrt(1.0f - w * w); - if (sa < EPSILON){ - sa = 1.0f; - } - - res[0] = (float) Math.acos(w) * 2.0f; - res[1] = x / sa; - res[2] = y / sa; - res[3] = z / sa; - - return res; - } -} diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Graphics/Ribbons/BSpline.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Graphics/Ribbons/BSpline.pde deleted file mode 100644 index b622e84..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Graphics/Ribbons/BSpline.pde +++ /dev/null @@ -1,307 +0,0 @@ -final int MAX_BEZIER_ORDER = 10; // Maximum curve order. - -final float[][] BSplineMatrix = { - {-1.0/6.0, 1.0/2.0, -1.0/2.0, 1.0/6.0}, - { 1.0/2.0, -1.0, 1.0/2.0, 0.0}, - {-1.0/2.0, 0.0, 1.0/2.0, 0.0}, - { 1.0/6.0, 2.0/3.0, 1.0/6.0, 0.0} -}; - -// The element(i, n) of this array contains the binomial coefficient -// C(i, n) = n!/(i!(n-i)!) -final int[][] BinomialCoefTable = { - {1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, - {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}, - {0, 1, 3, 6, 10, 15, 21, 28, 36, 45}, - {0, 0, 1, 4, 10, 20, 35, 56, 84, 120}, - {0, 0, 0, 1, 5, 15, 35, 70, 126, 210}, - {0, 0, 0, 0, 1, 6, 21, 56, 126, 252}, - {0, 0, 0, 0, 0, 1, 7, 28, 84, 210}, - {0, 0, 0, 0, 0, 0, 1, 8, 36, 120}, - {0, 0, 0, 0, 0, 0, 0, 1, 9, 45}, - {0, 0, 0, 0, 0, 0, 0, 0, 1, 10}, - {0, 0, 0, 0, 0, 0, 0, 0, 0, 1} -}; - -// The element of this(i, j) of this table contains(i/10)^(3-j). -final float[][] TVectorTable = { -// t^3, t^2, t^1, t^0 - { 0, 0, 0, 1}, // t = 0.0 - {0.001, 0.01, 0.1, 1}, // t = 0.1 - {0.008, 0.04, 0.2, 1}, // t = 0.2 - {0.027, 0.09, 0.3, 1}, // t = 0.3 - {0.064, 0.16, 0.4, 1}, // t = 0.4 - {0.125, 0.25, 0.5, 1}, // t = 0.5 - {0.216, 0.36, 0.6, 1}, // t = 0.6 - {0.343, 0.49, 0.7, 1}, // t = 0.7 - {0.512, 0.64, 0.8, 1}, // u = 0.8 - {0.729, 0.81, 0.9, 1}, // t = 0.9 - { 1, 1, 1, 1} // t = 1.0 -}; - -// The element of this(i, j) of this table contains(3-j)*(i/10)^(2-j) if -// j < 3, 0 otherwise. -final float[][] DTVectorTable = { -// 3t^2, 2t^1, t^0 - { 0, 0, 1, 0}, // t = 0.0 - {0.03, 0.2, 1, 0}, // t = 0.1 - {0.12, 0.4, 1, 0}, // t = 0.2 - {0.27, 0.6, 1, 0}, // t = 0.3 - {0.48, 0.8, 1, 0}, // t = 0.4 - {0.75, 1.0, 1, 0}, // t = 0.5 - {1.08, 1.2, 1, 0}, // t = 0.6 - {1.47, 1.4, 1, 0}, // t = 0.7 - {1.92, 1.6, 1, 0}, // t = 0.8 - {2.43, 1.8, 1, 0}, // t = 0.9 - { 3, 2, 1, 0} // t = 1.0 -}; - -abstract class Curve3D { - abstract void feval(float t, PVector p); - abstract void deval(float t, PVector d); - abstract float fevalX(float t); - abstract float fevalY(float t); - abstract float fevalZ(float t); - abstract float devalX(float t); - abstract float devalY(float t); - abstract float devalZ(float t); -} - -abstract class Spline extends Curve3D { - // The factorial of n. - int factorial(int n) { - return n <= 0 ? 1 : n * factorial(n - 1); - } - - // Gives n!/(i!(n-i)!). - int binomialCoef(int i, int n) { - if ((i <= MAX_BEZIER_ORDER) && (n <= MAX_BEZIER_ORDER)) return BinomialCoefTable[i][n - 1]; - else return int(factorial(n) / (factorial(i) * factorial(n - i))); - } - - // Evaluates the Berstein polinomial(i, n) at u. - float bersteinPol(int i, int n, float u) { - return binomialCoef(i, n) * pow(u, i) * pow(1 - u, n - i); - } - - // The derivative of the Berstein polinomial. - float dbersteinPol(int i, int n, float u) { - float s1, s2; - if (i == 0) s1 = 0; - else s1 = i * pow(u, i-1) * pow(1 - u, n - i); - if (n == i) s2 = 0; - else s2 = -(n - i) * pow(u, i) * pow(1 - u, n - i - 1); - return binomialCoef(i, n) *(s1 + s2); - } -} - -class BSpline extends Spline { - // Control points. - float[][] bsplineCPoints; - - // Parameters. - boolean lookup; - - // Auxiliary arrays used in the calculations. - float[][] M3; - float[] TVector, DTVector; - - // Point and tangent vectors. - float[] pt, tg; - - BSpline() { - initParameters(true); - } - - BSpline(boolean t) { - initParameters(t); - } - - // Sets lookup table use. - void initParameters(boolean t) { - bsplineCPoints = new float[4][3]; - TVector = new float[4]; - DTVector = new float[4]; - M3 = new float[4][3]; - pt = new float[3]; - tg = new float[3]; - lookup = t; - } - - // Sets n-th control point. - void setCPoint(int n, PVector P) { - bsplineCPoints[n][0] = P.x; - bsplineCPoints[n][1] = P.y; - bsplineCPoints[n][2] = P.z; - updateMatrix3(); - } - - // Gets n-th control point. - void getCPoint(int n, PVector P) { - P.set(bsplineCPoints[n]); - } - - // Replaces the current B-spline control points(0, 1, 2) with(1, 2, 3). This - // is used when a new spline is to be joined to the recently drawn. - void shiftBSplineCPoints() { - for (int i = 0; i < 3; i++) { - bsplineCPoints[0][i] = bsplineCPoints[1][i]; - bsplineCPoints[1][i] = bsplineCPoints[2][i]; - bsplineCPoints[2][i] = bsplineCPoints[3][i]; - } - updateMatrix3(); - } - - void copyCPoints(int n_source, int n_dest) { - for (int i = 0; i < 3; i++) { - bsplineCPoints[n_dest][i] = bsplineCPoints[n_source][i]; - } - } - - // Updates the temporal matrix used in order 3 calculations. - void updateMatrix3() { - float s; - int i, j, k; - for(i = 0; i < 4; i++) { - for(j = 0; j < 3; j++) { - s = 0; - for(k = 0; k < 4; k++) s += BSplineMatrix[i][k] * bsplineCPoints[k][j]; - M3[i][j] = s; - } - } - } - - void feval(float t, PVector p) { - evalPoint(t); - p.set(pt); - } - - void deval(float t, PVector d) { - evalTangent(t); - d.set(tg); - } - - float fevalX(float t) { - evalPoint(t); - return pt[0]; - } - - float fevalY(float t) { - evalPoint(t); - return pt[1]; - } - - float fevalZ(float t) { - evalPoint(t); - return pt[2]; - } - - float devalX(float t) { - evalTangent(t); - return tg[0]; - } - - float devalY(float t) { - evalTangent(t); - return tg[1]; - } - - float devalZ(float t) { - evalTangent(t); - return tg[2]; - } - - // Point evaluation. - void evalPoint(float t) { - if (lookup) { - bsplinePointI(int(10 * t)); - } else { - bsplinePoint(t); - } - } - - // Tangent evaluation. - void evalTangent(float t) { - if (lookup) { - bsplineTangentI(int(10 * t)); - } else { - bsplineTangent(t); - } - } - - // Calculates the point on the cubic spline corresponding to the parameter value t in [0, 1]. - void bsplinePoint(float t) { - // Q(u) = UVector * BSplineMatrix * BSplineCPoints - - float s; - int i, j, k; - - for(i = 0; i < 4; i++) { - TVector[i] = pow(t, 3 - i); - } - - for(j = 0; j < 3; j++) { - s = 0; - for(k = 0; k < 4; k++) { - s += TVector[k] * M3[k][j]; - } - pt[j] = s; - } - } - - // Calculates the tangent vector of the spline at t. - void bsplineTangent(float t) { - // Q(u) = DTVector * BSplineMatrix * BSplineCPoints - - float s; - int i, j, k; - - for(i = 0; i < 4; i++) { - if (i < 3) { - DTVector[i] = (3 - i) * pow(t, 2 - i); - } else { - DTVector[i] = 0; - } - } - - for(j = 0; j < 3; j++) { - s = 0; - for(k = 0; k < 4; k++) { - s += DTVector[k] * M3[k][j]; - } - tg[j] = s; - } - } - - // Gives the point on the cubic spline corresponding to t/10(using the lookup table). - void bsplinePointI(int t) { - // Q(u) = TVectorTable[u] * BSplineMatrix * BSplineCPoints - - float s; - int j, k; - - for(j = 0; j < 3; j++) { - s = 0; - for(k = 0; k < 4; k++) { - s += TVectorTable[t][k] * M3[k][j]; - } - pt[j] = s; - } - } - - // Calulates the tangent vector of the spline at t/10. - void bsplineTangentI(int t) { - // Q(u) = DTVectorTable[u] * BSplineMatrix * BSplineCPoints - - float s; - int j, k; - - for(j = 0; j < 3; j++) { - s = 0; - for(k = 0; k < 4; k++) { - s += DTVectorTable[t][k] * M3[k][j]; - } - tg[j] = s; - } - } -} diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Graphics/Ribbons/Geometry.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Graphics/Ribbons/Geometry.pde deleted file mode 100644 index ca978e9..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Graphics/Ribbons/Geometry.pde +++ /dev/null @@ -1,497 +0,0 @@ -BSpline splineSide1; -BSpline splineCenter; -BSpline splineSide2; -PVector flipTestV; -int uspacing; - -int HELIX = 0; -int STRAND = 1; -int COIL = 2; -int LHANDED = -1; -int RHANDED = 1; - -void createRibbonModel(ArrayList residues, PShape model, ArrayList trj) { - // For line ribbons - ArrayList vertices0 = new ArrayList(); - ArrayList vertices1 = new ArrayList(); - ArrayList vertices2 = new ArrayList(); - - // For flat ribbons - ArrayList vertices = new ArrayList(); - ArrayList normals = new ArrayList(); - - if (ribbonDetail == 1) uspacing = 10; - else if (ribbonDetail == 2) uspacing = 5; - else if (ribbonDetail == 3) uspacing = 2; - else uspacing = 1; - - flipTestV = new PVector(); - splineSide1 = new BSpline(false); - splineCenter = new BSpline(false); - splineSide2 = new BSpline(false); - - int[] ss = new int[residues.size()]; - int[] handness = new int[residues.size()]; - - calculateSecStr(residues, ss, handness); - - for (int i = 0; i < residues.size(); i++) { - constructControlPoints(residues, i, ss[i], handness[i]); - - if (renderMode == 0) { - generateSpline(0, vertices0); - generateSpline(1, vertices1); - generateSpline(2, vertices2); - } - else { - generateFlatRibbon(vertices, normals); - } - } - - if (renderMode == 0) { - model = createShape(); - model.beginShape(); - model.stroke(ribbonColor); - model.noFill(); - model.beginContour(); - for (int i = 0; i < vertices0.size(); i++) { - PVector posVec = (PVector)vertices0.get(i); - model.vertex(posVec.x, posVec.y, posVec.z); - } - model.endContour(); - model.beginContour(); - for (int i = 0; i < vertices1.size(); i++) { - PVector posVec = (PVector)vertices1.get(i); - model.vertex(posVec.x, posVec.y, posVec.z); - } - model.endContour(); - model.beginContour(); - for (int i = 0; i < vertices2.size(); i++) { - PVector posVec = (PVector)vertices2.get(i); - model.vertex(posVec.x, posVec.y, posVec.z); - } - model.endContour(); - model.endShape(OPEN); - } else { - // The ribbon construction is fairly inneficient here, since - // it could use triangle strips instead to avoid duplicating - // shared vertices... - model = createShape(); - model.beginShape(TRIANGLES); - model.noStroke(); - model.fill(ribbonColor); - for (int i = 0; i < vertices.size(); i++) { - PVector posVec = (PVector)vertices.get(i); - PVector normVec = (PVector)normals.get(i); - model.normal(-normVec.x, -normVec.y, -normVec.z); - model.vertex(posVec.x, posVec.y, posVec.z); - } - model.endShape(); - } - - trj.add(model); - - if (renderMode == 0) { - int totCount = vertices0.size() + vertices1.size() + vertices2.size(); - println("Adding new model with " + totCount + " vertices."); - } else { - println("Adding new model with " + vertices.size() + " vertices."); - } -} - -float calculateGyrRadius(ArrayList atoms) { - PVector ati, atj; - float dx, dy, dz; - float r = 0; - for (int i = 0; i < atoms.size(); i++) { - ati = (PVector)atoms.get(i); - for (int j = i + 1; j < atoms.size(); j++) { - atj = (PVector)atoms.get(j); - - dx = ati.x - atj.x; - dy = ati.y - atj.y; - dz = ati.z - atj.z; - r += dx * dx + dy * dy + dz * dz; - } - } - return sqrt(r) / (atoms.size() + 1); -} - -// Does a cheap and dirty secondary structure assignment to the protein -// residues given in the array. -void calculateSecStr(ArrayList residues, int[] ss, int[] handness) { - PVector c0, n1, ca1, c1, n2; - HashMap res0, res1, res2; - int n = residues.size(); - - float[] phi = new float[n]; - float[] psi = new float[n]; - - for (int i = 0; i < n; i++) { - if (i == 0 || i == n - 1) { - phi[i] = 90; - psi[i] = 90; - } else { - res0 = (HashMap)residues.get(i - 1); - res1 = (HashMap)residues.get(i); - res2 = (HashMap)residues.get(i + 1); - - c0 = (PVector)res0.get("C"); - n1 = (PVector)res1.get("N"); - ca1 = (PVector)res1.get("CA"); - c1 = (PVector)res1.get("C"); - n2 = (PVector)res2.get("N"); - - phi[i] = calculateTorsionalAngle(c0, n1, ca1, c1); - psi[i] = calculateTorsionalAngle(n1, ca1, c1, n2); - } - } - - int firstHelix = 0; - int nconsRHelix = 0; - int nconsLHelix = 0; - int firstStrand = 0; - int nconsStrand = 0; - for (int i = 0; i < n; i++) { - // Right-handed helix - if ((dist(phi[i], psi[i], -60, -45) < 30) && (i < n - 1)) { - if (nconsRHelix == 0) firstHelix = i; - nconsRHelix++; - } - else { - if (3 <= nconsRHelix) { - for (int k = firstHelix; k < i; k++) { - ss[k] = HELIX; - handness[k] = RHANDED; - } - } - nconsRHelix = 0; - } - - // Left-handed helix - if ((dist(phi[i], psi[i], +60, +45) < 30) && (i < n - 1)) { - if (nconsLHelix == 0) firstHelix = i; - nconsLHelix++; - - } else { - if (3 <= nconsLHelix) { - for (int k = firstHelix; k < i; k++) { - ss[k] = HELIX; - handness[k] = LHANDED; - } - } - nconsLHelix = 0; - } - - // Strand - if ((dist(phi[i], psi[i], -110, +130) < 30) && (i < n - 1)) { - if (nconsStrand == 0) firstStrand = i; - nconsStrand++; - } else { - if (2 <= nconsStrand) { - for (int k = firstStrand; k < i; k++) { - ss[k] = STRAND; - handness[k] = RHANDED; - - } - } - nconsStrand = 0; - } - - ss[i] = COIL; - handness[i] = RHANDED; - } -} - -// Calculates the torsional angle defined by four atoms with positions at0, at1, at2 and at3. -float calculateTorsionalAngle(PVector at0, PVector at1, PVector at2, PVector at3) { - PVector r01 = PVector.sub(at0, at1); - PVector r32 = PVector.sub(at3, at2); - PVector r12 = PVector.sub(at1, at2); - - PVector p = r12.cross(r01); - PVector q = r12.cross(r32); - PVector r = r12.cross(q); - - float u = q.dot(q); - float v = r.dot(r); - - float a; - if (u <= 0.0 || v <= 0.0) { - a = 360.0; - } else { - float u1 = p.dot(q); // u1 = p * q - float v1 = p.dot(r); // v1 = p * r - - u = u1 / sqrt(u); - v = v1 / sqrt(v); - - if (abs(u) > 0.01 || abs(v) > 0.01) a = degrees(atan2(v, u)); - else a = 360.0; - } - return a; -} - -void generateSpline(int n, ArrayList vertices) { - int ui; - float u; - PVector v0, v1; - - v1 = new PVector(); - - if (n == 0) splineSide1.feval(0, v1); - else if (n == 1) splineCenter.feval(0, v1); - else splineSide2.feval(0, v1); - vertices.add(new PVector(v1.x, v1.y, v1.z)); - - for (ui = 1; ui <= 10; ui ++) { - if (ui % uspacing == 0) { - u = 0.1 * ui; - - if (n == 0) splineSide1.feval(u, v1); - else if (n == 1) splineCenter.feval(u, v1); - else splineSide2.feval(u, v1); - - vertices.add(new PVector(v1.x, v1.y, v1.z)); - } - } -} - -void generateFlatRibbon(ArrayList vertices, ArrayList normals) { - PVector CentPoint0, CentPoint1; - PVector Sid1Point0, Sid1Point1; - PVector Sid2Point0, Sid2Point1; - PVector Transversal, Tangent; - PVector Normal0, Normal1; - int ui; - float u; - - CentPoint0 = new PVector(); - CentPoint1 = new PVector(); - Sid1Point0 = new PVector(); - Sid1Point1 = new PVector(); - Sid2Point0 = new PVector(); - Sid2Point1 = new PVector(); - Transversal = new PVector(); - Tangent = new PVector(); - Normal0 = new PVector(); - Normal1 = new PVector(); - - // The initial geometry is generated. - splineSide1.feval(0, Sid1Point1); - splineCenter.feval(0, CentPoint1); - splineSide2.feval(0, Sid2Point1); - - // The tangents at the three previous points are the same. - splineSide2.deval(0, Tangent); - - // Vector transversal to the ribbon. - Transversal = PVector.sub(Sid1Point1, Sid2Point1); - - // The normal is calculated. - Normal1 = Transversal.cross(Tangent); - Normal1.normalize(); - - for (ui = 1; ui <= 10; ui ++) { - if (ui % uspacing == 0) { - u = 0.1 * ui; - - // The geometry of the previous iteration is saved. - Sid1Point0.set(Sid1Point1); - CentPoint0.set(CentPoint1); - Sid2Point0.set(Sid2Point1); - Normal0.set(Normal1); - - // The new geometry is generated. - splineSide1.feval(u, Sid1Point1); - splineCenter.feval(u, CentPoint1); - splineSide2.feval(u, Sid2Point1); - - // The tangents at the three previous points are the same. - splineSide2.deval(u, Tangent); - // Vector transversal to the ribbon. - Transversal = PVector.sub(Sid1Point1, Sid2Point1); - // The normal is calculated. - Normal1 = Transversal.cross(Tangent); - Normal1.normalize(); - - // The (Sid1Point0, Sid1Point1, CentPoint1) triangle is added. - vertices.add(new PVector(CentPoint1.x, CentPoint1.y, CentPoint1.z)); - normals.add(new PVector(Normal1.x, Normal1.y, Normal1.z)); - - vertices.add(new PVector(Sid1Point1.x, Sid1Point1.y, Sid1Point1.z)); - normals.add(new PVector(Normal1.x, Normal1.y, Normal1.z)); - - vertices.add(new PVector(Sid1Point0.x, Sid1Point0.y, Sid1Point0.z)); - normals.add(new PVector(Normal0.x, Normal0.y, Normal0.z)); - - // The (Sid1Point0, CentPoint1, CentPoint0) triangle is added. - vertices.add(new PVector(CentPoint0.x, CentPoint0.y, CentPoint0.z)); - normals.add(new PVector(Normal0.x, Normal0.y, Normal0.z)); - - vertices.add(new PVector(CentPoint1.x, CentPoint1.y, CentPoint1.z)); - normals.add(new PVector(Normal1.x, Normal1.y, Normal1.z)); - - vertices.add(new PVector(Sid1Point0.x, Sid1Point0.y, Sid1Point0.z)); - normals.add(new PVector(Normal0.x, Normal0.y, Normal0.z)); - - // (Sid2Point0, Sid2Point1, CentPoint1) triangle is added. - vertices.add(new PVector(Sid2Point0.x, Sid2Point0.y, Sid2Point0.z)); - normals.add(new PVector(Normal0.x, Normal0.y, Normal0.z)); - - vertices.add(new PVector(Sid2Point1.x, Sid2Point1.y, Sid2Point1.z)); - normals.add(new PVector(Normal1.x, Normal1.y, Normal1.z)); - - vertices.add(new PVector(CentPoint1.x, CentPoint1.y, CentPoint1.z)); - normals.add(new PVector(Normal1.x, Normal1.y, Normal1.z)); - - // (Sid2Point0, CentPoint1, CentPoint0) triangle is added. - vertices.add(new PVector(Sid2Point0.x, Sid2Point0.y, Sid2Point0.z)); - normals.add(new PVector(Normal0.x, Normal0.y, Normal0.z)); - - vertices.add(new PVector(CentPoint1.x, CentPoint1.y, CentPoint1.z)); - normals.add(new PVector(Normal1.x, Normal1.y, Normal1.z)); - - vertices.add(new PVector(CentPoint0.x, CentPoint0.y, CentPoint0.z)); - normals.add(new PVector(Normal0.x, Normal0.y, Normal0.z)); - } - } -} - -/****************************************************************************** - * The code in the following three functions is based in the method introduced - * in this paper: - * "Algorithm for ribbon models of proteins." - * Authors: Mike Carson and Charles E. Bugg - * Published in: J.Mol.Graphics 4, pp. 121-122 (1986) - ******************************************************************************/ - -// Shifts the control points one place to the left. -void shiftControlPoints() { - splineSide1.shiftBSplineCPoints(); - splineCenter.shiftBSplineCPoints(); - splineSide2.shiftBSplineCPoints(); -} - -// Adds a new control point to the arrays CPCenter, CPRight and CPLeft -void addControlPoints(PVector ca0, PVector ox0, PVector ca1, int ss, int handness) { - PVector A, B, C, D, p0, cpt0, cpt1, cpt2; - - A = PVector.sub(ca1, ca0); - B = PVector.sub(ox0, ca0); - - // Vector normal to the peptide plane (pointing outside in the case of the - // alpha helix). - C = A.cross(B); - - // Vector contained in the peptide plane (perpendicular to its direction). - D = C.cross(A); - - // Normalizing vectors. - C.normalize(); - D.normalize(); - - // Flipping test (to avoid self crossing in the strands). - if ((ss != HELIX) && (90.0 < degrees(PVector.angleBetween(flipTestV, D)))) { - // Flip detected. The plane vector is inverted. - D.mult(-1.0); - } - - // The central control point is constructed. - cpt0 = linearComb(0.5, ca0, 0.5, ca1); - splineCenter.setCPoint(3, cpt0); - - if (ss == HELIX) { - // When residue i is contained in a helix, the control point is moved away - // from the helix axis, along the C direction. - p0 = new PVector(); - splineCenter.getCPoint(3, p0); - cpt0 = linearComb(1.0, p0, handness * helixDiam, C); - splineCenter.setCPoint(3, cpt0); - } - - // The control points for the side ribbons are constructed. - cpt1 = linearComb(1.0, cpt0, +ribbonWidth[ss], D); - splineSide1.setCPoint(3, cpt1); - - cpt2 = linearComb(1.0, cpt0, -ribbonWidth[ss], D); - splineSide2.setCPoint(3, cpt2); - - // Saving the plane vector (for the flipping test in the next call). - flipTestV.set(D); -} - -void constructControlPoints(ArrayList residues, int res, int ss, int handness) { - PVector ca0, ox0, ca1; - PVector p0, p1, p2, p3; - - p1 = new PVector(); - p2 = new PVector(); - p3 = new PVector(); - - HashMap res0, res1; - - res0 = res1 = null; - if (res == 0) { - // The control points 2 and 3 are created. - flipTestV.set(0, 0, 0); - - res0 = (HashMap)residues.get(res); - res1 = (HashMap)residues.get(res + 1); - ca0 = (PVector)res0.get("CA"); - ox0 = (PVector)res0.get("O"); - ca1 = (PVector)res1.get("CA"); - addControlPoints(ca0, ox0, ca1, ss, handness); - splineSide1.copyCPoints(3, 2); - splineCenter.copyCPoints(3, 2); - splineSide2.copyCPoints(3, 2); - - res0 = (HashMap)residues.get(res + 1); - res1 = (HashMap)residues.get(res + 2); - ca0 = (PVector)res0.get("CA"); - ox0 = (PVector)res0.get("O"); - ca1 = (PVector)res1.get("CA"); - addControlPoints(ca0, ox0, ca1, ss, handness); - - // We still need the two first control points. - // Moving backwards along the cp_center[2] - cp_center[3] direction. - splineCenter.getCPoint(2, p2); - splineCenter.getCPoint(3, p3); - - p1 = linearComb(2.0, p2, -1, p3); - splineCenter.setCPoint(1, p1); - splineSide1.setCPoint(1, linearComb(1.0, p1, +ribbonWidth[ss], flipTestV)); - splineSide2.setCPoint(1, linearComb(1.0, p1, -ribbonWidth[ss], flipTestV)); - - p0 = linearComb(2.0, p1, -1, p2); - splineCenter.setCPoint(0, p0); - splineSide1.setCPoint(0, linearComb(1.0, p0, +ribbonWidth[ss], flipTestV)); - splineSide2.setCPoint(0, linearComb(1.0, p0, -ribbonWidth[ss], flipTestV)); - } else { - shiftControlPoints(); - if ((residues.size() - 1 == res) || (residues.size() - 2 == res)) { - // Moving forward along the cp_center[1] - cp_center[2] direction. - splineCenter.getCPoint(1, p1); - splineCenter.getCPoint(2, p2); - - p3 = linearComb(2.0, p2, -1, p1); - splineCenter.setCPoint(3, p3); - splineSide1.setCPoint(3, linearComb(1.0, p3, +ribbonWidth[ss], flipTestV)); - splineSide2.setCPoint(3, linearComb(1.0, p3, -ribbonWidth[ss], flipTestV)); - } else { - res0 = (HashMap)residues.get(res + 1); - res1 = (HashMap)residues.get(res + 2); - ca0 = (PVector)res0.get("CA"); - ox0 = (PVector)res0.get("O"); - ca1 = (PVector)res1.get("CA"); - addControlPoints(ca0, ox0, ca1, ss, handness); - } - } - splineSide1.updateMatrix3(); - splineCenter.updateMatrix3(); - splineSide2.updateMatrix3(); -} - -PVector linearComb(float scalar0, PVector vector0, float scalar1, PVector vector1) { - return PVector.add(PVector.mult(vector0, scalar0), PVector.mult(vector1, scalar1)); -} \ No newline at end of file diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Graphics/Ribbons/PDB.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Graphics/Ribbons/PDB.pde deleted file mode 100644 index c3daf44..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Graphics/Ribbons/PDB.pde +++ /dev/null @@ -1,115 +0,0 @@ -void readPDB(String filename) { - String strLines[]; - - float xmin, xmax, ymin, ymax, zmin, zmax; - - String xstr, ystr, zstr; - float x, y, z; - int res, res0; - int nmdl; - String atstr, resstr; - - PShape model; - ArrayList atoms; - ArrayList residues; - HashMap residue; - PVector v; - String s; - strLines = loadStrings(filename); - - models = new ArrayList(); - - xmin = ymin = zmin = 10000; - xmax = ymax = zmax = -10000; - - atoms = null; - residues = null; - residue = null; - model = null; - res0 = -1; - nmdl = -1; - for (int i = 0; i < strLines.length; i++) { - s = strLines[i]; - - if (s.startsWith("MODEL") || (s.startsWith("ATOM") && res0 == -1)) { - nmdl++; - - res0 = -1; - - atoms = new ArrayList(); - residues = new ArrayList(); - } - - if (s.startsWith("ATOM")) { - atstr = s.substring(12, 15); - atstr = atstr.trim(); - resstr = s.substring(22, 26); - resstr = resstr.trim(); - res = parseInt(resstr); - - xstr = s.substring(30, 37); - xstr = xstr.trim(); - ystr = s.substring(38, 45); - ystr = ystr.trim(); - zstr = s.substring(46, 53); - zstr = zstr.trim(); - - x = scaleFactor * parseFloat(xstr); - y = scaleFactor * parseFloat(ystr); - z = scaleFactor * parseFloat(zstr); - v = new PVector(x, y, z); - - xmin = min(xmin, x); - xmax = max(xmax, x); - - ymin = min(ymin, y); - ymax = max(ymax, y); - - zmin = min(zmin, z); - zmax = max(zmax, z); - - atoms.add(v); - - if (res0 != res) { - if (residue != null) residues.add(residue); - residue = new HashMap(); - } - residue.put(atstr, v); - - res0 = res; - } - - if (s.startsWith("ENDMDL") || s.startsWith("TER")) { - if (residue != null) residues.add(residue); - - createRibbonModel(residues, model, models); - float rgyr = calculateGyrRadius(atoms); - - res0 = -1; - residue = null; - atoms = null; - residues = null; - } - } - - if (residue != null) { - if (residue != null) residues.add(residue); - - createRibbonModel(residues, model, models); - float rgyr = calculateGyrRadius(atoms); - - atoms = null; - residues = null; - } - - // Centering models at (0, 0, 0). - float dx = -0.5f * (xmin + xmax); - float dy = -0.5f * (ymin + ymax); - float dz = -0.5f * (zmin + zmax); - for (int n = 0; n < models.size(); n++) { - model = (PShape) models.get(n); - model.translate(dx, dy, dz); - } - - println("Loaded PDB file with " + models.size() + " models."); -} diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Graphics/Ribbons/Ribbons.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Graphics/Ribbons/Ribbons.pde deleted file mode 100644 index 3a5acfe..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Graphics/Ribbons/Ribbons.pde +++ /dev/null @@ -1,51 +0,0 @@ -// Ribbons, by Andres Colubri -// ArcBall class by Ariel, V3ga and Robert Hodgin (flight404) -// This sketch loads 3D atomic coordinates of a protein molecule -// from a file in PDB format (http://www.pdb.org/) and displays -// the structure using a ribbon representation. - -String pdbFile = "4HHB.pdb"; // PDB file to read -//String pdbFile = "1CBS.pdb"; -//String pdbFile = "2POR.pdb"; - -// Some parameters to control the visual appearance: -float scaleFactor = 10; // Size factor -int renderMode = 1; // 0 = lines, 1 = flat ribbons -int ribbonDetail = 4; // Ribbon detail: from 1 (lowest) to 4 (highest) -float helixDiam = 10; // Helix diameter. -int[] ribbonWidth = {10, 7, 2}; // Ribbon widths for helix, strand and coil -color ribbonColor = color(0, 102, 153, 255); // Ribbon color - -// All the molecular models read from the PDB file (it could contain more than one) -ArrayList models; - -Arcball arcball; - -void setup() { - size(1024, 768, P3D); - - arcball = new Arcball(width/2, height/2, 600); - readPDB(pdbFile); -} - -void draw() { - background(0); - - ambient(80); - lights(); - - translate(width/2, height/2, 200); - arcball.run(); - - for (int i = 0; i < models.size(); i++) { - shape((PShape)models.get(i)); - } -} - -void mousePressed(){ - arcball.mousePressed(); -} - -void mouseDragged(){ - arcball.mouseDragged(); -} \ No newline at end of file diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Graphics/RotatingArcs/RotatingArcs.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Graphics/RotatingArcs/RotatingArcs.pde deleted file mode 100644 index 8bbb32b..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Graphics/RotatingArcs/RotatingArcs.pde +++ /dev/null @@ -1,162 +0,0 @@ -/** - * Geometry - * by Marius Watz. - * - * Using sin/cos lookup tables, blends colors, and draws a series of - * rotating arcs on the screen. -*/ - -// Trig lookup tables borrowed from Toxi; cryptic but effective. -float sinLUT[]; -float cosLUT[]; -float SINCOS_PRECISION=1.0; -int SINCOS_LENGTH= int((360.0/SINCOS_PRECISION)); - -// System data -boolean dosave=false; -int num; -float pt[]; -int style[]; - - -void setup() { - size(1024, 768, P3D); - background(255); - - // Fill the tables - sinLUT=new float[SINCOS_LENGTH]; - cosLUT=new float[SINCOS_LENGTH]; - for (int i = 0; i < SINCOS_LENGTH; i++) { - sinLUT[i]= (float)Math.sin(i*DEG_TO_RAD*SINCOS_PRECISION); - cosLUT[i]= (float)Math.cos(i*DEG_TO_RAD*SINCOS_PRECISION); - } - - num = 150; - pt = new float[6*num]; // rotx, roty, deg, rad, w, speed - style = new int[2*num]; // color, render style - - // Set up arc shapes - int index=0; - float prob; - for (int i=0; i90) pt[index]=(int)random(8,27)*10; - - pt[index++] = int(random(2,50)*5); // Radius. Space them out nicely - - pt[index++] = random(4,32); // Width of band - if(random(100)>90) pt[index]=random(40,60); // Width of band - - pt[index++] = radians(random(5,30))/5; // Speed of rotation - - // get colors - prob = random(100); - if(prob<30) style[i*2]=colorBlended(random(1), 255,0,100, 255,0,0, 210); - else if(prob<70) style[i*2]=colorBlended(random(1), 0,153,255, 170,225,255, 210); - else if(prob<90) style[i*2]=colorBlended(random(1), 200,255,0, 150,255,0, 210); - else style[i*2]=color(255,255,255, 220); - - if(prob<50) style[i*2]=colorBlended(random(1), 200,255,0, 50,120,0, 210); - else if(prob<90) style[i*2]=colorBlended(random(1), 255,100,0, 255,255,0, 210); - else style[i*2]=color(255,255,255, 220); - - style[i*2+1]=(int)(random(100))%3; - } -} - -void draw() { - - background(0); - - int index=0; - translate(width/2, height/2, 0); - rotateX(PI/6); - rotateY(PI/6); - - for (int i = 0; i < num; i++) { - pushMatrix(); - - rotateX(pt[index++]); - rotateY(pt[index++]); - - if(style[i*2+1]==0) { - stroke(style[i*2]); - noFill(); - strokeWeight(1); - arcLine(0,0, pt[index++],pt[index++],pt[index++]); - } - else if(style[i*2+1]==1) { - fill(style[i*2]); - noStroke(); - arcLineBars(0,0, pt[index++],pt[index++],pt[index++]); - } - else { - fill(style[i*2]); - noStroke(); - arc(0,0, pt[index++],pt[index++],pt[index++]); - } - - // increase rotation - pt[index-5]+=pt[index]/10; - pt[index-4]+=pt[index++]/20; - - popMatrix(); - } -} - - -// Get blend of two colors -int colorBlended(float fract, -float r, float g, float b, -float r2, float g2, float b2, float a) { - - r2 = (r2 - r); - g2 = (g2 - g); - b2 = (b2 - b); - return color(r + r2 * fract, g + g2 * fract, b + b2 * fract, a); -} - - -// Draw arc line -void arcLine(float x,float y,float deg,float rad,float w) { - int a=(int)(min (deg/SINCOS_PRECISION,SINCOS_LENGTH-1)); - int numlines=(int)(w/2); - - for (int j=0; j= capacity) { - // there are all sorts of possible solutions here, - // but for abject simplicity, I don't do anything. - } - else { - float v = distToLast(x, y); - float p = getPressureFromVelocity(v); - path[nPoints++].set(x,y,p); - - if (nPoints > 1) { - exists = true; - jumpDx = path[nPoints-1].x - path[0].x; - jumpDy = path[nPoints-1].y - path[0].y; - } - } - - } - - float getPressureFromVelocity(float v) { - final float scale = 18; - final float minP = 0.02; - final float oldP = (nPoints > 0) ? path[nPoints-1].p : 0; - return ((minP + max(0, 1.0 - v/scale)) + (damp1*oldP))*dampInv; - } - - void setPressures() { - // pressures vary from 0...1 - float pressure; - Vec3f tmp; - float t = 0; - float u = 1.0 / (nPoints - 1)*TWO_PI; - for (int i = 0; i < nPoints; i++) { - pressure = sqrt((1.0 - cos(t))*0.5); - path[i].p = pressure; - t += u; - } - } - - float distToLast(float ix, float iy) { - if (nPoints > 0) { - Vec3f v = path[nPoints-1]; - float dx = v.x - ix; - float dy = v.y - iy; - return mag(dx, dy); - } - else { - return 30; - } - } - - void compile() { - // compute the polygons from the path of Vec3f's - if (exists) { - clearPolys(); - - Vec3f p0, p1, p2; - float radius0, radius1; - float ax, bx, cx, dx; - float ay, by, cy, dy; - int axi, bxi, cxi, dxi, axip, axid; - int ayi, byi, cyi, dyi, ayip, ayid; - float p1x, p1y; - float dx01, dy01, hp01, si01, co01; - float dx02, dy02, hp02, si02, co02; - float dx13, dy13, hp13, si13, co13; - float taper = 1.0; - - int nPathPoints = nPoints - 1; - int lastPolyIndex = nPathPoints - 1; - float npm1finv = 1.0 / max(1, nPathPoints - 1); - - // handle the first point - p0 = path[0]; - p1 = path[1]; - radius0 = p0.p * thickness; - dx01 = p1.x - p0.x; - dy01 = p1.y - p0.y; - hp01 = sqrt(dx01*dx01 + dy01*dy01); - if (hp01 == 0) { - hp02 = 0.0001; - } - co01 = radius0 * dx01 / hp01; - si01 = radius0 * dy01 / hp01; - ax = p0.x - si01; - ay = p0.y + co01; - bx = p0.x + si01; - by = p0.y - co01; - - int xpts[]; - int ypts[]; - - int LC = 20; - int RC = w-LC; - int TC = 20; - int BC = h-TC; - float mint = 0.618; - float tapow = 0.4; - - // handle the middle points - int i = 1; - Polygon apoly; - for (i = 1; i < nPathPoints; i++) { - taper = pow((lastPolyIndex-i)*npm1finv,tapow); - - p0 = path[i-1]; - p1 = path[i ]; - p2 = path[i+1]; - p1x = p1.x; - p1y = p1.y; - radius1 = Math.max(mint,taper*p1.p*thickness); - - // assumes all segments are roughly the same length... - dx02 = p2.x - p0.x; - dy02 = p2.y - p0.y; - hp02 = (float) Math.sqrt(dx02*dx02 + dy02*dy02); - if (hp02 != 0) { - hp02 = radius1/hp02; - } - co02 = dx02 * hp02; - si02 = dy02 * hp02; - - // translate the integer coordinates to the viewing rectangle - axi = axip = (int)ax; - ayi = ayip = (int)ay; - axi=(axi<0)?(w-((-axi)%w)):axi%w; - axid = axi-axip; - ayi=(ayi<0)?(h-((-ayi)%h)):ayi%h; - ayid = ayi-ayip; - - // set the vertices of the polygon - apoly = polygons[nPolys++]; - xpts = apoly.xpoints; - ypts = apoly.ypoints; - xpts[0] = axi = axid + axip; - xpts[1] = bxi = axid + (int) bx; - xpts[2] = cxi = axid + (int)(cx = p1x + si02); - xpts[3] = dxi = axid + (int)(dx = p1x - si02); - ypts[0] = ayi = ayid + ayip; - ypts[1] = byi = ayid + (int) by; - ypts[2] = cyi = ayid + (int)(cy = p1y - co02); - ypts[3] = dyi = ayid + (int)(dy = p1y + co02); - - // keep a record of where we cross the edge of the screen - crosses[i] = 0; - if ((axi<=LC)||(bxi<=LC)||(cxi<=LC)||(dxi<=LC)) { - crosses[i]|=1; - } - if ((axi>=RC)||(bxi>=RC)||(cxi>=RC)||(dxi>=RC)) { - crosses[i]|=2; - } - if ((ayi<=TC)||(byi<=TC)||(cyi<=TC)||(dyi<=TC)) { - crosses[i]|=4; - } - if ((ayi>=BC)||(byi>=BC)||(cyi>=BC)||(dyi>=BC)) { - crosses[i]|=8; - } - - //swap data for next time - ax = dx; - ay = dy; - bx = cx; - by = cy; - } - - // handle the last point - p2 = path[nPathPoints]; - apoly = polygons[nPolys++]; - xpts = apoly.xpoints; - ypts = apoly.ypoints; - - xpts[0] = (int)ax; - xpts[1] = (int)bx; - xpts[2] = (int)(p2.x); - xpts[3] = (int)(p2.x); - - ypts[0] = (int)ay; - ypts[1] = (int)by; - ypts[2] = (int)(p2.y); - ypts[3] = (int)(p2.y); - - } - } - - void smooth() { - // average neighboring points - - final float weight = 18; - final float scale = 1.0 / (weight + 2); - int nPointsMinusTwo = nPoints - 2; - Vec3f lower, upper, center; - - for (int i = 1; i < nPointsMinusTwo; i++) { - lower = path[i-1]; - center = path[i]; - upper = path[i+1]; - - center.x = (lower.x + weight*center.x + upper.x)*scale; - center.y = (lower.y + weight*center.y + upper.y)*scale; - } - } -} - diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Graphics/Yellowtail/Vec3f.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Graphics/Yellowtail/Vec3f.pde deleted file mode 100644 index 865d3c3..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Graphics/Yellowtail/Vec3f.pde +++ /dev/null @@ -1,19 +0,0 @@ -class Vec3f { - float x; - float y; - float p; // Pressure - - Vec3f() { - set(0, 0, 0); - } - - Vec3f(float ix, float iy, float ip) { - set(ix, iy, ip); - } - - void set(float ix, float iy, float ip) { - x = ix; - y = iy; - p = ip; - } -} diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Graphics/Yellowtail/Yellowtail.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Graphics/Yellowtail/Yellowtail.pde deleted file mode 100644 index 5a28ea8..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Graphics/Yellowtail/Yellowtail.pde +++ /dev/null @@ -1,189 +0,0 @@ -/** - * Yellowtail - * by Golan Levin (www.flong.com). - * - * Click, drag, and release to create a kinetic gesture. - * - * Yellowtail (1998-2000) is an interactive software system for the gestural - * creation and performance of real-time abstract animation. Yellowtail repeats - * a user's strokes end-over-end, enabling simultaneous specification of a - * line's shape and quality of movement. Each line repeats according to its - * own period, producing an ever-changing and responsive display of lively, - * worm-like textures. - */ - - -import java.awt.Polygon; - -Gesture gestureArray[]; -final int nGestures = 36; // Number of gestures -final int minMove = 3; // Minimum travel for a new point -int currentGestureID; - -Polygon tempP; -int tmpXp[]; -int tmpYp[]; - - -void setup() { - size(1024, 768, P2D); - background(0, 0, 0); - noStroke(); - - currentGestureID = -1; - gestureArray = new Gesture[nGestures]; - for (int i = 0; i < nGestures; i++) { - gestureArray[i] = new Gesture(width, height); - } - clearGestures(); -} - - -void draw() { - background(0); - - updateGeometry(); - fill(255, 255, 245); - for (int i = 0; i < nGestures; i++) { - renderGesture(gestureArray[i], width, height); - } -} - -void mousePressed() { - currentGestureID = (currentGestureID+1) % nGestures; - Gesture G = gestureArray[currentGestureID]; - G.clear(); - G.clearPolys(); - G.addPoint(mouseX, mouseY); -} - - -void mouseDragged() { - if (currentGestureID >= 0) { - Gesture G = gestureArray[currentGestureID]; - if (G.distToLast(mouseX, mouseY) > minMove) { - G.addPoint(mouseX, mouseY); - G.smooth(); - G.compile(); - } - } -} - - -void keyPressed() { - if (key == '+' || key == '=') { - if (currentGestureID >= 0) { - float th = gestureArray[currentGestureID].thickness; - gestureArray[currentGestureID].thickness = min(96, th+1); - gestureArray[currentGestureID].compile(); - } - } else if (key == '-') { - if (currentGestureID >= 0) { - float th = gestureArray[currentGestureID].thickness; - gestureArray[currentGestureID].thickness = max(2, th-1); - gestureArray[currentGestureID].compile(); - } - } else if (key == ' ') { - clearGestures(); - } -} - - -void renderGesture(Gesture gesture, int w, int h) { - if (gesture.exists) { - if (gesture.nPolys > 0) { - Polygon polygons[] = gesture.polygons; - int crosses[] = gesture.crosses; - - int xpts[]; - int ypts[]; - Polygon p; - int cr; - - beginShape(QUADS); - int gnp = gesture.nPolys; - for (int i=0; i 0) { - if ((cr & 3)>0) { - vertex(xpts[0]+w, ypts[0]); - vertex(xpts[1]+w, ypts[1]); - vertex(xpts[2]+w, ypts[2]); - vertex(xpts[3]+w, ypts[3]); - - vertex(xpts[0]-w, ypts[0]); - vertex(xpts[1]-w, ypts[1]); - vertex(xpts[2]-w, ypts[2]); - vertex(xpts[3]-w, ypts[3]); - } - if ((cr & 12)>0) { - vertex(xpts[0], ypts[0]+h); - vertex(xpts[1], ypts[1]+h); - vertex(xpts[2], ypts[2]+h); - vertex(xpts[3], ypts[3]+h); - - vertex(xpts[0], ypts[0]-h); - vertex(xpts[1], ypts[1]-h); - vertex(xpts[2], ypts[2]-h); - vertex(xpts[3], ypts[3]-h); - } - - // I have knowingly retained the small flaw of not - // completely dealing with the corner conditions - // (the case in which both of the above are true). - } - } - endShape(); - } - } -} - -void updateGeometry() { - Gesture J; - for (int g=0; g 0) { - path = gesture.path; - for (int i = nPts1; i > 0; i--) { - path[i].x = path[i-1].x; - path[i].y = path[i-1].y; - } - path[0].x = path[nPts1].x - jx; - path[0].y = path[nPts1].y - jy; - gesture.compile(); - } - } -} - -void clearGestures() { - for (int i = 0; i < nGestures; i++) { - gestureArray[i].clear(); - } -} diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Performance/CubicGridImmediate/CubicGridImmediate.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Performance/CubicGridImmediate/CubicGridImmediate.pde deleted file mode 100644 index c6089cd..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Performance/CubicGridImmediate/CubicGridImmediate.pde +++ /dev/null @@ -1,65 +0,0 @@ -/** - * Cubic Grid - * by Ira Greenberg. - * - * 3D translucent colored grid uses nested pushMatrix() - * and popMatrix() functions. - */ - -float boxSize = 20; -float margin = boxSize*2; -float depth = 400; -color boxFill; - -int fcount, lastm; -float frate; -int fint = 3; - -void setup() { - size(640, 360, P3D); - frameRate(60); - noSmooth(); - noStroke(); -} - -void draw() { - background(255); - - hint(DISABLE_DEPTH_TEST); - - // Center and spin grid - pushMatrix(); - translate(width/2, height/2, -depth); - rotateY(frameCount * 0.01); - rotateX(frameCount * 0.01); - - // Build grid using multiple translations - for (float i =- depth/2+margin; i <= depth/2-margin; i += boxSize){ - for (float j =- height+margin; j <= height-margin; j += boxSize){ - for (float k =- width+margin; k <= width-margin; k += boxSize){ - // Base fill color on counter values, abs function - // ensures values stay within legal range - boxFill = color(abs(i), abs(j), abs(k), 50); - pushMatrix(); - translate(k, j, i); - fill(boxFill); - box(boxSize, boxSize, boxSize); - popMatrix(); - } - } - } - popMatrix(); - - hint(ENABLE_DEPTH_TEST); - - fcount += 1; - int m = millis(); - if (m - lastm > 1000 * fint) { - frate = float(fcount) / fint; - fcount = 0; - lastm = m; - println("fps: " + frate); - } - fill(0); - text("fps: " + frate, 10, 20); -} \ No newline at end of file diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Performance/CubicGridRetained/CubicGridRetained.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Performance/CubicGridRetained/CubicGridRetained.pde deleted file mode 100644 index 70906fb..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Performance/CubicGridRetained/CubicGridRetained.pde +++ /dev/null @@ -1,67 +0,0 @@ -/* CubicGridRetained - * - * You may need to increase the maximum available memory in the - * Processing preferences menu. -*/ -float boxSize = 20; -float margin = boxSize*2; -float depth = 400; -color boxFill; - -PShape grid; - -int fcount, lastm; -float frate; -int fint = 3; - -void setup() { - size(640, 360, P3D); - frameRate(60); - noSmooth(); - noStroke(); - - grid = createShape(GROUP); - - // Build grid using multiple translations - for (float i =- depth/2+margin; i <= depth/2-margin; i += boxSize){ - for (float j =- height+margin; j <= height-margin; j += boxSize){ - for (float k =- width+margin; k <= width-margin; k += boxSize){ - // Base fill color on counter values, abs function - // ensures values stay within legal range - boxFill = color(abs(i), abs(j), abs(k), 50); - PShape cube = createShape(BOX, boxSize, boxSize, boxSize); - cube.setFill(boxFill); - cube.translate(k, j, i); - grid.addChild(cube); - } - } - } -} - -void draw() { - background(255); - - hint(DISABLE_DEPTH_TEST); - - // Center and spin grid - pushMatrix(); - translate(width/2, height/2, -depth); - rotateY(frameCount * 0.01); - rotateX(frameCount * 0.01); - - shape(grid); - popMatrix(); - - hint(ENABLE_DEPTH_TEST); - - fcount += 1; - int m = millis(); - if (m - lastm > 1000 * fint) { - frate = float(fcount) / fint; - fcount = 0; - lastm = m; - println("fps: " + frate); - } - fill(0); - text("fps: " + frate, 10, 20); -} diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Performance/DynamicParticlesImmediate/DynamicParticlesImmediate.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Performance/DynamicParticlesImmediate/DynamicParticlesImmediate.pde deleted file mode 100644 index edc5d15..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Performance/DynamicParticlesImmediate/DynamicParticlesImmediate.pde +++ /dev/null @@ -1,118 +0,0 @@ -PImage sprite; - -int npartTotal = 10000; -int npartPerFrame = 25; -float speed = 1.0; -float gravity = 0.05; -float partSize = 20; - -int partLifetime; -PVector positions[]; -PVector velocities[]; -int lifetimes[]; - -int fcount, lastm; -float frate; -int fint = 3; - -void setup() { - size(640, 480, P3D); - frameRate(120); - - sprite = loadImage("sprite.png"); - - partLifetime = npartTotal / npartPerFrame; - initPositions(); - initVelocities(); - initLifetimes(); - - // Writing to the depth buffer is disabled to avoid rendering - // artifacts due to the fact that the particles are semi-transparent - // but not z-sorted. - hint(DISABLE_DEPTH_MASK); - - // Testing some hints - //hint(DISABLE_TRANSFORM_CACHE); - //hint(ENABLE_ACCURATE_2D); -} - -void draw () { - background(0); - - for (int n = 0; n < npartTotal; n++) { - lifetimes[n]++; - if (lifetimes[n] == partLifetime) { - lifetimes[n] = 0; - } - - if (0 <= lifetimes[n]) { - float opacity = 1.0 - float(lifetimes[n]) / partLifetime; - - if (lifetimes[n] == 0) { - // Re-spawn dead particle - positions[n].x = mouseX; - positions[n].y = mouseY; - - float angle = random(0, TWO_PI); - float s = random(0.5 * speed, 0.5 * speed); - velocities[n].x = s * cos(angle); - velocities[n].y = s * sin(angle); - } else { - positions[n].x += velocities[n].x; - positions[n].y += velocities[n].y; - - velocities[n].y += gravity; - } - drawParticle(positions[n], opacity); - } - } - - fcount += 1; - int m = millis(); - if (m - lastm > 1000 * fint) { - frate = float(fcount) / fint; - fcount = 0; - lastm = m; - println("fps: " + frate); - } -} - -void drawParticle(PVector center, float opacity) { - beginShape(QUAD); - noStroke(); - tint(255, opacity * 255); - texture(sprite); - normal(0, 0, 1); - vertex(center.x - partSize/2, center.y - partSize/2, 0, 0); - vertex(center.x + partSize/2, center.y - partSize/2, sprite.width, 0); - vertex(center.x + partSize/2, center.y + partSize/2, sprite.width, sprite.height); - vertex(center.x - partSize/2, center.y + partSize/2, 0, sprite.height); - endShape(); -} - -void initPositions() { - positions = new PVector[npartTotal]; - for (int n = 0; n < positions.length; n++) { - positions[n] = new PVector(); - } -} - -void initVelocities() { - velocities = new PVector[npartTotal]; - for (int n = 0; n < velocities.length; n++) { - velocities[n] = new PVector(); - } -} - -void initLifetimes() { - // Initializing particles with negative lifetimes so they are added - // progressively into the screen during the first frames of the sketch - lifetimes = new int[npartTotal]; - int t = -1; - for (int n = 0; n < lifetimes.length; n++) { - if (n % npartPerFrame == 0) { - t++; - } - lifetimes[n] = -t; - } -} diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Performance/DynamicParticlesImmediate/data/sprite.png b/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Performance/DynamicParticlesImmediate/data/sprite.png deleted file mode 100644 index cc0f45c..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Performance/DynamicParticlesImmediate/data/sprite.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Performance/DynamicParticlesRetained/DynamicParticlesRetained.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Performance/DynamicParticlesRetained/DynamicParticlesRetained.pde deleted file mode 100644 index 5216579..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Performance/DynamicParticlesRetained/DynamicParticlesRetained.pde +++ /dev/null @@ -1,111 +0,0 @@ -PShape particles; -PImage sprite; - -int npartTotal = 10000; -int npartPerFrame = 25; -float speed = 1.0; -float gravity = 0.05; -float partSize = 20; - -int partLifetime; -PVector velocities[]; -int lifetimes[]; - -int fcount, lastm; -float frate; -int fint = 3; - -void setup() { - size(640, 480, P3D); - frameRate(120); - - particles = createShape(PShape.GROUP); - sprite = loadImage("sprite.png"); - - for (int n = 0; n < npartTotal; n++) { - PShape part = createShape(); - part.beginShape(QUAD); - part.noStroke(); - part.texture(sprite); - part.normal(0, 0, 1); - part.vertex(-partSize/2, -partSize/2, 0, 0); - part.vertex(+partSize/2, -partSize/2, sprite.width, 0); - part.vertex(+partSize/2, +partSize/2, sprite.width, sprite.height); - part.vertex(-partSize/2, +partSize/2, 0, sprite.height); - part.endShape(); - particles.addChild(part); - } - - partLifetime = npartTotal / npartPerFrame; - initVelocities(); - initLifetimes(); - - // Writing to the depth buffer is disabled to avoid rendering - // artifacts due to the fact that the particles are semi-transparent - // but not z-sorted. - hint(DISABLE_DEPTH_MASK); -} - -void draw () { - background(0); - - for (int n = 0; n < particles.getChildCount(); n++) { - PShape part = particles.getChild(n); - - lifetimes[n]++; - if (lifetimes[n] == partLifetime) { - lifetimes[n] = 0; - } - - if (0 <= lifetimes[n]) { - float opacity = 1.0 - float(lifetimes[n]) / partLifetime; - part.setTint(color(255, opacity * 255)); - - if (lifetimes[n] == 0) { - // Re-spawn dead particle - part.resetMatrix(); - part.translate(mouseX, mouseY); - float angle = random(0, TWO_PI); - float s = random(0.5 * speed, 0.5 * speed); - velocities[n].x = s * cos(angle); - velocities[n].y = s * sin(angle); - } else { - part.translate(velocities[n].x, velocities[n].y); - velocities[n].y += gravity; - } - } else { - part.setTint(color(0)); - } - } - - shape(particles); - - fcount += 1; - int m = millis(); - if (m - lastm > 1000 * fint) { - frate = float(fcount) / fint; - fcount = 0; - lastm = m; - println("fps: " + frate); - } -} - -void initVelocities() { - velocities = new PVector[npartTotal]; - for (int n = 0; n < velocities.length; n++) { - velocities[n] = new PVector(); - } -} - -void initLifetimes() { - // Initializing particles with negative lifetimes so they are added - // progressively into the screen during the first frames of the sketch - lifetimes = new int[npartTotal]; - int t = -1; - for (int n = 0; n < lifetimes.length; n++) { - if (n % npartPerFrame == 0) { - t++; - } - lifetimes[n] = -t; - } -} diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Performance/DynamicParticlesRetained/data/sprite.png b/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Performance/DynamicParticlesRetained/data/sprite.png deleted file mode 100644 index cc0f45c..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Performance/DynamicParticlesRetained/data/sprite.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Performance/Esfera/Esfera.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Performance/Esfera/Esfera.pde deleted file mode 100644 index 1b84f29..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Performance/Esfera/Esfera.pde +++ /dev/null @@ -1,90 +0,0 @@ -/** - * Esfera - * by David Pena. - * - * Distribucion aleatoria uniforme sobre la superficie de una esfera. - */ - -int cuantos = 16000; -Pelo[] lista ; -float radio = 200; -float rx = 0; -float ry =0; - -void setup() { - size(1024, 768, P3D); - - radio = height/3.5; - - lista = new Pelo[cuantos]; - for (int i = 0; i < lista.length; i++) { - lista[i] = new Pelo(); - } - noiseDetail(3); -} - -void draw() { - background(0); - - float rxp = (mouseX-(width/2)) * 0.005; - float ryp = (mouseY-(height/2)) * 0.005; - rx = rx*0.9 + rxp*0.1; - ry = ry*0.9 + ryp*0.1; - - translate(width/2, height/2); - rotateY(rx); - rotateX(ry); - fill(0); - noStroke(); - sphere(radio); - - for (int i = 0; i < lista.length; i++) { - lista[i].dibujar(); - } - -} - - -class Pelo -{ - float z = random(-radio, radio); - float phi = random(TWO_PI); - float largo = random(1.15, 1.2); - float theta = asin(z/radio); - - Pelo() { // what's wrong with a constructor here - z = random(-radio, radio); - phi = random(TWO_PI); - largo = random(1.15, 1.2); - theta = asin(z/radio); - } - - void dibujar() { - - float off = (noise(millis() * 0.0005, sin(phi))-0.5) * 0.3; - float offb = (noise(millis() * 0.0007, sin(z) * 0.01)-0.5) * 0.3; - - float thetaff = theta+off; - float phff = phi+offb; - float x = radio * cos(theta) * cos(phi); - float y = radio * cos(theta) * sin(phi); - float z = radio * sin(theta); - - float xo = radio * cos(thetaff) * cos(phff); - float yo = radio * cos(thetaff) * sin(phff); - float zo = radio * sin(thetaff); - - float xb = xo * largo; - float yb = yo * largo; - float zb = zo * largo; - - strokeWeight(1); - beginShape(LINES); - stroke(0); - vertex(x, y, z); - stroke(200, 150); - vertex(xb, yb, zb); - endShape(); - } -} - diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Performance/LineRendering/LineRendering.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Performance/LineRendering/LineRendering.pde deleted file mode 100644 index 2323e86..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Performance/LineRendering/LineRendering.pde +++ /dev/null @@ -1,24 +0,0 @@ - -public void setup() { - size(800, 600, P2D); -} - -public void draw() { - background(255); - stroke(0, 10); - for (int i = 0; i < 50000; i++) { - float x0 = random(width); - float y0 = random(height); - float z0 = random(-100, 100); - float x1 = random(width); - float y1 = random(height); - float z1 = random(-100, 100); - - // purely 2D lines will trigger the GLU - // tessellator to add accurate line caps, - // but performance will be substantially - // lower. - line(x0, y0, z0, x1, y1, z1); - } - if (frameCount % 10 == 0) println(frameRate); -} diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Performance/QuadRendering/QuadRendering.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Performance/QuadRendering/QuadRendering.pde deleted file mode 100644 index 8323b42..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Performance/QuadRendering/QuadRendering.pde +++ /dev/null @@ -1,17 +0,0 @@ - -public void setup() { - size(800, 600, P2D); - - noStroke(); - fill(0, 1); -} - -public void draw() { - background(255); - for (int i = 0; i < 50000; i++) { - float x = random(width); - float y = random(height); - rect(x, y, 30, 30); - } - if (frameCount % 10 == 0) println(frameRate); -} diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Performance/StaticParticlesImmediate/StaticParticlesImmediate.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Performance/StaticParticlesImmediate/StaticParticlesImmediate.pde deleted file mode 100644 index 366f9f7..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Performance/StaticParticlesImmediate/StaticParticlesImmediate.pde +++ /dev/null @@ -1,65 +0,0 @@ -PImage sprite; - -int npartTotal = 50000; -float partSize = 20; - -PVector positions[]; - -int fcount, lastm; -float frate; -int fint = 3; - -void setup() { - size(800, 600, P3D); - frameRate(60); - - sprite = loadImage("sprite.png"); - - initPositions(); - - // Writing to the depth buffer is disabled to avoid rendering - // artifacts due to the fact that the particles are semi-transparent - // but not z-sorted. - hint(DISABLE_DEPTH_MASK); -} - -void draw () { - background(0); - - translate(width/2, height/2); - rotateY(frameCount * 0.01); - - for (int n = 0; n < npartTotal; n++) { - drawParticle(positions[n]); - } - - fcount += 1; - int m = millis(); - if (m - lastm > 1000 * fint) { - frate = float(fcount) / fint; - fcount = 0; - lastm = m; - println("fps: " + frate); - } -} - -void drawParticle(PVector center) { - beginShape(QUAD); - noStroke(); - tint(255); - texture(sprite); - normal(0, 0, 1); - vertex(center.x - partSize/2, center.y - partSize/2, center.z, 0, 0); - vertex(center.x + partSize/2, center.y - partSize/2, center.z, sprite.width, 0); - vertex(center.x + partSize/2, center.y + partSize/2, center.z, sprite.width, sprite.height); - vertex(center.x - partSize/2, center.y + partSize/2, center.z, 0, sprite.height); - endShape(); -} - -void initPositions() { - positions = new PVector[npartTotal]; - for (int n = 0; n < positions.length; n++) { - positions[n] = new PVector(random(-500, +500), random(-500, +500), random(-500, +500)); - } -} - diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Performance/StaticParticlesImmediate/data/sprite.png b/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Performance/StaticParticlesImmediate/data/sprite.png deleted file mode 100644 index cc0f45c..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Performance/StaticParticlesImmediate/data/sprite.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Performance/StaticParticlesRetained/StaticParticlesRetained.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Performance/StaticParticlesRetained/StaticParticlesRetained.pde deleted file mode 100644 index 76f8074..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Performance/StaticParticlesRetained/StaticParticlesRetained.pde +++ /dev/null @@ -1,60 +0,0 @@ -PShape particles; -PImage sprite; - -int npartTotal = 50000; -float partSize = 20; - -int fcount, lastm; -float frate; -int fint = 3; - -void setup() { - size(800, 600, P3D); - frameRate(60); - - particles = createShape(PShape.GROUP); - sprite = loadImage("sprite.png"); - - for (int n = 0; n < npartTotal; n++) { - float cx = random(-500, +500); - float cy = random(-500, +500); - float cz = random(-500, +500); - - PShape part = createShape(); - part.beginShape(QUAD); - part.noStroke(); - part.tint(255); - part.texture(sprite); - part.normal(0, 0, 1); - part.vertex(cx - partSize/2, cy - partSize/2, cz, 0, 0); - part.vertex(cx + partSize/2, cy - partSize/2, cz, sprite.width, 0); - part.vertex(cx + partSize/2, cy + partSize/2, cz, sprite.width, sprite.height); - part.vertex(cx - partSize/2, cy + partSize/2, cz, 0, sprite.height); - part.endShape(); - particles.addChild(part); - } - - // Writing to the depth buffer is disabled to avoid rendering - // artifacts due to the fact that the particles are semi-transparent - // but not z-sorted. - hint(DISABLE_DEPTH_MASK); -} - -void draw () { - background(0); - - translate(width/2, height/2); - rotateY(frameCount * 0.01); - - shape(particles); - - fcount += 1; - int m = millis(); - if (m - lastm > 1000 * fint) { - frate = float(fcount) / fint; - fcount = 0; - lastm = m; - println("fps: " + frate); - } -} - diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Performance/StaticParticlesRetained/data/sprite.png b/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Performance/StaticParticlesRetained/data/sprite.png deleted file mode 100644 index cc0f45c..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Performance/StaticParticlesRetained/data/sprite.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Performance/TextRendering/TextRendering.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Performance/TextRendering/TextRendering.pde deleted file mode 100644 index ddb144e..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Performance/TextRendering/TextRendering.pde +++ /dev/null @@ -1,15 +0,0 @@ - -public void setup() { - size(800, 600, P2D); - fill(0); -} - -public void draw() { - background(255); - for (int i = 0; i < 10000; i++) { - float x = random(width); - float y = random(height); - text("HELLO", x, y); - } - if (frameCount % 10 == 0) println(frameRate); -} diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Tests/MultipleWindows/Arcball.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Tests/MultipleWindows/Arcball.pde deleted file mode 100644 index 914e0d1..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Tests/MultipleWindows/Arcball.pde +++ /dev/null @@ -1,194 +0,0 @@ -// Ariel and V3ga's arcball class with a couple tiny mods by Robert Hodgin - -class Arcball { - PApplet parent; - float center_x, center_y, radius; - Vec3 v_down, v_drag; - Quat q_now, q_down, q_drag; - Vec3[] axisSet; - int axis; - float mxv, myv; - float x, y; - - Arcball(PApplet parent, float radius){ - this.parent = parent; - this.radius = radius; - - v_down = new Vec3(); - v_drag = new Vec3(); - - q_now = new Quat(); - q_down = new Quat(); - q_drag = new Quat(); - - axisSet = new Vec3[] {new Vec3(1.0f, 0.0f, 0.0f), new Vec3(0.0f, 1.0f, 0.0f), new Vec3(0.0f, 0.0f, 1.0f)}; - axis = -1; // no constraints... - } - - void mousePressed(){ - v_down = mouse_to_sphere(parent.mouseX, parent.mouseY); - q_down.set(q_now); - q_drag.reset(); - } - - void mouseDragged(){ - v_drag = mouse_to_sphere(parent.mouseX, parent.mouseY); - q_drag.set(Vec3.dot(v_down, v_drag), Vec3.cross(v_down, v_drag)); - } - - void run(){ - center_x = parent.width/2.0; - center_y = parent.height/2.0; - - q_now = Quat.mul(q_drag, q_down); - parent.translate(center_x, center_y); - applyQuat2Matrix(q_now); - - x += mxv; - y += myv; - mxv -= mxv * .01; - myv -= myv * .01; - } - - Vec3 mouse_to_sphere(float x, float y){ - Vec3 v = new Vec3(); - v.x = (x - center_x) / radius; - v.y = (y - center_y) / radius; - - float mag = v.x * v.x + v.y * v.y; - if (mag > 1.0f){ - v.normalize(); - } else { - v.z = sqrt(1.0f - mag); - } - - return (axis == -1) ? v : constrain_vector(v, axisSet[axis]); - } - - Vec3 constrain_vector(Vec3 vector, Vec3 axis){ - Vec3 res = new Vec3(); - res.sub(vector, Vec3.mul(axis, Vec3.dot(axis, vector))); - res.normalize(); - return res; - } - - void applyQuat2Matrix(Quat q){ - // instead of transforming q into a matrix and applying it... - - float[] aa = q.getValue(); - parent.rotate(aa[0], aa[1], aa[2], aa[3]); - } -} - -static class Vec3{ - float x, y, z; - - Vec3(){ - } - - Vec3(float x, float y, float z){ - this.x = x; - this.y = y; - this.z = z; - } - - void normalize(){ - float length = length(); - x /= length; - y /= length; - z /= length; - } - - float length(){ - return (float) Math.sqrt(x * x + y * y + z * z); - } - - static Vec3 cross(Vec3 v1, Vec3 v2){ - Vec3 res = new Vec3(); - res.x = v1.y * v2.z - v1.z * v2.y; - res.y = v1.z * v2.x - v1.x * v2.z; - res.z = v1.x * v2.y - v1.y * v2.x; - return res; - } - - static float dot(Vec3 v1, Vec3 v2){ - return v1.x * v2.x + v1.y * v2.y + v1.z * v2.z; - } - - static Vec3 mul(Vec3 v, float d){ - Vec3 res = new Vec3(); - res.x = v.x * d; - res.y = v.y * d; - res.z = v.z * d; - return res; - } - - void sub(Vec3 v1, Vec3 v2){ - x = v1.x - v2.x; - y = v1.y - v2.y; - z = v1.z - v2.z; - } -} - -static class Quat{ - float w, x, y, z; - - Quat(){ - reset(); - } - - Quat(float w, float x, float y, float z){ - this.w = w; - this.x = x; - this.y = y; - this.z = z; - } - - void reset(){ - w = 1.0f; - x = 0.0f; - y = 0.0f; - z = 0.0f; - } - - void set(float w, Vec3 v){ - this.w = w; - x = v.x; - y = v.y; - z = v.z; - } - - void set(Quat q){ - w = q.w; - x = q.x; - y = q.y; - z = q.z; - } - - static Quat mul(Quat q1, Quat q2){ - Quat res = new Quat(); - res.w = q1.w * q2.w - q1.x * q2.x - q1.y * q2.y - q1.z * q2.z; - res.x = q1.w * q2.x + q1.x * q2.w + q1.y * q2.z - q1.z * q2.y; - res.y = q1.w * q2.y + q1.y * q2.w + q1.z * q2.x - q1.x * q2.z; - res.z = q1.w * q2.z + q1.z * q2.w + q1.x * q2.y - q1.y * q2.x; - return res; - } - - float[] getValue(){ - // transforming this quat into an angle and an axis vector... - - float[] res = new float[4]; - - float sa = (float) Math.sqrt(1.0f - w * w); - if (sa < EPSILON){ - sa = 1.0f; - } - - res[0] = (float) Math.acos(w) * 2.0f; - res[1] = x / sa; - res[2] = y / sa; - res[3] = z / sa; - - return res; - } -} diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Tests/MultipleWindows/MultipleWindows.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Tests/MultipleWindows/MultipleWindows.pde deleted file mode 100644 index 8bedcf7..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Tests/MultipleWindows/MultipleWindows.pde +++ /dev/null @@ -1,90 +0,0 @@ -// Based on code by GeneKao (https://github.com/GeneKao) - -ChildApplet child; -boolean mousePressedOnParent = false; -Arcball arcball, arcball2; - -void settings() { - size(320, 240, P3D); - smooth(); -} - -void setup() { - surface.setTitle("Main sketch"); - arcball = new Arcball(this, 300); - child = new ChildApplet(); -} - -void draw() { - background(250); - arcball.run(); - if (mousePressed) { - fill(0); - text("Mouse pressed on parent.", 10, 10); - fill(0, 240, 0); - ellipse(mouseX, mouseY, 60, 60); - mousePressedOnParent = true; - } else { - fill(20); - ellipse(width/2, height/2, 60, 60); - mousePressedOnParent = false; - } - box(100); - if (child.mousePressed) { - text("Mouse pressed on child.", 10, 30); - } -} - -void mousePressed() { - arcball.mousePressed(); -} - -void mouseDragged() { - arcball.mouseDragged(); -} - -class ChildApplet extends PApplet { - //JFrame frame; - - public ChildApplet() { - super(); - PApplet.runSketch(new String[]{this.getClass().getName()}, this); - } - - public void settings() { - size(400, 400, P3D); - smooth(); - } - public void setup() { - surface.setTitle("Child sketch"); - arcball2 = new Arcball(this, 300); - } - - public void draw() { - background(0); - arcball2.run(); - if (mousePressed) { - fill(240, 0, 0); - ellipse(mouseX, mouseY, 20, 20); - fill(255); - text("Mouse pressed on child.", 10, 30); - } else { - fill(255); - ellipse(width/2, height/2, 20, 20); - } - - box(100, 200, 100); - if (mousePressedOnParent) { - fill(255); - text("Mouse pressed on parent", 20, 20); - } - } - - public void mousePressed() { - arcball2.mousePressed(); - } - - public void mouseDragged() { - arcball2.mouseDragged(); - } -} \ No newline at end of file diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Tests/NoBackgroundTest/NoBackgroundTest.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Tests/NoBackgroundTest/NoBackgroundTest.pde deleted file mode 100644 index f3b2a77..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Tests/NoBackgroundTest/NoBackgroundTest.pde +++ /dev/null @@ -1,10 +0,0 @@ -void setup() { - size(400, 400, P2D); - background(255, 0, 0); - fill(255, 150); -} - -void draw() { - ellipse(mouseX, mouseY, 100, 100); -} - diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Tests/OffscreenTest/OffscreenTest.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Tests/OffscreenTest/OffscreenTest.pde deleted file mode 100644 index 8cd3eb7..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Tests/OffscreenTest/OffscreenTest.pde +++ /dev/null @@ -1,19 +0,0 @@ -PGraphics pg; - -void setup() { - size(400, 400, P3D); - - pg = createGraphics(400, 400, P3D); - pg.smooth(4); -} - -void draw() { - background(0); - - pg.beginDraw(); - pg.background(255, 0, 0); - pg.ellipse(mouseX, mouseY, 100, 100); - pg.endDraw(); - - image(pg, 0, 0, 400, 400); -} \ No newline at end of file diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Tests/RedrawTest/RedrawTest.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Tests/RedrawTest/RedrawTest.pde deleted file mode 100644 index 7cd3527..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Tests/RedrawTest/RedrawTest.pde +++ /dev/null @@ -1,14 +0,0 @@ -void setup() { - size(400, 400, P3D); - noLoop(); -} - -void draw() { - background(255, 0, 0); - ellipse(mouseX, mouseY, 100, 50); - println("draw"); -} - -void keyPressed() { - redraw(); -} diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Tests/ResizeTest/ResizeTest.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Tests/ResizeTest/ResizeTest.pde deleted file mode 100644 index 8f996dd..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Tests/ResizeTest/ResizeTest.pde +++ /dev/null @@ -1,10 +0,0 @@ -void setup() { - size(400, 400, P3D); - surface.setResizable(true); -} - -void draw() { - background(255, 0, 0); - ellipse(width/2, height/2, 100, 50); -} - diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Tests/SpecsTest/SpecsTest.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Tests/SpecsTest/SpecsTest.pde deleted file mode 100644 index 4f4d38e..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Demos/Tests/SpecsTest/SpecsTest.pde +++ /dev/null @@ -1,7 +0,0 @@ -size(100, 100, P3D); -PGraphicsOpenGL pg = (PGraphicsOpenGL)g; -println(PGraphicsOpenGL.OPENGL_VENDOR); -println(PGraphicsOpenGL.OPENGL_RENDERER); -println(PGraphicsOpenGL.OPENGL_VERSION); -println(PGraphicsOpenGL.GLSL_VERSION); -println(PGraphicsOpenGL.OPENGL_EXTENSIONS); \ No newline at end of file diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/README.md b/Java/Processing/processing-3.3.6/modes/java/examples/README.md deleted file mode 100644 index 0f5d7c1..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/README.md +++ /dev/null @@ -1 +0,0 @@ -The examples without a credit line were written by Casey Reas or Ben Fry and they are in the public domain. Daniel Shiffman's examples are in the public domain. We appreciate a link back to the original and/or an acknowledgement when they are used. The copyrights for other credited files remains with the original authors. diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Advanced Data/ArrayListClass/ArrayListClass.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Advanced Data/ArrayListClass/ArrayListClass.pde deleted file mode 100644 index 475d834..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Advanced Data/ArrayListClass/ArrayListClass.pde +++ /dev/null @@ -1,51 +0,0 @@ -/** - * ArrayList of objects - * by Daniel Shiffman. - * - * This example demonstrates how to use a Java ArrayList to store - * a variable number of objects. Items can be added and removed - * from the ArrayList. - * - * Click the mouse to add bouncing balls. - */ - -ArrayList balls; -int ballWidth = 48; - -void setup() { - size(640, 360); - noStroke(); - - // Create an empty ArrayList (will store Ball objects) - balls = new ArrayList(); - - // Start by adding one element - balls.add(new Ball(width/2, 0, ballWidth)); -} - -void draw() { - background(255); - - // With an array, we say balls.length, with an ArrayList, we say balls.size() - // The length of an ArrayList is dynamic - // Notice how we are looping through the ArrayList backwards - // This is because we are deleting elements from the list - for (int i = balls.size()-1; i >= 0; i--) { - // An ArrayList doesn't know what it is storing so we have to cast the object coming out - Ball ball = balls.get(i); - ball.move(); - ball.display(); - if (ball.finished()) { - // Items can be deleted with remove() - balls.remove(i); - } - - } - -} - -void mousePressed() { - // A new ball object is added to the ArrayList (by default to the end) - balls.add(new Ball(mouseX, mouseY, ballWidth)); -} - diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Advanced Data/ArrayListClass/Ball.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Advanced Data/ArrayListClass/Ball.pde deleted file mode 100644 index 3f613b7..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Advanced Data/ArrayListClass/Ball.pde +++ /dev/null @@ -1,50 +0,0 @@ -// Simple bouncing ball class - -class Ball { - - float x; - float y; - float speed; - float gravity; - float w; - float life = 255; - - Ball(float tempX, float tempY, float tempW) { - x = tempX; - y = tempY; - w = tempW; - speed = 0; - gravity = 0.1; - } - - void move() { - // Add gravity to speed - speed = speed + gravity; - // Add speed to y location - y = y + speed; - // If square reaches the bottom - // Reverse speed - if (y > height) { - // Dampening - speed = speed * -0.8; - y = height; - } - } - - boolean finished() { - // Balls fade out - life--; - if (life < 0) { - return true; - } else { - return false; - } - } - - void display() { - // Display the circle - fill(0,life); - //stroke(0,life); - ellipse(x,y,w,w); - } -} diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Advanced Data/CountingStrings/CountingStrings.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Advanced Data/CountingStrings/CountingStrings.pde deleted file mode 100644 index 79764bb..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Advanced Data/CountingStrings/CountingStrings.pde +++ /dev/null @@ -1,80 +0,0 @@ -/** - * CountingString example - * by Daniel Shiffman. - * - * This example demonstrates how to use a IntDict to store - * a number associated with a String. Java HashMaps can also - * be used for this, however, this example uses the IntDict - * class offered by Processing's data package for simplicity - * and added functionality. - * - * This example uses the IntDict to perform a simple concordance - * http://en.wikipedia.org/wiki/Concordance_(publishing) - * - */ - -// An IntDict pairs Strings with integers -IntDict concordance; - -// The raw array of words in -String[] tokens; -int counter = 0; - -void setup() { - size(640, 360); - - concordance = new IntDict(); - - // Load file and chop it up - String[] lines = loadStrings("dracula.txt"); - String allText = join(lines, " ").toLowerCase(); - tokens = splitTokens(allText, " ,.?!:;[]-\""); - - // Create the font - textFont(createFont("SourceCodePro-Regular.ttf", 24)); -} - -void draw() { - background(51); - fill(255); - - // Look at words one at a time - if (counter < tokens.length) { - String s = tokens[counter]; - counter++; - concordance.increment(s); - } - - // x and y will be used to locate each word - float x = 0; - float y = 48; - - concordance.sortValues(); - - String[] keys = concordance.keyArray(); - - // Look at each word - for (String word : keys) { - int count = concordance.get(word); - - // Only display words that appear 3 times - if (count > 3) { - // The size is the count - int fsize = constrain(count, 0, 48); - textSize(fsize); - text(word, x, y); - // Move along the x-axis - x += textWidth(word + " "); - } - - // If x gets to the end, move y - if (x > width) { - x = 0; - y += 48; - // If y gets to the end, we're done - if (y > height) { - break; - } - } - } -} \ No newline at end of file diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Advanced Data/CountingStrings/data/SourceCodePro-Regular.ttf b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Advanced Data/CountingStrings/data/SourceCodePro-Regular.ttf deleted file mode 100644 index b2cff92..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Advanced Data/CountingStrings/data/SourceCodePro-Regular.ttf and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Advanced Data/CountingStrings/data/dracula.txt b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Advanced Data/CountingStrings/data/dracula.txt deleted file mode 100644 index ef79df8..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Advanced Data/CountingStrings/data/dracula.txt +++ /dev/null @@ -1,16624 +0,0 @@ -The Project Gutenberg EBook of Dracula, by Bram Stoker - -This eBook is for the use of anyone anywhere at no cost and with -almost no restrictions whatsoever. You may copy it, give it away or -re-use it under the terms of the Project Gutenberg License included -with this eBook or online at www.gutenberg.net - - -Title: Dracula - -Author: Bram Stoker - -Release Date: May 9, 2008 [EBook #345] - -Language: English - -Character set encoding: ASCII - -*** START OF THIS PROJECT GUTENBERG EBOOK DRACULA *** - - - - - - - - - - - - - - -DRACULA - -by - -Bram Stoker - - -1897 edition - - - - -TABLE OF CONTENTS - - -CHAPTER - - 1 Jonathan Harker's Journal - 2 Jonathan Harker's Journal - 3 Jonathan Harker's Journal - 4 Jonathan Harker's Journal - 5 Letter From Miss Mina Murray To Miss Lucy Westenra - 6 Mina Murray's Journal - 7 Cutting From "The Dailygraph", 8 August - 8 Mina Murray's Journal - 9 Letter, Mina Harker To Lucy Westenra - 10 Letter, Dr. Seward To Hon. Arthur Holmwood - 11 Lucy Westenra's Diary - 12 Dr. Seward's Diary - 13 Dr. Seward's Diary - 14 Mina Harker's Journal - 15 Dr. Seward's Diary - 16 Dr. Seward's Diary - 17 Dr. Seward's Diary - 18 Dr. Seward's Diary - 19 Jonathan Harker's Journal - 20 Jonathan Harker's Journal - 21 Dr. Seward's Diary - 22 Jonathan Harker's Journal - 23 Dr. Seward's Diary - 24 Dr. Seward's Phonograph Diary - 25 Dr. Seward's Diary - 26 Dr. Seward's Diary - 27 Mina Harker's Journal - - - - -CHAPTER 1 - - -Jonathan Harker's Journal - -3 May. Bistritz.--Left Munich at 8:35 P.M., on 1st May, arriving at -Vienna early next morning; should have arrived at 6:46, but train was -an hour late. Buda-Pesth seems a wonderful place, from the glimpse -which I got of it from the train and the little I could walk through -the streets. I feared to go very far from the station, as we had -arrived late and would start as near the correct time as possible. - -The impression I had was that we were leaving the West and entering the -East; the most western of splendid bridges over the Danube, which is -here of noble width and depth, took us among the traditions of Turkish -rule. - -We left in pretty good time, and came after nightfall to Klausenburgh. -Here I stopped for the night at the Hotel Royale. I had for dinner, -or rather supper, a chicken done up some way with red pepper, which -was very good but thirsty. (Mem. get recipe for Mina.) I asked the -waiter, and he said it was called "paprika hendl," and that, as it was -a national dish, I should be able to get it anywhere along the -Carpathians. - -I found my smattering of German very useful here, indeed, I don't know -how I should be able to get on without it. - -Having had some time at my disposal when in London, I had visited the -British Museum, and made search among the books and maps in the -library regarding Transylvania; it had struck me that some -foreknowledge of the country could hardly fail to have some importance -in dealing with a nobleman of that country. - - -I find that the district he named is in the extreme east of the -country, just on the borders of three states, Transylvania, Moldavia, -and Bukovina, in the midst of the Carpathian mountains; one of the -wildest and least known portions of Europe. - -I was not able to light on any map or work giving the exact locality -of the Castle Dracula, as there are no maps of this country as yet to -compare with our own Ordance Survey Maps; but I found that Bistritz, -the post town named by Count Dracula, is a fairly well-known place. I -shall enter here some of my notes, as they may refresh my memory when -I talk over my travels with Mina. - -In the population of Transylvania there are four distinct -nationalities: Saxons in the South, and mixed with them the Wallachs, -who are the descendants of the Dacians; Magyars in the West, and -Szekelys in the East and North. I am going among the latter, who -claim to be descended from Attila and the Huns. This may be so, for -when the Magyars conquered the country in the eleventh century they -found the Huns settled in it. - -I read that every known superstition in the world is gathered into the -horseshoe of the Carpathians, as if it were the centre of some sort of -imaginative whirlpool; if so my stay may be very interesting. (Mem., -I must ask the Count all about them.) - -I did not sleep well, though my bed was comfortable enough, for I had -all sorts of queer dreams. There was a dog howling all night under my -window, which may have had something to do with it; or it may have -been the paprika, for I had to drink up all the water in my carafe, -and was still thirsty. Towards morning I slept and was wakened by the -continuous knocking at my door, so I guess I must have been sleeping -soundly then. - -I had for breakfast more paprika, and a sort of porridge of maize -flour which they said was "mamaliga", and egg-plant stuffed with -forcemeat, a very excellent dish, which they call "impletata". (Mem., -get recipe for this also.) - -I had to hurry breakfast, for the train started a little before eight, -or rather it ought to have done so, for after rushing to the station -at 7:30 I had to sit in the carriage for more than an hour before we -began to move. - -It seems to me that the further east you go the more unpunctual are -the trains. What ought they to be in China? - -All day long we seemed to dawdle through a country which was full of -beauty of every kind. Sometimes we saw little towns or castles on the -top of steep hills such as we see in old missals; sometimes we ran by -rivers and streams which seemed from the wide stony margin on each -side of them to be subject to great floods. It takes a lot of water, -and running strong, to sweep the outside edge of a river clear. - -At every station there were groups of people, sometimes crowds, and in -all sorts of attire. Some of them were just like the peasants at home -or those I saw coming through France and Germany, with short jackets, -and round hats, and home-made trousers; but others were very -picturesque. - -The women looked pretty, except when you got near them, but they were -very clumsy about the waist. They had all full white sleeves of some -kind or other, and most of them had big belts with a lot of strips of -something fluttering from them like the dresses in a ballet, but of -course there were petticoats under them. - -The strangest figures we saw were the Slovaks, who were more barbarian -than the rest, with their big cow-boy hats, great baggy dirty-white -trousers, white linen shirts, and enormous heavy leather belts, nearly -a foot wide, all studded over with brass nails. They wore high boots, -with their trousers tucked into them, and had long black hair and -heavy black moustaches. They are very picturesque, but do not look -prepossessing. On the stage they would be set down at once as some -old Oriental band of brigands. They are, however, I am told, very -harmless and rather wanting in natural self-assertion. - -It was on the dark side of twilight when we got to Bistritz, which is -a very interesting old place. Being practically on the frontier--for -the Borgo Pass leads from it into Bukovina--it has had a very stormy -existence, and it certainly shows marks of it. Fifty years ago a -series of great fires took place, which made terrible havoc on five -separate occasions. At the very beginning of the seventeenth century -it underwent a siege of three weeks and lost 13,000 people, the -casualties of war proper being assisted by famine and disease. - -Count Dracula had directed me to go to the Golden Krone Hotel, which I -found, to my great delight, to be thoroughly old-fashioned, for of -course I wanted to see all I could of the ways of the country. - -I was evidently expected, for when I got near the door I faced a -cheery-looking elderly woman in the usual peasant dress--white -undergarment with a long double apron, front, and back, of coloured -stuff fitting almost too tight for modesty. When I came close she -bowed and said, "The Herr Englishman?" - -"Yes," I said, "Jonathan Harker." - -She smiled, and gave some message to an elderly man in white -shirtsleeves, who had followed her to the door. - -He went, but immediately returned with a letter: - -"My friend.--Welcome to the Carpathians. I am anxiously expecting -you. Sleep well tonight. At three tomorrow the diligence will -start for Bukovina; a place on it is kept for you. At the Borgo -Pass my carriage will await you and will bring you to me. I trust -that your journey from London has been a happy one, and that you -will enjoy your stay in my beautiful land.--Your friend, Dracula." - - -4 May--I found that my landlord had got a letter from the Count, -directing him to secure the best place on the coach for me; but on -making inquiries as to details he seemed somewhat reticent, and -pretended that he could not understand my German. - -This could not be true, because up to then he had understood it -perfectly; at least, he answered my questions exactly as if he did. - -He and his wife, the old lady who had received me, looked at each -other in a frightened sort of way. He mumbled out that the money had -been sent in a letter, and that was all he knew. When I asked him if -he knew Count Dracula, and could tell me anything of his castle, both -he and his wife crossed themselves, and, saying that they knew nothing -at all, simply refused to speak further. It was so near the time of -starting that I had no time to ask anyone else, for it was all very -mysterious and not by any means comforting. - -Just before I was leaving, the old lady came up to my room and said in -a hysterical way: "Must you go? Oh! Young Herr, must you go?" She -was in such an excited state that she seemed to have lost her grip of -what German she knew, and mixed it all up with some other language -which I did not know at all. I was just able to follow her by asking -many questions. When I told her that I must go at once, and that I -was engaged on important business, she asked again: - -"Do you know what day it is?" I answered that it was the fourth of -May. She shook her head as she said again: - -"Oh, yes! I know that! I know that, but do you know what day it is?" - -On my saying that I did not understand, she went on: - -"It is the eve of St. George's Day. Do you not know that tonight, -when the clock strikes midnight, all the evil things in the world will -have full sway? Do you know where you are going, and what you are -going to?" She was in such evident distress that I tried to comfort -her, but without effect. Finally, she went down on her knees and -implored me not to go; at least to wait a day or two before starting. - -It was all very ridiculous but I did not feel comfortable. However, -there was business to be done, and I could allow nothing to interfere -with it. - -I tried to raise her up, and said, as gravely as I could, that I -thanked her, but my duty was imperative, and that I must go. - -She then rose and dried her eyes, and taking a crucifix from her neck -offered it to me. - -I did not know what to do, for, as an English Churchman, I have been -taught to regard such things as in some measure idolatrous, and yet it -seemed so ungracious to refuse an old lady meaning so well and in such -a state of mind. - -She saw, I suppose, the doubt in my face, for she put the rosary round -my neck and said, "For your mother's sake," and went out of the room. - -I am writing up this part of the diary whilst I am waiting for the -coach, which is, of course, late; and the crucifix is still round my -neck. - -Whether it is the old lady's fear, or the many ghostly traditions of -this place, or the crucifix itself, I do not know, but I am not -feeling nearly as easy in my mind as usual. - -If this book should ever reach Mina before I do, let it bring my -goodbye. Here comes the coach! - - -5 May. The Castle.--The gray of the morning has passed, and the sun -is high over the distant horizon, which seems jagged, whether with -trees or hills I know not, for it is so far off that big things and -little are mixed. - -I am not sleepy, and, as I am not to be called till I awake, naturally -I write till sleep comes. - -There are many odd things to put down, and, lest who reads them may -fancy that I dined too well before I left Bistritz, let me put down my -dinner exactly. - -I dined on what they called "robber steak"--bits of bacon, onion, and -beef, seasoned with red pepper, and strung on sticks, and roasted over -the fire, in simple style of the London cat's meat! - -The wine was Golden Mediasch, which produces a queer sting on the -tongue, which is, however, not disagreeable. - -I had only a couple of glasses of this, and nothing else. - -When I got on the coach, the driver had not taken his seat, and I saw -him talking to the landlady. - -They were evidently talking of me, for every now and then they looked -at me, and some of the people who were sitting on the bench outside -the door--came and listened, and then looked at me, most of them -pityingly. I could hear a lot of words often repeated, queer words, -for there were many nationalities in the crowd, so I quietly got my -polyglot dictionary from my bag and looked them out. - -I must say they were not cheering to me, for amongst them were -"Ordog"--Satan, "Pokol"--hell, "stregoica"--witch, "vrolok" and -"vlkoslak"--both mean the same thing, one being Slovak and the other -Servian for something that is either werewolf or vampire. (Mem., I -must ask the Count about these superstitions.) - -When we started, the crowd round the inn door, which had by this time -swelled to a considerable size, all made the sign of the cross and -pointed two fingers towards me. - -With some difficulty, I got a fellow passenger to tell me what they -meant. He would not answer at first, but on learning that I was -English, he explained that it was a charm or guard against the evil -eye. - -This was not very pleasant for me, just starting for an unknown place -to meet an unknown man. But everyone seemed so kind-hearted, and so -sorrowful, and so sympathetic that I could not but be touched. - -I shall never forget the last glimpse which I had of the inn yard and -its crowd of picturesque figures, all crossing themselves, as they -stood round the wide archway, with its background of rich foliage of -oleander and orange trees in green tubs clustered in the centre of the -yard. - -Then our driver, whose wide linen drawers covered the whole front of -the boxseat,--"gotza" they call them--cracked his big whip over his -four small horses, which ran abreast, and we set off on our journey. - -I soon lost sight and recollection of ghostly fears in the beauty of -the scene as we drove along, although had I known the language, or -rather languages, which my fellow-passengers were speaking, I might -not have been able to throw them off so easily. Before us lay a green -sloping land full of forests and woods, with here and there steep -hills, crowned with clumps of trees or with farmhouses, the blank -gable end to the road. There was everywhere a bewildering mass of -fruit blossom--apple, plum, pear, cherry. And as we drove by I could -see the green grass under the trees spangled with the fallen petals. -In and out amongst these green hills of what they call here the -"Mittel Land" ran the road, losing itself as it swept round the grassy -curve, or was shut out by the straggling ends of pine woods, which -here and there ran down the hillsides like tongues of flame. The road -was rugged, but still we seemed to fly over it with a feverish haste. -I could not understand then what the haste meant, but the driver was -evidently bent on losing no time in reaching Borgo Prund. I was told -that this road is in summertime excellent, but that it had not yet -been put in order after the winter snows. In this respect it is -different from the general run of roads in the Carpathians, for it is -an old tradition that they are not to be kept in too good order. Of -old the Hospadars would not repair them, lest the Turk should think -that they were preparing to bring in foreign troops, and so hasten the -war which was always really at loading point. - -Beyond the green swelling hills of the Mittel Land rose mighty slopes -of forest up to the lofty steeps of the Carpathians themselves. Right -and left of us they towered, with the afternoon sun falling full upon -them and bringing out all the glorious colours of this beautiful -range, deep blue and purple in the shadows of the peaks, green and -brown where grass and rock mingled, and an endless perspective of -jagged rock and pointed crags, till these were themselves lost in the -distance, where the snowy peaks rose grandly. Here and there seemed -mighty rifts in the mountains, through which, as the sun began to -sink, we saw now and again the white gleam of falling water. One of -my companions touched my arm as we swept round the base of a hill and -opened up the lofty, snow-covered peak of a mountain, which seemed, as -we wound on our serpentine way, to be right before us. - -"Look! Isten szek!"--"God's seat!"--and he crossed himself reverently. - -As we wound on our endless way, and the sun sank lower and lower -behind us, the shadows of the evening began to creep round us. This -was emphasized by the fact that the snowy mountain-top still held the -sunset, and seemed to glow out with a delicate cool pink. Here and -there we passed Cszeks and slovaks, all in picturesque attire, but I -noticed that goitre was painfully prevalent. By the roadside were -many crosses, and as we swept by, my companions all crossed -themselves. Here and there was a peasant man or woman kneeling before -a shrine, who did not even turn round as we approached, but seemed in -the self-surrender of devotion to have neither eyes nor ears for the -outer world. There were many things new to me. For instance, -hay-ricks in the trees, and here and there very beautiful masses of -weeping birch, their white stems shining like silver through the -delicate green of the leaves. - -Now and again we passed a leiter-wagon--the ordinary peasants's -cart--with its long, snakelike vertebra, calculated to suit the -inequalities of the road. On this were sure to be seated quite a -group of homecoming peasants, the Cszeks with their white, and the -Slovaks with their coloured sheepskins, the latter carrying -lance-fashion their long staves, with axe at end. As the evening fell -it began to get very cold, and the growing twilight seemed to merge -into one dark mistiness the gloom of the trees, oak, beech, and pine, -though in the valleys which ran deep between the spurs of the hills, -as we ascended through the Pass, the dark firs stood out here and -there against the background of late-lying snow. Sometimes, as the -road was cut through the pine woods that seemed in the darkness to be -closing down upon us, great masses of greyness which here and there -bestrewed the trees, produced a peculiarly weird and solemn effect, -which carried on the thoughts and grim fancies engendered earlier in -the evening, when the falling sunset threw into strange relief the -ghost-like clouds which amongst the Carpathians seem to wind -ceaselessly through the valleys. Sometimes the hills were so steep -that, despite our driver's haste, the horses could only go slowly. I -wished to get down and walk up them, as we do at home, but the driver -would not hear of it. "No, no," he said. "You must not walk here. -The dogs are too fierce." And then he added, with what he evidently -meant for grim pleasantry--for he looked round to catch the approving -smile of the rest--"And you may have enough of such matters before you -go to sleep." The only stop he would make was a moment's pause to -light his lamps. - -When it grew dark there seemed to be some excitement amongst the -passengers, and they kept speaking to him, one after the other, as -though urging him to further speed. He lashed the horses unmercifully -with his long whip, and with wild cries of encouragement urged them on -to further exertions. Then through the darkness I could see a sort of -patch of grey light ahead of us, as though there were a cleft in the -hills. The excitement of the passengers grew greater. The crazy -coach rocked on its great leather springs, and swayed like a boat -tossed on a stormy sea. I had to hold on. The road grew more level, -and we appeared to fly along. Then the mountains seemed to come -nearer to us on each side and to frown down upon us. We were entering -on the Borgo Pass. One by one several of the passengers offered me -gifts, which they pressed upon me with an earnestness which would take -no denial. These were certainly of an odd and varied kind, but each -was given in simple good faith, with a kindly word, and a blessing, -and that same strange mixture of fear-meaning movements which I had -seen outside the hotel at Bistritz--the sign of the cross and the -guard against the evil eye. Then, as we flew along, the driver leaned -forward, and on each side the passengers, craning over the edge of the -coach, peered eagerly into the darkness. It was evident that -something very exciting was either happening or expected, but though I -asked each passenger, no one would give me the slightest explanation. -This state of excitement kept on for some little time. And at last we -saw before us the Pass opening out on the eastern side. There were -dark, rolling clouds overhead, and in the air the heavy, oppressive -sense of thunder. It seemed as though the mountain range had -separated two atmospheres, and that now we had got into the thunderous -one. I was now myself looking out for the conveyance which was to -take me to the Count. Each moment I expected to see the glare of -lamps through the blackness, but all was dark. The only light was the -flickering rays of our own lamps, in which the steam from our -hard-driven horses rose in a white cloud. We could see now the sandy -road lying white before us, but there was on it no sign of a vehicle. -The passengers drew back with a sigh of gladness, which seemed to mock -my own disappointment. I was already thinking what I had best do, -when the driver, looking at his watch, said to the others something -which I could hardly hear, it was spoken so quietly and in so low a -tone, I thought it was "An hour less than the time." Then turning to -me, he spoke in German worse than my own. - -"There is no carriage here. The Herr is not expected after all. He -will now come on to Bukovina, and return tomorrow or the next day, -better the next day." Whilst he was speaking the horses began to -neigh and snort and plunge wildly, so that the driver had to hold them -up. Then, amongst a chorus of screams from the peasants and a -universal crossing of themselves, a caleche, with four horses, drove -up behind us, overtook us, and drew up beside the coach. I could see -from the flash of our lamps as the rays fell on them, that the horses -were coal-black and splendid animals. They were driven by a tall man, -with a long brown beard and a great black hat, which seemed to hide -his face from us. I could only see the gleam of a pair of very bright -eyes, which seemed red in the lamplight, as he turned to us. - -He said to the driver, "You are early tonight, my friend." - -The man stammered in reply, "The English Herr was in a hurry." - -To which the stranger replied, "That is why, I suppose, you wished him -to go on to Bukovina. You cannot deceive me, my friend. I know too -much, and my horses are swift." - -As he spoke he smiled, and the lamplight fell on a hard-looking mouth, -with very red lips and sharp-looking teeth, as white as ivory. One of -my companions whispered to another the line from Burger's "Lenore". - -"Denn die Todten reiten Schnell." ("For the dead travel fast.") - -The strange driver evidently heard the words, for he looked up with a -gleaming smile. The passenger turned his face away, at the same time -putting out his two fingers and crossing himself. "Give me the Herr's -luggage," said the driver, and with exceeding alacrity my bags were -handed out and put in the caleche. Then I descended from the side of -the coach, as the caleche was close alongside, the driver helping me -with a hand which caught my arm in a grip of steel. His strength must -have been prodigious. - -Without a word he shook his reins, the horses turned, and we swept -into the darkness of the pass. As I looked back I saw the steam from -the horses of the coach by the light of the lamps, and projected -against it the figures of my late companions crossing themselves. -Then the driver cracked his whip and called to his horses, and off -they swept on their way to Bukovina. As they sank into the darkness I -felt a strange chill, and a lonely feeling come over me. But a cloak -was thrown over my shoulders, and a rug across my knees, and the -driver said in excellent German--"The night is chill, mein Herr, and -my master the Count bade me take all care of you. There is a flask of -slivovitz (the plum brandy of the country) underneath the seat, if you -should require it." - -I did not take any, but it was a comfort to know it was there all the -same. I felt a little strangely, and not a little frightened. I -think had there been any alternative I should have taken it, instead -of prosecuting that unknown night journey. The carriage went at a -hard pace straight along, then we made a complete turn and went along -another straight road. It seemed to me that we were simply going over -and over the same ground again, and so I took note of some salient -point, and found that this was so. I would have liked to have asked -the driver what this all meant, but I really feared to do so, for I -thought that, placed as I was, any protest would have had no effect in -case there had been an intention to delay. - -By-and-by, however, as I was curious to know how time was passing, I -struck a match, and by its flame looked at my watch. It was within a -few minutes of midnight. This gave me a sort of shock, for I suppose -the general superstition about midnight was increased by my recent -experiences. I waited with a sick feeling of suspense. - -Then a dog began to howl somewhere in a farmhouse far down the road, a -long, agonized wailing, as if from fear. The sound was taken up by -another dog, and then another and another, till, borne on the wind -which now sighed softly through the Pass, a wild howling began, which -seemed to come from all over the country, as far as the imagination -could grasp it through the gloom of the night. - -At the first howl the horses began to strain and rear, but the driver -spoke to them soothingly, and they quieted down, but shivered and -sweated as though after a runaway from sudden fright. Then, far off -in the distance, from the mountains on each side of us began a louder -and a sharper howling, that of wolves, which affected both the horses -and myself in the same way. For I was minded to jump from the caleche -and run, whilst they reared again and plunged madly, so that the -driver had to use all his great strength to keep them from bolting. -In a few minutes, however, my own ears got accustomed to the sound, -and the horses so far became quiet that the driver was able to descend -and to stand before them. - -He petted and soothed them, and whispered something in their ears, as -I have heard of horse-tamers doing, and with extraordinary effect, for -under his caresses they became quite manageable again, though they -still trembled. The driver again took his seat, and shaking his -reins, started off at a great pace. This time, after going to the far -side of the Pass, he suddenly turned down a narrow roadway which ran -sharply to the right. - -Soon we were hemmed in with trees, which in places arched right over -the roadway till we passed as through a tunnel. And again great -frowning rocks guarded us boldly on either side. Though we were in -shelter, we could hear the rising wind, for it moaned and whistled -through the rocks, and the branches of the trees crashed together as -we swept along. It grew colder and colder still, and fine, powdery -snow began to fall, so that soon we and all around us were covered -with a white blanket. The keen wind still carried the howling of the -dogs, though this grew fainter as we went on our way. The baying of -the wolves sounded nearer and nearer, as though they were closing -round on us from every side. I grew dreadfully afraid, and the horses -shared my fear. The driver, however, was not in the least disturbed. -He kept turning his head to left and right, but I could not see -anything through the darkness. - -Suddenly, away on our left I saw a faint flickering blue flame. The -driver saw it at the same moment. He at once checked the horses, and, -jumping to the ground, disappeared into the darkness. I did not know -what to do, the less as the howling of the wolves grew closer. But -while I wondered, the driver suddenly appeared again, and without a -word took his seat, and we resumed our journey. I think I must have -fallen asleep and kept dreaming of the incident, for it seemed to be -repeated endlessly, and now looking back, it is like a sort of awful -nightmare. Once the flame appeared so near the road, that even in the -darkness around us I could watch the driver's motions. He went -rapidly to where the blue flame arose, it must have been very faint, -for it did not seem to illumine the place around it at all, and -gathering a few stones, formed them into some device. - -Once there appeared a strange optical effect. When he stood between -me and the flame he did not obstruct it, for I could see its ghostly -flicker all the same. This startled me, but as the effect was only -momentary, I took it that my eyes deceived me straining through the -darkness. Then for a time there were no blue flames, and we sped -onwards through the gloom, with the howling of the wolves around us, -as though they were following in a moving circle. - -At last there came a time when the driver went further afield than he -had yet gone, and during his absence, the horses began to tremble -worse than ever and to snort and scream with fright. I could not see -any cause for it, for the howling of the wolves had ceased altogether. -But just then the moon, sailing through the black clouds, appeared -behind the jagged crest of a beetling, pine-clad rock, and by its -light I saw around us a ring of wolves, with white teeth and lolling -red tongues, with long, sinewy limbs and shaggy hair. They were a -hundred times more terrible in the grim silence which held them than -even when they howled. For myself, I felt a sort of paralysis of -fear. It is only when a man feels himself face to face with such -horrors that he can understand their true import. - -All at once the wolves began to howl as though the moonlight had had -some peculiar effect on them. The horses jumped about and reared, and -looked helplessly round with eyes that rolled in a way painful to -see. But the living ring of terror encompassed them on every side, -and they had perforce to remain within it. I called to the coachman -to come, for it seemed to me that our only chance was to try to break -out through the ring and to aid his approach, I shouted and beat the -side of the caleche, hoping by the noise to scare the wolves from the -side, so as to give him a chance of reaching the trap. How he came -there, I know not, but I heard his voice raised in a tone of imperious -command, and looking towards the sound, saw him stand in the roadway. -As he swept his long arms, as though brushing aside some impalpable -obstacle, the wolves fell back and back further still. Just then a -heavy cloud passed across the face of the moon, so that we were again -in darkness. - -When I could see again the driver was climbing into the caleche, and -the wolves disappeared. This was all so strange and uncanny that a -dreadful fear came upon me, and I was afraid to speak or move. The -time seemed interminable as we swept on our way, now in almost -complete darkness, for the rolling clouds obscured the moon. - -We kept on ascending, with occasional periods of quick descent, but in -the main always ascending. Suddenly, I became conscious of the fact -that the driver was in the act of pulling up the horses in the -courtyard of a vast ruined castle, from whose tall black windows came -no ray of light, and whose broken battlements showed a jagged line -against the sky. - - - - -CHAPTER 2 - - -Jonathan Harker's Journal Continued - -5 May.--I must have been asleep, for certainly if I had been fully -awake I must have noticed the approach of such a remarkable place. In -the gloom the courtyard looked of considerable size, and as several -dark ways led from it under great round arches, it perhaps seemed -bigger than it really is. I have not yet been able to see it by -daylight. - -When the caleche stopped, the driver jumped down and held out his hand -to assist me to alight. Again I could not but notice his prodigious -strength. His hand actually seemed like a steel vice that could have -crushed mine if he had chosen. Then he took my traps, and placed them -on the ground beside me as I stood close to a great door, old and -studded with large iron nails, and set in a projecting doorway of -massive stone. I could see even in the dim light that the stone was -massively carved, but that the carving had been much worn by time and -weather. As I stood, the driver jumped again into his seat and shook -the reins. The horses started forward, and trap and all disappeared -down one of the dark openings. - -I stood in silence where I was, for I did not know what to do. Of -bell or knocker there was no sign. Through these frowning walls and -dark window openings it was not likely that my voice could penetrate. -The time I waited seemed endless, and I felt doubts and fears crowding -upon me. What sort of place had I come to, and among what kind of -people? What sort of grim adventure was it on which I had embarked? -Was this a customary incident in the life of a solicitor's clerk sent -out to explain the purchase of a London estate to a foreigner? -Solicitor's clerk! Mina would not like that. Solicitor, for just -before leaving London I got word that my examination was successful, -and I am now a full-blown solicitor! I began to rub my eyes and pinch -myself to see if I were awake. It all seemed like a horrible -nightmare to me, and I expected that I should suddenly awake, and find -myself at home, with the dawn struggling in through the windows, as I -had now and again felt in the morning after a day of overwork. But my -flesh answered the pinching test, and my eyes were not to be -deceived. I was indeed awake and among the Carpathians. All I could -do now was to be patient, and to wait the coming of morning. - -Just as I had come to this conclusion I heard a heavy step approaching -behind the great door, and saw through the chinks the gleam of a -coming light. Then there was the sound of rattling chains and the -clanking of massive bolts drawn back. A key was turned with the loud -grating noise of long disuse, and the great door swung back. - -Within, stood a tall old man, clean shaven save for a long white -moustache, and clad in black from head to foot, without a single speck -of colour about him anywhere. He held in his hand an antique silver -lamp, in which the flame burned without a chimney or globe of any -kind, throwing long quivering shadows as it flickered in the draught -of the open door. The old man motioned me in with his right hand with -a courtly gesture, saying in excellent English, but with a strange -intonation. - -"Welcome to my house! Enter freely and of your own free will!" He -made no motion of stepping to meet me, but stood like a statue, as -though his gesture of welcome had fixed him into stone. The instant, -however, that I had stepped over the threshold, he moved impulsively -forward, and holding out his hand grasped mine with a strength which -made me wince, an effect which was not lessened by the fact that it -seemed cold as ice, more like the hand of a dead than a living man. -Again he said, - -"Welcome to my house! Enter freely. Go safely, and leave something -of the happiness you bring!" The strength of the handshake was so -much akin to that which I had noticed in the driver, whose face I had -not seen, that for a moment I doubted if it were not the same person -to whom I was speaking. So to make sure, I said interrogatively, -"Count Dracula?" - -He bowed in a courtly way as he replied, "I am Dracula, and I bid you -welcome, Mr. Harker, to my house. Come in, the night air is chill, -and you must need to eat and rest." As he was speaking, he put the lamp -on a bracket on the wall, and stepping out, took my luggage. He had -carried it in before I could forestall him. I protested, but he -insisted. - -"Nay, sir, you are my guest. It is late, and my people are not -available. Let me see to your comfort myself." He insisted on carrying -my traps along the passage, and then up a great winding stair, and -along another great passage, on whose stone floor our steps rang -heavily. At the end of this he threw open a heavy door, and I -rejoiced to see within a well-lit room in which a table was spread for -supper, and on whose mighty hearth a great fire of logs, freshly -replenished, flamed and flared. - -The Count halted, putting down my bags, closed the door, and crossing -the room, opened another door, which led into a small octagonal room -lit by a single lamp, and seemingly without a window of any sort. -Passing through this, he opened another door, and motioned me to -enter. It was a welcome sight. For here was a great bedroom well -lighted and warmed with another log fire, also added to but lately, -for the top logs were fresh, which sent a hollow roar up the wide -chimney. The Count himself left my luggage inside and withdrew, -saying, before he closed the door. - -"You will need, after your journey, to refresh yourself by making your -toilet. I trust you will find all you wish. When you are ready, come -into the other room, where you will find your supper prepared." - -The light and warmth and the Count's courteous welcome seemed to have -dissipated all my doubts and fears. Having then reached my normal -state, I discovered that I was half famished with hunger. So making a -hasty toilet, I went into the other room. - -I found supper already laid out. My host, who stood on one side of -the great fireplace, leaning against the stonework, made a graceful -wave of his hand to the table, and said, - -"I pray you, be seated and sup how you please. You will I trust, -excuse me that I do not join you, but I have dined already, and I do -not sup." - -I handed to him the sealed letter which Mr. Hawkins had entrusted to -me. He opened it and read it gravely. Then, with a charming smile, -he handed it to me to read. One passage of it, at least, gave me a -thrill of pleasure. - -"I must regret that an attack of gout, from which malady I am a -constant sufferer, forbids absolutely any travelling on my part for -some time to come. But I am happy to say I can send a sufficient -substitute, one in whom I have every possible confidence. He is a -young man, full of energy and talent in his own way, and of a very -faithful disposition. He is discreet and silent, and has grown into -manhood in my service. He shall be ready to attend on you when you -will during his stay, and shall take your instructions in all -matters." - -The count himself came forward and took off the cover of a dish, and I -fell to at once on an excellent roast chicken. This, with some cheese -and a salad and a bottle of old tokay, of which I had two glasses, was -my supper. During the time I was eating it the Count asked me many -questions as to my journey, and I told him by degrees all I had -experienced. - -By this time I had finished my supper, and by my host's desire had -drawn up a chair by the fire and begun to smoke a cigar which he -offered me, at the same time excusing himself that he did not smoke. -I had now an opportunity of observing him, and found him of a very -marked physiognomy. - -His face was a strong, a very strong, aquiline, with high bridge of -the thin nose and peculiarly arched nostrils, with lofty domed -forehead, and hair growing scantily round the temples but profusely -elsewhere. His eyebrows were very massive, almost meeting over the -nose, and with bushy hair that seemed to curl in its own profusion. -The mouth, so far as I could see it under the heavy moustache, was -fixed and rather cruel-looking, with peculiarly sharp white teeth. -These protruded over the lips, whose remarkable ruddiness showed -astonishing vitality in a man of his years. For the rest, his ears -were pale, and at the tops extremely pointed. The chin was broad and -strong, and the cheeks firm though thin. The general effect was one -of extraordinary pallor. - -Hitherto I had noticed the backs of his hands as they lay on his knees -in the firelight, and they had seemed rather white and fine. But -seeing them now close to me, I could not but notice that they were -rather coarse, broad, with squat fingers. Strange to say, there were -hairs in the centre of the palm. The nails were long and fine, and -cut to a sharp point. As the Count leaned over me and his hands -touched me, I could not repress a shudder. It may have been that his -breath was rank, but a horrible feeling of nausea came over me, which, -do what I would, I could not conceal. - -The Count, evidently noticing it, drew back. And with a grim sort of -smile, which showed more than he had yet done his protruberant teeth, -sat himself down again on his own side of the fireplace. We were both -silent for a while, and as I looked towards the window I saw the first -dim streak of the coming dawn. There seemed a strange stillness over -everything. But as I listened, I heard as if from down below in the -valley the howling of many wolves. The Count's eyes gleamed, and he -said. - -"Listen to them, the children of the night. What music they make!" -Seeing, I suppose, some expression in my face strange to him, he -added, "Ah, sir, you dwellers in the city cannot enter into the -feelings of the hunter." Then he rose and said. - -"But you must be tired. Your bedroom is all ready, and tomorrow you -shall sleep as late as you will. I have to be away till the -afternoon, so sleep well and dream well!" With a courteous bow, he -opened for me himself the door to the octagonal room, and I entered my -bedroom. - -I am all in a sea of wonders. I doubt. I fear. I think strange -things, which I dare not confess to my own soul. God keep me, if only -for the sake of those dear to me! - - -7 May.--It is again early morning, but I have rested and enjoyed the -last twenty-four hours. I slept till late in the day, and awoke of my -own accord. When I had dressed myself I went into the room where we -had supped, and found a cold breakfast laid out, with coffee kept hot -by the pot being placed on the hearth. There was a card on the table, -on which was written--"I have to be absent for a while. Do not wait -for me. D." I set to and enjoyed a hearty meal. When I had done, I -looked for a bell, so that I might let the servants know I had -finished, but I could not find one. There are certainly odd -deficiencies in the house, considering the extraordinary evidences of -wealth which are round me. The table service is of gold, and so -beautifully wrought that it must be of immense value. The curtains -and upholstery of the chairs and sofas and the hangings of my bed are -of the costliest and most beautiful fabrics, and must have been of -fabulous value when they were made, for they are centuries old, though -in excellent order. I saw something like them in Hampton Court, but -they were worn and frayed and moth-eaten. But still in none of the -rooms is there a mirror. There is not even a toilet glass on my -table, and I had to get the little shaving glass from my bag before I -could either shave or brush my hair. I have not yet seen a servant -anywhere, or heard a sound near the castle except the howling of -wolves. Some time after I had finished my meal, I do not know whether -to call it breakfast or dinner, for it was between five and six -o'clock when I had it, I looked about for something to read, for I did -not like to go about the castle until I had asked the Count's -permission. There was absolutely nothing in the room, book, -newspaper, or even writing materials, so I opened another door in the -room and found a sort of library. The door opposite mine I tried, but -found locked. - -In the library I found, to my great delight, a vast number of English -books, whole shelves full of them, and bound volumes of magazines and -newspapers. A table in the centre was littered with English magazines -and newspapers, though none of them were of very recent date. The -books were of the most varied kind, history, geography, politics, -political economy, botany, geology, law, all relating to England and -English life and customs and manners. There were even such books of -reference as the London Directory, the "Red" and "Blue" books, -Whitaker's Almanac, the Army and Navy Lists, and it somehow gladdened -my heart to see it, the Law List. - -Whilst I was looking at the books, the door opened, and the Count -entered. He saluted me in a hearty way, and hoped that I had had a -good night's rest. Then he went on. - -"I am glad you found your way in here, for I am sure there is much -that will interest you. These companions," and he laid his hand on -some of the books, "have been good friends to me, and for some years -past, ever since I had the idea of going to London, have given me -many, many hours of pleasure. Through them I have come to know your -great England, and to know her is to love her. I long to go through -the crowded streets of your mighty London, to be in the midst of the -whirl and rush of humanity, to share its life, its change, its death, -and all that makes it what it is. But alas! As yet I only know your -tongue through books. To you, my friend, I look that I know it to -speak." - -"But, Count," I said, "You know and speak English thoroughly!" He -bowed gravely. - -"I thank you, my friend, for your all too-flattering estimate, but yet -I fear that I am but a little way on the road I would travel. True, I -know the grammar and the words, but yet I know not how to speak them." - -"Indeed," I said, "You speak excellently." - -"Not so," he answered. "Well, I know that, did I move and speak in -your London, none there are who would not know me for a stranger. That -is not enough for me. Here I am noble. I am a Boyar. The common -people know me, and I am master. But a stranger in a strange land, he -is no one. Men know him not, and to know not is to care not for. I -am content if I am like the rest, so that no man stops if he sees me, -or pauses in his speaking if he hears my words, 'Ha, ha! A stranger!' -I have been so long master that I would be master still, or at least -that none other should be master of me. You come to me not alone as -agent of my friend Peter Hawkins, of Exeter, to tell me all about my -new estate in London. You shall, I trust, rest here with me a while, -so that by our talking I may learn the English intonation. And I -would that you tell me when I make error, even of the smallest, in my -speaking. I am sorry that I had to be away so long today, but you -will, I know forgive one who has so many important affairs in hand." - -Of course I said all I could about being willing, and asked if I might -come into that room when I chose. He answered, "Yes, certainly," and -added. - -"You may go anywhere you wish in the castle, except where the doors -are locked, where of course you will not wish to go. There is reason -that all things are as they are, and did you see with my eyes and know -with my knowledge, you would perhaps better understand." I said I was -sure of this, and then he went on. - -"We are in Transylvania, and Transylvania is not England. Our ways -are not your ways, and there shall be to you many strange things. Nay, -from what you have told me of your experiences already, you know -something of what strange things there may be." - -This led to much conversation, and as it was evident that he wanted to -talk, if only for talking's sake, I asked him many questions regarding -things that had already happened to me or come within my notice. -Sometimes he sheered off the subject, or turned the conversation by -pretending not to understand, but generally he answered all I asked -most frankly. Then as time went on, and I had got somewhat bolder, I -asked him of some of the strange things of the preceding night, as for -instance, why the coachman went to the places where he had seen the -blue flames. He then explained to me that it was commonly believed -that on a certain night of the year, last night, in fact, when all -evil spirits are supposed to have unchecked sway, a blue flame is seen -over any place where treasure has been concealed. - -"That treasure has been hidden," he went on, "in the region through -which you came last night, there can be but little doubt. For it was -the ground fought over for centuries by the Wallachian, the Saxon, and -the Turk. Why, there is hardly a foot of soil in all this region that -has not been enriched by the blood of men, patriots or invaders. In -the old days there were stirring times, when the Austrian and the -Hungarian came up in hordes, and the patriots went out to meet them, -men and women, the aged and the children too, and waited their coming -on the rocks above the passes, that they might sweep destruction on -them with their artificial avalanches. When the invader was -triumphant he found but little, for whatever there was had been -sheltered in the friendly soil." - -"But how," said I, "can it have remained so long undiscovered, when -there is a sure index to it if men will but take the trouble to look?" -The Count smiled, and as his lips ran back over his gums, the long, -sharp, canine teeth showed out strangely. He answered: - -"Because your peasant is at heart a coward and a fool! Those flames -only appear on one night, and on that night no man of this land will, -if he can help it, stir without his doors. And, dear sir, even if he -did he would not know what to do. Why, even the peasant that you tell -me of who marked the place of the flame would not know where to look -in daylight even for his own work. Even you would not, I dare be -sworn, be able to find these places again?" - -"There you are right," I said. "I know no more than the dead where -even to look for them." Then we drifted into other matters. - -"Come," he said at last, "tell me of London and of the house which you -have procured for me." With an apology for my remissness, I went into -my own room to get the papers from my bag. Whilst I was placing them -in order I heard a rattling of china and silver in the next room, and -as I passed through, noticed that the table had been cleared and the -lamp lit, for it was by this time deep into the dark. The lamps were -also lit in the study or library, and I found the Count lying on the -sofa, reading, of all things in the world, an English Bradshaw's -Guide. When I came in he cleared the books and papers from the table, -and with him I went into plans and deeds and figures of all sorts. He -was interested in everything, and asked me a myriad questions about -the place and its surroundings. He clearly had studied beforehand all -he could get on the subject of the neighbourhood, for he evidently at -the end knew very much more than I did. When I remarked this, he -answered. - -"Well, but, my friend, is it not needful that I should? When I go -there I shall be all alone, and my friend Harker Jonathan, nay, pardon -me. I fall into my country's habit of putting your patronymic first, -my friend Jonathan Harker will not be by my side to correct and aid -me. He will be in Exeter, miles away, probably working at papers of -the law with my other friend, Peter Hawkins. So!" - -We went thoroughly into the business of the purchase of the estate at -Purfleet. When I had told him the facts and got his signature to the -necessary papers, and had written a letter with them ready to post to -Mr. Hawkins, he began to ask me how I had come across so suitable a -place. I read to him the notes which I had made at the time, and -which I inscribe here. - -"At Purfleet, on a byroad, I came across just such a place as seemed -to be required, and where was displayed a dilapidated notice that the -place was for sale. It was surrounded by a high wall, of ancient -structure, built of heavy stones, and has not been repaired for a -large number of years. The closed gates are of heavy old oak and -iron, all eaten with rust. - -"The estate is called Carfax, no doubt a corruption of the old Quatre -Face, as the house is four sided, agreeing with the cardinal points of -the compass. It contains in all some twenty acres, quite surrounded -by the solid stone wall above mentioned. There are many trees on it, -which make it in places gloomy, and there is a deep, dark-looking pond -or small lake, evidently fed by some springs, as the water is clear -and flows away in a fair-sized stream. The house is very large and of -all periods back, I should say, to mediaeval times, for one part is of -stone immensely thick, with only a few windows high up and heavily -barred with iron. It looks like part of a keep, and is close to an -old chapel or church. I could not enter it, as I had not the key of -the door leading to it from the house, but I have taken with my Kodak -views of it from various points. The house had been added to, but in -a very straggling way, and I can only guess at the amount of ground it -covers, which must be very great. There are but few houses close at -hand, one being a very large house only recently added to and formed -into a private lunatic asylum. It is not, however, visible from the -grounds." - -When I had finished, he said, "I am glad that it is old and big. I -myself am of an old family, and to live in a new house would kill me. -A house cannot be made habitable in a day, and after all, how few days -go to make up a century. I rejoice also that there is a chapel of old -times. We Transylvanian nobles love not to think that our bones may -lie amongst the common dead. I seek not gaiety nor mirth, not the -bright voluptuousness of much sunshine and sparkling waters which -please the young and gay. I am no longer young, and my heart, through -weary years of mourning over the dead, is not attuned to mirth. Moreover, -the walls of my castle are broken. The shadows are many, and the wind -breathes cold through the broken battlements and casements. I love -the shade and the shadow, and would be alone with my thoughts when I -may." Somehow his words and his look did not seem to accord, or else -it was that his cast of face made his smile look malignant and -saturnine. - -Presently, with an excuse, he left me, asking me to pull my papers -together. He was some little time away, and I began to look at some -of the books around me. One was an atlas, which I found opened -naturally to England, as if that map had been much used. On looking -at it I found in certain places little rings marked, and on examining -these I noticed that one was near London on the east side, manifestly -where his new estate was situated. The other two were Exeter, and -Whitby on the Yorkshire coast. - -It was the better part of an hour when the Count returned. "Aha!" he -said. "Still at your books? Good! But you must not work always. -Come! I am informed that your supper is ready." He took my arm, and -we went into the next room, where I found an excellent supper ready on -the table. The Count again excused himself, as he had dined out on -his being away from home. But he sat as on the previous night, and -chatted whilst I ate. After supper I smoked, as on the last evening, -and the Count stayed with me, chatting and asking questions on every -conceivable subject, hour after hour. I felt that it was getting very -late indeed, but I did not say anything, for I felt under obligation -to meet my host's wishes in every way. I was not sleepy, as the long -sleep yesterday had fortified me, but I could not help experiencing -that chill which comes over one at the coming of the dawn, which is -like, in its way, the turn of the tide. They say that people who are -near death die generally at the change to dawn or at the turn of the -tide. Anyone who has when tired, and tied as it were to his post, -experienced this change in the atmosphere can well believe it. All at -once we heard the crow of the cock coming up with preternatural -shrillness through the clear morning air. - -Count Dracula, jumping to his feet, said, "Why there is the morning -again! How remiss I am to let you stay up so long. You must make -your conversation regarding my dear new country of England less -interesting, so that I may not forget how time flies by us," and with -a courtly bow, he quickly left me. - -I went into my room and drew the curtains, but there was little to -notice. My window opened into the courtyard, all I could see was the -warm grey of quickening sky. So I pulled the curtains again, and have -written of this day. - - -8 May.--I began to fear as I wrote in this book that I was getting too -diffuse. But now I am glad that I went into detail from the first, -for there is something so strange about this place and all in it that -I cannot but feel uneasy. I wish I were safe out of it, or that I had -never come. It may be that this strange night existence is telling on -me, but would that that were all! If there were any one to talk to I -could bear it, but there is no one. I have only the Count to speak -with, and he--I fear I am myself the only living soul within the -place. Let me be prosaic so far as facts can be. It will help me to -bear up, and imagination must not run riot with me. If it does I am -lost. Let me say at once how I stand, or seem to. - -I only slept a few hours when I went to bed, and feeling that I could -not sleep any more, got up. I had hung my shaving glass by the -window, and was just beginning to shave. Suddenly I felt a hand on my -shoulder, and heard the Count's voice saying to me, "Good morning." I -started, for it amazed me that I had not seen him, since the -reflection of the glass covered the whole room behind me. In starting -I had cut myself slightly, but did not notice it at the moment. Having -answered the Count's salutation, I turned to the glass again to see -how I had been mistaken. This time there could be no error, for the -man was close to me, and I could see him over my shoulder. But there -was no reflection of him in the mirror! The whole room behind me was -displayed, but there was no sign of a man in it, except myself. - -This was startling, and coming on the top of so many strange things, -was beginning to increase that vague feeling of uneasiness which I -always have when the Count is near. But at the instant I saw that the -cut had bled a little, and the blood was trickling over my chin. I -laid down the razor, turning as I did so half round to look for some -sticking plaster. When the Count saw my face, his eyes blazed with a -sort of demoniac fury, and he suddenly made a grab at my throat. I -drew away and his hand touched the string of beads which held the -crucifix. It made an instant change in him, for the fury passed so -quickly that I could hardly believe that it was ever there. - -"Take care," he said, "take care how you cut yourself. It is more -dangerous that you think in this country." Then seizing the shaving -glass, he went on, "And this is the wretched thing that has done the -mischief. It is a foul bauble of man's vanity. Away with it!" And -opening the window with one wrench of his terrible hand, he flung out -the glass, which was shattered into a thousand pieces on the stones of -the courtyard far below. Then he withdrew without a word. It is very -annoying, for I do not see how I am to shave, unless in my watch-case -or the bottom of the shaving pot, which is fortunately of metal. - -When I went into the dining room, breakfast was prepared, but I could -not find the Count anywhere. So I breakfasted alone. It is strange -that as yet I have not seen the Count eat or drink. He must be a very -peculiar man! After breakfast I did a little exploring in the -castle. I went out on the stairs, and found a room looking towards -the South. - -The view was magnificent, and from where I stood there was every -opportunity of seeing it. The castle is on the very edge of a -terrific precipice. A stone falling from the window would fall a -thousand feet without touching anything! As far as the eye can reach -is a sea of green tree tops, with occasionally a deep rift where there -is a chasm. Here and there are silver threads where the rivers wind -in deep gorges through the forests. - -But I am not in heart to describe beauty, for when I had seen the view -I explored further. Doors, doors, doors everywhere, and all locked -and bolted. In no place save from the windows in the castle walls is -there an available exit. The castle is a veritable prison, and I am a -prisoner! - - - - -CHAPTER 3 - - -Jonathan Harker's Journal Continued - -When I found that I was a prisoner a sort of wild feeling came over -me. I rushed up and down the stairs, trying every door and peering -out of every window I could find, but after a little the conviction of -my helplessness overpowered all other feelings. When I look back -after a few hours I think I must have been mad for the time, for I -behaved much as a rat does in a trap. When, however, the conviction -had come to me that I was helpless I sat down quietly, as quietly as I -have ever done anything in my life, and began to think over what was -best to be done. I am thinking still, and as yet have come to no -definite conclusion. Of one thing only am I certain. That it is no -use making my ideas known to the Count. He knows well that I am -imprisoned, and as he has done it himself, and has doubtless his own -motives for it, he would only deceive me if I trusted him fully with -the facts. So far as I can see, my only plan will be to keep my -knowledge and my fears to myself, and my eyes open. I am, I know, -either being deceived, like a baby, by my own fears, or else I am in -desperate straits, and if the latter be so, I need, and shall need, -all my brains to get through. - -I had hardly come to this conclusion when I heard the great door below -shut, and knew that the Count had returned. He did not come at once -into the library, so I went cautiously to my own room and found him -making the bed. This was odd, but only confirmed what I had all along -thought, that there are no servants in the house. When later I saw -him through the chink of the hinges of the door laying the table in -the dining room, I was assured of it. For if he does himself all -these menial offices, surely it is proof that there is no one else in -the castle, it must have been the Count himself who was the driver of -the coach that brought me here. This is a terrible thought, for if -so, what does it mean that he could control the wolves, as he did, by -only holding up his hand for silence? How was it that all the people -at Bistritz and on the coach had some terrible fear for me? What -meant the giving of the crucifix, of the garlic, of the wild rose, of -the mountain ash? - -Bless that good, good woman who hung the crucifix round my neck! For -it is a comfort and a strength to me whenever I touch it. It is odd -that a thing which I have been taught to regard with disfavour and as -idolatrous should in a time of loneliness and trouble be of help. Is -it that there is something in the essence of the thing itself, or that -it is a medium, a tangible help, in conveying memories of sympathy and -comfort? Some time, if it may be, I must examine this matter and try -to make up my mind about it. In the meantime I must find out all I -can about Count Dracula, as it may help me to understand. Tonight he -may talk of himself, if I turn the conversation that way. I must be -very careful, however, not to awake his suspicion. - - -Midnight.--I have had a long talk with the Count. I asked him a few -questions on Transylvania history, and he warmed up to the subject -wonderfully. In his speaking of things and people, and especially of -battles, he spoke as if he had been present at them all. This he -afterwards explained by saying that to a Boyar the pride of his house -and name is his own pride, that their glory is his glory, that their -fate is his fate. Whenever he spoke of his house he always said "we", -and spoke almost in the plural, like a king speaking. I wish I could -put down all he said exactly as he said it, for to me it was most -fascinating. It seemed to have in it a whole history of the country. -He grew excited as he spoke, and walked about the room pulling his -great white moustache and grasping anything on which he laid his hands -as though he would crush it by main strength. One thing he said which -I shall put down as nearly as I can, for it tells in its way the story -of his race. - -"We Szekelys have a right to be proud, for in our veins flows the -blood of many brave races who fought as the lion fights, for lordship. -Here, in the whirlpool of European races, the Ugric tribe bore down -from Iceland the fighting spirit which Thor and Wodin gave them, which -their Berserkers displayed to such fell intent on the seaboards of -Europe, aye, and of Asia and Africa too, till the peoples thought that -the werewolves themselves had come. Here, too, when they came, they -found the Huns, whose warlike fury had swept the earth like a living -flame, till the dying peoples held that in their veins ran the blood -of those old witches, who, expelled from Scythia had mated with the -devils in the desert. Fools, fools! What devil or what witch was -ever so great as Attila, whose blood is in these veins?" He held up -his arms. "Is it a wonder that we were a conquering race, that we -were proud, that when the Magyar, the Lombard, the Avar, the Bulgar, -or the Turk poured his thousands on our frontiers, we drove them back? -Is it strange that when Arpad and his legions swept through the -Hungarian fatherland he found us here when he reached the frontier, -that the Honfoglalas was completed there? And when the Hungarian -flood swept eastward, the Szekelys were claimed as kindred by the -victorious Magyars, and to us for centuries was trusted the guarding -of the frontier of Turkeyland. Aye, and more than that, endless duty -of the frontier guard, for as the Turks say, 'water sleeps, and the -enemy is sleepless.' Who more gladly than we throughout the Four -Nations received the 'bloody sword,' or at its warlike call flocked -quicker to the standard of the King? When was redeemed that great -shame of my nation, the shame of Cassova, when the flags of the -Wallach and the Magyar went down beneath the Crescent? Who was it but -one of my own race who as Voivode crossed the Danube and beat the Turk -on his own ground? This was a Dracula indeed! Woe was it that his -own unworthy brother, when he had fallen, sold his people to the Turk -and brought the shame of slavery on them! Was it not this Dracula, -indeed, who inspired that other of his race who in a later age again -and again brought his forces over the great river into Turkeyland, -who, when he was beaten back, came again, and again, though he had to -come alone from the bloody field where his troops were being -slaughtered, since he knew that he alone could ultimately triumph! -They said that he thought only of himself. Bah! What good are -peasants without a leader? Where ends the war without a brain and -heart to conduct it? Again, when, after the battle of Mohacs, we -threw off the Hungarian yoke, we of the Dracula blood were amongst -their leaders, for our spirit would not brook that we were not free. -Ah, young sir, the Szekelys, and the Dracula as their heart's blood, -their brains, and their swords, can boast a record that mushroom -growths like the Hapsburgs and the Romanoffs can never reach. The -warlike days are over. Blood is too precious a thing in these days of -dishonourable peace, and the glories of the great races are as a tale -that is told." - -It was by this time close on morning, and we went to bed. (Mem., this -diary seems horribly like the beginning of the "Arabian Nights," for -everything has to break off at cockcrow, or like the ghost of Hamlet's -father.) - - -12 May.--Let me begin with facts, bare, meager facts, verified by -books and figures, and of which there can be no doubt. I must not -confuse them with experiences which will have to rest on my own -observation, or my memory of them. Last evening when the Count came -from his room he began by asking me questions on legal matters and on -the doing of certain kinds of business. I had spent the day wearily -over books, and, simply to keep my mind occupied, went over some of -the matters I had been examined in at Lincoln's Inn. There was a -certain method in the Count's inquiries, so I shall try to put them -down in sequence. The knowledge may somehow or some time be useful to -me. - -First, he asked if a man in England might have two solicitors or more. -I told him he might have a dozen if he wished, but that it would not -be wise to have more than one solicitor engaged in one transaction, as -only one could act at a time, and that to change would be certain to -militate against his interest. He seemed thoroughly to understand, -and went on to ask if there would be any practical difficulty in having -one man to attend, say, to banking, and another to look after -shipping, in case local help were needed in a place far from the home -of the banking solicitor. I asked to explain more fully, so that I -might not by any chance mislead him, so he said, - -"I shall illustrate. Your friend and mine, Mr. Peter Hawkins, from -under the shadow of your beautiful cathedral at Exeter, which is far -from London, buys for me through your good self my place at London. -Good! Now here let me say frankly, lest you should think it strange -that I have sought the services of one so far off from London instead -of some one resident there, that my motive was that no local interest -might be served save my wish only, and as one of London residence -might, perhaps, have some purpose of himself or friend to serve, I -went thus afield to seek my agent, whose labours should be only to my -interest. Now, suppose I, who have much of affairs, wish to ship -goods, say, to Newcastle, or Durham, or Harwich, or Dover, might it -not be that it could with more ease be done by consigning to one in -these ports?" - -I answered that certainly it would be most easy, but that we -solicitors had a system of agency one for the other, so that local -work could be done locally on instruction from any solicitor, so that -the client, simply placing himself in the hands of one man, could have -his wishes carried out by him without further trouble. - -"But," said he, "I could be at liberty to direct myself. Is it not -so?" - -"Of course," I replied, and "Such is often done by men of business, -who do not like the whole of their affairs to be known by any one -person." - -"Good!" he said, and then went on to ask about the means of making -consignments and the forms to be gone through, and of all sorts of -difficulties which might arise, but by forethought could be guarded -against. I explained all these things to him to the best of my -ability, and he certainly left me under the impression that he would -have made a wonderful solicitor, for there was nothing that he did not -think of or foresee. For a man who was never in the country, and who -did not evidently do much in the way of business, his knowledge and -acumen were wonderful. When he had satisfied himself on these points -of which he had spoken, and I had verified all as well as I could by -the books available, he suddenly stood up and said, "Have you written -since your first letter to our friend Mr. Peter Hawkins, or to any -other?" - -It was with some bitterness in my heart that I answered that I had -not, that as yet I had not seen any opportunity of sending letters to -anybody. - -"Then write now, my young friend," he said, laying a heavy hand on my -shoulder, "write to our friend and to any other, and say, if it will -please you, that you shall stay with me until a month from now." - -"Do you wish me to stay so long?" I asked, for my heart grew cold at -the thought. - -"I desire it much, nay I will take no refusal. When your master, -employer, what you will, engaged that someone should come on his -behalf, it was understood that my needs only were to be consulted. I -have not stinted. Is it not so?" - -What could I do but bow acceptance? It was Mr. Hawkins' interest, not -mine, and I had to think of him, not myself, and besides, while Count -Dracula was speaking, there was that in his eyes and in his bearing -which made me remember that I was a prisoner, and that if I wished it -I could have no choice. The Count saw his victory in my bow, and his -mastery in the trouble of my face, for he began at once to use them, -but in his own smooth, resistless way. - -"I pray you, my good young friend, that you will not discourse of -things other than business in your letters. It will doubtless please -your friends to know that you are well, and that you look forward to -getting home to them. Is it not so?" As he spoke he handed me three -sheets of note paper and three envelopes. They were all of the -thinnest foreign post, and looking at them, then at him, and noticing -his quiet smile, with the sharp, canine teeth lying over the red -underlip, I understood as well as if he had spoken that I should be -more careful what I wrote, for he would be able to read it. So I -determined to write only formal notes now, but to write fully to Mr. -Hawkins in secret, and also to Mina, for to her I could write -shorthand, which would puzzle the Count, if he did see it. When I had -written my two letters I sat quiet, reading a book whilst the Count -wrote several notes, referring as he wrote them to some books on his -table. Then he took up my two and placed them with his own, and put -by his writing materials, after which, the instant the door had closed -behind him, I leaned over and looked at the letters, which were face -down on the table. I felt no compunction in doing so for under the -circumstances I felt that I should protect myself in every way I -could. - -One of the letters was directed to Samuel F. Billington, No. 7, The -Crescent, Whitby, another to Herr Leutner, Varna. The third was to -Coutts & Co., London, and the fourth to Herren Klopstock & Billreuth, -bankers, Buda Pesth. The second and fourth were unsealed. I was just -about to look at them when I saw the door handle move. I sank back in -my seat, having just had time to resume my book before the Count, -holding still another letter in his hand, entered the room. He took -up the letters on the table and stamped them carefully, and then -turning to me, said, - -"I trust you will forgive me, but I have much work to do in private -this evening. You will, I hope, find all things as you wish." At the -door he turned, and after a moment's pause said, "Let me advise you, -my dear young friend. Nay, let me warn you with all seriousness, that -should you leave these rooms you will not by any chance go to sleep in -any other part of the castle. It is old, and has many memories, and -there are bad dreams for those who sleep unwisely. Be warned! Should -sleep now or ever overcome you, or be like to do, then haste to your -own chamber or to these rooms, for your rest will then be safe. But -if you be not careful in this respect, then," He finished his speech -in a gruesome way, for he motioned with his hands as if he were washing -them. I quite understood. My only doubt was as to whether any dream -could be more terrible than the unnatural, horrible net of gloom and -mystery which seemed closing around me. - - -Later.--I endorse the last words written, but this time there is no -doubt in question. I shall not fear to sleep in any place where he is -not. I have placed the crucifix over the head of my bed, I imagine -that my rest is thus freer from dreams, and there it shall remain. - -When he left me I went to my room. After a little while, not hearing -any sound, I came out and went up the stone stair to where I could -look out towards the South. There was some sense of freedom in the -vast expanse, inaccessible though it was to me, as compared with the -narrow darkness of the courtyard. Looking out on this, I felt that I -was indeed in prison, and I seemed to want a breath of fresh air, -though it were of the night. I am beginning to feel this nocturnal -existence tell on me. It is destroying my nerve. I start at my own -shadow, and am full of all sorts of horrible imaginings. God knows -that there is ground for my terrible fear in this accursed place! I -looked out over the beautiful expanse, bathed in soft yellow moonlight -till it was almost as light as day. In the soft light the distant -hills became melted, and the shadows in the valleys and gorges of -velvety blackness. The mere beauty seemed to cheer me. There was -peace and comfort in every breath I drew. As I leaned from the window -my eye was caught by something moving a storey below me, and somewhat -to my left, where I imagined, from the order of the rooms, that the -windows of the Count's own room would look out. The window at which I -stood was tall and deep, stone-mullioned, and though weatherworn, was -still complete. But it was evidently many a day since the case had -been there. I drew back behind the stonework, and looked carefully -out. - -What I saw was the Count's head coming out from the window. I did not -see the face, but I knew the man by the neck and the movement of his -back and arms. In any case I could not mistake the hands which I had -had some many opportunities of studying. I was at first interested -and somewhat amused, for it is wonderful how small a matter will -interest and amuse a man when he is a prisoner. But my very feelings -changed to repulsion and terror when I saw the whole man slowly emerge -from the window and begin to crawl down the castle wall over the -dreadful abyss, face down with his cloak spreading out around him like -great wings. At first I could not believe my eyes. I thought it was -some trick of the moonlight, some weird effect of shadow, but I kept -looking, and it could be no delusion. I saw the fingers and toes -grasp the corners of the stones, worn clear of the mortar by the -stress of years, and by thus using every projection and inequality -move downwards with considerable speed, just as a lizard moves along a -wall. - -What manner of man is this, or what manner of creature, is it in the -semblance of man? I feel the dread of this horrible place -overpowering me. I am in fear, in awful fear, and there is no escape -for me. I am encompassed about with terrors that I dare not think of. - - -15 May.--Once more I have seen the count go out in his lizard fashion. -He moved downwards in a sidelong way, some hundred feet down, and a -good deal to the left. He vanished into some hole or window. When -his head had disappeared, I leaned out to try and see more, but -without avail. The distance was too great to allow a proper angle of -sight. I knew he had left the castle now, and thought to use the -opportunity to explore more than I had dared to do as yet. I went -back to the room, and taking a lamp, tried all the doors. They were -all locked, as I had expected, and the locks were comparatively new. -But I went down the stone stairs to the hall where I had entered -originally. I found I could pull back the bolts easily enough and -unhook the great chains. But the door was locked, and the key was -gone! That key must be in the Count's room. I must watch should his -door be unlocked, so that I may get it and escape. I went on to make -a thorough examination of the various stairs and passages, and to try -the doors that opened from them. One or two small rooms near the hall -were open, but there was nothing to see in them except old furniture, -dusty with age and moth-eaten. At last, however, I found one door at -the top of the stairway which, though it seemed locked, gave a little -under pressure. I tried it harder, and found that it was not really -locked, but that the resistance came from the fact that the hinges had -fallen somewhat, and the heavy door rested on the floor. Here was an -opportunity which I might not have again, so I exerted myself, and -with many efforts forced it back so that I could enter. I was now in -a wing of the castle further to the right than the rooms I knew and a -storey lower down. From the windows I could see that the suite of -rooms lay along to the south of the castle, the windows of the end -room looking out both west and south. On the latter side, as well as -to the former, there was a great precipice. The castle was built on -the corner of a great rock, so that on three sides it was quite -impregnable, and great windows were placed here where sling, or bow, -or culverin could not reach, and consequently light and comfort, -impossible to a position which had to be guarded, were secured. To -the west was a great valley, and then, rising far away, great jagged -mountain fastnesses, rising peak on peak, the sheer rock studded with -mountain ash and thorn, whose roots clung in cracks and crevices and -crannies of the stone. This was evidently the portion of the castle -occupied by the ladies in bygone days, for the furniture had more an -air of comfort than any I had seen. - -The windows were curtainless, and the yellow moonlight, flooding in -through the diamond panes, enabled one to see even colours, whilst it -softened the wealth of dust which lay over all and disguised in some -measure the ravages of time and moth. My lamp seemed to be of little -effect in the brilliant moonlight, but I was glad to have it with me, -for there was a dread loneliness in the place which chilled my heart -and made my nerves tremble. Still, it was better than living alone in -the rooms which I had come to hate from the presence of the Count, and -after trying a little to school my nerves, I found a soft quietude -come over me. Here I am, sitting at a little oak table where in old -times possibly some fair lady sat to pen, with much thought and many -blushes, her ill-spelt love letter, and writing in my diary in -shorthand all that has happened since I closed it last. It is the -nineteenth century up-to-date with a vengeance. And yet, unless my -senses deceive me, the old centuries had, and have, powers of their -own which mere "modernity" cannot kill. - - -Later: The morning of 16 May.--God preserve my sanity, for to this I -am reduced. Safety and the assurance of safety are things of the -past. Whilst I live on here there is but one thing to hope for, that -I may not go mad, if, indeed, I be not mad already. If I be sane, -then surely it is maddening to think that of all the foul things that -lurk in this hateful place the Count is the least dreadful to me, that -to him alone I can look for safety, even though this be only whilst I -can serve his purpose. Great God! Merciful God, let me be calm, for -out of that way lies madness indeed. I begin to get new lights on -certain things which have puzzled me. Up to now I never quite knew -what Shakespeare meant when he made Hamlet say, "My tablets! Quick, -my tablets! 'tis meet that I put it down," etc., For now, feeling as -though my own brain were unhinged or as if the shock had come which -must end in its undoing, I turn to my diary for repose. The habit of -entering accurately must help to soothe me. - -The Count's mysterious warning frightened me at the time. It frightens -me more not when I think of it, for in the future he has a fearful -hold upon me. I shall fear to doubt what he may say! - -When I had written in my diary and had fortunately replaced the book -and pen in my pocket I felt sleepy. The Count's warning came into my -mind, but I took pleasure in disobeying it. The sense of sleep was -upon me, and with it the obstinacy which sleep brings as outrider. The -soft moonlight soothed, and the wide expanse without gave a sense of -freedom which refreshed me. I determined not to return tonight to the -gloom-haunted rooms, but to sleep here, where, of old, ladies had sat -and sung and lived sweet lives whilst their gentle breasts were sad -for their menfolk away in the midst of remorseless wars. I drew a -great couch out of its place near the corner, so that as I lay, I -could look at the lovely view to east and south, and unthinking of and -uncaring for the dust, composed myself for sleep. I suppose I must -have fallen asleep. I hope so, but I fear, for all that followed was -startlingly real, so real that now sitting here in the broad, full -sunlight of the morning, I cannot in the least believe that it was all -sleep. - -I was not alone. The room was the same, unchanged in any way since I -came into it. I could see along the floor, in the brilliant -moonlight, my own footsteps marked where I had disturbed the long -accumulation of dust. In the moonlight opposite me were three young -women, ladies by their dress and manner. I thought at the time that I -must be dreaming when I saw them, they threw no shadow on the floor. -They came close to me, and looked at me for some time, and then -whispered together. Two were dark, and had high aquiline noses, like -the Count, and great dark, piercing eyes, that seemed to be almost red -when contrasted with the pale yellow moon. The other was fair, as -fair as can be, with great masses of golden hair and eyes like pale -sapphires. I seemed somehow to know her face, and to know it in -connection with some dreamy fear, but I could not recollect at the -moment how or where. All three had brilliant white teeth that shone -like pearls against the ruby of their voluptuous lips. There was -something about them that made me uneasy, some longing and at the same -time some deadly fear. I felt in my heart a wicked, burning desire -that they would kiss me with those red lips. It is not good to note -this down, lest some day it should meet Mina's eyes and cause her -pain, but it is the truth. They whispered together, and then they all -three laughed, such a silvery, musical laugh, but as hard as though -the sound never could have come through the softness of human lips. -It was like the intolerable, tingling sweetness of waterglasses when -played on by a cunning hand. The fair girl shook her head -coquettishly, and the other two urged her on. - -One said, "Go on! You are first, and we shall follow. Yours is the -right to begin." - -The other added, "He is young and strong. There are kisses for us -all." - -I lay quiet, looking out from under my eyelashes in an agony of -delightful anticipation. The fair girl advanced and bent over me till -I could feel the movement of her breath upon me. Sweet it was in one -sense, honey-sweet, and sent the same tingling through the nerves as -her voice, but with a bitter underlying the sweet, a bitter -offensiveness, as one smells in blood. - -I was afraid to raise my eyelids, but looked out and saw perfectly -under the lashes. The girl went on her knees, and bent over me, -simply gloating. There was a deliberate voluptuousness which was both -thrilling and repulsive, and as she arched her neck she actually -licked her lips like an animal, till I could see in the moonlight the -moisture shining on the scarlet lips and on the red tongue as it -lapped the white sharp teeth. Lower and lower went her head as the -lips went below the range of my mouth and chin and seemed to fasten on -my throat. Then she paused, and I could hear the churning sound of -her tongue as it licked her teeth and lips, and I could feel the hot -breath on my neck. Then the skin of my throat began to tingle as -one's flesh does when the hand that is to tickle it approaches nearer, -nearer. I could feel the soft, shivering touch of the lips on the -super sensitive skin of my throat, and the hard dents of two sharp -teeth, just touching and pausing there. I closed my eyes in -languorous ecstasy and waited, waited with beating heart. - -But at that instant, another sensation swept through me as quick as -lightning. I was conscious of the presence of the Count, and of his -being as if lapped in a storm of fury. As my eyes opened -involuntarily I saw his strong hand grasp the slender neck of the fair -woman and with giant's power draw it back, the blue eyes transformed -with fury, the white teeth champing with rage, and the fair cheeks -blazing red with passion. But the Count! Never did I imagine such -wrath and fury, even to the demons of the pit. His eyes were -positively blazing. The red light in them was lurid, as if the flames -of hell fire blazed behind them. His face was deathly pale, and the -lines of it were hard like drawn wires. The thick eyebrows that met -over the nose now seemed like a heaving bar of white-hot metal. With -a fierce sweep of his arm, he hurled the woman from him, and then -motioned to the others, as though he were beating them back. It was -the same imperious gesture that I had seen used to the wolves. In a -voice which, though low and almost in a whisper seemed to cut through -the air and then ring in the room he said, - -"How dare you touch him, any of you? How dare you cast eyes on him -when I had forbidden it? Back, I tell you all! This man belongs to -me! Beware how you meddle with him, or you'll have to deal with me." - -The fair girl, with a laugh of ribald coquetry, turned to answer him. -"You yourself never loved. You never love!" On this the other women -joined, and such a mirthless, hard, soulless laughter rang through the -room that it almost made me faint to hear. It seemed like the -pleasure of fiends. - -Then the Count turned, after looking at my face attentively, and said -in a soft whisper, "Yes, I too can love. You yourselves can tell it -from the past. Is it not so? Well, now I promise you that when I am -done with him you shall kiss him at your will. Now go! Go! I must -awaken him, for there is work to be done." - -"Are we to have nothing tonight?" said one of them, with a low laugh, -as she pointed to the bag which he had thrown upon the floor, and -which moved as though there were some living thing within it. For -answer he nodded his head. One of the women jumped forward and opened -it. If my ears did not deceive me there was a gasp and a low wail, as -of a half smothered child. The women closed round, whilst I was -aghast with horror. But as I looked, they disappeared, and with them -the dreadful bag. There was no door near them, and they could not -have passed me without my noticing. They simply seemed to fade into -the rays of the moonlight and pass out through the window, for I could -see outside the dim, shadowy forms for a moment before they entirely -faded away. - -Then the horror overcame me, and I sank down unconscious. - - - - -CHAPTER 4 - - -Jonathan Harker's Journal Continued - -I awoke in my own bed. If it be that I had not dreamt, the Count must -have carried me here. I tried to satisfy myself on the subject, but -could not arrive at any unquestionable result. To be sure, there were -certain small evidences, such as that my clothes were folded and laid -by in a manner which was not my habit. My watch was still unwound, -and I am rigorously accustomed to wind it the last thing before going -to bed, and many such details. But these things are no proof, for -they may have been evidences that my mind was not as usual, and, for -some cause or another, I had certainly been much upset. I must watch -for proof. Of one thing I am glad. If it was that the Count carried -me here and undressed me, he must have been hurried in his task, for -my pockets are intact. I am sure this diary would have been a mystery -to him which he would not have brooked. He would have taken or -destroyed it. As I look round this room, although it has been to me -so full of fear, it is now a sort of sanctuary, for nothing can be -more dreadful than those awful women, who were, who are, waiting to -suck my blood. - - -18 May.--I have been down to look at that room again in daylight, for -I must know the truth. When I got to the doorway at the top of the -stairs I found it closed. It had been so forcibly driven against the -jamb that part of the woodwork was splintered. I could see that the -bolt of the lock had not been shot, but the door is fastened from the -inside. I fear it was no dream, and must act on this surmise. - - -19 May.--I am surely in the toils. Last night the Count asked me in -the suavest tones to write three letters, one saying that my work here -was nearly done, and that I should start for home within a few days, -another that I was starting on the next morning from the time of the -letter, and the third that I had left the castle and arrived at -Bistritz. I would fain have rebelled, but felt that in the present -state of things it would be madness to quarrel openly with the Count -whilst I am so absolutely in his power. And to refuse would be to -excite his suspicion and to arouse his anger. He knows that I know -too much, and that I must not live, lest I be dangerous to him. My -only chance is to prolong my opportunities. Something may occur which -will give me a chance to escape. I saw in his eyes something of that -gathering wrath which was manifest when he hurled that fair woman from -him. He explained to me that posts were few and uncertain, and that -my writing now would ensure ease of mind to my friends. And he -assured me with so much impressiveness that he would countermand the -later letters, which would be held over at Bistritz until due time in -case chance would admit of my prolonging my stay, that to oppose him -would have been to create new suspicion. I therefore pretended to -fall in with his views, and asked him what dates I should put on the -letters. - -He calculated a minute, and then said, "The first should be June 12, -the second June 19, and the third June 29." - -I know now the span of my life. God help me! - - -28 May.--There is a chance of escape, or at any rate of being able to -send word home. A band of Szgany have come to the castle, and are -encamped in the courtyard. These are gipsies. I have notes of them -in my book. They are peculiar to this part of the world, though -allied to the ordinary gipsies all the world over. There are -thousands of them in Hungary and Transylvania, who are almost outside -all law. They attach themselves as a rule to some great noble or -boyar, and call themselves by his name. They are fearless and without -religion, save superstition, and they talk only their own varieties of -the Romany tongue. - -I shall write some letters home, and shall try to get them to have -them posted. I have already spoken to them through my window to begin -acquaintanceship. They took their hats off and made obeisance and -many signs, which however, I could not understand any more than I -could their spoken language . . . - -I have written the letters. Mina's is in shorthand, and I simply ask -Mr. Hawkins to communicate with her. To her I have explained my -situation, but without the horrors which I may only surmise. It would -shock and frighten her to death were I to expose my heart to her. -Should the letters not carry, then the Count shall not yet know my -secret or the extent of my knowledge. . . . - - -I have given the letters. I threw them through the bars of my window -with a gold piece, and made what signs I could to have them posted. -The man who took them pressed them to his heart and bowed, and then -put them in his cap. I could do no more. I stole back to the study, -and began to read. As the Count did not come in, I have written -here . . . - - -The Count has come. He sat down beside me, and said in his smoothest -voice as he opened two letters, "The Szgany has given me these, of -which, though I know not whence they come, I shall, of course, take -care. See!"--He must have looked at it.--"One is from you, and to my -friend Peter Hawkins. The other,"--here he caught sight of the -strange symbols as he opened the envelope, and the dark look came into -his face, and his eyes blazed wickedly,--"The other is a vile thing, -an outrage upon friendship and hospitality! It is not signed. Well! -So it cannot matter to us." And he calmly held letter and envelope in -the flame of the lamp till they were consumed. - -Then he went on, "The letter to Hawkins, that I shall, of course send -on, since it is yours. Your letters are sacred to me. Your pardon, -my friend, that unknowingly I did break the seal. Will you not cover -it again?" He held out the letter to me, and with a courteous bow -handed me a clean envelope. - -I could only redirect it and hand it to him in silence. When he went -out of the room I could hear the key turn softly. A minute later I -went over and tried it, and the door was locked. - -When, an hour or two after, the Count came quietly into the room, his -coming awakened me, for I had gone to sleep on the sofa. He was very -courteous and very cheery in his manner, and seeing that I had been -sleeping, he said, "So, my friend, you are tired? Get to bed. There -is the surest rest. I may not have the pleasure of talk tonight, -since there are many labours to me, but you will sleep, I pray." - -I passed to my room and went to bed, and, strange to say, slept -without dreaming. Despair has its own calms. - -31 May.--This morning when I woke I thought I would provide myself -with some papers and envelopes from my bag and keep them in my pocket, -so that I might write in case I should get an opportunity, but again a -surprise, again a shock! - -Every scrap of paper was gone, and with it all my notes, my memoranda, -relating to railways and travel, my letter of credit, in fact all that -might be useful to me were I once outside the castle. I sat and -pondered awhile, and then some thought occurred to me, and I made -search of my portmanteau and in the wardrobe where I had placed my -clothes. - -The suit in which I had travelled was gone, and also my overcoat and -rug. I could find no trace of them anywhere. This looked like some -new scheme of villainy . . . - - -17 June.--This morning, as I was sitting on the edge of my bed -cudgelling my brains, I heard without a crackling of whips and -pounding and scraping of horses' feet up the rocky path beyond the -courtyard. With joy I hurried to the window, and saw drive into the -yard two great leiter-wagons, each drawn by eight sturdy horses, and -at the head of each pair a Slovak, with his wide hat, great -nail-studded belt, dirty sheepskin, and high boots. They had also -their long staves in hand. I ran to the door, intending to descend -and try and join them through the main hall, as I thought that way -might be opened for them. Again a shock, my door was fastened on the -outside. - -Then I ran to the window and cried to them. They looked up at me -stupidly and pointed, but just then the "hetman" of the Szgany came -out, and seeing them pointing to my window, said something, at which -they laughed. - -Henceforth no effort of mine, no piteous cry or agonized entreaty, -would make them even look at me. They resolutely turned away. The -leiter-wagons contained great, square boxes, with handles of thick -rope. These were evidently empty by the ease with which the Slovaks -handled them, and by their resonance as they were roughly moved. - -When they were all unloaded and packed in a great heap in one corner -of the yard, the Slovaks were given some money by the Szgany, and -spitting on it for luck, lazily went each to his horse's head. -Shortly afterwards, I heard the crackling of their whips die away in -the distance. - - -24 June.--Last night the Count left me early, and locked himself into -his own room. As soon as I dared I ran up the winding stair, and -looked out of the window, which opened South. I thought I would watch -for the Count, for there is something going on. The Szgany are -quartered somewhere in the castle and are doing work of some kind. I -know it, for now and then, I hear a far-away muffled sound as of -mattock and spade, and, whatever it is, it must be the end of some -ruthless villainy. - -I had been at the window somewhat less than half an hour, when I saw -something coming out of the Count's window. I drew back and watched -carefully, and saw the whole man emerge. It was a new shock to me to -find that he had on the suit of clothes which I had worn whilst -travelling here, and slung over his shoulder the terrible bag which I -had seen the women take away. There could be no doubt as to his -quest, and in my garb, too! This, then, is his new scheme of evil, -that he will allow others to see me, as they think, so that he may -both leave evidence that I have been seen in the towns or villages -posting my own letters, and that any wickedness which he may do shall -by the local people be attributed to me. - -It makes me rage to think that this can go on, and whilst I am shut up -here, a veritable prisoner, but without that protection of the law -which is even a criminal's right and consolation. - -I thought I would watch for the Count's return, and for a long time -sat doggedly at the window. Then I began to notice that there were -some quaint little specks floating in the rays of the moonlight. They -were like the tiniest grains of dust, and they whirled round and -gathered in clusters in a nebulous sort of way. I watched them with a -sense of soothing, and a sort of calm stole over me. I leaned back in -the embrasure in a more comfortable position, so that I could enjoy -more fully the aerial gambolling. - -Something made me start up, a low, piteous howling of dogs somewhere -far below in the valley, which was hidden from my sight. Louder it -seemed to ring in my ears, and the floating moats of dust to take new -shapes to the sound as they danced in the moonlight. I felt myself -struggling to awake to some call of my instincts. Nay, my very soul -was struggling, and my half-remembered sensibilities were striving to -answer the call. I was becoming hypnotised! - -Quicker and quicker danced the dust. The moonbeams seemed to quiver -as they went by me into the mass of gloom beyond. More and more they -gathered till they seemed to take dim phantom shapes. And then I -started, broad awake and in full possession of my senses, and ran -screaming from the place. - -The phantom shapes, which were becoming gradually materialised from -the moonbeams, were those three ghostly women to whom I was doomed. - -I fled, and felt somewhat safer in my own room, where there was no -moonlight, and where the lamp was burning brightly. - -When a couple of hours had passed I heard something stirring in the -Count's room, something like a sharp wail quickly suppressed. And -then there was silence, deep, awful silence, which chilled me. With a -beating heart, I tried the door, but I was locked in my prison, and -could do nothing. I sat down and simply cried. - -As I sat I heard a sound in the courtyard without, the agonised cry of -a woman. I rushed to the window, and throwing it up, peered between -the bars. - -There, indeed, was a woman with dishevelled hair, holding her hands -over her heart as one distressed with running. She was leaning -against the corner of the gateway. When she saw my face at the window -she threw herself forward, and shouted in a voice laden with menace, -"Monster, give me my child!" - -She threw herself on her knees, and raising up her hands, cried the -same words in tones which wrung my heart. Then she tore her hair and -beat her breast, and abandoned herself to all the violences of -extravagant emotion. Finally, she threw herself forward, and though I -could not see her, I could hear the beating of her naked hands against -the door. - -Somewhere high overhead, probably on the tower, I heard the voice of -the Count calling in his harsh, metallic whisper. His call seemed to -be answered from far and wide by the howling of wolves. Before many -minutes had passed a pack of them poured, like a pent-up dam when -liberated, through the wide entrance into the courtyard. - -There was no cry from the woman, and the howling of the wolves was but -short. Before long they streamed away singly, licking their lips. - -I could not pity her, for I knew now what had become of her child, and -she was better dead. - -What shall I do? What can I do? How can I escape from this dreadful -thing of night, gloom, and fear? - - -25 June.--No man knows till he has suffered from the night how sweet -and dear to his heart and eye the morning can be. When the sun grew -so high this morning that it struck the top of the great gateway -opposite my window, the high spot which it touched seemed to me as if -the dove from the ark had lighted there. My fear fell from me as if -it had been a vaporous garment which dissolved in the warmth. - -I must take action of some sort whilst the courage of the day is upon -me. Last night one of my post-dated letters went to post, the first -of that fatal series which is to blot out the very traces of my -existence from the earth. - -Let me not think of it. Action! - -It has always been at night-time that I have been molested or -threatened, or in some way in danger or in fear. I have not yet seen -the Count in the daylight. Can it be that he sleeps when others wake, -that he may be awake whilst they sleep? If I could only get into his -room! But there is no possible way. The door is always locked, no -way for me. - -Yes, there is a way, if one dares to take it. Where his body has gone -why may not another body go? I have seen him myself crawl from his -window. Why should not I imitate him, and go in by his window? The -chances are desperate, but my need is more desperate still. I shall -risk it. At the worst it can only be death, and a man's death is not -a calf's, and the dreaded Hereafter may still be open to me. God help -me in my task! Goodbye, Mina, if I fail. Goodbye, my faithful friend -and second father. Goodbye, all, and last of all Mina! - - -Same day, later.--I have made the effort, and God helping me, have -come safely back to this room. I must put down every detail in order. -I went whilst my courage was fresh straight to the window on the south -side, and at once got outside on this side. The stones are big and -roughly cut, and the mortar has by process of time been washed away -between them. I took off my boots, and ventured out on the desperate -way. I looked down once, so as to make sure that a sudden glimpse of -the awful depth would not overcome me, but after that kept my eyes -away from it. I know pretty well the direction and distance of the -Count's window, and made for it as well as I could, having regard to -the opportunities available. I did not feel dizzy, I suppose I was -too excited, and the time seemed ridiculously short till I found -myself standing on the window sill and trying to raise up the sash. I -was filled with agitation, however, when I bent down and slid feet -foremost in through the window. Then I looked around for the Count, -but with surprise and gladness, made a discovery. The room was -empty! It was barely furnished with odd things, which seemed to have -never been used. - -The furniture was something the same style as that in the south rooms, -and was covered with dust. I looked for the key, but it was not in -the lock, and I could not find it anywhere. The only thing I found -was a great heap of gold in one corner, gold of all kinds, Roman, and -British, and Austrian, and Hungarian, and Greek and Turkish money, -covered with a film of dust, as though it had lain long in the ground. -None of it that I noticed was less than three hundred years old. -There were also chains and ornaments, some jewelled, but all of them -old and stained. - -At one corner of the room was a heavy door. I tried it, for, since I -could not find the key of the room or the key of the outer door, which -was the main object of my search, I must make further examination, or -all my efforts would be in vain. It was open, and led through a stone -passage to a circular stairway, which went steeply down. - -I descended, minding carefully where I went for the stairs were dark, -being only lit by loopholes in the heavy masonry. At the bottom there -was a dark, tunnel-like passage, through which came a deathly, sickly -odour, the odour of old earth newly turned. As I went through the -passage the smell grew closer and heavier. At last I pulled open a -heavy door which stood ajar, and found myself in an old ruined chapel, -which had evidently been used as a graveyard. The roof was broken, -and in two places were steps leading to vaults, but the ground had -recently been dug over, and the earth placed in great wooden boxes, -manifestly those which had been brought by the Slovaks. - -There was nobody about, and I made a search over every inch of the -ground, so as not to lose a chance. I went down even into the vaults, -where the dim light struggled, although to do so was a dread to my -very soul. Into two of these I went, but saw nothing except fragments -of old coffins and piles of dust. In the third, however, I made a -discovery. - -There, in one of the great boxes, of which there were fifty in all, on -a pile of newly dug earth, lay the Count! He was either dead or -asleep. I could not say which, for eyes were open and stony, but -without the glassiness of death, and the cheeks had the warmth of life -through all their pallor. The lips were as red as ever. But there -was no sign of movement, no pulse, no breath, no beating of the heart. - -I bent over him, and tried to find any sign of life, but in vain. He -could not have lain there long, for the earthy smell would have passed -away in a few hours. By the side of the box was its cover, pierced -with holes here and there. I thought he might have the keys on him, -but when I went to search I saw the dead eyes, and in them dead though -they were, such a look of hate, though unconscious of me or my -presence, that I fled from the place, and leaving the Count's room by -the window, crawled again up the castle wall. Regaining my room, I -threw myself panting upon the bed and tried to think. - - -29 June.--Today is the date of my last letter, and the Count has taken -steps to prove that it was genuine, for again I saw him leave the -castle by the same window, and in my clothes. As he went down the -wall, lizard fashion, I wished I had a gun or some lethal weapon, that -I might destroy him. But I fear that no weapon wrought along by man's -hand would have any effect on him. I dared not wait to see him -return, for I feared to see those weird sisters. I came back to the -library, and read there till I fell asleep. - -I was awakened by the Count, who looked at me as grimly as a man could -look as he said, "Tomorrow, my friend, we must part. You return to -your beautiful England, I to some work which may have such an end that -we may never meet. Your letter home has been despatched. Tomorrow I -shall not be here, but all shall be ready for your journey. In the -morning come the Szgany, who have some labours of their own here, and -also come some Slovaks. When they have gone, my carriage shall come -for you, and shall bear you to the Borgo Pass to meet the diligence -from Bukovina to Bistritz. But I am in hopes that I shall see more of -you at Castle Dracula." - -I suspected him, and determined to test his sincerity. Sincerity! It -seems like a profanation of the word to write it in connection with -such a monster, so I asked him point-blank, "Why may I not go -tonight?" - -"Because, dear sir, my coachman and horses are away on a mission." - -"But I would walk with pleasure. I want to get away at once." - -He smiled, such a soft, smooth, diabolical smile that I knew there was -some trick behind his smoothness. He said, "And your baggage?" - -"I do not care about it. I can send for it some other time." - -The Count stood up, and said, with a sweet courtesy which made me rub -my eyes, it seemed so real, "You English have a saying which is close -to my heart, for its spirit is that which rules our boyars, 'Welcome -the coming, speed the parting guest.' Come with me, my dear young -friend. Not an hour shall you wait in my house against your will, -though sad am I at your going, and that you so suddenly desire it. -Come!" With a stately gravity, he, with the lamp, preceded me down -the stairs and along the hall. Suddenly he stopped. "Hark!" - -Close at hand came the howling of many wolves. It was almost as if -the sound sprang up at the rising of his hand, just as the music of a -great orchestra seems to leap under the baton of the conductor. After -a pause of a moment, he proceeded, in his stately way, to the door, -drew back the ponderous bolts, unhooked the heavy chains, and began to -draw it open. - -To my intense astonishment I saw that it was unlocked. Suspiciously, -I looked all round, but could see no key of any kind. - -As the door began to open, the howling of the wolves without grew -louder and angrier. Their red jaws, with champing teeth, and their -blunt-clawed feet as they leaped, came in through the opening door. I -knew than that to struggle at the moment against the Count was -useless. With such allies as these at his command, I could do -nothing. - -But still the door continued slowly to open, and only the Count's body -stood in the gap. Suddenly it struck me that this might be the moment -and means of my doom. I was to be given to the wolves, and at my own -instigation. There was a diabolical wickedness in the idea great -enough for the Count, and as the last chance I cried out, "Shut the -door! I shall wait till morning." And I covered my face with my -hands to hide my tears of bitter disappointment. - -With one sweep of his powerful arm, the Count threw the door shut, and -the great bolts clanged and echoed through the hall as they shot back -into their places. - -In silence we returned to the library, and after a minute or two I went -to my own room. The last I saw of Count Dracula was his kissing his -hand to me, with a red light of triumph in his eyes, and with a smile -that Judas in hell might be proud of. - -When I was in my room and about to lie down, I thought I heard a -whispering at my door. I went to it softly and listened. Unless my -ears deceived me, I heard the voice of the Count. - -"Back! Back to your own place! Your time is not yet come. Wait! -Have patience! Tonight is mine. Tomorrow night is yours!" - -There was a low, sweet ripple of laughter, and in a rage I threw open -the door, and saw without the three terrible women licking their lips. -As I appeared, they all joined in a horrible laugh, and ran away. - -I came back to my room and threw myself on my knees. It is then so -near the end? Tomorrow! Tomorrow! Lord, help me, and those to whom -I am dear! - - -30 June.--These may be the last words I ever write in this diary. I -slept till just before the dawn, and when I woke threw myself on my -knees, for I determined that if Death came he should find me ready. - -At last I felt that subtle change in the air, and knew that the -morning had come. Then came the welcome cockcrow, and I felt that I -was safe. With a glad heart, I opened the door and ran down the hall. -I had seen that the door was unlocked, and now escape was before me. -With hands that trembled with eagerness, I unhooked the chains and -threw back the massive bolts. - -But the door would not move. Despair seized me. I pulled and pulled -at the door, and shook it till, massive as it was, it rattled in its -casement. I could see the bolt shot. It had been locked after I left -the Count. - -Then a wild desire took me to obtain the key at any risk, and I -determined then and there to scale the wall again, and gain the -Count's room. He might kill me, but death now seemed the happier -choice of evils. Without a pause I rushed up to the east window, and -scrambled down the wall, as before, into the Count's room. It was -empty, but that was as I expected. I could not see a key anywhere, -but the heap of gold remained. I went through the door in the corner -and down the winding stair and along the dark passage to the old -chapel. I knew now well enough where to find the monster I sought. - -The great box was in the same place, close against the wall, but the -lid was laid on it, not fastened down, but with the nails ready in -their places to be hammered home. - -I knew I must reach the body for the key, so I raised the lid, and -laid it back against the wall. And then I saw something which filled -my very soul with horror. There lay the Count, but looking as if his -youth had been half restored. For the white hair and moustache were -changed to dark iron-grey. The cheeks were fuller, and the white skin -seemed ruby-red underneath. The mouth was redder than ever, for on -the lips were gouts of fresh blood, which trickled from the corners of -the mouth and ran down over the chin and neck. Even the deep, burning -eyes seemed set amongst swollen flesh, for the lids and pouches -underneath were bloated. It seemed as if the whole awful creature -were simply gorged with blood. He lay like a filthy leech, exhausted -with his repletion. - -I shuddered as I bent over to touch him, and every sense in me -revolted at the contact, but I had to search, or I was lost. The -coming night might see my own body a banquet in a similar war to those -horrid three. I felt all over the body, but no sign could I find of -the key. Then I stopped and looked at the Count. There was a mocking -smile on the bloated face which seemed to drive me mad. This was the -being I was helping to transfer to London, where, perhaps, for -centuries to come he might, amongst its teeming millions, satiate his -lust for blood, and create a new and ever-widening circle of -semi-demons to batten on the helpless. - -The very thought drove me mad. A terrible desire came upon me to rid -the world of such a monster. There was no lethal weapon at hand, but -I seized a shovel which the workmen had been using to fill the cases, -and lifting it high, struck, with the edge downward, at the hateful -face. But as I did so the head turned, and the eyes fell upon me, -with all their blaze of basilisk horror. The sight seemed to paralyze -me, and the shovel turned in my hand and glanced from the face, merely -making a deep gash above the forehead. The shovel fell from my hand -across the box, and as I pulled it away the flange of the blade caught -the edge of the lid which fell over again, and hid the horrid thing -from my sight. The last glimpse I had was of the bloated face, -blood-stained and fixed with a grin of malice which would have held -its own in the nethermost hell. - -I thought and thought what should be my next move, but my brain seemed -on fire, and I waited with a despairing feeling growing over me. As I -waited I heard in the distance a gipsy song sung by merry voices -coming closer, and through their song the rolling of heavy wheels and -the cracking of whips. The Szgany and the Slovaks of whom the Count -had spoken were coming. With a last look around and at the box which -contained the vile body, I ran from the place and gained the Count's -room, determined to rush out at the moment the door should be opened. -With strained ears, I listened, and heard downstairs the grinding of -the key in the great lock and the falling back of the heavy door. -There must have been some other means of entry, or some one had a key -for one of the locked doors. - -Then there came the sound of many feet tramping and dying away in some -passage which sent up a clanging echo. I turned to run down again -towards the vault, where I might find the new entrance, but at the -moment there seemed to come a violent puff of wind, and the door to -the winding stair blew to with a shock that set the dust from the -lintels flying. When I ran to push it open, I found that it was -hopelessly fast. I was again a prisoner, and the net of doom was -closing round me more closely. - -As I write there is in the passage below a sound of many tramping feet -and the crash of weights being set down heavily, doubtless the boxes, -with their freight of earth. There was a sound of hammering. It is -the box being nailed down. Now I can hear the heavy feet tramping -again along the hall, with many other idle feet coming behind them. - -The door is shut, the chains rattle. There is a grinding of the key -in the lock. I can hear the key withdrawn, then another door opens -and shuts. I hear the creaking of lock and bolt. - -Hark! In the courtyard and down the rocky way the roll of heavy -wheels, the crack of whips, and the chorus of the Szgany as they pass -into the distance. - -I am alone in the castle with those horrible women. Faugh! Mina is a -woman, and there is nought in common. They are devils of the Pit! - -I shall not remain alone with them. I shall try to scale the castle -wall farther than I have yet attempted. I shall take some of the gold -with me, lest I want it later. I may find a way from this dreadful -place. - -And then away for home! Away to the quickest and nearest train! Away -from the cursed spot, from this cursed land, where the devil and his -children still walk with earthly feet! - -At least God's mercy is better than that of those monsters, and the -precipice is steep and high. At its foot a man may sleep, as a man. -Goodbye, all. Mina! - - - - -CHAPTER 5 - - -LETTER FROM MISS MINA MURRAY TO MISS LUCY WESTENRA - -9 May. - -My dearest Lucy, - -Forgive my long delay in writing, but I have been simply overwhelmed -with work. The life of an assistant schoolmistress is sometimes -trying. I am longing to be with you, and by the sea, where we can -talk together freely and build our castles in the air. I have been -working very hard lately, because I want to keep up with Jonathan's -studies, and I have been practicing shorthand very assiduously. -When we are married I shall be able to be useful to Jonathan, and if -I can stenograph well enough I can take down what he wants to say in -this way and write it out for him on the typewriter, at which also I -am practicing very hard. - -He and I sometimes write letters in shorthand, and he is -keeping a stenographic journal of his travels abroad. When -I am with you I shall keep a diary in the same way. I don't -mean one of those two-pages-to-the-week-with-Sunday-squeezed- -in-a-corner diaries, but a sort of journal which I can write -in whenever I feel inclined. - -I do not suppose there will be much of interest to other people, but -it is not intended for them. I may show it to Jonathan some day if -there is in it anything worth sharing, but it is really an exercise -book. I shall try to do what I see lady journalists do, -interviewing and writing descriptions and trying to remember -conversations. I am told that, with a little practice, one can -remember all that goes on or that one hears said during a day. - -However, we shall see. I will tell you of my little plans when we -meet. I have just had a few hurried lines from Jonathan from -Transylvania. He is well, and will be returning in about a week. I -am longing to hear all his news. It must be nice to see strange -countries. I wonder if we, I mean Jonathan and I, shall ever see -them together. There is the ten o'clock bell ringing. Goodbye. - -Your loving - -Mina - - -Tell me all the news when you write. You have not told me -anything for a long time. I hear rumours, and especially -of a tall, handsome, curly-haired man??? - - - -LETTER, LUCY WESTENRA TO MINA MURRAY - - -17, Chatham Street - -Wednesday - -My dearest Mina, - - -I must say you tax me very unfairly with being a bad correspondent. -I wrote you twice since we parted, and your last letter was only -your second. Besides, I have nothing to tell you. There is really -nothing to interest you. - -Town is very pleasant just now, and we go a great deal to -picture-galleries and for walks and rides in the park. As -to the tall, curly-haired man, I suppose it was the one who -was with me at the last Pop. Someone has evidently been -telling tales. - -That was Mr. Holmwood. He often comes to see us, and he and -Mamma get on very well together, they have so many things -to talk about in common. - -We met some time ago a man that would just do for you, if you were -not already engaged to Jonathan. He is an excellent parti, being -handsome, well off, and of good birth. He is a doctor and really -clever. Just fancy! He is only nine-and twenty, and he has an -immense lunatic asylum all under his own care. Mr. Holmwood -introduced him to me, and he called here to see us, and often comes -now. I think he is one of the most resolute men I ever saw, and yet -the most calm. He seems absolutely imperturbable. I can fancy what -a wonderful power he must have over his patients. He has a curious -habit of looking one straight in the face, as if trying to read -one's thoughts. He tries this on very much with me, but I flatter -myself he has got a tough nut to crack. I know that from my glass. - -Do you ever try to read your own face? I do, and I can -tell you it is not a bad study, and gives you more trouble -than you can well fancy if you have never tried it. - -He says that I afford him a curious psychological study, and -I humbly think I do. I do not, as you know, take sufficient -interest in dress to be able to describe the new fashions. -Dress is a bore. That is slang again, but never mind. Arthur -says that every day. - -There, it is all out, Mina, we have told all our secrets to -each other since we were children. We have slept together -and eaten together, and laughed and cried together, and -now, though I have spoken, I would like to speak more. Oh, -Mina, couldn't you guess? I love him. I am blushing as I -write, for although I think he loves me, he has not told me -so in words. But, oh, Mina, I love him. I love him! There, -that does me good. - -I wish I were with you, dear, sitting by the fire undressing, as we -used to sit, and I would try to tell you what I feel. I do not know -how I am writing this even to you. I am afraid to stop, or I should -tear up the letter, and I don't want to stop, for I do so want to -tell you all. Let me hear from you at once, and tell me all that you -think about it. Mina, pray for my happiness. - -Lucy - - -P.S.--I need not tell you this is a secret. -Goodnight again. L. - - - - -LETTER, LUCY WESTENRA TO MINA MURRAY - -24 May - -My dearest Mina, - -Thanks, and thanks, and thanks again for your sweet letter. It -was so nice to be able to tell you and to have your sympathy. - -My dear, it never rains but it pours. How true the old proverbs -are. Here am I, who shall be twenty in September, and yet I never -had a proposal till today, not a real proposal, and today I had -three. Just fancy! Three proposals in one day! Isn't it awful! I -feel sorry, really and truly sorry, for two of the poor fellows. -Oh, Mina, I am so happy that I don't know what to do with myself. -And three proposals! But, for goodness' sake, don't tell any of the -girls, or they would be getting all sorts of extravagant ideas, and -imagining themselves injured and slighted if in their very first day -at home they did not get six at least. Some girls are so vain! You -and I, Mina dear, who are engaged and are going to settle down soon -soberly into old married women, can despise vanity. Well, I must -tell you about the three, but you must keep it a secret, dear, from -every one except, of course, Jonathan. You will tell him, because I -would, if I were in your place, certainly tell Arthur. A woman -ought to tell her husband everything. Don't you think so, dear? And -I must be fair. Men like women, certainly their wives, to be quite -as fair as they are. And women, I am afraid, are not always quite -as fair as they should be. - -Well, my dear, number One came just before lunch. I told you of -him, Dr. John Seward, the lunatic asylum man, with the strong jaw -and the good forehead. He was very cool outwardly, but was nervous -all the same. He had evidently been schooling himself as to all -sorts of little things, and remembered them, but he almost managed -to sit down on his silk hat, which men don't generally do when they -are cool, and then when he wanted to appear at ease he kept playing -with a lancet in a way that made me nearly scream. He spoke to me, -Mina, very straightforwardly. He told me how dear I was to him, -though he had known me so little, and what his life would be with me -to help and cheer him. He was going to tell me how unhappy he would -be if I did not care for him, but when he saw me cry he said he was -a brute and would not add to my present trouble. Then he broke off -and asked if I could love him in time, and when I shook my head his -hands trembled, and then with some hesitation he asked me if I cared -already for any one else. He put it very nicely, saying that he did -not want to wring my confidence from me, but only to know, because -if a woman's heart was free a man might have hope. And then, Mina, -I felt a sort of duty to tell him that there was some one. I only -told him that much, and then he stood up, and he looked very strong -and very grave as he took both my hands in his and said he hoped I -would be happy, and that If I ever wanted a friend I must count him -one of my best. - -Oh, Mina dear, I can't help crying, and you must excuse this letter -being all blotted. Being proposed to is all very nice and all that -sort of thing, but it isn't at all a happy thing when you have to -see a poor fellow, whom you know loves you honestly, going away and -looking all broken hearted, and to know that, no matter what he may -say at the moment, you are passing out of his life. My dear, I must -stop here at present, I feel so miserable, though I am so happy. - -Evening. - -Arthur has just gone, and I feel in better spirits than when I -left off, so I can go on telling you about the day. - -Well, my dear, number Two came after lunch. He is such a nice -fellow, an American from Texas, and he looks so young and so fresh -that it seems almost impossible that he has been to so many places -and has such adventures. I sympathize with poor Desdemona when she -had such a stream poured in her ear, even by a black man. I suppose -that we women are such cowards that we think a man will save us from -fears, and we marry him. I know now what I would do if I were a man -and wanted to make a girl love me. No, I don't, for there was Mr. -Morris telling us his stories, and Arthur never told any, and -yet . . . - -My dear, I am somewhat previous. Mr. Quincy P. Morris found me -alone. It seems that a man always does find a girl alone. No, he -doesn't, for Arthur tried twice to make a chance, and I helping him -all I could, I am not ashamed to say it now. I must tell you -beforehand that Mr. Morris doesn't always speak slang, that is to -say, he never does so to strangers or before them, for he is really -well educated and has exquisite manners, but he found out that it -amused me to hear him talk American slang, and whenever I was -present, and there was no one to be shocked, he said such funny -things. I am afraid, my dear, he has to invent it all, for it fits -exactly into whatever else he has to say. But this is a way slang -has. I do not know myself if I shall ever speak slang. I do not -know if Arthur likes it, as I have never heard him use any as yet. - -Well, Mr. Morris sat down beside me and looked as happy and jolly as -he could, but I could see all the same that he was very nervous. He -took my hand in his, and said ever so sweetly . . . - -"Miss Lucy, I know I ain't good enough to regulate the fixin's of -your little shoes, but I guess if you wait till you find a man that -is you will go join them seven young women with the lamps when you -quit. Won't you just hitch up alongside of me and let us go down -the long road together, driving in double harness?" - -Well, he did look so good humoured and so jolly that it didn't seem -half so hard to refuse him as it did poor Dr. Seward. So I said, as -lightly as I could, that I did not know anything of hitching, and -that I wasn't broken to harness at all yet. Then he said that he -had spoken in a light manner, and he hoped that if he had made a -mistake in doing so on so grave, so momentous, and occasion for him, -I would forgive him. He really did look serious when he was saying -it, and I couldn't help feeling a sort of exultation that he was -number Two in one day. And then, my dear, before I could say a word -he began pouring out a perfect torrent of love-making, laying his -very heart and soul at my feet. He looked so earnest over it that I -shall never again think that a man must be playful always, and never -earnest, because he is merry at times. I suppose he saw something -in my face which checked him, for he suddenly stopped, and said with -a sort of manly fervour that I could have loved him for if I had -been free . . . - -"Lucy, you are an honest hearted girl, I know. I should not be here -speaking to you as I am now if I did not believe you clean grit, -right through to the very depths of your soul. Tell me, like one -good fellow to another, is there any one else that you care for? -And if there is I'll never trouble you a hair's breadth again, but -will be, if you will let me, a very faithful friend." - -My dear Mina, why are men so noble when we women are so little -worthy of them? Here was I almost making fun of this great hearted, -true gentleman. I burst into tears, I am afraid, my dear, you will -think this a very sloppy letter in more ways than one, and I really -felt very badly. - -Why can't they let a girl marry three men, or as many as -want her, and save all this trouble? But this is heresy, -and I must not say it. I am glad to say that, though I was -crying, I was able to look into Mr. Morris' brave eyes, and -I told him out straight . . . - -"Yes, there is some one I love, though he has not told me -yet that he even loves me." I was right to speak to him so -frankly, for quite a light came into his face, and he put -out both his hands and took mine, I think I put them into -his, and said in a hearty way . . . - -"That's my brave girl. It's better worth being late for a chance of -winning you than being in time for any other girl in the world. -Don't cry, my dear. If it's for me, I'm a hard nut to crack, and I -take it standing up. If that other fellow doesn't know his -happiness, well, he'd better look for it soon, or he'll have to deal -with me. Little girl, your honesty and pluck have made me a friend, -and that's rarer than a lover, it's more selfish anyhow. My dear, -I'm going to have a pretty lonely walk between this and Kingdom -Come. Won't you give me one kiss? It'll be something to keep off -the darkness now and then. You can, you know, if you like, for that -other good fellow, or you could not love him, hasn't spoken yet." - -That quite won me, Mina, for it was brave and sweet of him, -and noble too, to a rival, wasn't it? And he so sad, so I -leant over and kissed him. - -He stood up with my two hands in his, and as he looked down into my -face, I am afraid I was blushing very much, he said, "Little girl, I -hold your hand, and you've kissed me, and if these things don't make -us friends nothing ever will. Thank you for your sweet honesty to -me, and goodbye." - -He wrung my hand, and taking up his hat, went straight out of the -room without looking back, without a tear or a quiver or a pause, -and I am crying like a baby. - -Oh, why must a man like that be made unhappy when there are lots of -girls about who would worship the very ground he trod on? I know I -would if I were free, only I don't want to be free. My dear, this -quite upset me, and I feel I cannot write of happiness just at once, -after telling you of it, and I don't wish to tell of the number -Three until it can be all happy. Ever your loving . . . - -Lucy - - -P.S.--Oh, about number Three, I needn't tell you of number -Three, need I? Besides, it was all so confused. It seemed -only a moment from his coming into the room till both his -arms were round me, and he was kissing me. I am very, very -happy, and I don't know what I have done to deserve it. I -must only try in the future to show that I am not ungrateful -to God for all His goodness to me in sending to me such a -lover, such a husband, and such a friend. - -Goodbye. - - - -DR. SEWARD'S DIARY (Kept in phonograph) - -25 May.--Ebb tide in appetite today. Cannot eat, cannot rest, so -diary instead. Since my rebuff of yesterday I have a sort of empty -feeling. Nothing in the world seems of sufficient importance to be -worth the doing. As I knew that the only cure for this sort of thing -was work, I went amongst the patients. I picked out one who has -afforded me a study of much interest. He is so quaint that I am -determined to understand him as well as I can. Today I seemed to get -nearer than ever before to the heart of his mystery. - -I questioned him more fully than I had ever done, with a view to -making myself master of the facts of his hallucination. In my manner -of doing it there was, I now see, something of cruelty. I seemed to -wish to keep him to the point of his madness, a thing which I avoid -with the patients as I would the mouth of hell. - -(Mem., Under what circumstances would I not avoid the pit of hell?) -Omnia Romae venalia sunt. Hell has its price! If there be anything -behind this instinct it will be valuable to trace it afterwards -accurately, so I had better commence to do so, therefore . . . - -R. M, Renfield, age 59. Sanguine temperament, great physical -strength, morbidly excitable, periods of gloom, ending in some fixed -idea which I cannot make out. I presume that the sanguine temperament -itself and the disturbing influence end in a mentally-accomplished -finish, a possibly dangerous man, probably dangerous if unselfish. In -selfish men caution is as secure an armour for their foes as for -themselves. What I think of on this point is, when self is the fixed -point the centripetal force is balanced with the centrifugal. When -duty, a cause, etc., is the fixed point, the latter force is -paramount, and only accident or a series of accidents can balance it. - - - -LETTER, QUINCEY P. MORRIS TO HON. ARTHUR HOLMOOD - -25 May. - -My dear Art, - -We've told yarns by the campfire in the prairies, and dressed one -another's wounds after trying a landing at the Marquesas, and drunk -healths on the shore of Titicaca. There are more yarns to be told, -and other wounds to be healed, and another health to be drunk. -Won't you let this be at my campfire tomorrow night? I have no -hesitation in asking you, as I know a certain lady is engaged to a -certain dinner party, and that you are free. There will only be one -other, our old pal at the Korea, Jack Seward. He's coming, too, and -we both want to mingle our weeps over the wine cup, and to drink a -health with all our hearts to the happiest man in all the wide -world, who has won the noblest heart that God has made and best -worth winning. We promise you a hearty welcome, and a loving -greeting, and a health as true as your own right hand. We shall -both swear to leave you at home if you drink too deep to a certain -pair of eyes. Come! - -Yours, as ever and always, - -Quincey P. Morris - - - - - -TELEGRAM FROM ARTHUR HOLMWOOD TO QUINCEY P. MORRIS - -26 May - - -Count me in every time. I bear messages which will make both -your ears tingle. - -Art - - - - -CHAPTER 6 - - -MINA MURRAY'S JOURNAL - -24 July. Whitby.--Lucy met me at the station, looking sweeter and -lovelier than ever, and we drove up to the house at the Crescent in -which they have rooms. This is a lovely place. The little river, the -Esk, runs through a deep valley, which broadens out as it comes near -the harbour. A great viaduct runs across, with high piers, through -which the view seems somehow further away than it really is. The -valley is beautifully green, and it is so steep that when you are on -the high land on either side you look right across it, unless you are -near enough to see down. The houses of the old town--the side away -from us, are all red-roofed, and seem piled up one over the other -anyhow, like the pictures we see of Nuremberg. Right over the town is -the ruin of Whitby Abbey, which was sacked by the Danes, and which is -the scene of part of "Marmion," where the girl was built up in the -wall. It is a most noble ruin, of immense size, and full of beautiful -and romantic bits. There is a legend that a white lady is seen in one -of the windows. Between it and the town there is another church, the -parish one, round which is a big graveyard, all full of tombstones. -This is to my mind the nicest spot in Whitby, for it lies right over -the town, and has a full view of the harbour and all up the bay to -where the headland called Kettleness stretches out into the sea. It -descends so steeply over the harbour that part of the bank has fallen -away, and some of the graves have been destroyed. - -In one place part of the stonework of the graves stretches out over -the sandy pathway far below. There are walks, with seats beside them, -through the churchyard, and people go and sit there all day long -looking at the beautiful view and enjoying the breeze. - -I shall come and sit here often myself and work. Indeed, I am writing -now, with my book on my knee, and listening to the talk of three old -men who are sitting beside me. They seem to do nothing all day but -sit here and talk. - -The harbour lies below me, with, on the far side, one long granite -wall stretching out into the sea, with a curve outwards at the end of -it, in the middle of which is a lighthouse. A heavy seawall runs -along outside of it. On the near side, the seawall makes an elbow -crooked inversely, and its end too has a lighthouse. Between the two -piers there is a narrow opening into the harbour, which then suddenly -widens. - -It is nice at high water, but when the tide is out it shoals away to -nothing, and there is merely the stream of the Esk, running between -banks of sand, with rocks here and there. Outside the harbour on this -side there rises for about half a mile a great reef, the sharp of -which runs straight out from behind the south lighthouse. At the end -of it is a buoy with a bell, which swings in bad weather, and sends in -a mournful sound on the wind. - -They have a legend here that when a ship is lost bells are heard out at -sea. I must ask the old man about this. He is coming this way . . . - -He is a funny old man. He must be awfully old, for his face is -gnarled and twisted like the bark of a tree. He tells me that he is -nearly a hundred, and that he was a sailor in the Greenland fishing -fleet when Waterloo was fought. He is, I am afraid, a very sceptical -person, for when I asked him about the bells at sea and the White Lady -at the abbey he said very brusquely, - -"I wouldn't fash masel' about them, miss. Them things be all wore -out. Mind, I don't say that they never was, but I do say that they -wasn't in my time. They be all very well for comers and trippers, an' -the like, but not for a nice young lady like you. Them feet-folks -from York and Leeds that be always eatin' cured herrin's and drinkin' -tea an' lookin' out to buy cheap jet would creed aught. I wonder -masel' who'd be bothered tellin' lies to them, even the newspapers, -which is full of fool-talk." - -I thought he would be a good person to learn interesting things from, -so I asked him if he would mind telling me something about the whale -fishing in the old days. He was just settling himself to begin when -the clock struck six, whereupon he laboured to get up, and said, - -"I must gang ageeanwards home now, miss. My grand-daughter doesn't -like to be kept waitin' when the tea is ready, for it takes me time to -crammle aboon the grees, for there be a many of 'em, and miss, I lack -belly-timber sairly by the clock." - -He hobbled away, and I could see him hurrying, as well as he could, -down the steps. The steps are a great feature on the place. They -lead from the town to the church, there are hundreds of them, I do not -know how many, and they wind up in a delicate curve. The slope is so -gentle that a horse could easily walk up and down them. - -I think they must originally have had something to do with the abbey. -I shall go home too. Lucy went out, visiting with her mother, and as -they were only duty calls, I did not go. - - -1 August.--I came up here an hour ago with Lucy, and we had a most -interesting talk with my old friend and the two others who always come -and join him. He is evidently the Sir Oracle of them, and I should -think must have been in his time a most dictatorial person. - -He will not admit anything, and down faces everybody. If he can't -out-argue them he bullies them, and then takes their silence for -agreement with his views. - -Lucy was looking sweetly pretty in her white lawn frock. She has got -a beautiful colour since she has been here. - -I noticed that the old men did not lose any time in coming and sitting -near her when we sat down. She is so sweet with old people, I think -they all fell in love with her on the spot. Even my old man succumbed -and did not contradict her, but gave me double share instead. I got -him on the subject of the legends, and he went off at once into a sort -of sermon. I must try to remember it and put it down. - -"It be all fool-talk, lock, stock, and barrel, that's what it be and -nowt else. These bans an' wafts an' boh-ghosts an' bar-guests an' -bogles an' all anent them is only fit to set bairns an' dizzy women -a'belderin'. They be nowt but air-blebs. They, an' all grims an' signs -an' warnin's, be all invented by parsons an' illsome berk-bodies an' -railway touters to skeer an' scunner hafflin's, an' to get folks to do -somethin' that they don't other incline to. It makes me ireful to -think o' them. Why, it's them that, not content with printin' lies on -paper an' preachin' them out of pulpits, does want to be cuttin' them -on the tombstones. Look here all around you in what airt ye will. All -them steans, holdin' up their heads as well as they can out of their -pride, is acant, simply tumblin' down with the weight o' the lies -wrote on them, 'Here lies the body' or 'Sacred to the memory' wrote on -all of them, an' yet in nigh half of them there bean't no bodies at -all, an' the memories of them bean't cared a pinch of snuff about, -much less sacred. Lies all of them, nothin' but lies of one kind or -another! My gog, but it'll be a quare scowderment at the Day of -Judgment when they come tumblin' up in their death-sarks, all jouped -together an' trying' to drag their tombsteans with them to prove how -good they was, some of them trimmlin' an' dithering, with their hands -that dozzened an' slippery from lyin' in the sea that they can't even -keep their gurp o' them." - -I could see from the old fellow's self-satisfied air and the way in -which he looked round for the approval of his cronies that he was -"showing off," so I put in a word to keep him going. - -"Oh, Mr. Swales, you can't be serious. Surely these tombstones are -not all wrong?" - -"Yabblins! There may be a poorish few not wrong, savin' where they -make out the people too good, for there be folk that do think a -balm-bowl be like the sea, if only it be their own. The whole thing -be only lies. Now look you here. You come here a stranger, an' you -see this kirkgarth." - -I nodded, for I thought it better to assent, though I did not quite -understand his dialect. I knew it had something to do with the -church. - -He went on, "And you consate that all these steans be aboon folk that -be haped here, snod an' snog?" I assented again. "Then that be just -where the lie comes in. Why, there be scores of these laybeds that be -toom as old Dun's 'baccabox on Friday night." - -He nudged one of his companions, and they all laughed. "And, my gog! -How could they be otherwise? Look at that one, the aftest abaft the -bier-bank, read it!" - -I went over and read, "Edward Spencelagh, master mariner, murdered by -pirates off the coast of Andres, April, 1854, age 30." When I came -back Mr. Swales went on, - -"Who brought him home, I wonder, to hap him here? Murdered off the -coast of Andres! An' you consated his body lay under! Why, I could -name ye a dozen whose bones lie in the Greenland seas above," he -pointed northwards, "or where the currants may have drifted them. -There be the steans around ye. Ye can, with your young eyes, read the -small print of the lies from here. This Braithwaite Lowery, I knew -his father, lost in the Lively off Greenland in '20, or Andrew -Woodhouse, drowned in the same seas in 1777, or John Paxton, drowned -off Cape Farewell a year later, or old John Rawlings, whose -grandfather sailed with me, drowned in the Gulf of Finland in '50. Do -ye think that all these men will have to make a rush to Whitby when -the trumpet sounds? I have me antherums aboot it! I tell ye that -when they got here they'd be jommlin' and jostlin' one another that -way that it 'ud be like a fight up on the ice in the old days, when -we'd be at one another from daylight to dark, an' tryin' to tie up our -cuts by the aurora borealis." This was evidently local pleasantry, for -the old man cackled over it, and his cronies joined in with gusto. - -"But," I said, "surely you are not quite correct, for you start on the -assumption that all the poor people, or their spirits, will have to -take their tombstones with them on the Day of Judgment. Do you think -that will be really necessary?" - -"Well, what else be they tombstones for? Answer me that, miss!" - -"To please their relatives, I suppose." - -"To please their relatives, you suppose!" This he said with intense -scorn. "How will it pleasure their relatives to know that lies is -wrote over them, and that everybody in the place knows that they be -lies?" - -He pointed to a stone at our feet which had been laid down as a slab, -on which the seat was rested, close to the edge of the cliff. "Read -the lies on that thruff-stone," he said. - -The letters were upside down to me from where I sat, but Lucy was more -opposite to them, so she leant over and read, "Sacred to the memory of -George Canon, who died, in the hope of a glorious resurrection, on -July 29, 1873, falling from the rocks at Kettleness. This tomb was -erected by his sorrowing mother to her dearly beloved son. 'He was the -only son of his mother, and she was a widow.' Really, Mr. Swales, I -don't see anything very funny in that!" She spoke her comment very -gravely and somewhat severely. - -"Ye don't see aught funny! Ha-ha! But that's because ye don't gawm -the sorrowin' mother was a hell-cat that hated him because he was -acrewk'd, a regular lamiter he was, an' he hated her so that he -committed suicide in order that she mightn't get an insurance she put -on his life. He blew nigh the top of his head off with an old musket -that they had for scarin' crows with. 'Twarn't for crows then, for it -brought the clegs and the dowps to him. That's the way he fell off -the rocks. And, as to hopes of a glorious resurrection, I've often -heard him say masel' that he hoped he'd go to hell, for his mother was -so pious that she'd be sure to go to heaven, an' he didn't want to -addle where she was. Now isn't that stean at any rate," he hammered -it with his stick as he spoke, "a pack of lies? And won't it make -Gabriel keckle when Geordie comes pantin' ut the grees with the -tompstean balanced on his hump, and asks to be took as evidence!" - -I did not know what to say, but Lucy turned the conversation as she -said, rising up, "Oh, why did you tell us of this? It is my favourite -seat, and I cannot leave it, and now I find I must go on sitting over -the grave of a suicide." - -"That won't harm ye, my pretty, an' it may make poor Geordie gladsome -to have so trim a lass sittin' on his lap. That won't hurt ye. Why, -I've sat here off an' on for nigh twenty years past, an' it hasn't -done me no harm. Don't ye fash about them as lies under ye, or that -doesn' lie there either! It'll be time for ye to be getting scart -when ye see the tombsteans all run away with, and the place as bare as -a stubble-field. There's the clock, and I must gang. My service to -ye, ladies!" And off he hobbled. - -Lucy and I sat awhile, and it was all so beautiful before us that we -took hands as we sat, and she told me all over again about Arthur and -their coming marriage. That made me just a little heart-sick, for I -haven't heard from Jonathan for a whole month. - - -The same day. I came up here alone, for I am very sad. There was no -letter for me. I hope there cannot be anything the matter with -Jonathan. The clock has just struck nine. I see the lights scattered -all over the town, sometimes in rows where the streets are, and -sometimes singly. They run right up the Esk and die away in the curve -of the valley. To my left the view is cut off by a black line of roof -of the old house next to the abbey. The sheep and lambs are bleating -in the fields away behind me, and there is a clatter of donkeys' hoofs -up the paved road below. The band on the pier is playing a harsh -waltz in good time, and further along the quay there is a Salvation -Army meeting in a back street. Neither of the bands hears the other, -but up here I hear and see them both. I wonder where Jonathan is and -if he is thinking of me! I wish he were here. - - - -DR. SEWARD'S DIARY - -5 June.--The case of Renfield grows more interesting the more I get to -understand the man. He has certain qualities very largely developed, -selfishness, secrecy, and purpose. - -I wish I could get at what is the object of the latter. He seems to -have some settled scheme of his own, but what it is I do not know. -His redeeming quality is a love of animals, though, indeed, he has -such curious turns in it that I sometimes imagine he is only -abnormally cruel. His pets are of odd sorts. - -Just now his hobby is catching flies. He has at present such a -quantity that I have had myself to expostulate. To my astonishment, -he did not break out into a fury, as I expected, but took the matter -in simple seriousness. He thought for a moment, and then said, "May I -have three days? I shall clear them away." Of course, I said that -would do. I must watch him. - - -18 June.--He has turned his mind now to spiders, and has got several -very big fellows in a box. He keeps feeding them his flies, and the -number of the latter is becoming sensibly diminished, although he has -used half his food in attracting more flies from outside to his room. - - -1 July.--His spiders are now becoming as great a nuisance as his -flies, and today I told him that he must get rid of them. - -He looked very sad at this, so I said that he must some of them, at -all events. He cheerfully acquiesced in this, and I gave him the same -time as before for reduction. - -He disgusted me much while with him, for when a horrid blowfly, -bloated with some carrion food, buzzed into the room, he caught it, -held it exultantly for a few moments between his finger and thumb, and -before I knew what he was going to do, put it in his mouth and ate it. - -I scolded him for it, but he argued quietly that it was very good and -very wholesome, that it was life, strong life, and gave life to him. -This gave me an idea, or the rudiment of one. I must watch how he -gets rid of his spiders. - -He has evidently some deep problem in his mind, for he keeps a little -notebook in which he is always jotting down something. Whole pages of -it are filled with masses of figures, generally single numbers added -up in batches, and then the totals added in batches again, as though -he were focussing some account, as the auditors put it. - - -8 July.--There is a method in his madness, and the rudimentary idea in -my mind is growing. It will be a whole idea soon, and then, oh, -unconscious cerebration, you will have to give the wall to your -conscious brother. - -I kept away from my friend for a few days, so that I might notice if -there were any change. Things remain as they were except that he has -parted with some of his pets and got a new one. - -He has managed to get a sparrow, and has already partially tamed it. -His means of taming is simple, for already the spiders have -diminished. Those that do remain, however, are well fed, for he still -brings in the flies by tempting them with his food. - -19 July--We are progressing. My friend has now a whole colony of -sparrows, and his flies and spiders are almost obliterated. When I -came in he ran to me and said he wanted to ask me a great favour, a -very, very great favour. And as he spoke, he fawned on me like a dog. - -I asked him what it was, and he said, with a sort of rapture in his -voice and bearing, "A kitten, a nice, little, sleek playful kitten, -that I can play with, and teach, and feed, and feed, and feed!" - -I was not unprepared for this request, for I had noticed how his pets -went on increasing in size and vivacity, but I did not care that his -pretty family of tame sparrows should be wiped out in the same manner -as the flies and spiders. So I said I would see about it, and asked -him if he would not rather have a cat than a kitten. - -His eagerness betrayed him as he answered, "Oh, yes, I would like a -cat! I only asked for a kitten lest you should refuse me a cat. No -one would refuse me a kitten, would they?" - -I shook my head, and said that at present I feared it would not be -possible, but that I would see about it. His face fell, and I could -see a warning of danger in it, for there was a sudden fierce, sidelong -look which meant killing. The man is an undeveloped homicidal -maniac. I shall test him with his present craving and see how it will -work out, then I shall know more. - - -10 pm.--I have visited him again and found him sitting in a corner -brooding. When I came in he threw himself on his knees before me and -implored me to let him have a cat, that his salvation depended upon -it. - -I was firm, however, and told him that he could not have it, whereupon -he went without a word, and sat down, gnawing his fingers, in the -corner where I had found him. I shall see him in the morning early. - - -20 July.--Visited Renfield very early, before attendant went his -rounds. Found him up and humming a tune. He was spreading out his -sugar, which he had saved, in the window, and was manifestly beginning -his fly catching again, and beginning it cheerfully and with a good -grace. - -I looked around for his birds, and not seeing them, asked him where -they were. He replied, without turning round, that they had all flown -away. There were a few feathers about the room and on his pillow a -drop of blood. I said nothing, but went and told the keeper to report -to me if there were anything odd about him during the day. - - -11 am.--The attendant has just been to see me to say that Renfield has -been very sick and has disgorged a whole lot of feathers. "My belief -is, doctor," he said, "that he has eaten his birds, and that he just -took and ate them raw!" - - -11 pm.--I gave Renfield a strong opiate tonight, enough to make even -him sleep, and took away his pocketbook to look at it. The thought -that has been buzzing about my brain lately is complete, and the -theory proved. - -My homicidal maniac is of a peculiar kind. I shall have to invent a -new classification for him, and call him a zoophagous (life-eating) -maniac. What he desires is to absorb as many lives as he can, and he -has laid himself out to achieve it in a cumulative way. He gave many -flies to one spider and many spiders to one bird, and then wanted a -cat to eat the many birds. What would have been his later steps? - -It would almost be worth while to complete the experiment. It might -be done if there were only a sufficient cause. Men sneered at -vivisection, and yet look at its results today! Why not advance -science in its most difficult and vital aspect, the knowledge of the -brain? - -Had I even the secret of one such mind, did I hold the key to the -fancy of even one lunatic, I might advance my own branch of science to -a pitch compared with which Burdon-Sanderson's physiology or Ferrier's -brain knowledge would be as nothing. If only there were a sufficient -cause! I must not think too much of this, or I may be tempted. A -good cause might turn the scale with me, for may not I too be of an -exceptional brain, congenitally? - -How well the man reasoned. Lunatics always do within their own scope. -I wonder at how many lives he values a man, or if at only one. He has -closed the account most accurately, and today begun a new record. How -many of us begin a new record with each day of our lives? - -To me it seems only yesterday that my whole life ended with my new -hope, and that truly I began a new record. So it shall be until the -Great Recorder sums me up and closes my ledger account with a balance -to profit or loss. - -Oh, Lucy, Lucy, I cannot be angry with you, nor can I be angry with my -friend whose happiness is yours, but I must only wait on hopeless and -work. Work! Work! - -If I could have as strong a cause as my poor mad friend there, a good, -unselfish cause to make me work, that would be indeed happiness. - - - -MINA MURRAY'S JOURNAL - -26 July.--I am anxious, and it soothes me to express myself here. It -is like whispering to one's self and listening at the same time. And -there is also something about the shorthand symbols that makes it -different from writing. I am unhappy about Lucy and about Jonathan. -I had not heard from Jonathan for some time, and was very concerned, -but yesterday dear Mr. Hawkins, who is always so kind, sent me a -letter from him. I had written asking him if he had heard, and he -said the enclosed had just been received. It is only a line dated -from Castle Dracula, and says that he is just starting for home. That -is not like Jonathan. I do not understand it, and it makes me uneasy. - -Then, too, Lucy, although she is so well, has lately taken to her old -habit of walking in her sleep. Her mother has spoken to me about it, -and we have decided that I am to lock the door of our room every -night. - -Mrs. Westenra has got an idea that sleep-walkers always go out on -roofs of houses and along the edges of cliffs and then get suddenly -wakened and fall over with a despairing cry that echoes all over the -place. - -Poor dear, she is naturally anxious about Lucy, and she tells me that -her husband, Lucy's father, had the same habit, that he would get up -in the night and dress himself and go out, if he were not stopped. - -Lucy is to be married in the autumn, and she is already planning out -her dresses and how her house is to be arranged. I sympathise with -her, for I do the same, only Jonathan and I will start in life in a -very simple way, and shall have to try to make both ends meet. - -Mr. Holmwood, he is the Hon. Arthur Holmwood, only son of Lord -Godalming, is coming up here very shortly, as soon as he can leave -town, for his father is not very well, and I think dear Lucy is -counting the moments till he comes. - -She wants to take him up in the seat on the churchyard cliff and show -him the beauty of Whitby. I daresay it is the waiting which disturbs -her. She will be all right when he arrives. - - -27 July.--No news from Jonathan. I am getting quite uneasy about him, -though why I should I do not know, but I do wish that he would write, -if it were only a single line. - -Lucy walks more than ever, and each night I am awakened by her moving -about the room. Fortunately, the weather is so hot that she cannot -get cold. But still, the anxiety and the perpetually being awakened -is beginning to tell on me, and I am getting nervous and wakeful -myself. Thank God, Lucy's health keeps up. Mr. Holmwood has been -suddenly called to Ring to see his father, who has been taken -seriously ill. Lucy frets at the postponement of seeing him, but it -does not touch her looks. She is a trifle stouter, and her cheeks are -a lovely rose-pink. She has lost the anemic look which she had. I -pray it will all last. - - -3 August.--Another week gone by, and no news from Jonathan, not even -to Mr. Hawkins, from whom I have heard. Oh, I do hope he is not ill. -He surely would have written. I look at that last letter of his, but -somehow it does not satisfy me. It does not read like him, and yet it -is his writing. There is no mistake of that. - -Lucy has not walked much in her sleep the last week, but there is an -odd concentration about her which I do not understand, even in her -sleep she seems to be watching me. She tries the door, and finding it -locked, goes about the room searching for the key. - - -6 August.--Another three days, and no news. This suspense is getting -dreadful. If I only knew where to write to or where to go to, I -should feel easier. But no one has heard a word of Jonathan since -that last letter. I must only pray to God for patience. - -Lucy is more excitable than ever, but is otherwise well. Last night -was very threatening, and the fishermen say that we are in for a -storm. I must try to watch it and learn the weather signs. - -Today is a gray day, and the sun as I write is hidden in thick clouds, -high over Kettleness. Everything is gray except the green grass, -which seems like emerald amongst it, gray earthy rock, gray clouds, -tinged with the sunburst at the far edge, hang over the gray sea, into -which the sandpoints stretch like gray figures. The sea is tumbling -in over the shallows and the sandy flats with a roar, muffled in the -sea-mists drifting inland. The horizon is lost in a gray mist. All -vastness, the clouds are piled up like giant rocks, and there is a -'brool' over the sea that sounds like some passage of doom. Dark -figures are on the beach here and there, sometimes half shrouded in -the mist, and seem 'men like trees walking'. The fishing boats are -racing for home, and rise and dip in the ground swell as they sweep -into the harbour, bending to the scuppers. Here comes old Mr. Swales. -He is making straight for me, and I can see, by the way he lifts his -hat, that he wants to talk. - -I have been quite touched by the change in the poor old man. When he -sat down beside me, he said in a very gentle way, "I want to say -something to you, miss." - -I could see he was not at ease, so I took his poor old wrinkled hand in -mine and asked him to speak fully. - -So he said, leaving his hand in mine, "I'm afraid, my deary, that I -must have shocked you by all the wicked things I've been sayin' about -the dead, and such like, for weeks past, but I didn't mean them, and I -want ye to remember that when I'm gone. We aud folks that be daffled, -and with one foot abaft the krok-hooal, don't altogether like to think -of it, and we don't want to feel scart of it, and that's why I've took -to makin' light of it, so that I'd cheer up my own heart a bit. But, -Lord love ye, miss, I ain't afraid of dyin', not a bit, only I don't -want to die if I can help it. My time must be nigh at hand now, for I -be aud, and a hundred years is too much for any man to expect. And -I'm so nigh it that the Aud Man is already whettin' his scythe. Ye -see, I can't get out o' the habit of caffin' about it all at once. -The chafts will wag as they be used to. Some day soon the Angel of -Death will sound his trumpet for me. But don't ye dooal an' greet, my -deary!"--for he saw that I was crying--"if he should come this very -night I'd not refuse to answer his call. For life be, after all, only -a waitin' for somethin' else than what we're doin', and death be all -that we can rightly depend on. But I'm content, for it's comin' to -me, my deary, and comin' quick. It may be comin' while we be lookin' -and wonderin'. Maybe it's in that wind out over the sea that's -bringin' with it loss and wreck, and sore distress, and sad hearts. -Look! Look!" he cried suddenly. "There's something in that wind and -in the hoast beyont that sounds, and looks, and tastes, and smells -like death. It's in the air. I feel it comin'. Lord, make me answer -cheerful, when my call comes!" He held up his arms devoutly, and -raised his hat. His mouth moved as though he were praying. After a -few minutes' silence, he got up, shook hands with me, and blessed me, -and said goodbye, and hobbled off. It all touched me, and upset me -very much. - -I was glad when the coastguard came along, with his spyglass under his -arm. He stopped to talk with me, as he always does, but all the time -kept looking at a strange ship. - -"I can't make her out," he said. "She's a Russian, by the look of -her. But she's knocking about in the queerest way. She doesn't know -her mind a bit. She seems to see the storm coming, but can't decide -whether to run up north in the open, or to put in here. Look there -again! She is steered mighty strangely, for she doesn't mind the hand -on the wheel, changes about with every puff of wind. We'll hear more -of her before this time tomorrow." - - - - -CHAPTER 7 - - -CUTTING FROM "THE DAILYGRAPH", 8 AUGUST - - -(PASTED IN MINA MURRAY'S JOURNAL) - - -From a correspondent. - -Whitby. - -One of the greatest and suddenest storms on record has just been -experienced here, with results both strange and unique. The weather -had been somewhat sultry, but not to any degree uncommon in the -month of August. Saturday evening was as fine as was ever known, -and the great body of holiday-makers laid out yesterday for visits -to Mulgrave Woods, Robin Hood's Bay, Rig Mill, Runswick, Staithes, -and the various trips in the neighborhood of Whitby. The steamers -Emma and Scarborough made trips up and down the coast, and there was -an unusual amount of 'tripping' both to and from Whitby. The day -was unusually fine till the afternoon, when some of the gossips who -frequent the East Cliff churchyard, and from the commanding eminence -watch the wide sweep of sea visible to the north and east, called -attention to a sudden show of 'mares tails' high in the sky to the -northwest. The wind was then blowing from the south-west in the -mild degree which in barometrical language is ranked 'No. 2, light -breeze.' - -The coastguard on duty at once made report, and one old fisherman, -who for more than half a century has kept watch on weather signs -from the East Cliff, foretold in an emphatic manner the coming of a -sudden storm. The approach of sunset was so very beautiful, so -grand in its masses of splendidly coloured clouds, that there was -quite an assemblage on the walk along the cliff in the old -churchyard to enjoy the beauty. Before the sun dipped below the -black mass of Kettleness, standing boldly athwart the western sky, -its downward way was marked by myriad clouds of every sunset colour, -flame, purple, pink, green, violet, and all the tints of gold, with -here and there masses not large, but of seemingly absolute -blackness, in all sorts of shapes, as well outlined as colossal -silhouettes. The experience was not lost on the painters, and -doubtless some of the sketches of the 'Prelude to the Great Storm' -will grace the R. A and R. I. walls in May next. - -More than one captain made up his mind then and there that his -'cobble' or his 'mule', as they term the different classes of boats, -would remain in the harbour till the storm had passed. The wind -fell away entirely during the evening, and at midnight there was a -dead calm, a sultry heat, and that prevailing intensity which, on -the approach of thunder, affects persons of a sensitive nature. - -There were but few lights in sight at sea, for even the coasting -steamers, which usually hug the shore so closely, kept well to -seaward, and but few fishing boats were in sight. The only sail -noticeable was a foreign schooner with all sails set, which was -seemingly going westwards. The foolhardiness or ignorance of her -officers was a prolific theme for comment whilst she remained in -sight, and efforts were made to signal her to reduce sail in the -face of her danger. Before the night shut down she was seen with -sails idly flapping as she gently rolled on the undulating swell of -the sea. - -"As idle as a painted ship upon a painted ocean." - -Shortly before ten o'clock the stillness of the air grew quite -oppressive, and the silence was so marked that the bleating of a -sheep inland or the barking of a dog in the town was distinctly -heard, and the band on the pier, with its lively French air, was -like a dischord in the great harmony of nature's silence. A little -after midnight came a strange sound from over the sea, and high -overhead the air began to carry a strange, faint, hollow booming. - -Then without warning the tempest broke. With a rapidity which, at -the time, seemed incredible, and even afterwards is impossible to -realize, the whole aspect of nature at once became convulsed. The -waves rose in growing fury, each over-topping its fellow, till in a -very few minutes the lately glassy sea was like a roaring and -devouring monster. White-crested waves beat madly on the level -sands and rushed up the shelving cliffs. Others broke over the -piers, and with their spume swept the lanthorns of the lighthouses -which rise from the end of either pier of Whitby Harbour. - -The wind roared like thunder, and blew with such force that it was -with difficulty that even strong men kept their feet, or clung with -grim clasp to the iron stanchions. It was found necessary to clear -the entire pier from the mass of onlookers, or else the fatalities -of the night would have increased manifold. To add to the -difficulties and dangers of the time, masses of sea-fog came -drifting inland. White, wet clouds, which swept by in ghostly -fashion, so dank and damp and cold that it needed but little effort -of imagination to think that the spirits of those lost at sea were -touching their living brethren with the clammy hands of death, and -many a one shuddered as the wreaths of sea-mist swept by. - -At times the mist cleared, and the sea for some distance could be -seen in the glare of the lightning, which came thick and fast, -followed by such peals of thunder that the whole sky overhead seemed -trembling under the shock of the footsteps of the storm. - -Some of the scenes thus revealed were of immeasurable grandeur and -of absorbing interest. The sea, running mountains high, threw -skywards with each wave mighty masses of white foam, which the -tempest seemed to snatch at and whirl away into space. Here and -there a fishing boat, with a rag of sail, running madly for shelter -before the blast, now and again the white wings of a storm-tossed -seabird. On the summit of the East Cliff the new searchlight was -ready for experiment, but had not yet been tried. The officers in -charge of it got it into working order, and in the pauses of -onrushing mist swept with it the surface of the sea. Once or twice -its service was most effective, as when a fishing boat, with gunwale -under water, rushed into the harbour, able, by the guidance of the -sheltering light, to avoid the danger of dashing against the piers. -As each boat achieved the safety of the port there was a shout of -joy from the mass of people on the shore, a shout which for a moment -seemed to cleave the gale and was then swept away in its rush. - -Before long the searchlight discovered some distance away a schooner -with all sails set, apparently the same vessel which had been -noticed earlier in the evening. The wind had by this time backed to -the east, and there was a shudder amongst the watchers on the cliff -as they realized the terrible danger in which she now was. - -Between her and the port lay the great flat reef on which so many -good ships have from time to time suffered, and, with the wind -blowing from its present quarter, it would be quite impossible that -she should fetch the entrance of the harbour. - -It was now nearly the hour of high tide, but the waves were so great -that in their troughs the shallows of the shore were almost visible, -and the schooner, with all sails set, was rushing with such speed -that, in the words of one old salt, "she must fetch up somewhere, if -it was only in hell". Then came another rush of sea-fog, greater -than any hitherto, a mass of dank mist, which seemed to close on all -things like a gray pall, and left available to men only the organ of -hearing, for the roar of the tempest, and the crash of the thunder, -and the booming of the mighty billows came through the damp oblivion -even louder than before. The rays of the searchlight were kept fixed -on the harbour mouth across the East Pier, where the shock was -expected, and men waited breathless. - -The wind suddenly shifted to the northeast, and the remnant of the -sea fog melted in the blast. And then, mirabile dictu, between the -piers, leaping from wave to wave as it rushed at headlong speed, -swept the strange schooner before the blast, with all sail set, and -gained the safety of the harbour. The searchlight followed her, and -a shudder ran through all who saw her, for lashed to the helm was a -corpse, with drooping head, which swung horribly to and fro at each -motion of the ship. No other form could be seen on the deck at all. - -A great awe came on all as they realised that the ship, as if by a -miracle, had found the harbour, unsteered save by the hand of a dead -man! However, all took place more quickly than it takes to write -these words. The schooner paused not, but rushing across the -harbour, pitched herself on that accumulation of sand and gravel -washed by many tides and many storms into the southeast corner of -the pier jutting under the East Cliff, known locally as Tate Hill -Pier. - -There was of course a considerable concussion as the vessel drove up -on the sand heap. Every spar, rope, and stay was strained, and some -of the 'top-hammer' came crashing down. But, strangest of all, the -very instant the shore was touched, an immense dog sprang up on deck -from below, as if shot up by the concussion, and running forward, -jumped from the bow on the sand. - -Making straight for the steep cliff, where the churchyard hangs over -the laneway to the East Pier so steeply that some of the flat -tombstones, thruffsteans or through-stones, as they call them in -Whitby vernacular, actually project over where the sustaining cliff -has fallen away, it disappeared in the darkness, which seemed -intensified just beyond the focus of the searchlight. - -It so happened that there was no one at the moment on Tate Hill -Pier, as all those whose houses are in close proximity were either -in bed or were out on the heights above. Thus the coastguard on -duty on the eastern side of the harbour, who at once ran down to the -little pier, was the first to climb aboard. The men working the -searchlight, after scouring the entrance of the harbour without -seeing anything, then turned the light on the derelict and kept it -there. The coastguard ran aft, and when he came beside the wheel, -bent over to examine it, and recoiled at once as though under some -sudden emotion. This seemed to pique general curiosity, and quite a -number of people began to run. - -It is a good way round from the West Cliff by the Draw-bridge to -Tate Hill Pier, but your correspondent is a fairly good runner, and -came well ahead of the crowd. When I arrived, however, I found -already assembled on the pier a crowd, whom the coastguard and -police refused to allow to come on board. By the courtesy of the -chief boatman, I was, as your correspondent, permitted to climb on -deck, and was one of a small group who saw the dead seaman whilst -actually lashed to the wheel. - -It was no wonder that the coastguard was surprised, or even awed, -for not often can such a sight have been seen. The man was simply -fastened by his hands, tied one over the other, to a spoke of the -wheel. Between the inner hand and the wood was a crucifix, the set -of beads on which it was fastened being around both wrists and -wheel, and all kept fast by the binding cords. The poor fellow may -have been seated at one time, but the flapping and buffeting of the -sails had worked through the rudder of the wheel and had dragged him -to and fro, so that the cords with which he was tied had cut the -flesh to the bone. - -Accurate note was made of the state of things, and a doctor, Surgeon -J. M. Caffyn, of 33, East Elliot Place, who came immediately after -me, declared, after making examination, that the man must have been -dead for quite two days. - -In his pocket was a bottle, carefully corked, empty save for -a little roll of paper, which proved to be the addendum to -the log. - -The coastguard said the man must have tied up his own hands, -fastening the knots with his teeth. The fact that a coastguard was -the first on board may save some complications later on, in the -Admiralty Court, for coastguards cannot claim the salvage which is -the right of the first civilian entering on a derelict. Already, -however, the legal tongues are wagging, and one young law student is -loudly asserting that the rights of the owner are already completely -sacrificed, his property being held in contravention of the statues -of mortmain, since the tiller, as emblemship, if not proof, of -delegated possession, is held in a dead hand. - -It is needless to say that the dead steersman has been reverently -removed from the place where he held his honourable watch and ward -till death, a steadfastness as noble as that of the young -Casabianca, and placed in the mortuary to await inquest. - -Already the sudden storm is passing, and its fierceness is -abating. Crowds are scattering backward, and the sky is -beginning to redden over the Yorkshire wolds. - -I shall send, in time for your next issue, further details -of the derelict ship which found her way so miraculously -into harbour in the storm. - - -9 August.--The sequel to the strange arrival of the derelict in the -storm last night is almost more startling than the thing itself. It -turns out that the schooner is Russian from Varna, and is called the -Demeter. She is almost entirely in ballast of silver sand, with -only a small amount of cargo, a number of great wooden boxes filled -with mould. - -This cargo was consigned to a Whitby solicitor, Mr. S.F. Billington, -of 7, The Crescent, who this morning went aboard and took formal -possession of the goods consigned to him. - -The Russian consul, too, acting for the charter-party, took formal -possession of the ship, and paid all harbour dues, etc. - -Nothing is talked about here today except the strange coincidence. -The officials of the Board of Trade have been most exacting in -seeing that every compliance has been made with existing -regulations. As the matter is to be a 'nine days wonder', they are -evidently determined that there shall be no cause of other -complaint. - -A good deal of interest was abroad concerning the dog which landed -when the ship struck, and more than a few of the members of the -S.P.C.A., which is very strong in Whitby, have tried to befriend the -animal. To the general disappointment, however, it was not to be -found. It seems to have disappeared entirely from the town. It may -be that it was frightened and made its way on to the moors, where it -is still hiding in terror. - -There are some who look with dread on such a possibility, lest later -on it should in itself become a danger, for it is evidently a fierce -brute. Early this morning a large dog, a half-bred mastiff -belonging to a coal merchant close to Tate Hill Pier, was found dead -in the roadway opposite its master's yard. It had been fighting, -and manifestly had had a savage opponent, for its throat was torn -away, and its belly was slit open as if with a savage claw. - -Later.--By the kindness of the Board of Trade inspector, I have been -permitted to look over the log book of the Demeter, which was in -order up to within three days, but contained nothing of special -interest except as to facts of missing men. The greatest interest, -however, is with regard to the paper found in the bottle, which was -today produced at the inquest. And a more strange narrative than -the two between them unfold it has not been my lot to come across. - -As there is no motive for concealment, I am permitted to use them, -and accordingly send you a transcript, simply omitting technical -details of seamanship and supercargo. It almost seems as though the -captain had been seized with some kind of mania before he had got -well into blue water, and that this had developed persistently -throughout the voyage. Of course my statement must be taken cum -grano, since I am writing from the dictation of a clerk of the -Russian consul, who kindly translated for me, time being short. - - - - LOG OF THE "DEMETER" Varna to Whitby - - - Written 18 July, things so strange happening, that I shall - keep accurate note henceforth till we land. - - - On 6 July we finished taking in cargo, silver sand and boxes - of earth. At noon set sail. East wind, fresh. Crew, five - hands . . . two mates, cook, and myself, (captain). - - - On 11 July at dawn entered Bosphorus. Boarded by Turkish - Customs officers. Backsheesh. All correct. Under way at - 4 p.m. - - - On 12 July through Dardanelles. More Customs officers and - flagboat of guarding squadron. Backsheesh again. Work of - officers thorough, but quick. Want us off soon. At dark - passed into Archipelago. - - - On 13 July passed Cape Matapan. Crew dissatisfied about - something. Seemed scared, but would not speak out. - - - On 14 July was somewhat anxious about crew. Men all steady - fellows, who sailed with me before. Mate could not make out what - was wrong. They only told him there was SOMETHING, and crossed - themselves. Mate lost temper with one of them that day and struck - him. Expected fierce quarrel, but all was quiet. - - - On 16 July mate reported in the morning that one of the - crew, Petrofsky, was missing. Could not account for it. - Took larboard watch eight bells last night, was relieved by - Amramoff, but did not go to bunk. Men more downcast than - ever. All said they expected something of the kind, but - would not say more than there was SOMETHING aboard. Mate - getting very impatient with them. Feared some trouble - ahead. - - - On 17 July, yesterday, one of the men, Olgaren, came to my cabin, - and in an awestruck way confided to me that he thought there was a - strange man aboard the ship. He said that in his watch he had - been sheltering behind the deckhouse, as there was a rain storm, - when he saw a tall, thin man, who was not like any of the crew, - come up the companionway, and go along the deck forward and - disappear. He followed cautiously, but when he got to bows found - no one, and the hatchways were all closed. He was in a panic of - superstitious fear, and I am afraid the panic may spread. To - allay it, I shall today search the entire ship carefully from stem - to stern. - - - Later in the day I got together the whole crew, and told them, as - they evidently thought there was some one in the ship, we would - search from stem to stern. First mate angry, said it was folly, - and to yield to such foolish ideas would demoralise the men, said - he would engage to keep them out of trouble with the handspike. I - let him take the helm, while the rest began a thorough search, all - keeping abreast, with lanterns. We left no corner unsearched. As - there were only the big wooden boxes, there were no odd corners - where a man could hide. Men much relieved when search over, and - went back to work cheerfully. First mate scowled, but said - nothing. - - - 22 July.--Rough weather last three days, and all hands busy - with sails, no time to be frightened. Men seem to have - forgotten their dread. Mate cheerful again, and all on - good terms. Praised men for work in bad weather. Passed - Gibraltar and out through Straits. All well. - - - 24 July.--There seems some doom over this ship. Already a hand - short, and entering the Bay of Biscay with wild weather ahead, and - yet last night another man lost, disappeared. Like the first, he - came off his watch and was not seen again. Men all in a panic of - fear, sent a round robin, asking to have double watch, as they - fear to be alone. Mate angry. Fear there will be some trouble, - as either he or the men will do some violence. - - - 28 July.--Four days in hell, knocking about in a sort of - maelstrom, and the wind a tempest. No sleep for any one. - Men all worn out. Hardly know how to set a watch, since no - one fit to go on. Second mate volunteered to steer and - watch, and let men snatch a few hours sleep. Wind abating, - seas still terrific, but feel them less, as ship is - steadier. - - - 29 July.--Another tragedy. Had single watch tonight, as crew too - tired to double. When morning watch came on deck could find no - one except steersman. Raised outcry, and all came on deck. - Thorough search, but no one found. Are now without second mate, - and crew in a panic. Mate and I agreed to go armed henceforth and - wait for any sign of cause. - - - 30 July.--Last night. Rejoiced we are nearing England. Weather - fine, all sails set. Retired worn out, slept soundly, awakened by - mate telling me that both man of watch and steersman missing. - Only self and mate and two hands left to work ship. - - 1 August.--Two days of fog, and not a sail sighted. Had hoped - when in the English Channel to be able to signal for help or get - in somewhere. Not having power to work sails, have to run before - wind. Dare not lower, as could not raise them again. We seem to - be drifting to some terrible doom. Mate now more demoralised than - either of men. His stronger nature seems to have worked inwardly - against himself. Men are beyond fear, working stolidly and - patiently, with minds made up to worst. They are Russian, he - Roumanian. - - 2 August, midnight.--Woke up from few minutes sleep by hearing a - cry, seemingly outside my port. Could see nothing in fog. Rushed - on deck, and ran against mate. Tells me he heard cry and ran, but - no sign of man on watch. One more gone. Lord, help us! Mate - says we must be past Straits of Dover, as in a moment of fog - lifting he saw North Foreland, just as he heard the man cry out. - If so we are now off in the North Sea, and only God can guide us - in the fog, which seems to move with us, and God seems to have - deserted us. - - - 3 August.--At midnight I went to relieve the man at the - wheel and when I got to it found no one there. The wind - was steady, and as we ran before it there was no yawing. I - dared not leave it, so shouted for the mate. After a few - seconds, he rushed up on deck in his flannels. He looked - wild-eyed and haggard, and I greatly fear his reason has - given way. He came close to me and whispered hoarsely, - with his mouth to my ear, as though fearing the very air - might hear. "It is here. I know it now. On the watch - last night I saw It, like a man, tall and thin, and ghastly - pale. It was in the bows, and looking out. I crept behind - It, and gave it my knife, but the knife went through It, - empty as the air." And as he spoke he took the knife and - drove it savagely into space. Then he went on, "But It is - here, and I'll find It. It is in the hold, perhaps in one - of those boxes. I'll unscrew them one by one and see. You - work the helm." And with a warning look and his finger on - his lip, he went below. There was springing up a choppy - wind, and I could not leave the helm. I saw him come out - on deck again with a tool chest and lantern, and go down - the forward hatchway. He is mad, stark, raving mad, and - it's no use my trying to stop him. He can't hurt those big - boxes, they are invoiced as clay, and to pull them about is - as harmless a thing as he can do. So here I stay and mind - the helm, and write these notes. I can only trust in God - and wait till the fog clears. Then, if I can't steer to - any harbour with the wind that is, I shall cut down sails, - and lie by, and signal for help . . . - - It is nearly all over now. Just as I was beginning to hope - that the mate would come out calmer, for I heard him - knocking away at something in the hold, and work is good - for him, there came up the hatchway a sudden, startled - scream, which made my blood run cold, and up on the deck he - came as if shot from a gun, a raging madman, with his eyes - rolling and his face convulsed with fear. "Save me! Save - me!" he cried, and then looked round on the blanket of fog. - His horror turned to despair, and in a steady voice he - said, "You had better come too, captain, before it is too - late. He is there! I know the secret now. The sea will - save me from Him, and it is all that is left!" Before I - could say a word, or move forward to seize him, he sprang - on the bulwark and deliberately threw himself into the sea. - I suppose I know the secret too, now. It was this madman - who had got rid of the men one by one, and now he has - followed them himself. God help me! How am I to account - for all these horrors when I get to port? When I get to - port! Will that ever be? - - - 4 August.--Still fog, which the sunrise cannot pierce, I - know there is sunrise because I am a sailor, why else I - know not. I dared not go below, I dared not leave the - helm, so here all night I stayed, and in the dimness of the - night I saw it, Him! God, forgive me, but the mate was - right to jump overboard. It was better to die like a man. - To die like a sailor in blue water, no man can object. But - I am captain, and I must not leave my ship. But I shall - baffle this fiend or monster, for I shall tie my hands to - the wheel when my strength begins to fail, and along with - them I shall tie that which He, It, dare not touch. And - then, come good wind or foul, I shall save my soul, and my - honour as a captain. I am growing weaker, and the night is - coming on. If He can look me in the face again, I may not - have time to act. . . If we are wrecked, mayhap this bottle - may be found, and those who find it may understand. If - not . . . well, then all men shall know that I have been - true to my trust. God and the Blessed Virgin and the - Saints help a poor ignorant soul trying to do his duty . . . - - -Of course the verdict was an open one. There is no evidence -to adduce, and whether or not the man himself committed the -murders there is now none to say. The folk here hold almost -universally that the captain is simply a hero, and he is to be -given a public funeral. Already it is arranged that his body -is to be taken with a train of boats up the Esk for a piece -and then brought back to Tate Hill Pier and up the abbey steps, -for he is to be buried in the churchyard on the cliff. The -owners of more than a hundred boats have already given in their -names as wishing to follow him to the grave. - -No trace has ever been found of the great dog, at which there is -much mourning, for, with public opinion in its present state, he -would, I believe, be adopted by the town. Tomorrow will see the -funeral, and so will end this one more 'mystery of the sea'. - - - -MINA MURRAY'S JOURNAL - -8 August.--Lucy was very restless all night, and I too, could not -sleep. The storm was fearful, and as it boomed loudly among the -chimney pots, it made me shudder. When a sharp puff came it seemed to -be like a distant gun. Strangely enough, Lucy did not wake, but she -got up twice and dressed herself. Fortunately, each time I awoke in -time and managed to undress her without waking her, and got her back to -bed. It is a very strange thing, this sleep-walking, for as soon as -her will is thwarted in any physical way, her intention, if there be -any, disappears, and she yields herself almost exactly to the routine -of her life. - -Early in the morning we both got up and went down to the harbour to see -if anything had happened in the night. There were very few people -about, and though the sun was bright, and the air clear and fresh, the -big, grim-looking waves, that seemed dark themselves because the foam -that topped them was like snow, forced themselves in through the mouth -of the harbour, like a bullying man going through a crowd. Somehow I -felt glad that Jonathan was not on the sea last night, but on land. -But, oh, is he on land or sea? Where is he, and how? I am getting -fearfully anxious about him. If I only knew what to do, and could do -anything! - - -10 August.--The funeral of the poor sea captain today was most -touching. Every boat in the harbour seemed to be there, and the coffin -was carried by captains all the way from Tate Hill Pier up to the -churchyard. Lucy came with me, and we went early to our old seat, -whilst the cortege of boats went up the river to the Viaduct and came -down again. We had a lovely view, and saw the procession nearly all -the way. The poor fellow was laid to rest near our seat so that we -stood on it, when the time came and saw everything. - -Poor Lucy seemed much upset. She was restless and uneasy all the time, -and I cannot but think that her dreaming at night is telling on her. -She is quite odd in one thing. She will not admit to me that there is -any cause for restlessness, or if there be, she does not understand it -herself. - -There is an additional cause in that poor Mr. Swales was found dead -this morning on our seat, his neck being broken. He had evidently, as -the doctor said, fallen back in the seat in some sort of fright, for -there was a look of fear and horror on his face that the men said made -them shudder. Poor dear old man! - -Lucy is so sweet and sensitive that she feels influences more acutely -than other people do. Just now she was quite upset by a little thing -which I did not much heed, though I am myself very fond of animals. - -One of the men who came up here often to look for the boats was -followed by his dog. The dog is always with him. They are both quiet -persons, and I never saw the man angry, nor heard the dog bark. During -the service the dog would not come to its master, who was on the seat -with us, but kept a few yards off, barking and howling. Its master -spoke to it gently, and then harshly, and then angrily. But it would -neither come nor cease to make a noise. It was in a fury, with its -eyes savage, and all its hair bristling out like a cat's tail when puss -is on the war path. - -Finally the man too got angry, and jumped down and kicked the dog, and -then took it by the scruff of the neck and half dragged and half threw -it on the tombstone on which the seat is fixed. The moment it touched -the stone the poor thing began to tremble. It did not try to get away, -but crouched down, quivering and cowering, and was in such a pitiable -state of terror that I tried, though without effect, to comfort it. - -Lucy was full of pity, too, but she did not attempt to touch the dog, -but looked at it in an agonised sort of way. I greatly fear that she -is of too super sensitive a nature to go through the world without -trouble. She will be dreaming of this tonight, I am sure. The whole -agglomeration of things, the ship steered into port by a dead man, his -attitude, tied to the wheel with a crucifix and beads, the touching -funeral, the dog, now furious and now in terror, will all afford -material for her dreams. - -I think it will be best for her to go to bed tired out physically, so I -shall take her for a long walk by the cliffs to Robin Hood's Bay and -back. She ought not to have much inclination for sleep-walking then. - - - - -CHAPTER 8 - - -MINA MURRAY'S JOURNAL - -Same day, 11 o'clock P.M.--Oh, but I am tired! If it were not that I -had made my diary a duty I should not open it tonight. We had a lovely -walk. Lucy, after a while, was in gay spirits, owing, I think, to some -dear cows who came nosing towards us in a field close to the -lighthouse, and frightened the wits out of us. I believe we forgot -everything, except of course, personal fear, and it seemed to wipe the -slate clean and give us a fresh start. We had a capital 'severe tea' -at Robin Hood's Bay in a sweet little old-fashioned inn, with a bow -window right over the seaweed-covered rocks of the strand. I believe -we should have shocked the 'New Woman' with our appetites. Men are -more tolerant, bless them! Then we walked home with some, or rather -many, stoppages to rest, and with our hearts full of a constant dread -of wild bulls. - -Lucy was really tired, and we intended to creep off to bed as soon as -we could. The young curate came in, however, and Mrs. Westenra asked -him to stay for supper. Lucy and I had both a fight for it with the -dusty miller. I know it was a hard fight on my part, and I am quite -heroic. I think that some day the bishops must get together and see -about breeding up a new class of curates, who don't take supper, no -matter how hard they may be pressed to, and who will know when girls -are tired. - -Lucy is asleep and breathing softly. She has more colour in her cheeks -than usual, and looks, oh so sweet. If Mr. Holmwood fell in love with -her seeing her only in the drawing room, I wonder what he would say if -he saw her now. Some of the 'New Women' writers will some day start an -idea that men and women should be allowed to see each other asleep -before proposing or accepting. But I suppose the 'New Woman' won't -condescend in future to accept. She will do the proposing herself. And -a nice job she will make of it too! There's some consolation in that. -I am so happy tonight, because dear Lucy seems better. I really -believe she has turned the corner, and that we are over her troubles -with dreaming. I should be quite happy if I only knew if Jonathan . . . -God bless and keep him. - - -11 August.--Diary again. No sleep now, so I may as well write. I am -too agitated to sleep. We have had such an adventure, such an -agonizing experience. I fell asleep as soon as I had closed my diary. -. . . Suddenly I became broad awake, and sat up, with a horrible sense -of fear upon me, and of some feeling of emptiness around me. The room -was dark, so I could not see Lucy's bed. I stole across and felt for -her. The bed was empty. I lit a match and found that she was not in -the room. The door was shut, but not locked, as I had left it. I feared -to wake her mother, who has been more than usually ill lately, so threw -on some clothes and got ready to look for her. As I was leaving the -room it struck me that the clothes she wore might give me some clue to -her dreaming intention. Dressing-gown would mean house, dress outside. -Dressing-gown and dress were both in their places. "Thank God," I said -to myself, "she cannot be far, as she is only in her nightdress." - -I ran downstairs and looked in the sitting room. Not there! Then I -looked in all the other rooms of the house, with an ever-growing fear -chilling my heart. Finally, I came to the hall door and found it open. -It was not wide open, but the catch of the lock had not caught. The -people of the house are careful to lock the door every night, so I -feared that Lucy must have gone out as she was. There was no time to -think of what might happen. A vague over-mastering fear obscured all -details. - -I took a big, heavy shawl and ran out. The clock was striking one as I -was in the Crescent, and there was not a soul in sight. I ran along -the North Terrace, but could see no sign of the white figure which I -expected. At the edge of the West Cliff above the pier I looked across -the harbour to the East Cliff, in the hope or fear, I don't know which, -of seeing Lucy in our favourite seat. - -There was a bright full moon, with heavy black, driving clouds, which -threw the whole scene into a fleeting diorama of light and shade as -they sailed across. For a moment or two I could see nothing, as the -shadow of a cloud obscured St. Mary's Church and all around it. Then -as the cloud passed I could see the ruins of the abbey coming into -view, and as the edge of a narrow band of light as sharp as a sword-cut -moved along, the church and churchyard became gradually visible. -Whatever my expectation was, it was not disappointed, for there, on our -favourite seat, the silver light of the moon struck a half-reclining -figure, snowy white. The coming of the cloud was too quick for me to -see much, for shadow shut down on light almost immediately, but it -seemed to me as though something dark stood behind the seat where the -white figure shone, and bent over it. What it was, whether man or -beast, I could not tell. - -I did not wait to catch another glance, but flew down the steep steps -to the pier and along by the fish-market to the bridge, which was the -only way to reach the East Cliff. The town seemed as dead, for not a -soul did I see. I rejoiced that it was so, for I wanted no witness of -poor Lucy's condition. The time and distance seemed endless, and my -knees trembled and my breath came laboured as I toiled up the endless -steps to the abbey. I must have gone fast, and yet it seemed to me as -if my feet were weighted with lead, and as though every joint in my -body were rusty. - -When I got almost to the top I could see the seat and the white figure, -for I was now close enough to distinguish it even through the spells of -shadow. There was undoubtedly something, long and black, bending over -the half-reclining white figure. I called in fright, "Lucy! Lucy!" -and something raised a head, and from where I was I could see a white -face and red, gleaming eyes. - -Lucy did not answer, and I ran on to the entrance of the churchyard. -As I entered, the church was between me and the seat, and for a minute -or so I lost sight of her. When I came in view again the cloud had -passed, and the moonlight struck so brilliantly that I could see Lucy -half reclining with her head lying over the back of the seat. She was -quite alone, and there was not a sign of any living thing about. - -When I bent over her I could see that she was still asleep. Her lips -were parted, and she was breathing, not softly as usual with her, but -in long, heavy gasps, as though striving to get her lungs full at every -breath. As I came close, she put up her hand in her sleep and pulled -the collar of her nightdress close around her, as though she felt the -cold. I flung the warm shawl over her, and drew the edges tight around -her neck, for I dreaded lest she should get some deadly chill from the -night air, unclad as she was. I feared to wake her all at once, so, in -order to have my hands free to help her, I fastened the shawl at her -throat with a big safety pin. But I must have been clumsy in my -anxiety and pinched or pricked her with it, for by-and-by, when her -breathing became quieter, she put her hand to her throat again and -moaned. When I had her carefully wrapped up I put my shoes on her -feet, and then began very gently to wake her. - -At first she did not respond, but gradually she became more and more -uneasy in her sleep, moaning and sighing occasionally. At last, as -time was passing fast, and for many other reasons, I wished to get her -home at once, I shook her forcibly, till finally she opened her eyes -and awoke. She did not seem surprised to see me, as, of course, she -did not realize all at once where she was. - -Lucy always wakes prettily, and even at such a time, when her body must -have been chilled with cold, and her mind somewhat appalled at waking -unclad in a churchyard at night, she did not lose her grace. She -trembled a little, and clung to me. When I told her to come at once -with me home, she rose without a word, with the obedience of a child. -As we passed along, the gravel hurt my feet, and Lucy noticed me wince. -She stopped and wanted to insist upon my taking my shoes, but I would -not. However, when we got to the pathway outside the chruchyard, where -there was a puddle of water, remaining from the storm, I daubed my feet -with mud, using each foot in turn on the other, so that as we went -home, no one, in case we should meet any one, should notice my bare -feet. - -Fortune favoured us, and we got home without meeting a soul. Once we -saw a man, who seemed not quite sober, passing along a street in front -of us. But we hid in a door till he had disappeared up an opening such -as there are here, steep little closes, or 'wynds', as they call them -in Scotland. My heart beat so loud all the time sometimes I thought I -should faint. I was filled with anxiety about Lucy, not only for her -health, lest she should suffer from the exposure, but for her -reputation in case the story should get wind. When we got in, and had -washed our feet, and had said a prayer of thankfulness together, I -tucked her into bed. Before falling asleep she asked, even implored, -me not to say a word to any one, even her mother, about her -sleep-walking adventure. - -I hesitated at first, to promise, but on thinking of the state of her -mother's health, and how the knowledge of such a thing would fret her, -and think too, of how such a story might become distorted, nay, -infallibly would, in case it should leak out, I thought it wiser to do -so. I hope I did right. I have locked the door, and the key is tied -to my wrist, so perhaps I shall not be again disturbed. Lucy is -sleeping soundly. The reflex of the dawn is high and far over the -sea . . . - - -Same day, noon.--All goes well. Lucy slept till I woke her and seemed -not to have even changed her side. The adventure of the night does not -seem to have harmed her, on the contrary, it has benefited her, for she -looks better this morning than she has done for weeks. I was sorry to -notice that my clumsiness with the safety-pin hurt her. Indeed, it -might have been serious, for the skin of her throat was pierced. I -must have pinched up a piece of loose skin and have transfixed it, for -there are two little red points like pin-pricks, and on the band of her -nightdress was a drop of blood. When I apologised and was concerned -about it, she laughed and petted me, and said she did not even feel it. -Fortunately it cannot leave a scar, as it is so tiny. - - -Same day, night.--We passed a happy day. The air was clear, and the -sun bright, and there was a cool breeze. We took our lunch to Mulgrave -Woods, Mrs. Westenra driving by the road and Lucy and I walking by the -cliff-path and joining her at the gate. I felt a little sad myself, -for I could not but feel how absolutely happy it would have been had -Jonathan been with me. But there! I must only be patient. In the -evening we strolled in the Casino Terrace, and heard some good music by -Spohr and Mackenzie, and went to bed early. Lucy seems more restful -than she has been for some time, and fell asleep at once. I shall lock -the door and secure the key the same as before, though I do not expect -any trouble tonight. - - -12 August.--My expectations were wrong, for twice during the night I -was wakened by Lucy trying to get out. She seemed, even in her sleep, -to be a little impatient at finding the door shut, and went back to bed -under a sort of protest. I woke with the dawn, and heard the birds -chirping outside of the window. Lucy woke, too, and I was glad to see, -was even better than on the previous morning. All her old gaiety of -manner seemed to have come back, and she came and snuggled in beside me -and told me all about Arthur. I told her how anxious I was about -Jonathan, and then she tried to comfort me. Well, she succeeded -somewhat, for, though sympathy can't alter facts, it can make them more -bearable. - - -13 August.--Another quiet day, and to bed with the key on my wrist as -before. Again I awoke in the night, and found Lucy sitting up in bed, -still asleep, pointing to the window. I got up quietly, and pulling -aside the blind, looked out. It was brilliant moonlight, and the soft -effect of the light over the sea and sky, merged together in one great -silent mystery, was beautiful beyond words. Between me and the -moonlight flitted a great bat, coming and going in great whirling -circles. Once or twice it came quite close, but was, I suppose, -frightened at seeing me, and flitted away across the harbour towards -the abbey. When I came back from the window Lucy had lain down again, -and was sleeping peacefully. She did not stir again all night. - - -14 August.--On the East Cliff, reading and writing all day. Lucy seems -to have become as much in love with the spot as I am, and it is hard to -get her away from it when it is time to come home for lunch or tea or -dinner. This afternoon she made a funny remark. We were coming home -for dinner, and had come to the top of the steps up from the West Pier -and stopped to look at the view, as we generally do. The setting sun, -low down in the sky, was just dropping behind Kettleness. The red -light was thrown over on the East Cliff and the old abbey, and seemed -to bathe everything in a beautiful rosy glow. We were silent for a -while, and suddenly Lucy murmured as if to herself . . . - -"His red eyes again! They are just the same." It was such an odd -expression, coming apropos of nothing, that it quite startled me. I -slewed round a little, so as to see Lucy well without seeming to stare -at her, and saw that she was in a half dreamy state, with an odd look -on her face that I could not quite make out, so I said nothing, but -followed her eyes. She appeared to be looking over at our own seat, -whereon was a dark figure seated alone. I was quite a little startled -myself, for it seemed for an instant as if the stranger had great eyes -like burning flames, but a second look dispelled the illusion. The red -sunlight was shining on the windows of St. Mary's Church behind our -seat, and as the sun dipped there was just sufficient change in the -refraction and reflection to make it appear as if the light moved. I -called Lucy's attention to the peculiar effect, and she became herself -with a start, but she looked sad all the same. It may have been that -she was thinking of that terrible night up there. We never refer to -it, so I said nothing, and we went home to dinner. Lucy had a headache -and went early to bed. I saw her asleep, and went out for a little -stroll myself. - -I walked along the cliffs to the westward, and was full of sweet -sadness, for I was thinking of Jonathan. When coming home, it was then -bright moonlight, so bright that, though the front of our part of the -Crescent was in shadow, everything could be well seen, I threw a glance -up at our window, and saw Lucy's head leaning out. I opened my -handkerchief and waved it. She did not notice or make any movement -whatever. Just then, the moonlight crept round an angle of the -building, and the light fell on the window. There distinctly was Lucy -with her head lying up against the side of the window sill and her eyes -shut. She was fast asleep, and by her, seated on the window sill, was -something that looked like a good-sized bird. I was afraid she might -get a chill, so I ran upstairs, but as I came into the room she was -moving back to her bed, fast asleep, and breathing heavily. She was -holding her hand to her throat, as though to protect if from the cold. - -I did not wake her, but tucked her up warmly. I have taken care that -the door is locked and the window securely fastened. - -She looks so sweet as she sleeps, but she is paler than is her wont, -and there is a drawn, haggard look under her eyes which I do not like. -I fear she is fretting about something. I wish I could find out what it -is. - - -15 August.--Rose later than usual. Lucy was languid and tired, and -slept on after we had been called. We had a happy surprise at -breakfast. Arthur's father is better, and wants the marriage to come -off soon. Lucy is full of quiet joy, and her mother is glad and sorry -at once. Later on in the day she told me the cause. She is grieved to -lose Lucy as her very own, but she is rejoiced that she is soon to have -some one to protect her. Poor dear, sweet lady! She confided to me -that she has got her death warrant. She has not told Lucy, and made me -promise secrecy. Her doctor told her that within a few months, at -most, she must die, for her heart is weakening. At any time, even now, -a sudden shock would be almost sure to kill her. Ah, we were wise to -keep from her the affair of the dreadful night of Lucy's sleep-walking. - - -17 August.--No diary for two whole days. I have not had the heart to -write. Some sort of shadowy pall seems to be coming over our -happiness. No news from Jonathan, and Lucy seems to be growing weaker, -whilst her mother's hours are numbering to a close. I do not -understand Lucy's fading away as she is doing. She eats well and -sleeps well, and enjoys the fresh air, but all the time the roses in -her cheeks are fading, and she gets weaker and more languid day by day. -At night I hear her gasping as if for air. - -I keep the key of our door always fastened to my wrist at night, but -she gets up and walks about the room, and sits at the open window. -Last night I found her leaning out when I woke up, and when I tried to -wake her I could not. - -She was in a faint. When I managed to restore her, she was weak as -water, and cried silently between long, painful struggles for breath. -When I asked her how she came to be at the window she shook her head -and turned away. - -I trust her feeling ill may not be from that unlucky prick of the -safety-pin. I looked at her throat just now as she lay asleep, and the -tiny wounds seem not to have healed. They are still open, and, if -anything, larger than before, and the edges of them are faintly white. -They are like little white dots with red centres. Unless they heal -within a day or two, I shall insist on the doctor seeing about them. - - - -LETTER, SAMUEL F. BILLINGTON & SON, SOLICITORS WHITBY, -TO MESSRS. CARTER, PATERSON & CO., LONDON. - -17 August - -"Dear Sirs,--Herewith please receive invoice of goods sent by Great -Northern Railway. Same are to be delivered at Carfax, near -Purfleet, immediately on receipt at goods station King's Cross. The -house is at present empty, but enclosed please find keys, all of -which are labelled. - -"You will please deposit the boxes, fifty in number, which form the -consignment, in the partially ruined building forming part of the -house and marked 'A' on rough diagrams enclosed. Your agent will -easily recognize the locality, as it is the ancient chapel of the -mansion. The goods leave by the train at 9:30 tonight, and will be -due at King's Cross at 4:30 tomorrow afternoon. As our client -wishes the delivery made as soon as possible, we shall be obliged by -your having teams ready at King's Cross at the time named and -forthwith conveying the goods to destination. In order to obviate -any delays possible through any routine requirements as to payment -in your departments, we enclose cheque herewith for ten pounds, -receipt of which please acknowledge. Should the charge be less than -this amount, you can return balance, if greater, we shall at once -send cheque for difference on hearing from you. You are to leave -the keys on coming away in the main hall of the house, where the -proprietor may get them on his entering the house by means of his -duplicate key. - -"Pray do not take us as exceeding the bounds of business courtesy -in pressing you in all ways to use the utmost expedition. - -"We are, dear Sirs, -Faithfully yours, -SAMUEL F. BILLINGTON & SON" - - - -LETTER, MESSRS. CARTER, PATERSON & CO., LONDON, -TO MESSRS. BILLINGTON & SON, WHITBY. - -21 August. - -"Dear Sirs,--We beg to acknowledge 10 pounds received and to return -cheque of 1 pound, 17s, 9d, amount of overplus, as shown in -receipted account herewith. Goods are delivered in exact accordance -with instructions, and keys left in parcel in main hall, as -directed. - -"We are, dear Sirs, -Yours respectfully, -Pro CARTER, PATERSON & CO." - - - -MINA MURRAY'S JOURNAL. - -18 August.--I am happy today, and write sitting on the seat in the -churchyard. Lucy is ever so much better. Last night she slept well -all night, and did not disturb me once. - -The roses seem coming back already to her cheeks, though she is still -sadly pale and wan-looking. If she were in any way anemic I could -understand it, but she is not. She is in gay spirits and full of life -and cheerfulness. All the morbid reticence seems to have passed from -her, and she has just reminded me, as if I needed any reminding, of -that night, and that it was here, on this very seat, I found her -asleep. - -As she told me she tapped playfully with the heel of her boot on the -stone slab and said, - -"My poor little feet didn't make much noise then! I daresay poor old -Mr. Swales would have told me that it was because I didn't want to wake -up Geordie." - -As she was in such a communicative humour, I asked her if she had -dreamed at all that night. - -Before she answered, that sweet, puckered look came into her forehead, -which Arthur, I call him Arthur from her habit, says he loves, and -indeed, I don't wonder that he does. Then she went on in a -half-dreaming kind of way, as if trying to recall it to herself. - -"I didn't quite dream, but it all seemed to be real. I only wanted to -be here in this spot. I don't know why, for I was afraid of something, -I don't know what. I remember, though I suppose I was asleep, passing -through the streets and over the bridge. A fish leaped as I went by, -and I leaned over to look at it, and I heard a lot of dogs howling. The -whole town seemed as if it must be full of dogs all howling at once, as -I went up the steps. Then I had a vague memory of something long and -dark with red eyes, just as we saw in the sunset, and something very -sweet and very bitter all around me at once. And then I seemed sinking -into deep green water, and there was a singing in my ears, as I have -heard there is to drowning men, and then everything seemed passing away -from me. My soul seemed to go out from my body and float about the -air. I seem to remember that once the West Lighthouse was right under -me, and then there was a sort of agonizing feeling, as if I were in an -earthquake, and I came back and found you shaking my body. I saw you -do it before I felt you." - -Then she began to laugh. It seemed a little uncanny to me, and I -listened to her breathlessly. I did not quite like it, and thought it -better not to keep her mind on the subject, so we drifted on to another -subject, and Lucy was like her old self again. When we got home the -fresh breeze had braced her up, and her pale cheeks were really more -rosy. Her mother rejoiced when she saw her, and we all spent a very -happy evening together. - - -19 August.--Joy, joy, joy! Although not all joy. At last, news of -Jonathan. The dear fellow has been ill, that is why he did not write. -I am not afraid to think it or to say it, now that I know. Mr. Hawkins -sent me on the letter, and wrote himself, oh so kindly. I am to leave -in the morning and go over to Jonathan, and to help to nurse him if -necessary, and to bring him home. Mr. Hawkins says it would not be a -bad thing if we were to be married out there. I have cried over the -good Sister's letter till I can feel it wet against my bosom, where it -lies. It is of Jonathan, and must be near my heart, for he is in my -heart. My journey is all mapped out, and my luggage ready. I am only -taking one change of dress. Lucy will bring my trunk to London and -keep it till I send for it, for it may be that . . . I must write no -more. I must keep it to say to Jonathan, my husband. The letter that -he has seen and touched must comfort me till we meet. - - - -LETTER, SISTER AGATHA, HOSPITAL OF ST. JOSEPH AND -STE. MARY BUDA-PESTH, TO MISS WILLHELMINA MURRAY - -12 August, - -"Dear Madam. - -"I write by desire of Mr. Jonathan Harker, who is himself not strong -enough to write, though progressing well, thanks to God and St. -Joseph and Ste. Mary. He has been under our care for nearly six -weeks, suffering from a violent brain fever. He wishes me to convey -his love, and to say that by this post I write for him to Mr. Peter -Hawkins, Exeter, to say, with his dutiful respects, that he is sorry -for his delay, and that all of his work is completed. He will -require some few weeks' rest in our sanatorium in the hills, but -will then return. He wishes me to say that he has not sufficient -money with him, and that he would like to pay for his staying here, -so that others who need shall not be wanting for help. - -"Believe me, - -"Yours, with sympathy -and all blessings. -Sister Agatha - -"P.S.--My patient being asleep, I open this to let you know -something more. He has told me all about you, and that you are -shortly to be his wife. All blessings to you both! He has had some -fearful shock, so says our doctor, and in his delirium his ravings -have been dreadful, of wolves and poison and blood, of ghosts and -demons, and I fear to say of what. Be careful of him always that -there may be nothing to excite him of this kind for a long time to -come. The traces of such an illness as his do not lightly die away. -We should have written long ago, but we knew nothing of his friends, -and there was nothing on him, nothing that anyone could understand. -He came in the train from Klausenburg, and the guard was told by the -station master there that he rushed into the station shouting for a -ticket for home. Seeing from his violent demeanour that he was -English, they gave him a ticket for the furthest station on the way -thither that the train reached. - -"Be assured that he is well cared for. He has won all hearts by his -sweetness and gentleness. He is truly getting on well, and I have -no doubt will in a few weeks be all himself. But be careful of him -for safety's sake. There are, I pray God and St. Joseph and Ste. -Mary, many, many, happy years for you both." - - - -DR. SEWARD'S DIARY - -19 August.--Strange and sudden change in Renfield last night. About -eight o'clock he began to get excited and sniff about as a dog does -when setting. The attendant was struck by his manner, and knowing my -interest in him, encouraged him to talk. He is usually respectful to -the attendant and at times servile, but tonight, the man tells me, he -was quite haughty. Would not condescend to talk with him at all. - -All he would say was, "I don't want to talk to you. You don't count -now. The master is at hand." - -The attendant thinks it is some sudden form of religious mania which -has seized him. If so, we must look out for squalls, for a strong man -with homicidal and religious mania at once might be dangerous. The -combination is a dreadful one. - -At nine o'clock I visited him myself. His attitude to me was the same -as that to the attendant. In his sublime self-feeling the difference -between myself and the attendant seemed to him as nothing. It looks -like religious mania, and he will soon think that he himself is God. - -These infinitesimal distinctions between man and man are too paltry for -an Omnipotent Being. How these madmen give themselves away! The real -God taketh heed lest a sparrow fall. But the God created from human -vanity sees no difference between an eagle and a sparrow. Oh, if men -only knew! - -For half an hour or more Renfield kept getting excited in greater and -greater degree. I did not pretend to be watching him, but I kept -strict observation all the same. All at once that shifty look came -into his eyes which we always see when a madman has seized an idea, and -with it the shifty movement of the head and back which asylum -attendants come to know so well. He became quite quiet, and went and -sat on the edge of his bed resignedly, and looked into space with -lack-luster eyes. - -I thought I would find out if his apathy were real or only assumed, and -tried to lead him to talk of his pets, a theme which had never failed -to excite his attention. - -At first he made no reply, but at length said testily, "Bother them -all! I don't care a pin about them." - -"What?" I said. "You don't mean to tell me you don't care about -spiders?" (Spiders at present are his hobby and the notebook is filling -up with columns of small figures.) - -To this he answered enigmatically, "The Bride maidens rejoice the eyes -that wait the coming of the bride. But when the bride draweth nigh, -then the maidens shine not to the eyes that are filled." - -He would not explain himself, but remained obstinately seated on his -bed all the time I remained with him. - -I am weary tonight and low in spirits. I cannot but think of Lucy, and -how different things might have been. If I don't sleep at once, -chloral, the modern Morpheus! I must be careful not to let it grow -into a habit. No, I shall take none tonight! I have thought of Lucy, -and I shall not dishonour her by mixing the two. If need be, tonight -shall be sleepless. - - -Later.--Glad I made the resolution, gladder that I kept to it. I had -lain tossing about, and had heard the clock strike only twice, when the -night watchman came to me, sent up from the ward, to say that Renfield -had escaped. I threw on my clothes and ran down at once. My patient -is too dangerous a person to be roaming about. Those ideas of his -might work out dangerously with strangers. - -The attendant was waiting for me. He said he had seen him not ten -minutes before, seemingly asleep in his bed, when he had looked through -the observation trap in the door. His attention was called by the -sound of the window being wrenched out. He ran back and saw his feet -disappear through the window, and had at once sent up for me. He was -only in his night gear, and cannot be far off. - -The attendant thought it would be more useful to watch where he should -go than to follow him, as he might lose sight of him whilst getting out -of the building by the door. He is a bulky man, and couldn't get -through the window. - -I am thin, so, with his aid, I got out, but feet foremost, and as we -were only a few feet above ground landed unhurt. - -The attendant told me the patient had gone to the left, and had taken a -straight line, so I ran as quickly as I could. As I got through the -belt of trees I saw a white figure scale the high wall which separates -our grounds from those of the deserted house. - -I ran back at once, told the watchman to get three or four men -immediately and follow me into the grounds of Carfax, in case our -friend might be dangerous. I got a ladder myself, and crossing the -wall, dropped down on the other side. I could see Renfield's figure -just disappearing behind the angle of the house, so I ran after him. On -the far side of the house I found him pressed close against the old -iron-bound oak door of the chapel. - -He was talking, apparently to some one, but I was afraid to go near -enough to hear what he was saying, lest I might frighten him, and he -should run off. - -Chasing an errant swarm of bees is nothing to following a naked -lunatic, when the fit of escaping is upon him! After a few minutes, -however, I could see that he did not take note of anything around him, -and so ventured to draw nearer to him, the more so as my men had now -crossed the wall and were closing him in. I heard him say . . . - -"I am here to do your bidding, Master. I am your slave, and you will -reward me, for I shall be faithful. I have worshipped you long and afar -off. Now that you are near, I await your commands, and you will not -pass me by, will you, dear Master, in your distribution of good -things?" - -He is a selfish old beggar anyhow. He thinks of the loaves and fishes -even when he believes his is in a real Presence. His manias make a -startling combination. When we closed in on him he fought like a -tiger. He is immensely strong, for he was more like a wild beast than -a man. - -I never saw a lunatic in such a paroxysm of rage before, and I hope I -shall not again. It is a mercy that we have found out his strength and -his danger in good time. With strength and determination like his, he -might have done wild work before he was caged. - -He is safe now, at any rate. Jack Sheppard himself couldn't get free -from the strait waistcoat that keeps him restrained, and he's chained -to the wall in the padded room. - -His cries are at times awful, but the silences that follow are more -deadly still, for he means murder in every turn and movement. - -Just now he spoke coherent words for the first time. "I shall be -patient, Master. It is coming, coming, coming!" - -So I took the hint, and came too. I was too excited to sleep, but this -diary has quieted me, and I feel I shall get some sleep tonight. - - - - -CHAPTER 9 - - -LETTER, MINA HARKER TO LUCY WESTENRA - - -Buda-Pesth, 24 August. - -"My dearest Lucy, - -"I know you will be anxious to hear all that has happened -since we parted at the railway station at Whitby. - -"Well, my dear, I got to Hull all right, and caught the boat to -Hamburg, and then the train on here. I feel that I can hardly -recall anything of the journey, except that I knew I was coming to -Jonathan, and that as I should have to do some nursing, I had better -get all the sleep I could. I found my dear one, oh, so thin and -pale and weak-looking. All the resolution has gone out of his dear -eyes, and that quiet dignity which I told you was in his face has -vanished. He is only a wreck of himself, and he does not remember -anything that has happened to him for a long time past. At least, -he wants me to believe so, and I shall never ask. - -"He has had some terrible shock, and I fear it might tax his poor -brain if he were to try to recall it. Sister Agatha, who is a good -creature and a born nurse, tells me that he wanted her to tell me -what they were, but she would only cross herself, and say she would -never tell. That the ravings of the sick were the secrets of God, -and that if a nurse through her vocation should hear them, she -should respect her trust. - -"She is a sweet, good soul, and the next day, when she saw I was -troubled, she opened up the subject my poor dear raved about, added, -'I can tell you this much, my dear. That it was not about anything -which he has done wrong himself, and you, as his wife to be, have no -cause to be concerned. He has not forgotten you or what he owes to -you. His fear was of great and terrible things, which no mortal can -treat of.' - -"I do believe the dear soul thought I might be jealous lest my poor -dear should have fallen in love with any other girl. The idea of my -being jealous about Jonathan! And yet, my dear, let me whisper, I -felt a thrill of joy through me when I knew that no other woman was -a cause for trouble. I am now sitting by his bedside, where I can -see his face while he sleeps. He is waking! - -"When he woke he asked me for his coat, as he wanted to get -something from the pocket. I asked Sister Agatha, and she brought -all his things. I saw amongst them was his notebook, and was -going to ask him to let me look at it, for I knew that I might find -some clue to his trouble, but I suppose he must have seen my wish in -my eyes, for he sent me over to the window, saying he wanted to be -quite alone for a moment. - -"Then he called me back, and he said to me very solemnly, -'Wilhelmina', I knew then that he was in deadly earnest, for he has -never called me by that name since he asked me to marry him, 'You -know, dear, my ideas of the trust between husband and wife. There -should be no secret, no concealment. I have had a great shock, and -when I try to think of what it is I feel my head spin round, and I -do not know if it was real of the dreaming of a madman. You know I -had brain fever, and that is to be mad. The secret is here, and I -do not want to know it. I want to take up my life here, with our -marriage.' For, my dear, we had decided to be married as soon as -the formalities are complete. 'Are you willing, Wilhelmina, to -share my ignorance? Here is the book. Take it and keep it, read it -if you will, but never let me know unless, indeed, some solemn duty -should come upon me to go back to the bitter hours, asleep or awake, -sane or mad, recorded here.' He fell back exhausted, and I put the -book under his pillow, and kissed him. I have asked Sister Agatha -to beg the Superior to let our wedding be this afternoon, and am -waiting her reply . . ." - - -"She has come and told me that the Chaplain of the English mission -church has been sent for. We are to be married in an hour, or as -soon after as Jonathan awakes." - -"Lucy, the time has come and gone. I feel very solemn, but very, -very happy. Jonathan woke a little after the hour, and all was -ready, and he sat up in bed, propped up with pillows. He answered -his 'I will' firmly and strong. I could hardly speak. My heart was -so full that even those words seemed to choke me. - -"The dear sisters were so kind. Please, God, I shall never, never -forget them, nor the grave and sweet responsibilities I have taken -upon me. I must tell you of my wedding present. When the chaplain -and the sisters had left me alone with my husband--oh, Lucy, it is -the first time I have written the words 'my husband'--left me alone -with my husband, I took the book from under his pillow, and wrapped -it up in white paper, and tied it with a little bit of pale blue -ribbon which was round my neck, and sealed it over the knot with -sealing wax, and for my seal I used my wedding ring. Then I kissed -it and showed it to my husband, and told him that I would keep it -so, and then it would be an outward and visible sign for us all our -lives that we trusted each other, that I would never open it unless -it were for his own dear sake or for the sake of some stern duty. -Then he took my hand in his, and oh, Lucy, it was the first time he -took his wife's hand, and said that it was the dearest thing in all -the wide world, and that he would go through all the past again to -win it, if need be. The poor dear meant to have said a part of the -past, but he cannot think of time yet, and I shall not wonder if at -first he mixes up not only the month, but the year. - -"Well, my dear, what could I say? I could only tell him that I was -the happiest woman in all the wide world, and that I had nothing to -give him except myself, my life, and my trust, and that with these -went my love and duty for all the days of my life. And, my dear, -when he kissed me, and drew me to him with his poor weak hands, it -was like a solemn pledge between us. - -"Lucy dear, do you know why I tell you all this? It is not only -because it is all sweet to me, but because you have been, and are, -very dear to me. It was my privilege to be your friend and guide -when you came from the schoolroom to prepare for the world of life. -I want you to see now, and with the eyes of a very happy wife, -whither duty has led me, so that in your own married life you too -may be all happy, as I am. My dear, please Almighty God, your life -may be all it promises, a long day of sunshine, with no harsh wind, -no forgetting duty, no distrust. I must not wish you no pain, for -that can never be, but I do hope you will be always as happy as I am -now. Goodbye, my dear. I shall post this at once, and perhaps, -write you very soon again. I must stop, for Jonathan is waking. I -must attend my husband! - -"Your ever-loving -Mina Harker." - - - -LETTER, LUCY WESTENRA TO MINA HARKER. - -Whitby, 30 August. - -"My dearest Mina, - -"Oceans of love and millions of kisses, and may you soon be in your -own home with your husband. I wish you were coming home soon enough -to stay with us here. The strong air would soon restore Jonathan. -It has quite restored me. I have an appetite like a cormorant, am -full of life, and sleep well. You will be glad to know that I have -quite given up walking in my sleep. I think I have not stirred out -of my bed for a week, that is when I once got into it at night. -Arthur says I am getting fat. By the way, I forgot to tell you that -Arthur is here. We have such walks and drives, and rides, and -rowing, and tennis, and fishing together, and I love him more than -ever. He tells me that he loves me more, but I doubt that, for at -first he told me that he couldn't love me more than he did then. -But this is nonsense. There he is, calling to me. So no more just -at present from your loving, - -"Lucy. - -"P.S.--Mother sends her love. She seems better, poor dear. - -"P.P.S.--We are to be married on 28 September." - - - -DR. SEWARDS DIARY - -20 August.--The case of Renfield grows even more interesting. He has -now so far quieted that there are spells of cessation from his -passion. For the first week after his attack he was perpetually -violent. Then one night, just as the moon rose, he grew quiet, and -kept murmuring to himself. "Now I can wait. Now I can wait." - -The attendant came to tell me, so I ran down at once to have a look at -him. He was still in the strait waistcoat and in the padded room, but -the suffused look had gone from his face, and his eyes had something -of their old pleading. I might almost say, cringing, softness. I was -satisfied with his present condition, and directed him to be relieved. -The attendants hesitated, but finally carried out my wishes without -protest. - -It was a strange thing that the patient had humour enough to see their -distrust, for, coming close to me, he said in a whisper, all the while -looking furtively at them, "They think I could hurt you! Fancy me -hurting you! The fools!" - -It was soothing, somehow, to the feelings to find myself disassociated -even in the mind of this poor madman from the others, but all the same -I do not follow his thought. Am I to take it that I have anything in -common with him, so that we are, as it were, to stand together. Or -has he to gain from me some good so stupendous that my well being is -needful to Him? I must find out later on. Tonight he will not speak. -Even the offer of a kitten or even a full-grown cat will not tempt -him. - -He will only say, "I don't take any stock in cats. I have more to -think of now, and I can wait. I can wait." - -After a while I left him. The attendant tells me that he was quiet -until just before dawn, and that then he began to get uneasy, and at -length violent, until at last he fell into a paroxysm which exhausted -him so that he swooned into a sort of coma. - - -. . . Three nights has the same thing happened, violent all day then -quiet from moonrise to sunrise. I wish I could get some clue to the -cause. It would almost seem as if there was some influence which came -and went. Happy thought! We shall tonight play sane wits against mad -ones. He escaped before without our help. Tonight he shall escape -with it. We shall give him a chance, and have the men ready to follow -in case they are required. - - -23 August.--"The expected always happens." How well Disraeli knew -life. Our bird when he found the cage open would not fly, so all our -subtle arrangements were for nought. At any rate, we have proved one -thing, that the spells of quietness last a reasonable time. We shall -in future be able to ease his bonds for a few hours each day. I have -given orders to the night attendant merely to shut him in the padded -room, when once he is quiet, until the hour before sunrise. The poor -soul's body will enjoy the relief even if his mind cannot appreciate -it. Hark! The unexpected again! I am called. The patient has once -more escaped. - - -Later.--Another night adventure. Renfield artfully waited until the -attendant was entering the room to inspect. Then he dashed out past -him and flew down the passage. I sent word for the attendants to -follow. Again he went into the grounds of the deserted house, and we -found him in the same place, pressed against the old chapel door. -When he saw me he became furious, and had not the attendants seized -him in time, he would have tried to kill me. As we were holding him a -strange thing happened. He suddenly redoubled his efforts, and then -as suddenly grew calm. I looked round instinctively, but could see -nothing. Then I caught the patient's eye and followed it, but could -trace nothing as it looked into the moonlight sky, except a big bat, -which was flapping its silent and ghostly way to the west. Bats -usually wheel about, but this one seemed to go straight on, as if it -knew where it was bound for or had some intention of its own. - -The patient grew calmer every instant, and presently said, "You -needn't tie me. I shall go quietly!" Without trouble, we came back -to the house. I feel there is something ominous in his calm, and -shall not forget this night. - - - -LUCY WESTENRA'S DIARY - -Hillingham, 24 August.--I must imitate Mina, and keep writing things -down. Then we can have long talks when we do meet. I wonder when it -will be. I wish she were with me again, for I feel so unhappy. Last -night I seemed to be dreaming again just as I was at Whitby. Perhaps -it is the change of air, or getting home again. It is all dark and -horrid to me, for I can remember nothing. But I am full of vague -fear, and I feel so weak and worn out. When Arthur came to lunch he -looked quite grieved when he saw me, and I hadn't the spirit to try to -be cheerful. I wonder if I could sleep in mother's room tonight. I -shall make an excuse to try. - - -25 August.--Another bad night. Mother did not seem to take to my -proposal. She seems not too well herself, and doubtless she fears to -worry me. I tried to keep awake, and succeeded for a while, but when -the clock struck twelve it waked me from a doze, so I must have been -falling asleep. There was a sort of scratching or flapping at the -window, but I did not mind it, and as I remember no more, I suppose I -must have fallen asleep. More bad dreams. I wish I could remember -them. This morning I am horribly weak. My face is ghastly pale, and -my throat pains me. It must be something wrong with my lungs, for I -don't seem to be getting air enough. I shall try to cheer up when -Arthur comes, or else I know he will be miserable to see me so. - - - -LETTER, ARTHUR TO DR. SEWARD - -"Albemarle Hotel, 31 August - -"My dear Jack, - -"I want you to do me a favour. Lucy is ill, that is she has no -special disease, but she looks awful, and is getting worse every -day. I have asked her if there is any cause, I not dare to ask her -mother, for to disturb the poor lady's mind about her daughter in -her present state of health would be fatal. Mrs. Westenra has -confided to me that her doom is spoken, disease of the heart, though -poor Lucy does not know it yet. I am sure that there is something -preying on my dear girl's mind. I am almost distracted when I think -of her. To look at her gives me a pang. I told her I should ask -you to see her, and though she demurred at first, I know why, old -fellow, she finally consented. It will be a painful task for you, I -know, old friend, but it is for her sake, and I must not hesitate to -ask, or you to act. You are to come to lunch at Hillingham -tomorrow, two o'clock, so as not to arouse any suspicion in Mrs. -Westenra, and after lunch Lucy will take an opportunity of being -alone with you. I am filled with anxiety, and want to consult with -you alone as soon as I can after you have seen her. Do not fail! - -"Arthur." - - - -TELEGRAM, ARTHUR HOLMWOOD TO SEWARD - -1 September - -"Am summoned to see my father, who is worse. Am writing. Write -me fully by tonight's post to Ring. Wire me if necessary." - - - -LETTER FROM DR. SEWARD TO ARTHUR HOLMWOOD - -2 September - -"My dear old fellow, - -"With regard to Miss Westenra's health I hasten to let you know at -once that in my opinion there is not any functional disturbance or -any malady that I know of. At the same time, I am not by any means -satisfied with her appearance. She is woefully different from what -she was when I saw her last. Of course you must bear in mind that I -did not have full opportunity of examination such as I should wish. -Our very friendship makes a little difficulty which not even medical -science or custom can bridge over. I had better tell you exactly -what happened, leaving you to draw, in a measure, your own -conclusions. I shall then say what I have done and propose doing. - -"I found Miss Westenra in seemingly gay spirits. Her mother was -present, and in a few seconds I made up my mind that she was trying -all she knew to mislead her mother and prevent her from being -anxious. I have no doubt she guesses, if she does not know, what -need of caution there is. - -"We lunched alone, and as we all exerted ourselves to be cheerful, -we got, as some kind of reward for our labours, some real -cheerfulness amongst us. Then Mrs. Westenra went to lie down, and -Lucy was left with me. We went into her boudoir, and till we got -there her gaiety remained, for the servants were coming and going. - -"As soon as the door was closed, however, the mask fell from her -face, and she sank down into a chair with a great sigh, and hid her -eyes with her hand. When I saw that her high spirits had failed, I -at once took advantage of her reaction to make a diagnosis. - -"She said to me very sweetly, 'I cannot tell you how I loathe -talking about myself.' I reminded her that a doctor's confidence -was sacred, but that you were grievously anxious about her. She -caught on to my meaning at once, and settled that matter in a word. -'Tell Arthur everything you choose. I do not care for myself, but -for him!' So I am quite free. - -"I could easily see that she was somewhat bloodless, but I could not -see the usual anemic signs, and by the chance, I was able to test -the actual quality of her blood, for in opening a window which was -stiff a cord gave way, and she cut her hand slightly with broken -glass. It was a slight matter in itself, but it gave me an evident -chance, and I secured a few drops of the blood and have analysed -them. - -"The qualitative analysis give a quite normal condition, and shows, -I should infer, in itself a vigorous state of health. In other -physical matters I was quite satisfied that there is no need for -anxiety, but as there must be a cause somewhere, I have come to the -conclusion that it must be something mental. - -"She complains of difficulty breathing satisfactorily at times, and -of heavy, lethargic sleep, with dreams that frighten her, but -regarding which she can remember nothing. She says that as a child, -she used to walk in her sleep, and that when in Whitby the habit -came back, and that once she walked out in the night and went to -East Cliff, where Miss Murray found her. But she assures me that of -late the habit has not returned. - -"I am in doubt, and so have done the best thing I know of. I have -written to my old friend and master, Professor Van Helsing, of -Amsterdam, who knows as much about obscure diseases as any one in -the world. I have asked him to come over, and as you told me that -all things were to be at your charge, I have mentioned to him who -you are and your relations to Miss Westenra. This, my dear fellow, -is in obedience to your wishes, for I am only too proud and happy to -do anything I can for her. - -"Van Helsing would, I know, do anything for me for a personal -reason, so no matter on what ground he comes, we must accept his -wishes. He is a seemingly arbitrary man, this is because he knows -what he is talking about better than any one else. He is a -philosopher and a metaphysician, and one of the most advanced -scientists of his day, and he has, I believe, an absolutely open -mind. This, with an iron nerve, a temper of the ice-brook, and -indomitable resolution, self-command, and toleration exalted from -virtues to blessings, and the kindliest and truest heart that beats, -these form his equipment for the noble work that he is doing for -mankind, work both in theory and practice, for his views are as wide -as his all-embracing sympathy. I tell you these facts that you may -know why I have such confidence in him. I have asked him to come at -once. I shall see Miss Westenra tomorrow again. She is to meet me -at the Stores, so that I may not alarm her mother by too early a -repetition of my call. - -"Yours always." - -John Seward - - - - -LETTER, ABRAHAM VAN HELSING, MD, DPh, D. Lit, ETC, ETC, TO DR. SEWARD - -2 September. - -"My good Friend, - -"When I received your letter I am already coming to you. By good -fortune I can leave just at once, without wrong to any of those who -have trusted me. Were fortune other, then it were bad for those who -have trusted, for I come to my friend when he call me to aid those -he holds dear. Tell your friend that when that time you suck from -my wound so swiftly the poison of the gangrene from that knife that -our other friend, too nervous, let slip, you did more for him when -he wants my aids and you call for them than all his great fortune -could do. But it is pleasure added to do for him, your friend, it -is to you that I come. Have near at hand, and please it so arrange -that we may see the young lady not too late on tomorrow, for it is -likely that I may have to return here that night. But if need be I -shall come again in three days, and stay longer if it must. Till -then goodbye, my friend John. - -"Van Helsing." - - - -LETTER, DR. SEWARD TO HON. ARTHUR HOLMWOOD - -3 September - -"My dear Art, - -"Van Helsing has come and gone. He came on with me to Hillingham, -and found that, by Lucy's discretion, her mother was lunching out, -so that we were alone with her. - -"Van Helsing made a very careful examination of the patient. He is -to report to me, and I shall advise you, for of course I was not -present all the time. He is, I fear, much concerned, but says he -must think. When I told him of our friendship and how you trust to -me in the matter, he said, 'You must tell him all you think. Tell -him what I think, if you can guess it, if you will. Nay, I am -not jesting. This is no jest, but life and death, perhaps more.' I -asked what he meant by that, for he was very serious. This was when -we had come back to town, and he was having a cup of tea before -starting on his return to Amsterdam. He would not give me any -further clue. You must not be angry with me, Art, because his very -reticence means that all his brains are working for her good. He -will speak plainly enough when the time comes, be sure. So I told -him I would simply write an account of our visit, just as if I were -doing a descriptive special article for THE DAILY TELEGRAPH. He -seemed not to notice, but remarked that the smuts of London were not -quite so bad as they used to be when he was a student here. I am to -get his report tomorrow if he can possibly make it. In any case I -am to have a letter. - -"Well, as to the visit, Lucy was more cheerful than on the day I -first saw her, and certainly looked better. She had lost something -of the ghastly look that so upset you, and her breathing was normal. -She was very sweet to the Professor (as she always is), and tried to -make him feel at ease, though I could see the poor girl was making a -hard struggle for it. - -"I believe Van Helsing saw it, too, for I saw the quick look -under his bushy brows that I knew of old. Then he began to -chat of all things except ourselves and diseases and with -such an infinite geniality that I could see poor Lucy's -pretense of animation merge into reality. Then, without -any seeming change, he brought the conversation gently round -to his visit, and suavely said, - -"'My dear young miss, I have the so great pleasure because you are -so much beloved. That is much, my dear, even were there that which -I do not see. They told me you were down in the spirit, and that -you were of a ghastly pale. To them I say "Pouf!"' And he snapped -his fingers at me and went on. 'But you and I shall show them how -wrong they are. How can he,' and he pointed at me with the same -look and gesture as that with which he pointed me out in his class, -on, or rather after, a particular occasion which he never fails to -remind me of, 'know anything of a young ladies? He has his madmen -to play with, and to bring them back to happiness, and to those that -love them. It is much to do, and, oh, but there are rewards in that -we can bestow such happiness. But the young ladies! He has no wife -nor daughter, and the young do not tell themselves to the young, but -to the old, like me, who have known so many sorrows and the causes -of them. So, my dear, we will send him away to smoke the cigarette -in the garden, whiles you and I have little talk all to ourselves.' -I took the hint, and strolled about, and presently the professor -came to the window and called me in. He looked grave, but said, 'I -have made careful examination, but there is no functional cause. -With you I agree that there has been much blood lost, it has been -but is not. But the conditions of her are in no way anemic. I have -asked her to send me her maid, that I may ask just one or two -questions, that so I may not chance to miss nothing. I know well -what she will say. And yet there is cause. There is always cause -for everything. I must go back home and think. You must send me -the telegram every day, and if there be cause I shall come again. -The disease, for not to be well is a disease, interest me, and the -sweet, young dear, she interest me too. She charm me, and for her, -if not for you or disease, I come.' - -"As I tell you, he would not say a word more, even when we were -alone. And so now, Art, you know all I know. I shall keep stern -watch. I trust your poor father is rallying. It must be a terrible -thing to you, my dear old fellow, to be placed in such a position -between two people who are both so dear to you. I know your idea of -duty to your father, and you are right to stick to it. But if need -be, I shall send you word to come at once to Lucy, so do not be -over-anxious unless you hear from me." - - - -DR. SEWARD'S DIARY - -4 September.--Zoophagous patient still keeps up our interest in him. -He had only one outburst and that was yesterday at an unusual time. -Just before the stroke of noon he began to grow restless. The -attendant knew the symptoms, and at once summoned aid. Fortunately -the men came at a run, and were just in time, for at the stroke of -noon he became so violent that it took all their strength to hold him. -In about five minutes, however, he began to get more quiet, and -finally sank into a sort of melancholy, in which state he has remained -up to now. The attendant tells me that his screams whilst in the -paroxysm were really appalling. I found my hands full when I got in, -attending to some of the other patients who were frightened by him. -Indeed, I can quite understand the effect, for the sounds disturbed -even me, though I was some distance away. It is now after the dinner -hour of the asylum, and as yet my patient sits in a corner brooding, -with a dull, sullen, woe-begone look in his face, which seems rather -to indicate than to show something directly. I cannot quite -understand it. - - -Later.--Another change in my patient. At five o'clock I looked in on -him, and found him seemingly as happy and contented as he used to be. -He was catching flies and eating them, and was keeping note of his -capture by making nailmarks on the edge of the door between the ridges -of padding. When he saw me, he came over and apologized for his bad -conduct, and asked me in a very humble, cringing way to be led back to -his own room, and to have his notebook again. I thought it well to -humour him, so he is back in his room with the window open. He has -the sugar of his tea spread out on the window sill, and is reaping -quite a harvest of flies. He is not now eating them, but putting them -into a box, as of old, and is already examining the corners of his -room to find a spider. I tried to get him to talk about the past few -days, for any clue to his thoughts would be of immense help to me, but -he would not rise. For a moment or two he looked very sad, and said -in a sort of far away voice, as though saying it rather to himself -than to me. - -"All over! All over! He has deserted me. No hope for me now unless -I do it myself!" Then suddenly turning to me in a resolute way, he -said, "Doctor, won't you be very good to me and let me have a little -more sugar? I think it would be very good for me." - -"And the flies?" I said. - -"Yes! The flies like it, too, and I like the flies, therefore I like -it." And there are people who know so little as to think that madmen do -not argue. I procured him a double supply, and left him as happy a -man as, I suppose, any in the world. I wish I could fathom his mind. - - -Midnight.--Another change in him. I had been to see Miss Westenra, -whom I found much better, and had just returned, and was standing at -our own gate looking at the sunset, when once more I heard him -yelling. As his room is on this side of the house, I could hear it -better than in the morning. It was a shock to me to turn from the -wonderful smoky beauty of a sunset over London, with its lurid lights -and inky shadows and all the marvellous tints that come on foul clouds -even as on foul water, and to realize all the grim sternness of my own -cold stone building, with its wealth of breathing misery, and my own -desolate heart to endure it all. I reached him just as the sun was -going down, and from his window saw the red disc sink. As it sank he -became less and less frenzied, and just as it dipped he slid from the -hands that held him, an inert mass, on the floor. It is wonderful, -however, what intellectual recuperative power lunatics have, for -within a few minutes he stood up quite calmly and looked around him. I -signalled to the attendants not to hold him, for I was anxious to see -what he would do. He went straight over to the window and brushed out -the crumbs of sugar. Then he took his fly box, and emptied it -outside, and threw away the box. Then he shut the window, and -crossing over, sat down on his bed. All this surprised me, so I asked -him, "Are you going to keep flies any more?" - -"No," said he. "I am sick of all that rubbish!" He certainly is a -wonderfully interesting study. I wish I could get some glimpse of his -mind or of the cause of his sudden passion. Stop. There may be a -clue after all, if we can find why today his paroxysms came on at high -noon and at sunset. Can it be that there is a malign influence of the -sun at periods which affects certain natures, as at times the moon -does others? We shall see. - - - -TELEGRAM. SEWARD, LONDON, TO VAN HELSING, AMSTERDAM - -"4 September.--Patient still better today." - - - -TELEGRAM, SEWARD, LONDON, TO VAN HELSING, AMSTERDAM - -"5 September.--Patient greatly improved. Good appetite, sleeps -naturally, good spirits, colour coming back." - - - -TELEGRAM, SEWARD, LONDON, TO VAN HELSING, AMSTERDAM - -"6 September.--Terrible change for the worse. Come at once. -Do not lose an hour. I hold over telegram to Holmwood till -have seen you." - - - - -CHAPTER 10 - - -LETTER, DR. SEWARD TO HON. ARTHUR HOLMWOOD - - -6 September - -"My dear Art, - -"My news today is not so good. Lucy this morning had gone back a -bit. There is, however, one good thing which has arisen from it. -Mrs. Westenra was naturally anxious concerning Lucy, and has -consulted me professionally about her. I took advantage of the -opportunity, and told her that my old master, Van Helsing, the great -specialist, was coming to stay with me, and that I would put her in -his charge conjointly with myself. So now we can come and go -without alarming her unduly, for a shock to her would mean sudden -death, and this, in Lucy's weak condition, might be disastrous to -her. We are hedged in with difficulties, all of us, my poor fellow, -but, please God, we shall come through them all right. If any need -I shall write, so that, if you do not hear from me, take it for -granted that I am simply waiting for news, In haste, - -"Yours ever," - -John Seward - - - -DR. SEWARD'S DIARY - -7 September.--The first thing Van Helsing said to me when we met at -Liverpool Street was, "Have you said anything to our young friend, to -lover of her?" - -"No," I said. "I waited till I had seen you, as I said in my -telegram. I wrote him a letter simply telling him that you were -coming, as Miss Westenra was not so well, and that I should let him -know if need be." - -"Right, my friend," he said. "Quite right! Better he not know as -yet. Perhaps he will never know. I pray so, but if it be needed, -then he shall know all. And, my good friend John, let me caution you. -You deal with the madmen. All men are mad in some way or the other, -and inasmuch as you deal discreetly with your madmen, so deal with -God's madmen too, the rest of the world. You tell not your madmen -what you do nor why you do it. You tell them not what you think. So -you shall keep knowledge in its place, where it may rest, where it may -gather its kind around it and breed. You and I shall keep as yet what -we know here, and here." He touched me on the heart and on the -forehead, and then touched himself the same way. "I have for myself -thoughts at the present. Later I shall unfold to you." - -"Why not now?" I asked. "It may do some good. We may arrive at some -decision." He looked at me and said, "My friend John, when the corn is -grown, even before it has ripened, while the milk of its mother earth -is in him, and the sunshine has not yet begun to paint him with his -gold, the husbandman he pull the ear and rub him between his rough -hands, and blow away the green chaff, and say to you, 'Look! He's -good corn, he will make a good crop when the time comes.'" - -I did not see the application and told him so. For reply he reached -over and took my ear in his hand and pulled it playfully, as he used -long ago to do at lectures, and said, "The good husbandman tell you so -then because he knows, but not till then. But you do not find the -good husbandman dig up his planted corn to see if he grow. That is -for the children who play at husbandry, and not for those who take it -as of the work of their life. See you now, friend John? I have sown -my corn, and Nature has her work to do in making it sprout, if he -sprout at all, there's some promise, and I wait till the ear begins to -swell." He broke off, for he evidently saw that I understood. Then he -went on gravely, "You were always a careful student, and your case -book was ever more full than the rest. And I trust that good habit -have not fail. Remember, my friend, that knowledge is stronger than -memory, and we should not trust the weaker. Even if you have not kept -the good practice, let me tell you that this case of our dear miss is -one that may be, mind, I say may be, of such interest to us and others -that all the rest may not make him kick the beam, as your people say. -Take then good note of it. Nothing is too small. I counsel you, put -down in record even your doubts and surmises. Hereafter it may be of -interest to you to see how true you guess. We learn from failure, not -from success!" - -When I described Lucy's symptoms, the same as before, but infinitely -more marked, he looked very grave, but said nothing. He took with him -a bag in which were many instruments and drugs, "the ghastly -paraphernalia of our beneficial trade," as he once called, in one of -his lectures, the equipment of a professor of the healing craft. - -When we were shown in, Mrs. Westenra met us. She was alarmed, but not -nearly so much as I expected to find her. Nature in one of her -beneficient moods has ordained that even death has some antidote to -its own terrors. Here, in a case where any shock may prove fatal, -matters are so ordered that, from some cause or other, the things not -personal, even the terrible change in her daughter to whom she is so -attached, do not seem to reach her. It is something like the way dame -Nature gathers round a foreign body an envelope of some insensitive -tissue which can protect from evil that which it would otherwise harm -by contact. If this be an ordered selfishness, then we should pause -before we condemn any one for the vice of egoism, for there may be -deeper root for its causes than we have knowledge of. - -I used my knowledge of this phase of spiritual pathology, and set down -a rule that she should not be present with Lucy, or think of her -illness more than was absolutely required. She assented readily, so -readily that I saw again the hand of Nature fighting for life. Van -Helsing and I were shown up to Lucy's room. If I was shocked when I -saw her yesterday, I was horrified when I saw her today. - -She was ghastly, chalkily pale. The red seemed to have gone even from -her lips and gums, and the bones of her face stood out prominently. -Her breathing was painful to see or hear. Van Helsing's face grew set -as marble, and his eyebrows converged till they almost touched over his -nose. Lucy lay motionless, and did not seem to have strength to -speak, so for a while we were all silent. Then Van Helsing beckoned -to me, and we went gently out of the room. The instant we had closed -the door he stepped quickly along the passage to the next door, which -was open. Then he pulled me quickly in with him and closed the door. -"My god!" he said. "This is dreadful. There is not time to be lost. -She will die for sheer want of blood to keep the heart's action as it -should be. There must be a transfusion of blood at once. Is it you -or me?" - -"I am younger and stronger, Professor. It must be me." - -"Then get ready at once. I will bring up my bag. I am prepared." - -I went downstairs with him, and as we were going there was a knock at -the hall door. When we reached the hall, the maid had just opened the -door, and Arthur was stepping quickly in. He rushed up to me, saying -in an eager whisper, - -"Jack, I was so anxious. I read between the lines of your letter, and -have been in an agony. The dad was better, so I ran down here to see -for myself. Is not that gentleman Dr. Van Helsing? I am so thankful -to you, sir, for coming." - -When first the Professor's eye had lit upon him, he had been angry at -his interruption at such a time, but now, as he took in his stalwart -proportions and recognized the strong young manhood which seemed to -emanate from him, his eyes gleamed. Without a pause he said to him as -he held out his hand, - -"Sir, you have come in time. You are the lover of our dear miss. She -is bad, very, very bad. Nay, my child, do not go like that." For he -suddenly grew pale and sat down in a chair almost fainting. "You are -to help her. You can do more than any that live, and your courage is -your best help." - -"What can I do?" asked Arthur hoarsely. "Tell me, and I shall do it. -My life is hers, and I would give the last drop of blood in my body for -her." - -The Professor has a strongly humorous side, and I could from old -knowledge detect a trace of its origin in his answer. - -"My young sir, I do not ask so much as that, not the last!" - -"What shall I do?" There was fire in his eyes, and his open nostrils -quivered with intent. Van Helsing slapped him on the shoulder. - -"Come!" he said. "You are a man, and it is a man we want. You are -better than me, better than my friend John." Arthur looked bewildered, -and the Professor went on by explaining in a kindly way. - -"Young miss is bad, very bad. She wants blood, and blood she must -have or die. My friend John and I have consulted, and we are about to -perform what we call transfusion of blood, to transfer from full veins -of one to the empty veins which pine for him. John was to give his -blood, as he is the more young and strong than me."--Here Arthur took -my hand and wrung it hard in silence.--"But now you are here, you are -more good than us, old or young, who toil much in the world of -thought. Our nerves are not so calm and our blood so bright than -yours!" - -Arthur turned to him and said, "If you only knew how gladly I would -die for her you would understand . . ." He stopped with a sort of -choke in his voice. - -"Good boy!" said Van Helsing. "In the not-so-far-off you will be -happy that you have done all for her you love. Come now and be -silent. You shall kiss her once before it is done, but then you must -go, and you must leave at my sign. Say no word to Madame. You know -how it is with her. There must be no shock, any knowledge of this -would be one. Come!" - -We all went up to Lucy's room. Arthur by direction remained outside. -Lucy turned her head and looked at us, but said nothing. She was not -asleep, but she was simply too weak to make the effort. Her eyes -spoke to us, that was all. - -Van Helsing took some things from his bag and laid them on a little -table out of sight. Then he mixed a narcotic, and coming over to the -bed, said cheerily, "Now, little miss, here is your medicine. Drink -it off, like a good child. See, I lift you so that to swallow is -easy. Yes." She had made the effort with success. - -It astonished me how long the drug took to act. This, in fact, marked -the extent of her weakness. The time seemed endless until sleep began -to flicker in her eyelids. At last, however, the narcotic began to -manifest its potency, and she fell into a deep sleep. When the -Professor was satisfied, he called Arthur into the room, and bade him -strip off his coat. Then he added, "You may take that one little kiss -whiles I bring over the table. Friend John, help to me!" So neither -of us looked whilst he bent over her. - -Van Helsing, turning to me, said, "He is so young and strong, and of -blood so pure that we need not defibrinate it." - -Then with swiftness, but with absolute method, Van Helsing performed -the operation. As the transfusion went on, something like life seemed -to come back to poor Lucy's cheeks, and through Arthur's growing -pallor the joy of his face seemed absolutely to shine. After a bit I -began to grow anxious, for the loss of blood was telling on Arthur, -strong man as he was. It gave me an idea of what a terrible strain -Lucy's system must have undergone that what weakened Arthur only -partially restored her. - -But the Professor's face was set, and he stood watch in hand, and with -his eyes fixed now on the patient and now on Arthur. I could hear my -own heart beat. Presently, he said in a soft voice, "Do not stir an -instant. It is enough. You attend him. I will look to her." - -When all was over, I could see how much Arthur was weakened. I -dressed the wound and took his arm to bring him away, when Van Helsing -spoke without turning round, the man seems to have eyes in the back of -his head, "The brave lover, I think, deserve another kiss, which he -shall have presently." And as he had now finished his operation, he -adjusted the pillow to the patient's head. As he did so the narrow -black velvet band which she seems always to wear round her throat, -buckled with an old diamond buckle which her lover had given her, was -dragged a little up, and showed a red mark on her throat. - -Arthur did not notice it, but I could hear the deep hiss of indrawn -breath which is one of Van Helsing's ways of betraying emotion. He -said nothing at the moment, but turned to me, saying, "Now take down -our brave young lover, give him of the port wine, and let him lie down -a while. He must then go home and rest, sleep much and eat much, that -he may be recruited of what he has so given to his love. He must not -stay here. Hold a moment! I may take it, sir, that you are anxious -of result. Then bring it with you, that in all ways the operation is -successful. You have saved her life this time, and you can go home -and rest easy in mind that all that can be is. I shall tell her all -when she is well. She shall love you none the less for what you have -done. Goodbye." - -When Arthur had gone I went back to the room. Lucy was sleeping -gently, but her breathing was stronger. I could see the counterpane -move as her breast heaved. By the bedside sat Van Helsing, looking at -her intently. The velvet band again covered the red mark. I asked -the Professor in a whisper, "What do you make of that mark on her -throat?" - -"What do you make of it?" - -"I have not examined it yet," I answered, and then and there proceeded -to loose the band. Just over the external jugular vein there were two -punctures, not large, but not wholesome looking. There was no sign of -disease, but the edges were white and worn looking, as if by some -trituration. It at once occurred to me that that this wound, or -whatever it was, might be the means of that manifest loss of blood. -But I abandoned the idea as soon as it formed, for such a thing could -not be. The whole bed would have been drenched to a scarlet with the -blood which the girl must have lost to leave such a pallor as she had -before the transfusion. - -"Well?" said Van Helsing. - -"Well," said I. "I can make nothing of it." - -The Professor stood up. "I must go back to Amsterdam tonight," he -said "There are books and things there which I want. You must remain -here all night, and you must not let your sight pass from her." - -"Shall I have a nurse?" I asked. - -"We are the best nurses, you and I. You keep watch all night. See -that she is well fed, and that nothing disturbs her. You must not -sleep all the night. Later on we can sleep, you and I. I shall be -back as soon as possible. And then we may begin." - -"May begin?" I said. "What on earth do you mean?" - -"We shall see!" he answered, as he hurried out. He came back a moment -later and put his head inside the door and said with a warning finger -held up, "Remember, she is your charge. If you leave her, and harm -befall, you shall not sleep easy hereafter!" - - - -DR. SEWARD'S DIARY--CONTINUED - -8 September.--I sat up all night with Lucy. The opiate worked itself -off towards dusk, and she waked naturally. She looked a different -being from what she had been before the operation. Her spirits even -were good, and she was full of a happy vivacity, but I could see -evidences of the absolute prostration which she had undergone. When I -told Mrs. Westenra that Dr. Van Helsing had directed that I should sit -up with her, she almost pooh-poohed the idea, pointing out her -daughter's renewed strength and excellent spirits. I was firm, -however, and made preparations for my long vigil. When her maid had -prepared her for the night I came in, having in the meantime had -supper, and took a seat by the bedside. - -She did not in any way make objection, but looked at me gratefully -whenever I caught her eye. After a long spell she seemed sinking off -to sleep, but with an effort seemed to pull herself together and shook -it off. It was apparent that she did not want to sleep, so I tackled -the subject at once. - -"You do not want to sleep?" - -"No. I am afraid." - -"Afraid to go to sleep! Why so? It is the boon we all crave for." - -"Ah, not if you were like me, if sleep was to you a presage of -horror!" - -"A presage of horror! What on earth do you mean?" - -"I don't know. Oh, I don't know. And that is what is so terrible. -All this weakness comes to me in sleep, until I dread the very -thought." - -"But, my dear girl, you may sleep tonight. I am here watching you, -and I can promise that nothing will happen." - -"Ah, I can trust you!" she said. - -I seized the opportunity, and said, "I promise that if I see any -evidence of bad dreams I will wake you at once." - -"You will? Oh, will you really? How good you are to me. Then I will -sleep!" And almost at the word she gave a deep sigh of relief, and -sank back, asleep. - -All night long I watched by her. She never stirred, but slept on and -on in a deep, tranquil, life-giving, health-giving sleep. Her lips -were slightly parted, and her breast rose and fell with the regularity -of a pendulum. There was a smile on her face, and it was evident that -no bad dreams had come to disturb her peace of mind. - -In the early morning her maid came, and I left her in her care and took -myself back home, for I was anxious about many things. I sent a short -wire to Van Helsing and to Arthur, telling them of the excellent -result of the operation. My own work, with its manifold arrears, took -me all day to clear off. It was dark when I was able to inquire about -my zoophagous patient. The report was good. He had been quite quiet -for the past day and night. A telegram came from Van Helsing at -Amsterdam whilst I was at dinner, suggesting that I should be at -Hillingham tonight, as it might be well to be at hand, and stating -that he was leaving by the night mail and would join me early in the -morning. - - -9 September.--I was pretty tired and worn out when I got to -Hillingham. For two nights I had hardly had a wink of sleep, and my -brain was beginning to feel that numbness which marks cerebral -exhaustion. Lucy was up and in cheerful spirits. When she shook -hands with me she looked sharply in my face and said, - -"No sitting up tonight for you. You are worn out. I am quite well -again. Indeed, I am, and if there is to be any sitting up, it is I -who will sit up with you." - -I would not argue the point, but went and had my supper. Lucy came -with me, and, enlivened by her charming presence, I made an excellent -meal, and had a couple of glasses of the more than excellent port. -Then Lucy took me upstairs, and showed me a room next her own, where a -cozy fire was burning. - -"Now," she said. "You must stay here. I shall leave this door open -and my door too. You can lie on the sofa for I know that nothing -would induce any of you doctors to go to bed whilst there is a patient -above the horizon. If I want anything I shall call out, and you can -come to me at once." - -I could not but acquiesce, for I was dog tired, and could not have sat -up had I tried. So, on her renewing her promise to call me if she -should want anything, I lay on the sofa, and forgot all about -everything. - - - -LUCY WESTENRA'S DIARY - -9 September.--I feel so happy tonight. I have been so miserably weak, -that to be able to think and move about is like feeling sunshine after -a long spell of east wind out of a steel sky. Somehow Arthur feels -very, very close to me. I seem to feel his presence warm about me. I -suppose it is that sickness and weakness are selfish things and turn -our inner eyes and sympathy on ourselves, whilst health and strength -give love rein, and in thought and feeling he can wander where he -wills. I know where my thoughts are. If only Arthur knew! My dear, -my dear, your ears must tingle as you sleep, as mine do waking. Oh, -the blissful rest of last night! How I slept, with that dear, good -Dr. Seward watching me. And tonight I shall not fear to sleep, since -he is close at hand and within call. Thank everybody for being so -good to me. Thank God! Goodnight Arthur. - - - -DR. SEWARD'S DIARY - -10 September.--I was conscious of the Professor's hand on my head, and -started awake all in a second. That is one of the things that we -learn in an asylum, at any rate. - -"And how is our patient?" - -"Well, when I left her, or rather when she left me," I answered. - -"Come, let us see," he said. And together we went into the room. - -The blind was down, and I went over to raise it gently, whilst Van -Helsing stepped, with his soft, cat-like tread, over to the bed. - -As I raised the blind, and the morning sunlight flooded the room, I -heard the Professor's low hiss of inspiration, and knowing its rarity, -a deadly fear shot through my heart. As I passed over he moved back, -and his exclamation of horror, "Gott in Himmel!" needed no enforcement -from his agonized face. He raised his hand and pointed to the bed, -and his iron face was drawn and ashen white. I felt my knees begin to -tremble. - -There on the bed, seemingly in a swoon, lay poor Lucy, more horribly -white and wan-looking than ever. Even the lips were white, and the -gums seemed to have shrunken back from the teeth, as we sometimes see -in a corpse after a prolonged illness. - -Van Helsing raised his foot to stamp in anger, but the instinct of his -life and all the long years of habit stood to him, and he put it down -again softly. - -"Quick!" he said. "Bring the brandy." - -I flew to the dining room, and returned with the decanter. He wetted -the poor white lips with it, and together we rubbed palm and wrist and -heart. He felt her heart, and after a few moments of agonizing -suspense said, - -"It is not too late. It beats, though but feebly. All our work is -undone. We must begin again. There is no young Arthur here now. I -have to call on you yourself this time, friend John." As he spoke, he -was dipping into his bag, and producing the instruments of -transfusion. I had taken off my coat and rolled up my shirt sleeve. -There was no possibility of an opiate just at present, and no need of -one; and so, without a moment's delay, we began the operation. - -After a time, it did not seem a short time either, for the draining -away of one's blood, no matter how willingly it be given, is a -terrible feeling, Van Helsing held up a warning finger. "Do not -stir," he said. "But I fear that with growing strength she may wake, -and that would make danger, oh, so much danger. But I shall -precaution take. I shall give hypodermic injection of morphia." He -proceeded then, swiftly and deftly, to carry out his intent. - -The effect on Lucy was not bad, for the faint seemed to merge subtly -into the narcotic sleep. It was with a feeling of personal pride that -I could see a faint tinge of colour steal back into the pallid cheeks -and lips. No man knows, till he experiences it, what it is to feel -his own lifeblood drawn away into the veins of the woman he loves. - -The Professor watched me critically. "That will do," he said. -"Already?" I remonstrated. "You took a great deal more from Art." To -which he smiled a sad sort of smile as he replied, - -"He is her lover, her fiance. You have work, much work to do for her -and for others, and the present will suffice." - -When we stopped the operation, he attended to Lucy, whilst I applied -digital pressure to my own incision. I laid down, while I waited his -leisure to attend to me, for I felt faint and a little sick. By and -by he bound up my wound, and sent me downstairs to get a glass of wine -for myself. As I was leaving the room, he came after me, and half -whispered. - -"Mind, nothing must be said of this. If our young lover should turn -up unexpected, as before, no word to him. It would at once frighten -him and enjealous him, too. There must be none. So!" - -When I came back he looked at me carefully, and then said, "You are -not much the worse. Go into the room, and lie on your sofa, and rest -awhile, then have much breakfast and come here to me." - -I followed out his orders, for I knew how right and wise they were. I -had done my part, and now my next duty was to keep up my strength. I -felt very weak, and in the weakness lost something of the amazement at -what had occurred. I fell asleep on the sofa, however, wondering over -and over again how Lucy had made such a retrograde movement, and how -she could have been drained of so much blood with no sign any where to -show for it. I think I must have continued my wonder in my dreams, -for, sleeping and waking my thoughts always came back to the little -punctures in her throat and the ragged, exhausted appearance of their -edges, tiny though they were. - -Lucy slept well into the day, and when she woke she was fairly well -and strong, though not nearly so much so as the day before. When Van -Helsing had seen her, he went out for a walk, leaving me in charge, -with strict injunctions that I was not to leave her for a moment. I -could hear his voice in the hall, asking the way to the nearest -telegraph office. - -Lucy chatted with me freely, and seemed quite unconscious that -anything had happened. I tried to keep her amused and interested. -When her mother came up to see her, she did not seem to notice any -change whatever, but said to me gratefully, - -"We owe you so much, Dr. Seward, for all you have done, but you really -must now take care not to overwork yourself. You are looking pale -yourself. You want a wife to nurse and look after you a bit, that you -do!" As she spoke, Lucy turned crimson, though it was only -momentarily, for her poor wasted veins could not stand for long an -unwonted drain to the head. The reaction came in excessive pallor as -she turned imploring eyes on me. I smiled and nodded, and laid my -finger on my lips. With a sigh, she sank back amid her pillows. - -Van Helsing returned in a couple of hours, and presently said to me: -"Now you go home, and eat much and drink enough. Make yourself -strong. I stay here tonight, and I shall sit up with little miss -myself. You and I must watch the case, and we must have none other to -know. I have grave reasons. No, do not ask me. Think what you will. -Do not fear to think even the most not-improbable. Goodnight." - -In the hall two of the maids came to me, and asked if they or either -of them might not sit up with Miss Lucy. They implored me to let -them, and when I said it was Dr. Van Helsing's wish that either he or -I should sit up, they asked me quite piteously to intercede with -the 'foreign gentleman'. I was much touched by their kindness. Perhaps -it is because I am weak at present, and perhaps because it was on -Lucy's account, that their devotion was manifested. For over and over -again have I seen similar instances of woman's kindness. I got back -here in time for a late dinner, went my rounds, all well, and set this -down whilst waiting for sleep. It is coming. - - -11 September.--This afternoon I went over to Hillingham. Found Van -Helsing in excellent spirits, and Lucy much better. Shortly after I -had arrived, a big parcel from abroad came for the Professor. He -opened it with much impressment, assumed, of course, and showed a -great bundle of white flowers. - -"These are for you, Miss Lucy," he said. - -"For me? Oh, Dr. Van Helsing!" - -"Yes, my dear, but not for you to play with. These are medicines." -Here Lucy made a wry face. "Nay, but they are not to take in a -decoction or in nauseous form, so you need not snub that so charming -nose, or I shall point out to my friend Arthur what woes he may have -to endure in seeing so much beauty that he so loves so much distort. -Aha, my pretty miss, that bring the so nice nose all straight again. -This is medicinal, but you do not know how. I put him in your window, -I make pretty wreath, and hang him round your neck, so you sleep well. -Oh, yes! They, like the lotus flower, make your trouble forgotten. -It smell so like the waters of Lethe, and of that fountain of youth -that the Conquistadores sought for in the Floridas, and find him all -too late." - -Whilst he was speaking, Lucy had been examining the flowers and -smelling them. Now she threw them down saying, with half laughter, -and half disgust, - -"Oh, Professor, I believe you are only putting up a joke on me. Why, -these flowers are only common garlic." - -To my surprise, Van Helsing rose up and said with all his sternness, -his iron jaw set and his bushy eyebrows meeting, - -"No trifling with me! I never jest! There is grim purpose in what I -do, and I warn you that you do not thwart me. Take care, for the sake -of others if not for your own." Then seeing poor Lucy scared, as she -might well be, he went on more gently, "Oh, little miss, my dear, do -not fear me. I only do for your good, but there is much virtue to you -in those so common flowers. See, I place them myself in your room. I -make myself the wreath that you are to wear. But hush! No telling to -others that make so inquisitive questions. We must obey, and silence -is a part of obedience, and obedience is to bring you strong and well -into loving arms that wait for you. Now sit still a while. Come with -me, friend John, and you shall help me deck the room with my garlic, -which is all the way from Haarlem, where my friend Vanderpool raise -herb in his glass houses all the year. I had to telegraph yesterday, -or they would not have been here." - -We went into the room, taking the flowers with us. The Professor's -actions were certainly odd and not to be found in any pharmacopeia -that I ever heard of. First he fastened up the windows and latched -them securely. Next, taking a handful of the flowers, he rubbed them -all over the sashes, as though to ensure that every whiff of air that -might get in would be laden with the garlic smell. Then with the wisp -he rubbed all over the jamb of the door, above, below, and at each -side, and round the fireplace in the same way. It all seemed -grotesque to me, and presently I said, "Well, Professor, I know you -always have a reason for what you do, but this certainly puzzles me. -It is well we have no sceptic here, or he would say that you were -working some spell to keep out an evil spirit." - -"Perhaps I am!" he answered quietly as he began to make the wreath -which Lucy was to wear round her neck. - -We then waited whilst Lucy made her toilet for the night, and when she -was in bed he came and himself fixed the wreath of garlic round her -neck. The last words he said to her were, - -"Take care you do not disturb it, and even if the room feel close, do -not tonight open the window or the door." - -"I promise," said Lucy. "And thank you both a thousand times for all -your kindness to me! Oh, what have I done to be blessed with such -friends?" - -As we left the house in my fly, which was waiting, Van Helsing said, -"Tonight I can sleep in peace, and sleep I want, two nights of travel, -much reading in the day between, and much anxiety on the day to -follow, and a night to sit up, without to wink. Tomorrow in the -morning early you call for me, and we come together to see our pretty -miss, so much more strong for my 'spell' which I have work. Ho, ho!" - -He seemed so confident that I, remembering my own confidence two -nights before and with the baneful result, felt awe and vague terror. -It must have been my weakness that made me hesitate to tell it to my -friend, but I felt it all the more, like unshed tears. - - - - -CHAPTER 11 - - -LUCY WESTENRA'S DIARY - -12 September.--How good they all are to me. I quite love that dear -Dr. Van Helsing. I wonder why he was so anxious about these flowers. -He positively frightened me, he was so fierce. And yet he must have -been right, for I feel comfort from them already. Somehow, I do not -dread being alone tonight, and I can go to sleep without fear. I -shall not mind any flapping outside the window. Oh, the terrible -struggle that I have had against sleep so often of late, the pain of -sleeplessness, or the pain of the fear of sleep, and with such unknown -horrors as it has for me! How blessed are some people, whose lives -have no fears, no dreads, to whom sleep is a blessing that comes -nightly, and brings nothing but sweet dreams. Well, here I am -tonight, hoping for sleep, and lying like Ophelia in the play, with -'virgin crants and maiden strewments.' I never liked garlic before, -but tonight it is delightful! There is peace in its smell. I feel -sleep coming already. Goodnight, everybody. - - - -DR. SEWARD'S DIARY - -13 September.--Called at the Berkeley and found Van Helsing, as usual, -up to time. The carriage ordered from the hotel was waiting. The -Professor took his bag, which he always brings with him now. - -Let all be put down exactly. Van Helsing and I arrived at Hillingham -at eight o'clock. It was a lovely morning. The bright sunshine and -all the fresh feeling of early autumn seemed like the completion of -nature's annual work. The leaves were turning to all kinds of -beautiful colours, but had not yet begun to drop from the trees. When -we entered we met Mrs. Westenra coming out of the morning room. She -is always an early riser. She greeted us warmly and said, - -"You will be glad to know that Lucy is better. The dear child is -still asleep. I looked into her room and saw her, but did not go in, -lest I should disturb her." The Professor smiled, and looked quite -jubilant. He rubbed his hands together, and said, "Aha! I thought I -had diagnosed the case. My treatment is working." - -To which she replied, "You must not take all the credit to yourself, -doctor. Lucy's state this morning is due in part to me." - -"How do you mean, ma'am?" asked the Professor. - -"Well, I was anxious about the dear child in the night, and went into -her room. She was sleeping soundly, so soundly that even my coming -did not wake her. But the room was awfully stuffy. There were a lot -of those horrible, strong-smelling flowers about everywhere, and she -had actually a bunch of them round her neck. I feared that the heavy -odour would be too much for the dear child in her weak state, so I took -them all away and opened a bit of the window to let in a little fresh -air. You will be pleased with her, I am sure." - -She moved off into her boudoir, where she usually breakfasted early. -As she had spoken, I watched the Professor's face, and saw it turn -ashen gray. He had been able to retain his self-command whilst the -poor lady was present, for he knew her state and how mischievous a -shock would be. He actually smiled on her as he held open the door -for her to pass into her room. But the instant she had disappeared he -pulled me, suddenly and forcibly, into the dining room and closed the -door. - -Then, for the first time in my life, I saw Van Helsing break down. He -raised his hands over his head in a sort of mute despair, and then -beat his palms together in a helpless way. Finally he sat down on a -chair, and putting his hands before his face, began to sob, with loud, -dry sobs that seemed to come from the very racking of his heart. - -Then he raised his arms again, as though appealing to the whole -universe. "God! God! God!" he said. "What have we done, what has -this poor thing done, that we are so sore beset? Is there fate -amongst us still, send down from the pagan world of old, that such -things must be, and in such way? This poor mother, all unknowing, and -all for the best as she think, does such thing as lose her daughter -body and soul, and we must not tell her, we must not even warn her, or -she die, then both die. Oh, how we are beset! How are all the powers -of the devils against us!" - -Suddenly he jumped to his feet. "Come," he said, "come, we must see and -act. Devils or no devils, or all the devils at once, it matters not. -We must fight him all the same." He went to the hall door for his -bag, and together we went up to Lucy's room. - -Once again I drew up the blind, whilst Van Helsing went towards the -bed. This time he did not start as he looked on the poor face with -the same awful, waxen pallor as before. He wore a look of stern -sadness and infinite pity. - -"As I expected," he murmured, with that hissing inspiration of his -which meant so much. Without a word he went and locked the door, and -then began to set out on the little table the instruments for yet -another operation of transfusion of blood. I had long ago recognized -the necessity, and begun to take off my coat, but he stopped me with a -warning hand. "No!" he said. "Today you must operate. I shall -provide. You are weakened already." As he spoke he took off his coat -and rolled up his shirtsleeve. - -Again the operation. Again the narcotic. Again some return of colour -to the ashy cheeks, and the regular breathing of healthy sleep. This -time I watched whilst Van Helsing recruited himself and rested. - -Presently he took an opportunity of telling Mrs. Westenra that she -must not remove anything from Lucy's room without consulting him. -That the flowers were of medicinal value, and that the breathing of -their odour was a part of the system of cure. Then he took over the -care of the case himself, saying that he would watch this night and -the next, and would send me word when to come. - -After another hour Lucy waked from her sleep, fresh and bright and -seemingly not much the worse for her terrible ordeal. - -What does it all mean? I am beginning to wonder if my long habit of -life amongst the insane is beginning to tell upon my own brain. - - - -LUCY WESTENRA'S DIARY - -17 September.--Four days and nights of peace. I am getting so strong -again that I hardly know myself. It is as if I had passed through -some long nightmare, and had just awakened to see the beautiful -sunshine and feel the fresh air of the morning around me. I have a -dim half remembrance of long, anxious times of waiting and fearing, -darkness in which there was not even the pain of hope to make present -distress more poignant. And then long spells of oblivion, and the -rising back to life as a diver coming up through a great press of -water. Since, however, Dr. Van Helsing has been with me, all this bad -dreaming seems to have passed away. The noises that used to frighten -me out of my wits, the flapping against the windows, the distant -voices which seemed so close to me, the harsh sounds that came from I -know not where and commanded me to do I know not what, have all -ceased. I go to bed now without any fear of sleep. I do not even try -to keep awake. I have grown quite fond of the garlic, and a boxful -arrives for me every day from Haarlem. Tonight Dr. Van Helsing is -going away, as he has to be for a day in Amsterdam. But I need not be -watched. I am well enough to be left alone. - -Thank God for Mother's sake, and dear Arthur's, and for all our -friends who have been so kind! I shall not even feel the change, for -last night Dr. Van Helsing slept in his chair a lot of the time. I -found him asleep twice when I awoke. But I did not fear to go to -sleep again, although the boughs or bats or something flapped almost -angrily against the window panes. - - - - -THE PALL MALL GAZETTE 18 September. - -THE ESCAPED WOLF PERILOUS ADVENTURE OF OUR INTERVIEWER - -INTERVIEW WITH THE KEEPER IN THE ZOOLOGICAL GARDENS - -After many inquiries and almost as many refusals, and perpetually -using the words 'PALL MALL GAZETTE' as a sort of talisman, I managed -to find the keeper of the section of the Zoological Gardens in which -the wolf department is included. Thomas Bilder lives in one of the -cottages in the enclosure behind the elephant house, and was just -sitting down to his tea when I found him. Thomas and his wife are -hospitable folk, elderly, and without children, and if the specimen -I enjoyed of their hospitality be of the average kind, their lives -must be pretty comfortable. The keeper would not enter on what he -called business until the supper was over, and we were all -satisfied. Then when the table was cleared, and he had lit his -pipe, he said, - -"Now, Sir, you can go on and arsk me what you want. You'll excoose -me refoosin' to talk of perfeshunal subjucts afore meals. I gives -the wolves and the jackals and the hyenas in all our section their -tea afore I begins to arsk them questions." - -"How do you mean, ask them questions?" I queried, wishful to get him -into a talkative humor. - -"'Ittin' of them over the 'ead with a pole is one way. Scratchin' of -their ears in another, when gents as is flush wants a bit of a show-orf -to their gals. I don't so much mind the fust, the 'ittin of the -pole part afore I chucks in their dinner, but I waits till they've -'ad their sherry and kawffee, so to speak, afore I tries on with the -ear scratchin'. Mind you," he added philosophically, "there's a -deal of the same nature in us as in them theer animiles. Here's you -a-comin' and arskin' of me questions about my business, and I that -grump-like that only for your bloomin' 'arf-quid I'd 'a' seen you -blowed fust 'fore I'd answer. Not even when you arsked me sarcastic -like if I'd like you to arsk the Superintendent if you might arsk me -questions. Without offence did I tell yer to go to 'ell?" - -"You did." - -"An' when you said you'd report me for usin' obscene language that -was 'ittin' me over the 'ead. But the 'arf-quid made that all -right. I weren't a-goin' to fight, so I waited for the food, and -did with my 'owl as the wolves and lions and tigers does. But, lor' -love yer 'art, now that the old 'ooman has stuck a chunk of her -tea-cake in me, an' rinsed me out with her bloomin' old teapot, and I've -lit hup, you may scratch my ears for all you're worth, and won't -even get a growl out of me. Drive along with your questions. I -know what yer a-comin' at, that 'ere escaped wolf." - -"Exactly. I want you to give me your view of it. Just tell me how -it happened, and when I know the facts I'll get you to say what you -consider was the cause of it, and how you think the whole affair -will end." - -"All right, guv'nor. This 'ere is about the 'ole story. -That 'ere wolf what we called Bersicker was one of three gray -ones that came from Norway to Jamrach's, which we bought -off him four years ago. He was a nice well-behaved wolf, -that never gave no trouble to talk of. I'm more surprised -at 'im for wantin' to get out nor any other animile in the -place. But, there, you can't trust wolves no more nor women." - -"Don't you mind him, Sir!" broke in Mrs. Tom, with a cheery -laugh. "'E's got mindin' the animiles so long that blest -if he ain't like a old wolf 'isself! But there ain't no -'arm in 'im." - -"Well, Sir, it was about two hours after feedin' yesterday when I -first hear my disturbance. I was makin' up a litter in the monkey -house for a young puma which is ill. But when I heard the yelpin' -and 'owlin' I kem away straight. There was Bersicker a-tearin' like -a mad thing at the bars as if he wanted to get out. There wasn't -much people about that day, and close at hand was only one man, a -tall, thin chap, with a 'ook nose and a pointed beard, with a few -white hairs runnin' through it. He had a 'ard, cold look and red -eyes, and I took a sort of mislike to him, for it seemed as if it -was 'im as they was hirritated at. He 'ad white kid gloves on 'is -'ands, and he pointed out the animiles to me and says, 'Keeper, -these wolves seem upset at something.' - -"'Maybe it's you,' says I, for I did not like the airs as he -give 'isself. He didn't get angry, as I 'oped he would, but -he smiled a kind of insolent smile, with a mouth full of white, -sharp teeth. 'Oh no, they wouldn't like me,' 'e says. - -"'Ow yes, they would,' says I, a-imitatin' of him. 'They -always like a bone or two to clean their teeth on about tea -time, which you 'as a bagful.' - -"Well, it was a odd thing, but when the animiles see us -a-talkin' they lay down, and when I went over to Bersicker -he let me stroke his ears same as ever. That there man kem -over, and blessed but if he didn't put in his hand and stroke -the old wolf's ears too! - -"'Tyke care,' says I. 'Bersicker is quick.' - -"'Never mind,' he says. I'm used to 'em!' - -"'Are you in the business yourself?' I says, tyking off my -'at, for a man what trades in wolves, anceterer, is a good -friend to keepers. - -"'Nom,' says he, 'not exactly in the business, but I 'ave made pets -of several.' And with that he lifts his 'at as perlite as a lord, -and walks away. Old Bersicker kep' a-lookin' arter 'im till 'e was -out of sight, and then went and lay down in a corner and wouldn't -come hout the 'ole hevening. Well, larst night, so soon as the moon -was hup, the wolves here all began a-'owling. There warn't nothing -for them to 'owl at. There warn't no one near, except some one that -was evidently a-callin' a dog somewheres out back of the gardings in -the Park road. Once or twice I went out to see that all was right, -and it was, and then the 'owling stopped. Just before twelve -o'clock I just took a look round afore turnin' in, an', bust me, but -when I kem opposite to old Bersicker's cage I see the rails broken -and twisted about and the cage empty. And that's all I know for -certing." - -"Did any one else see anything?" - -"One of our gard'ners was a-comin' 'ome about that time from a -'armony, when he sees a big gray dog comin' out through the garding -'edges. At least, so he says, but I don't give much for it myself, -for if he did 'e never said a word about it to his missis when 'e -got 'ome, and it was only after the escape of the wolf was made -known, and we had been up all night a-huntin' of the Park for -Bersicker, that he remembered seein' anything. My own belief was -that the 'armony 'ad got into his 'ead." - -"Now, Mr. Bilder, can you account in any way for the escape -of the wolf?" - -"Well, Sir," he said, with a suspicious sort of modesty, "I think I -can, but I don't know as 'ow you'd be satisfied with the theory." - -"Certainly I shall. If a man like you, who knows the animals from -experience, can't hazard a good guess at any rate, who is even to -try?" - -"Well then, Sir, I accounts for it this way. It seems to me that -'ere wolf escaped--simply because he wanted to get out." - -From the hearty way that both Thomas and his wife laughed at the -joke I could see that it had done service before, and that the whole -explanation was simply an elaborate sell. I couldn't cope in -badinage with the worthy Thomas, but I thought I knew a surer way to -his heart, so I said, "Now, Mr. Bilder, we'll consider that first -half-sovereign worked off, and this brother of his is waiting to be -claimed when you've told me what you think will happen." - -"Right y'are, Sir," he said briskly. "Ye'll excoose me, I -know, for a-chaffin' of ye, but the old woman here winked at -me, which was as much as telling me to go on." - -"Well, I never!" said the old lady. - -"My opinion is this: that 'ere wolf is a'idin' of, somewheres. The -gard'ner wot didn't remember said he was a-gallopin' northward -faster than a horse could go, but I don't believe him, for, yer see, -Sir, wolves don't gallop no more nor dogs does, they not bein' built -that way. Wolves is fine things in a storybook, and I dessay when -they gets in packs and does be chivyin' somethin' that's more -afeared than they is they can make a devil of a noise and chop it -up, whatever it is. But, Lor' bless you, in real life a wolf is -only a low creature, not half so clever or bold as a good dog, and -not half a quarter so much fight in 'im. This one ain't been used -to fightin' or even to providin' for hisself, and more like he's -somewhere round the Park a'hidin' an' a'shiverin' of, and if he -thinks at all, wonderin' where he is to get his breakfast from. Or -maybe he's got down some area and is in a coal cellar. My eye, -won't some cook get a rum start when she sees his green eyes -a-shinin' at her out of the dark! If he can't get food he's bound to -look for it, and mayhap he may chance to light on a butcher's shop -in time. If he doesn't, and some nursemaid goes out walkin' or orf -with a soldier, leavin' of the hinfant in the perambulator--well, -then I shouldn't be surprised if the census is one babby the less. -That's all." - -I was handing him the half-sovereign, when something came bobbing up -against the window, and Mr. Bilder's face doubled its natural length -with surprise. - -"God bless me!" he said. "If there ain't old Bersicker come back by -'isself!" - -He went to the door and opened it, a most unnecessary proceeding it -seemed to me. I have always thought that a wild animal never looks -so well as when some obstacle of pronounced durability is between -us. A personal experience has intensified rather than diminished -that idea. - -After all, however, there is nothing like custom, for neither Bilder -nor his wife thought any more of the wolf than I should of a dog. -The animal itself was a peaceful and well-behaved as that father of -all picture-wolves, Red Riding Hood's quondam friend, whilst moving -her confidence in masquerade. - -The whole scene was a unutterable mixture of comedy and -pathos. The wicked wolf that for a half a day had -paralyzed London and set all the children in town shivering -in their shoes, was there in a sort of penitent mood, and -was received and petted like a sort of vulpine prodigal -son. Old Bilder examined him all over with most tender -solicitude, and when he had finished with his penitent -said, - -"There, I knew the poor old chap would get into some kind of -trouble. Didn't I say it all along? Here's his head all -cut and full of broken glass. 'E's been a-gettin' over -some bloomin' wall or other. It's a shyme that people are -allowed to top their walls with broken bottles. This 'ere's -what comes of it. Come along, Bersicker." - -He took the wolf and locked him up in a cage, with a piece -of meat that satisfied, in quantity at any rate, the elementary -conditions of the fatted calf, and went off to report. - -I came off too, to report the only exclusive information -that is given today regarding the strange escapade at the -Zoo. - - - -DR. SEWARD'S DIARY - -17 September.--I was engaged after dinner in my study posting up my -books, which, through press of other work and the many visits to Lucy, -had fallen sadly into arrear. Suddenly the door was burst open, and -in rushed my patient, with his face distorted with passion. I was -thunderstruck, for such a thing as a patient getting of his own accord -into the Superintendent's study is almost unknown. - -Without an instant's notice he made straight at me. He had a dinner -knife in his hand, and as I saw he was dangerous, I tried to keep the -table between us. He was too quick and too strong for me, however, -for before I could get my balance he had struck at me and cut my left -wrist rather severely. - -Before he could strike again, however, I got in my right hand and he -was sprawling on his back on the floor. My wrist bled freely, and -quite a little pool trickled on to the carpet. I saw that my friend -was not intent on further effort, and occupied myself binding up my -wrist, keeping a wary eye on the prostrate figure all the time. When -the attendants rushed in, and we turned our attention to him, his -employment positively sickened me. He was lying on his belly on the -floor licking up, like a dog, the blood which had fallen from my -wounded wrist. He was easily secured, and to my surprise, went with -the attendants quite placidly, simply repeating over and over again, -"The blood is the life! The blood is the life!" - -I cannot afford to lose blood just at present. I have lost too much -of late for my physical good, and then the prolonged strain of Lucy's -illness and its horrible phases is telling on me. I am over excited -and weary, and I need rest, rest, rest. Happily Van Helsing has not -summoned me, so I need not forego my sleep. Tonight I could not well -do without it. - - - -TELEGRAM, VAN HELSING, ANTWERP, TO SEWARD, CARFAX - -(Sent to Carfax, Sussex, as no county given, delivered late -by twenty-two hours.) - -17 September.--Do not fail to be at Hilllingham tonight. -If not watching all the time, frequently visit and see that -flowers are as placed, very important, do not fail. Shall -be with you as soon as possible after arrival. - - - -DR. SEWARD'S DIARY - -18 September.--Just off train to London. The arrival of Van -Helsing's telegram filled me with dismay. A whole night lost, -and I know by bitter experience what may happen in a night. -Of course it is possible that all may be well, but what may -have happened? Surely there is some horrible doom hanging over us -that every possible accident should thwart us in all we try to do. -I shall take this cylinder with me, and then I can complete -my entry on Lucy's phonograph. - - - - -MEMORANDUM LEFT BY LUCY WESTENRA - -17 September, Night.--I write this and leave it to be seen, -so that no one may by any chance get into trouble through -me. This is an exact record of what took place tonight. I -feel I am dying of weakness, and have barely strength to -write, but it must be done if I die in the doing. - -I went to bed as usual, taking care that the flowers were -placed as Dr. Van Helsing directed, and soon fell asleep. - -I was waked by the flapping at the window, which had begun after -that sleep-walking on the cliff at Whitby when Mina saved me, and -which now I know so well. I was not afraid, but I did wish that -Dr. Seward was in the next room, as Dr. Van Helsing said he would -be, so that I might have called him. I tried to sleep, but I -could not. Then there came to me the old fear of sleep, and I -determined to keep awake. Perversely sleep would try to come then -when I did not want it. So, as I feared to be alone, I opened my -door and called out, "Is there anybody there?" There was no -answer. I was afraid to wake mother, and so closed my door -again. Then outside in the shrubbery I heard a sort of howl like -a dog's, but more fierce and deeper. I went to the window and -looked out, but could see nothing, except a big bat, which had -evidently been buffeting its wings against the window. So I went -back to bed again, but determined not to go to sleep. Presently -the door opened, and mother looked in. Seeing by my moving that -I was not asleep, she came in and sat by me. She said to me even -more sweetly and softly than her wont, - -"I was uneasy about you, darling, and came in to see that -you were all right." - -I feared she might catch cold sitting there, and asked her -to come in and sleep with me, so she came into bed, and lay -down beside me. She did not take off her dressing gown, -for she said she would only stay a while and then go back -to her own bed. As she lay there in my arms, and I in hers -the flapping and buffeting came to the window again. She -was startled and a little frightened, and cried out, "What -is that?" - -I tried to pacify her, and at last succeeded, and she lay -quiet. But I could hear her poor dear heart still beating -terribly. After a while there was the howl again out in -the shrubbery, and shortly after there was a crash at the -window, and a lot of broken glass was hurled on the floor. -The window blind blew back with the wind that rushed in, -and in the aperture of the broken panes there was the head -of a great, gaunt gray wolf. - -Mother cried out in a fright, and struggled up into a -sitting posture, and clutched wildly at anything that would -help her. Amongst other things, she clutched the wreath of -flowers that Dr. Van Helsing insisted on my wearing round -my neck, and tore it away from me. For a second or two she -sat up, pointing at the wolf, and there was a strange and -horrible gurgling in her throat. Then she fell over, as if -struck with lightning, and her head hit my forehead and -made me dizzy for a moment or two. - -The room and all round seemed to spin round. I kept my eyes -fixed on the window, but the wolf drew his head back, and a whole -myriad of little specks seems to come blowing in through the -broken window, and wheeling and circling round like the pillar of -dust that travellers describe when there is a simoon in the -desert. I tried to stir, but there was some spell upon me, and -dear Mother's poor body, which seemed to grow cold already, for -her dear heart had ceased to beat, weighed me down, and I -remembered no more for a while. - -The time did not seem long, but very, very awful, till I -recovered consciousness again. Somewhere near, a passing -bell was tolling. The dogs all round the neighbourhood were -howling, and in our shrubbery, seemingly just outside, a -nightingale was singing. I was dazed and stupid with pain -and terror and weakness, but the sound of the nightingale -seemed like the voice of my dead mother come back to comfort me. -The sounds seemed to have awakened the maids, too, for I could -hear their bare feet pattering outside my door. I called to -them, and they came in, and when they saw what had happened, and -what it was that lay over me on the bed, they screamed out. The -wind rushed in through the broken window, and the door slammed -to. They lifted off the body of my dear mother, and laid her, -covered up with a sheet, on the bed after I had got up. They -were all so frightened and nervous that I directed them to go to -the dining room and each have a glass of wine. The door flew -open for an instant and closed again. The maids shrieked, and -then went in a body to the dining room, and I laid what flowers I -had on my dear mother's breast. When they were there I -remembered what Dr. Van Helsing had told me, but I didn't like to -remove them, and besides, I would have some of the servants to -sit up with me now. I was surprised that the maids did not come -back. I called them, but got no answer, so I went to the dining -room to look for them. - -My heart sank when I saw what had happened. They all four -lay helpless on the floor, breathing heavily. The decanter -of sherry was on the table half full, but there was a queer, -acrid smell about. I was suspicious, and examined the decanter. -It smelt of laudanum, and looking on the sideboard, I found that -the bottle which Mother's doctor uses for her--oh! did use--was -empty. What am I to do? What am I to do? I am back in the room -with Mother. I cannot leave her, and I am alone, save for the -sleeping servants, whom some one has drugged. Alone with the -dead! I dare not go out, for I can hear the low howl of the wolf -through the broken window. - -The air seems full of specks, floating and circling in the -draught from the window, and the lights burn blue and dim. -What am I to do? God shield me from harm this night! I -shall hide this paper in my breast, where they shall find -it when they come to lay me out. My dear mother gone! It -is time that I go too. Goodbye, dear Arthur, if I should -not survive this night. God keep you, dear, and God help -me! - - - - -CHAPTER 12 - - -DR. SEWARD'S DIARY - -18 September.--I drove at once to Hillingham and arrived early. -Keeping my cab at the gate, I went up the avenue alone. I knocked -gently and rang as quietly as possible, for I feared to disturb Lucy -or her mother, and hoped to only bring a servant to the door. After a -while, finding no response, I knocked and rang again, still no -answer. I cursed the laziness of the servants that they should lie -abed at such an hour, for it was now ten o'clock, and so rang and -knocked again, but more impatiently, but still without response. -Hitherto I had blamed only the servants, but now a terrible fear began -to assail me. Was this desolation but another link in the chain of -doom which seemed drawing tight round us? Was it indeed a house of -death to which I had come, too late? I know that minutes, even -seconds of delay, might mean hours of danger to Lucy, if she had had -again one of those frightful relapses, and I went round the house to -try if I could find by chance an entry anywhere. - -I could find no means of ingress. Every window and door was fastened -and locked, and I returned baffled to the porch. As I did so, I heard -the rapid pit-pat of a swiftly driven horse's feet. They stopped at -the gate, and a few seconds later I met Van Helsing running up the -avenue. When he saw me, he gasped out, "Then it was you, and just -arrived. How is she? Are we too late? Did you not get my telegram?" - -I answered as quickly and coherently as I could that I had only got -his telegram early in the morning, and had not a minute in coming -here, and that I could not make any one in the house hear me. He -paused and raised his hat as he said solemnly, "Then I fear we are too -late. God's will be done!" - -With his usual recuperative energy, he went on, "Come. If there be no -way open to get in, we must make one. Time is all in all to us now." - -We went round to the back of the house, where there was a kitchen -window. The Professor took a small surgical saw from his case, and -handing it to me, pointed to the iron bars which guarded the window. -I attacked them at once and had very soon cut through three of them. -Then with a long, thin knife we pushed back the fastening of the -sashes and opened the window. I helped the Professor in, and followed -him. There was no one in the kitchen or in the servants' rooms, which -were close at hand. We tried all the rooms as we went along, and in -the dining room, dimly lit by rays of light through the shutters, -found four servant women lying on the floor. There was no need to -think them dead, for their stertorous breathing and the acrid smell of -laudanum in the room left no doubt as to their condition. - -Van Helsing and I looked at each other, and as we moved away he said, -"We can attend to them later." Then we ascended to Lucy's room. For an -instant or two we paused at the door to listen, but there was no sound -that we could hear. With white faces and trembling hands, we opened -the door gently, and entered the room. - -How shall I describe what we saw? On the bed lay two women, Lucy and -her mother. The latter lay farthest in, and she was covered with a -white sheet, the edge of which had been blown back by the drought -through the broken window, showing the drawn, white, face, with a look -of terror fixed upon it. By her side lay Lucy, with face white and -still more drawn. The flowers which had been round her neck we found -upon her mother's bosom, and her throat was bare, showing the two -little wounds which we had noticed before, but looking horribly white -and mangled. Without a word the Professor bent over the bed, his head -almost touching poor Lucy's breast. Then he gave a quick turn of his -head, as of one who listens, and leaping to his feet, he cried out to -me, "It is not yet too late! Quick! Quick! Bring the brandy!" - -I flew downstairs and returned with it, taking care to smell and taste -it, lest it, too, were drugged like the decanter of sherry which I -found on the table. The maids were still breathing, but more -restlessly, and I fancied that the narcotic was wearing off. I did -not stay to make sure, but returned to Van Helsing. He rubbed the -brandy, as on another occasion, on her lips and gums and on her wrists -and the palms of her hands. He said to me, "I can do this, all that -can be at the present. You go wake those maids. Flick them in the -face with a wet towel, and flick them hard. Make them get heat and -fire and a warm bath. This poor soul is nearly as cold as that beside -her. She will need be heated before we can do anything more." - -I went at once, and found little difficulty in waking three of the -women. The fourth was only a young girl, and the drug had evidently -affected her more strongly so I lifted her on the sofa and let her -sleep. - -The others were dazed at first, but as remembrance came back to them -they cried and sobbed in a hysterical manner. I was stern with them, -however, and would not let them talk. I told them that one life was -bad enough to lose, and if they delayed they would sacrifice Miss -Lucy. So, sobbing and crying they went about their way, half clad as -they were, and prepared fire and water. Fortunately, the kitchen and -boiler fires were still alive, and there was no lack of hot water. We -got a bath and carried Lucy out as she was and placed her in it. -Whilst we were busy chafing her limbs there was a knock at the hall -door. One of the maids ran off, hurried on some more clothes, and -opened it. Then she returned and whispered to us that there was a -gentleman who had come with a message from Mr. Holmwood. I bade her -simply tell him that he must wait, for we could see no one now. She -went away with the message, and, engrossed with our work, I clean -forgot all about him. - -I never saw in all my experience the Professor work in such deadly -earnest. I knew, as he knew, that it was a stand-up fight with death, -and in a pause told him so. He answered me in a way that I did not -understand, but with the sternest look that his face could wear. - -"If that were all, I would stop here where we are now, and let her -fade away into peace, for I see no light in life over her horizon." He -went on with his work with, if possible, renewed and more frenzied -vigour. - -Presently we both began to be conscious that the heat was beginning to -be of some effect. Lucy's heart beat a trifle more audibly to the -stethoscope, and her lungs had a perceptible movement. Van Helsing's -face almost beamed, and as we lifted her from the bath and rolled her -in a hot sheet to dry her he said to me, "The first gain is ours! -Check to the King!" - -We took Lucy into another room, which had by now been prepared, and -laid her in bed and forced a few drops of brandy down her throat. I -noticed that Van Helsing tied a soft silk handkerchief round her -throat. She was still unconscious, and was quite as bad as, if not -worse than, we had ever seen her. - -Van Helsing called in one of the women, and told her to stay with her -and not to take her eyes off her till we returned, and then beckoned -me out of the room. - -"We must consult as to what is to be done," he said as we descended -the stairs. In the hall he opened the dining room door, and we passed -in, he closing the door carefully behind him. The shutters had been -opened, but the blinds were already down, with that obedience to the -etiquette of death which the British woman of the lower classes always -rigidly observes. The room was, therefore, dimly dark. It was, -however, light enough for our purposes. Van Helsing's sternness was -somewhat relieved by a look of perplexity. He was evidently torturing -his mind about something, so I waited for an instant, and he spoke. - -"What are we to do now? Where are we to turn for help? We must have -another transfusion of blood, and that soon, or that poor girl's life -won't be worth an hour's purchase. You are exhausted already. I am -exhausted too. I fear to trust those women, even if they would have -courage to submit. What are we to do for some one who will open his -veins for her?" - -"What's the matter with me, anyhow?" - -The voice came from the sofa across the room, and its tones brought -relief and joy to my heart, for they were those of Quincey Morris. - -Van Helsing started angrily at the first sound, but his face softened -and a glad look came into his eyes as I cried out, "Quincey Morris!" -and rushed towards him with outstretched hands. - -"What brought you here?" I cried as our hands met. - -"I guess Art is the cause." - -He handed me a telegram.--'Have not heard from Seward for three days, -and am terribly anxious. Cannot leave. Father still in same -condition. Send me word how Lucy is. Do not delay.--Holmwood.' - -"I think I came just in the nick of time. You know you have only to -tell me what to do." - -Van Helsing strode forward, and took his hand, looking him straight in -the eyes as he said, "A brave man's blood is the best thing on this -earth when a woman is in trouble. You're a man and no mistake. Well, -the devil may work against us for all he's worth, but God sends us men -when we want them." - -Once again we went through that ghastly operation. I have not the -heart to go through with the details. Lucy had got a terrible shock -and it told on her more than before, for though plenty of blood went -into her veins, her body did not respond to the treatment as well as -on the other occasions. Her struggle back into life was something -frightful to see and hear. However, the action of both heart and -lungs improved, and Van Helsing made a sub-cutaneous injection of -morphia, as before, and with good effect. Her faint became a profound -slumber. The Professor watched whilst I went downstairs with Quincey -Morris, and sent one of the maids to pay off one of the cabmen who -were waiting. - -I left Quincey lying down after having a glass of wine, and told the -cook to get ready a good breakfast. Then a thought struck me, and I -went back to the room where Lucy now was. When I came softly in, I -found Van Helsing with a sheet or two of note paper in his hand. He -had evidently read it, and was thinking it over as he sat with his -hand to his brow. There was a look of grim satisfaction in his face, -as of one who has had a doubt solved. He handed me the paper saying -only, "It dropped from Lucy's breast when we carried her to the bath." - -When I had read it, I stood looking at the Professor, and after a -pause asked him, "In God's name, what does it all mean? Was she, or -is she, mad, or what sort of horrible danger is it?" I was so -bewildered that I did not know what to say more. Van Helsing put out -his hand and took the paper, saying, - -"Do not trouble about it now. Forget it for the present. You shall -know and understand it all in good time, but it will be later. And -now what is it that you came to me to say?" This brought me back to -fact, and I was all myself again. - -"I came to speak about the certificate of death. If we do not act -properly and wisely, there may be an inquest, and that paper would -have to be produced. I am in hopes that we need have no inquest, for -if we had it would surely kill poor Lucy, if nothing else did. I -know, and you know, and the other doctor who attended her knows, that -Mrs. Westenra had disease of the heart, and we can certify that she -died of it. Let us fill up the certificate at once, and I shall take -it myself to the registrar and go on to the undertaker." - -"Good, oh my friend John! Well thought of! Truly Miss Lucy, if she -be sad in the foes that beset her, is at least happy in the friends -that love her. One, two, three, all open their veins for her, besides -one old man. Ah, yes, I know, friend John. I am not blind! I love -you all the more for it! Now go." - -In the hall I met Quincey Morris, with a telegram for Arthur telling -him that Mrs. Westenra was dead, that Lucy also had been ill, but was -now going on better, and that Van Helsing and I were with her. I told -him where I was going, and he hurried me out, but as I was going said, - -"When you come back, Jack, may I have two words with you all to -ourselves?" I nodded in reply and went out. I found no difficulty -about the registration, and arranged with the local undertaker to come -up in the evening to measure for the coffin and to make arrangements. - -When I got back Quincey was waiting for me. I told him I would see -him as soon as I knew about Lucy, and went up to her room. She was -still sleeping, and the Professor seemingly had not moved from his -seat at her side. From his putting his finger to his lips, I gathered -that he expected her to wake before long and was afraid of -fore-stalling nature. So I went down to Quincey and took him into the -breakfast room, where the blinds were not drawn down, and which was a -little more cheerful, or rather less cheerless, than the other rooms. - -When we were alone, he said to me, "Jack Seward, I don't want to shove -myself in anywhere where I've no right to be, but this is no ordinary -case. You know I loved that girl and wanted to marry her, but -although that's all past and gone, I can't help feeling anxious about -her all the same. What is it that's wrong with her? The Dutchman, -and a fine old fellow he is, I can see that, said that time you two -came into the room, that you must have another transfusion of blood, -and that both you and he were exhausted. Now I know well that you -medical men speak in camera, and that a man must not expect to know -what they consult about in private. But this is no common matter, and -whatever it is, I have done my part. Is not that so?" - -"That's so," I said, and he went on. - -"I take it that both you and Van Helsing had done already what I did -today. Is not that so?" - -"That's so." - -"And I guess Art was in it too. When I saw him four days ago down at -his own place he looked queer. I have not seen anything pulled down -so quick since I was on the Pampas and had a mare that I was fond of -go to grass all in a night. One of those big bats that they call -vampires had got at her in the night, and what with his gorge and the -vein left open, there wasn't enough blood in her to let her stand up, -and I had to put a bullet through her as she lay. Jack, if you may -tell me without betraying confidence, Arthur was the first, is not -that so?" - -As he spoke the poor fellow looked terribly anxious. He was in a -torture of suspense regarding the woman he loved, and his utter -ignorance of the terrible mystery which seemed to surround her -intensified his pain. His very heart was bleeding, and it took all -the manhood of him, and there was a royal lot of it, too, to keep him -from breaking down. I paused before answering, for I felt that I must -not betray anything which the Professor wished kept secret, but -already he knew so much, and guessed so much, that there could be no -reason for not answering, so I answered in the same phrase. - -"That's so." - -"And how long has this been going on?" - -"About ten days." - -"Ten days! Then I guess, Jack Seward, that that poor pretty creature -that we all love has had put into her veins within that time the blood -of four strong men. Man alive, her whole body wouldn't hold it." Then -coming close to me, he spoke in a fierce half-whisper. "What took it -out?" - -I shook my head. "That," I said, "is the crux. Van Helsing is simply -frantic about it, and I am at my wits' end. I can't even hazard a -guess. There has been a series of little circumstances which have -thrown out all our calculations as to Lucy being properly watched. -But these shall not occur again. Here we stay until all be well, or -ill." - -Quincey held out his hand. "Count me in," he said. "You and the -Dutchman will tell me what to do, and I'll do it." - -When she woke late in the afternoon, Lucy's first movement was to feel -in her breast, and to my surprise, produced the paper which Van -Helsing had given me to read. The careful Professor had replaced it -where it had come from, lest on waking she should be alarmed. Her -eyes then lit on Van Helsing and on me too, and gladdened. Then she -looked round the room, and seeing where she was, shuddered. She gave -a loud cry, and put her poor thin hands before her pale face. - -We both understood what was meant, that she had realized to the full -her mother's death. So we tried what we could to comfort her. -Doubtless sympathy eased her somewhat, but she was very low in thought -and spirit, and wept silently and weakly for a long time. We told her -that either or both of us would now remain with her all the time, and -that seemed to comfort her. Towards dusk she fell into a doze. Here -a very odd thing occurred. Whilst still asleep she took the paper -from her breast and tore it in two. Van Helsing stepped over and took -the pieces from her. All the same, however, she went on with the -action of tearing, as though the material were still in her hands. -Finally she lifted her hands and opened them as though scattering the -fragments. Van Helsing seemed surprised, and his brows gathered as if -in thought, but he said nothing. - - -19 September.--All last night she slept fitfully, being always afraid -to sleep, and something weaker when she woke from it. The Professor -and I took in turns to watch, and we never left her for a moment -unattended. Quincey Morris said nothing about his intention, but I -knew that all night long he patrolled round and round the house. - -When the day came, its searching light showed the ravages in poor -Lucy's strength. She was hardly able to turn her head, and the little -nourishment which she could take seemed to do her no good. At times -she slept, and both Van Helsing and I noticed the difference in her, -between sleeping and waking. Whilst asleep she looked stronger, -although more haggard, and her breathing was softer. Her open mouth -showed the pale gums drawn back from the teeth, which looked -positively longer and sharper than usual. When she woke the softness -of her eyes evidently changed the expression, for she looked her own -self, although a dying one. In the afternoon she asked for Arthur, -and we telegraphed for him. Quincey went off to meet him at the -station. - -When he arrived it was nearly six o'clock, and the sun was setting -full and warm, and the red light streamed in through the window and -gave more colour to the pale cheeks. When he saw her, Arthur was -simply choking with emotion, and none of us could speak. In the hours -that had passed, the fits of sleep, or the comatose condition that -passed for it, had grown more frequent, so that the pauses when -conversation was possible were shortened. Arthur's presence, however, -seemed to act as a stimulant. She rallied a little, and spoke to him -more brightly than she had done since we arrived. He too pulled -himself together, and spoke as cheerily as he could, so that the best -was made of everything. - -It is now nearly one o'clock, and he and Van Helsing are sitting with -her. I am to relieve them in a quarter of an hour, and I am entering -this on Lucy's phonograph. Until six o'clock they are to try to rest. -I fear that tomorrow will end our watching, for the shock has been too -great. The poor child cannot rally. God help us all. - - - - -LETTER MINA HARKER TO LUCY WESTENRA - -(Unopened by her) - -17 September - -My dearest Lucy, - -"It seems an age since I heard from you, or indeed since I -wrote. You will pardon me, I know, for all my faults when -you have read all my budget of news. Well, I got my husband back -all right. When we arrived at Exeter there was a carriage -waiting for us, and in it, though he had an attack of gout, Mr. -Hawkins. He took us to his house, where there were rooms for us -all nice and comfortable, and we dined together. After dinner -Mr. Hawkins said, - -"'My dears, I want to drink your health and prosperity, and -may every blessing attend you both. I know you both from -children, and have, with love and pride, seen you grow up. -Now I want you to make your home here with me. I have left -to me neither chick nor child. All are gone, and in my -will I have left you everything.' I cried, Lucy dear, as -Jonathan and the old man clasped hands. Our evening was a -very, very happy one. - -"So here we are, installed in this beautiful old house, and -from both my bedroom and the drawing room I can see the -great elms of the cathedral close, with their great black -stems standing out against the old yellow stone of the cathedral, -and I can hear the rooks overhead cawing and cawing and -chattering and chattering and gossiping all day, after the manner -of rooks--and humans. I am busy, I need not tell you, arranging -things and housekeeping. Jonathan and Mr. Hawkins are busy all -day, for now that Jonathan is a partner, Mr. Hawkins wants to -tell him all about the clients. - -"How is your dear mother getting on? I wish I could run up -to town for a day or two to see you, dear, but I dare not -go yet, with so much on my shoulders, and Jonathan wants -looking after still. He is beginning to put some flesh on -his bones again, but he was terribly weakened by the long -illness. Even now he sometimes starts out of his sleep in -a sudden way and awakes all trembling until I can coax him -back to his usual placidity. However, thank God, these -occasions grow less frequent as the days go on, and they -will in time pass away altogether, I trust. And now I have -told you my news, let me ask yours. When are you to be -married, and where, and who is to perform the ceremony, and -what are you to wear, and is it to be a public or private -wedding? Tell me all about it, dear, tell me all about -everything, for there is nothing which interests you which -will not be dear to me. Jonathan asks me to send his 'respectful -duty', but I do not think that is good enough from the junior -partner of the important firm Hawkins & Harker. And so, as you -love me, and he loves me, and I love you with all the moods and -tenses of the verb, I send you simply his 'love' instead. -Goodbye, my dearest Lucy, and blessings on you. - -"Yours, - -"Mina Harker" - - - -REPORT FROM PATRICK HENNESSEY, MD, MRCSLK, QCPI, ETC, ETC, -TO JOHN SEWARD, MD - -20 September - -My dear Sir: - -"In accordance with your wishes, I enclose report of the -conditions of everything left in my charge. With regard to -patient, Renfield, there is more to say. He has had another -outbreak, which might have had a dreadful ending, but which, as -it fortunately happened, was unattended with any unhappy results. -This afternoon a carrier's cart with two men made a call at the -empty house whose grounds abut on ours, the house to which, you -will remember, the patient twice ran away. The men stopped at -our gate to ask the porter their way, as they were strangers. - -"I was myself looking out of the study window, having a -smoke after dinner, and saw one of them come up to the -house. As he passed the window of Renfield's room, the -patient began to rate him from within, and called him all -the foul names he could lay his tongue to. The man, who -seemed a decent fellow enough, contented himself by telling -him to 'shut up for a foul-mouthed beggar', whereon our man -accused him of robbing him and wanting to murder him and -said that he would hinder him if he were to swing for it. -I opened the window and signed to the man not to notice, so -he contented himself after looking the place over and making up -his mind as to what kind of place he had got to by saying, 'Lor' -bless yer, sir, I wouldn't mind what was said to me in a bloomin' -madhouse. I pity ye and the guv'nor for havin' to live in the -house with a wild beast like that.' - -"Then he asked his way civilly enough, and I told him where -the gate of the empty house was. He went away followed by -threats and curses and revilings from our man. I went down -to see if I could make out any cause for his anger, since -he is usually such a well-behaved man, and except his violent -fits nothing of the kind had ever occurred. I found him, to my -astonishment, quite composed and most genial in his manner. I -tried to get him to talk of the incident, but he blandly asked me -questions as to what I meant, and led me to believe that he was -completely oblivious of the affair. It was, I am sorry to say, -however, only another instance of his cunning, for within half an -hour I heard of him again. This time he had broken out through -the window of his room, and was running down the avenue. I -called to the attendants to follow me, and ran after him, for I -feared he was intent on some mischief. My fear was justified -when I saw the same cart which had passed before coming down the -road, having on it some great wooden boxes. The men were wiping -their foreheads, and were flushed in the face, as if with violent -exercise. Before I could get up to him, the patient rushed at -them, and pulling one of them off the cart, began to knock his -head against the ground. If I had not seized him just at the -moment, I believe he would have killed the man there and then. -The other fellow jumped down and struck him over the head with -the butt end of his heavy whip. It was a horrible blow, but he -did not seem to mind it, but seized him also, and struggled with -the three of us, pulling us to and fro as if we were kittens. -You know I am no lightweight, and the others were both burly men. -At first he was silent in his fighting, but as we began to master -him, and the attendants were putting a strait waistcoat on him, -he began to shout, 'I'll frustrate them! They shan't rob me! -They shan't murder me by inches! I'll fight for my Lord and -Master!' and all sorts of similar incoherent ravings. It was -with very considerable difficulty that they got him back to the -house and put him in the padded room. One of the attendants, -Hardy, had a finger broken. However, I set it all right, and he -is going on well. - -"The two carriers were at first loud in their threats of -actions for damages, and promised to rain all the penalties -of the law on us. Their threats were, however, mingled -with some sort of indirect apology for the defeat of the -two of them by a feeble madman. They said that if it had -not been for the way their strength had been spent in carrying -and raising the heavy boxes to the cart they would have made -short work of him. They gave as another reason for their defeat -the extraordinary state of drouth to which they had been reduced -by the dusty nature of their occupation and the reprehensible -distance from the scene of their labors of any place of public -entertainment. I quite understood their drift, and after a stiff -glass of strong grog, or rather more of the same, and with each a -sovereign in hand, they made light of the attack, and swore that -they would encounter a worse madman any day for the pleasure of -meeting so 'bloomin' good a bloke' as your correspondent. I took -their names and addresses, in case they might be needed. They -are as follows: Jack Smollet, of Dudding's Rents, King George's -Road, Great Walworth, and Thomas Snelling, Peter Farley's Row, -Guide Court, Bethnal Green. They are both in the employment of -Harris & Sons, Moving and Shipment Company, Orange Master's Yard, -Soho. - -"I shall report to you any matter of interest occurring here, and -shall wire you at once if there is anything of importance. - -"Believe me, dear Sir, - -"Yours faithfully, - -"Patrick Hennessey." - - - -LETTER, MINA HARKER TO LUCY WESTENRA (Unopened by her) - -18 September - -"My dearest Lucy, - -"Such a sad blow has befallen us. Mr. Hawkins has died very -suddenly. Some may not think it so sad for us, but we had -both come to so love him that it really seems as though we -had lost a father. I never knew either father or mother, -so that the dear old man's death is a real blow to me. Jonathan -is greatly distressed. It is not only that he feels sorrow, deep -sorrow, for the dear, good man who has befriended him all his -life, and now at the end has treated him like his own son and -left him a fortune which to people of our modest bringing up is -wealth beyond the dream of avarice, but Jonathan feels it on -another account. He says the amount of responsibility which it -puts upon him makes him nervous. He begins to doubt himself. I -try to cheer him up, and my belief in him helps him to have a -belief in himself. But it is here that the grave shock that he -experienced tells upon him the most. Oh, it is too hard that a -sweet, simple, noble, strong nature such as his, a nature which -enabled him by our dear, good friend's aid to rise from clerk to -master in a few years, should be so injured that the very essence -of its strength is gone. Forgive me, dear, if I worry you with my -troubles in the midst of your own happiness, but Lucy dear, I -must tell someone, for the strain of keeping up a brave and -cheerful appearance to Jonathan tries me, and I have no one here -that I can confide in. I dread coming up to London, as we must -do that day after tomorrow, for poor Mr. Hawkins left in his will -that he was to be buried in the grave with his father. As there -are no relations at all, Jonathan will have to be chief mourner. -I shall try to run over to see you, dearest, if only for a few -minutes. Forgive me for troubling you. With all blessings, - -"Your loving - -"Mina Harker" - - - -DR. SEWARD'S DIARY - -20 September.--Only resolution and habit can let me make an entry -tonight. I am too miserable, too low spirited, too sick of the world -and all in it, including life itself, that I would not care if I heard -this moment the flapping of the wings of the angel of death. And he -has been flapping those grim wings to some purpose of late, Lucy's -mother and Arthur's father, and now . . . Let me get on with my work. - -I duly relieved Van Helsing in his watch over Lucy. We wanted Arthur -to go to rest also, but he refused at first. It was only when I told -him that we should want him to help us during the day, and that we -must not all break down for want of rest, lest Lucy should suffer, -that he agreed to go. - -Van Helsing was very kind to him. "Come, my child," he said. "Come -with me. You are sick and weak, and have had much sorrow and much -mental pain, as well as that tax on your strength that we know of. -You must not be alone, for to be alone is to be full of fears and -alarms. Come to the drawing room, where there is a big fire, and -there are two sofas. You shall lie on one, and I on the other, and -our sympathy will be comfort to each other, even though we do not -speak, and even if we sleep." - -Arthur went off with him, casting back a longing look on Lucy's face, -which lay in her pillow, almost whiter than the lawn. She lay quite -still, and I looked around the room to see that all was as it should -be. I could see that the Professor had carried out in this room, as -in the other, his purpose of using the garlic. The whole of the -window sashes reeked with it, and round Lucy's neck, over the silk -handkerchief which Van Helsing made her keep on, was a rough chaplet -of the same odorous flowers. - -Lucy was breathing somewhat stertorously, and her face was at its -worst, for the open mouth showed the pale gums. Her teeth, in the -dim, uncertain light, seemed longer and sharper than they had been in -the morning. In particular, by some trick of the light, the canine -teeth looked longer and sharper than the rest. - -I sat down beside her, and presently she moved uneasily. At the same -moment there came a sort of dull flapping or buffeting at the window. -I went over to it softly, and peeped out by the corner of the blind. -There was a full moonlight, and I could see that the noise was made by -a great bat, which wheeled around, doubtless attracted by the light, -although so dim, and every now and again struck the window with its -wings. When I came back to my seat, I found that Lucy had moved -slightly, and had torn away the garlic flowers from her throat. I -replaced them as well as I could, and sat watching her. - -Presently she woke, and I gave her food, as Van Helsing had -prescribed. She took but a little, and that languidly. There did not -seem to be with her now the unconscious struggle for life and strength -that had hitherto so marked her illness. It struck me as curious that -the moment she became conscious she pressed the garlic flowers close -to her. It was certainly odd that whenever she got into that -lethargic state, with the stertorous breathing, she put the flowers -from her, but that when she waked she clutched them close. There was -no possibility of making any mistake about this, for in the long hours -that followed, she had many spells of sleeping and waking and repeated -both actions many times. - -At six o'clock Van Helsing came to relieve me. Arthur had then fallen -into a doze, and he mercifully let him sleep on. When he saw Lucy's -face I could hear the hissing indraw of breath, and he said to me in a -sharp whisper. "Draw up the blind. I want light!" Then he bent down, -and, with his face almost touching Lucy's, examined her carefully. He -removed the flowers and lifted the silk handkerchief from her throat. -As he did so he started back and I could hear his ejaculation, "Mein -Gott!" as it was smothered in his throat. I bent over and looked, -too, and as I noticed some queer chill came over me. The wounds on -the throat had absolutely disappeared. - -For fully five minutes Van Helsing stood looking at her, with his face -at its sternest. Then he turned to me and said calmly, "She is -dying. It will not be long now. It will be much difference, mark me, -whether she dies conscious or in her sleep. Wake that poor boy, and -let him come and see the last. He trusts us, and we have promised -him." - -I went to the dining room and waked him. He was dazed for a moment, -but when he saw the sunlight streaming in through the edges of the -shutters he thought he was late, and expressed his fear. I assured -him that Lucy was still asleep, but told him as gently as I could that -both Van Helsing and I feared that the end was near. He covered his -face with his hands, and slid down on his knees by the sofa, where he -remained, perhaps a minute, with his head buried, praying, whilst his -shoulders shook with grief. I took him by the hand and raised him up. -"Come," I said, "my dear old fellow, summon all your fortitude. It -will be best and easiest for her." - -When we came into Lucy's room I could see that Van Helsing had, with -his usual forethought, been putting matters straight and making -everything look as pleasing as possible. He had even brushed Lucy's -hair, so that it lay on the pillow in its usual sunny ripples. When -we came into the room she opened her eyes, and seeing him, whispered -softly, "Arthur! Oh, my love, I am so glad you have come!" - -He was stooping to kiss her, when Van Helsing motioned him back. -"No," he whispered, "not yet! Hold her hand, it will comfort her -more." - -So Arthur took her hand and knelt beside her, and she looked her best, -with all the soft lines matching the angelic beauty of her eyes. Then -gradually her eyes closed, and she sank to sleep. For a little bit -her breast heaved softly, and her breath came and went like a tired -child's. - -And then insensibly there came the strange change which I had noticed -in the night. Her breathing grew stertorous, the mouth opened, and -the pale gums, drawn back, made the teeth look longer and sharper than -ever. In a sort of sleep-waking, vague, unconscious way she opened -her eyes, which were now dull and hard at once, and said in a soft, -voluptuous voice, such as I had never heard from her lips, "Arthur! -Oh, my love, I am so glad you have come! Kiss me!" - -Arthur bent eagerly over to kiss her, but at that instant Van Helsing, -who, like me, had been startled by her voice, swooped upon him, and -catching him by the neck with both hands, dragged him back with a fury -of strength which I never thought he could have possessed, and -actually hurled him almost across the room. - -"Not on your life!" he said, "not for your living soul and hers!" And -he stood between them like a lion at bay. - -Arthur was so taken aback that he did not for a moment know what to do -or say, and before any impulse of violence could seize him he realized -the place and the occasion, and stood silent, waiting. - -I kept my eyes fixed on Lucy, as did Van Helsing, and we saw a spasm -as of rage flit like a shadow over her face. The sharp teeth clamped -together. Then her eyes closed, and she breathed heavily. - -Very shortly after she opened her eyes in all their softness, and -putting out her poor, pale, thin hand, took Van Helsing's great brown -one, drawing it close to her, she kissed it. "My true friend," she -said, in a faint voice, but with untellable pathos, "My true friend, -and his! Oh, guard him, and give me peace!" - -"I swear it!" he said solemnly, kneeling beside her and holding up his -hand, as one who registers an oath. Then he turned to Arthur, and -said to him, "Come, my child, take her hand in yours, and kiss her on -the forehead, and only once." - -Their eyes met instead of their lips, and so they parted. Lucy's eyes -closed, and Van Helsing, who had been watching closely, took Arthur's -arm, and drew him away. - -And then Lucy's breathing became stertorous again, and all at once it -ceased. - -"It is all over," said Van Helsing. "She is dead!" - -I took Arthur by the arm, and led him away to the drawing room, where -he sat down, and covered his face with his hands, sobbing in a way -that nearly broke me down to see. - -I went back to the room, and found Van Helsing looking at poor Lucy, -and his face was sterner than ever. Some change had come over her -body. Death had given back part of her beauty, for her brow and -cheeks had recovered some of their flowing lines. Even the lips had -lost their deadly pallor. It was as if the blood, no longer needed -for the working of the heart, had gone to make the harshness of death -as little rude as might be. - -"We thought her dying whilst she slept, and sleeping when she died." - - -I stood beside Van Helsing, and said, "Ah well, poor girl, there is -peace for her at last. It is the end!" - -He turned to me, and said with grave solemnity, "Not so, alas! Not -so. It is only the beginning!" - -When I asked him what he meant, he only shook his head and answered, -"We can do nothing as yet. Wait and see." - - - - -CHAPTER 13 - - -DR. SEWARD'S DIARY--cont. - -The funeral was arranged for the next succeeding day, so that Lucy and -her mother might be buried together. I attended to all the ghastly -formalities, and the urbane undertaker proved that his staff was -afflicted, or blessed, with something of his own obsequious suavity. -Even the woman who performed the last offices for the dead remarked to -me, in a confidential, brother-professional way, when she had come out -from the death chamber, - -"She makes a very beautiful corpse, sir. It's quite a privilege to -attend on her. It's not too much to say that she will do credit to -our establishment!" - -I noticed that Van Helsing never kept far away. This was possible -from the disordered state of things in the household. There were no -relatives at hand, and as Arthur had to be back the next day to attend -at his father's funeral, we were unable to notify any one who should -have been bidden. Under the circumstances, Van Helsing and I took it -upon ourselves to examine papers, etc. He insisted upon looking over -Lucy's papers himself. I asked him why, for I feared that he, being a -foreigner, might not be quite aware of English legal requirements, and -so might in ignorance make some unnecessary trouble. - -He answered me, "I know, I know. You forget that I am a lawyer as -well as a doctor. But this is not altogether for the law. You knew -that, when you avoided the coroner. I have more than him to avoid. -There may be papers more, such as this." - -As he spoke he took from his pocket book the memorandum which had been -in Lucy's breast, and which she had torn in her sleep. - -"When you find anything of the solicitor who is for the late Mrs. -Westenra, seal all her papers, and write him tonight. For me, I watch -here in the room and in Miss Lucy's old room all night, and I myself -search for what may be. It is not well that her very thoughts go into -the hands of strangers." - -I went on with my part of the work, and in another half hour had found -the name and address of Mrs. Westenra's solicitor and had written to -him. All the poor lady's papers were in order. Explicit directions -regarding the place of burial were given. I had hardly sealed the -letter, when, to my surprise, Van Helsing walked into the room, -saying, - -"Can I help you friend John? I am free, and if I may, my service is -to you." - -"Have you got what you looked for?" I asked. - -To which he replied, "I did not look for any specific thing. I only -hoped to find, and find I have, all that there was, only some letters -and a few memoranda, and a diary new begun. But I have them here, and -we shall for the present say nothing of them. I shall see that poor -lad tomorrow evening, and, with his sanction, I shall use some." - -When we had finished the work in hand, he said to me, "And now, friend -John, I think we may to bed. We want sleep, both you and I, and rest -to recuperate. Tomorrow we shall have much to do, but for the tonight -there is no need of us. Alas!" - -Before turning in we went to look at poor Lucy. The undertaker had -certainly done his work well, for the room was turned into a small -chapelle ardente. There was a wilderness of beautiful white flowers, -and death was made as little repulsive as might be. The end of the -winding sheet was laid over the face. When the Professor bent over -and turned it gently back, we both started at the beauty before us. -The tall wax candles showing a sufficient light to note it well. All -Lucy's loveliness had come back to her in death, and the hours that -had passed, instead of leaving traces of 'decay's effacing fingers', -had but restored the beauty of life, till positively I could not -believe my eyes that I was looking at a corpse. - -The Professor looked sternly grave. He had not loved her as I had, -and there was no need for tears in his eyes. He said to me, "Remain -till I return," and left the room. He came back with a handful of -wild garlic from the box waiting in the hall, but which had not been -opened, and placed the flowers amongst the others on and around the -bed. Then he took from his neck, inside his collar, a little gold -crucifix, and placed it over the mouth. He restored the sheet to its -place, and we came away. - -I was undressing in my own room, when, with a premonitory tap at the -door, he entered, and at once began to speak. - -"Tomorrow I want you to bring me, before night, a set of post-mortem -knives." - -"Must we make an autopsy?" I asked. - -"Yes and no. I want to operate, but not what you think. Let me tell -you now, but not a word to another. I want to cut off her head and -take out her heart. Ah! You a surgeon, and so shocked! You, whom I -have seen with no tremble of hand or heart, do operations of life and -death that make the rest shudder. Oh, but I must not forget, my dear -friend John, that you loved her, and I have not forgotten it for is I -that shall operate, and you must not help. I would like to do it -tonight, but for Arthur I must not. He will be free after his -father's funeral tomorrow, and he will want to see her, to see it. -Then, when she is coffined ready for the next day, you and I shall -come when all sleep. We shall unscrew the coffin lid, and shall do -our operation, and then replace all, so that none know, save we -alone." - -"But why do it at all? The girl is dead. Why mutilate her poor body -without need? And if there is no necessity for a post-mortem and -nothing to gain by it, no good to her, to us, to science, to human -knowledge, why do it? Without such it is monstrous." - -For answer he put his hand on my shoulder, and said, with infinite -tenderness, "Friend John, I pity your poor bleeding heart, and I love -you the more because it does so bleed. If I could, I would take on -myself the burden that you do bear. But there are things that you -know not, but that you shall know, and bless me for knowing, though -they are not pleasant things. John, my child, you have been my friend -now many years, and yet did you ever know me to do any without good -cause? I may err, I am but man, but I believe in all I do. Was it -not for these causes that you send for me when the great trouble -came? Yes! Were you not amazed, nay horrified, when I would not let -Arthur kiss his love, though she was dying, and snatched him away by -all my strength? Yes! And yet you saw how she thanked me, with her -so beautiful dying eyes, her voice, too, so weak, and she kiss my -rough old hand and bless me? Yes! And did you not hear me swear -promise to her, that so she closed her eyes grateful? Yes! - -"Well, I have good reason now for all I want to do. You have for many -years trust me. You have believe me weeks past, when there be things -so strange that you might have well doubt. Believe me yet a little, -friend John. If you trust me not, then I must tell what I think, and -that is not perhaps well. And if I work, as work I shall, no matter -trust or no trust, without my friend trust in me, I work with heavy -heart and feel oh so lonely when I want all help and courage that may -be!" He paused a moment and went on solemnly, "Friend John, there are -strange and terrible days before us. Let us not be two, but one, that -so we work to a good end. Will you not have faith in me?" - -I took his hand, and promised him. I held my door open as he went -away, and watched him go to his room and close the door. As I stood -without moving, I saw one of the maids pass silently along the -passage, she had her back to me, so did not see me, and go into the -room where Lucy lay. The sight touched me. Devotion is so rare, and -we are so grateful to those who show it unasked to those we love. Here -was a poor girl putting aside the terrors which she naturally had of -death to go watch alone by the bier of the mistress whom she loved, so -that the poor clay might not be lonely till laid to eternal rest. - -I must have slept long and soundly, for it was broad daylight when Van -Helsing waked me by coming into my room. He came over to my bedside -and said, "You need not trouble about the knives. We shall not do -it." - -"Why not?" I asked. For his solemnity of the night before had -greatly impressed me. - -"Because," he said sternly, "it is too late, or too early. See!" -Here he held up the little golden crucifix. - -"This was stolen in the night." - -"How stolen," I asked in wonder, "since you have it now?" - -"Because I get it back from the worthless wretch who stole it, from -the woman who robbed the dead and the living. Her punishment will -surely come, but not through me. She knew not altogether what she -did, and thus unknowing, she only stole. Now we must wait." He went -away on the word, leaving me with a new mystery to think of, a new -puzzle to grapple with. - -The forenoon was a dreary time, but at noon the solicitor came, Mr. -Marquand, of Wholeman, Sons, Marquand & Lidderdale. He was very -genial and very appreciative of what we had done, and took off our -hands all cares as to details. During lunch he told us that Mrs. -Westenra had for some time expected sudden death from her heart, and -had put her affairs in absolute order. He informed us that, with the -exception of a certain entailed property of Lucy's father which now, -in default of direct issue, went back to a distant branch of the -family, the whole estate, real and personal, was left absolutely to -Arthur Holmwood. When he had told us so much he went on, - -"Frankly we did our best to prevent such a testamentary disposition, -and pointed out certain contingencies that might leave her daughter -either penniless or not so free as she should be to act regarding a -matrimonial alliance. Indeed, we pressed the matter so far that we -almost came into collision, for she asked us if we were or were not -prepared to carry out her wishes. Of course, we had then no -alternative but to accept. We were right in principle, and -ninety-nine times out of a hundred we should have proved, by the logic -of events, the accuracy of our judgment. - -"Frankly, however, I must admit that in this case any other form of -disposition would have rendered impossible the carrying out of her -wishes. For by her predeceasing her daughter the latter would have -come into possession of the property, and, even had she only survived -her mother by five minutes, her property would, in case there were no -will, and a will was a practical impossibility in such a case, have -been treated at her decease as under intestacy. In which case Lord -Godalming, though so dear a friend, would have had no claim in the -world. And the inheritors, being remote, would not be likely to -abandon their just rights, for sentimental reasons regarding an entire -stranger. I assure you, my dear sirs, I am rejoiced at the result, -perfectly rejoiced." - -He was a good fellow, but his rejoicing at the one little part, in -which he was officially interested, of so great a tragedy, was an -object-lesson in the limitations of sympathetic understanding. - -He did not remain long, but said he would look in later in the day and -see Lord Godalming. His coming, however, had been a certain comfort -to us, since it assured us that we should not have to dread hostile -criticism as to any of our acts. Arthur was expected at five o'clock, -so a little before that time we visited the death chamber. It was so -in very truth, for now both mother and daughter lay in it. The -undertaker, true to his craft, had made the best display he could of -his goods, and there was a mortuary air about the place that lowered -our spirits at once. - -Van Helsing ordered the former arrangement to be adhered to, -explaining that, as Lord Godalming was coming very soon, it would be -less harrowing to his feelings to see all that was left of his fiancee -quite alone. - -The undertaker seemed shocked at his own stupidity and exerted himself -to restore things to the condition in which we left them the night -before, so that when Arthur came such shocks to his feelings as we -could avoid were saved. - -Poor fellow! He looked desperately sad and broken. Even his stalwart -manhood seemed to have shrunk somewhat under the strain of his -much-tried emotions. He had, I knew, been very genuinely and -devotedly attached to his father, and to lose him, and at such a time, -was a bitter blow to him. With me he was warm as ever, and to Van -Helsing he was sweetly courteous. But I could not help seeing that -there was some constraint with him. The professor noticed it too, and -motioned me to bring him upstairs. I did so, and left him at the door -of the room, as I felt he would like to be quite alone with her, but -he took my arm and led me in, saying huskily, - -"You loved her too, old fellow. She told me all about it, and there -was no friend had a closer place in her heart than you. I don't know -how to thank you for all you have done for her. I can't think -yet . . ." - -Here he suddenly broke down, and threw his arms round my shoulders and -laid his head on my breast, crying, "Oh, Jack! Jack! What shall I -do? The whole of life seems gone from me all at once, and there is -nothing in the wide world for me to live for." - -I comforted him as well as I could. In such cases men do not need -much expression. A grip of the hand, the tightening of an arm over -the shoulder, a sob in unison, are expressions of sympathy dear to a -man's heart. I stood still and silent till his sobs died away, and -then I said softly to him, "Come and look at her." - -Together we moved over to the bed, and I lifted the lawn from her -face. God! How beautiful she was. Every hour seemed to be enhancing -her loveliness. It frightened and amazed me somewhat. And as for -Arthur, he fell to trembling, and finally was shaken with doubt as -with an ague. At last, after a long pause, he said to me in a faint -whisper, "Jack, is she really dead?" - -I assured him sadly that it was so, and went on to suggest, for I felt -that such a horrible doubt should not have life for a moment longer -than I could help, that it often happened that after death faces -become softened and even resolved into their youthful beauty, that -this was especially so when death had been preceded by any acute or -prolonged suffering. I seemed to quite do away with any doubt, and -after kneeling beside the couch for a while and looking at her -lovingly and long, he turned aside. I told him that that must be -goodbye, as the coffin had to be prepared, so he went back and took -her dead hand in his and kissed it, and bent over and kissed her -forehead. He came away, fondly looking back over his shoulder at her -as he came. - -I left him in the drawing room, and told Van Helsing that he had said -goodbye, so the latter went to the kitchen to tell the undertaker's -men to proceed with the preparations and to screw up the coffin. When -he came out of the room again I told him of Arthur's question, and he -replied, "I am not surprised. Just now I doubted for a moment -myself!" - -We all dined together, and I could see that poor Art was trying to -make the best of things. Van Helsing had been silent all dinner time, -but when we had lit our cigars he said, "Lord . . ." but Arthur -interrupted him. - -"No, no, not that, for God's sake! Not yet at any rate. Forgive me, -sir. I did not mean to speak offensively. It is only because my loss -is so recent." - -The Professor answered very sweetly, "I only used that name because I -was in doubt. I must not call you 'Mr.' and I have grown to love you, -yes, my dear boy, to love you, as Arthur." - -Arthur held out his hand, and took the old man's warmly. "Call me -what you will," he said. "I hope I may always have the title of a -friend. And let me say that I am at a loss for words to thank you for -your goodness to my poor dear." He paused a moment, and went on, "I -know that she understood your goodness even better than I do. And if -I was rude or in any way wanting at that time you acted so, you -remember"--the Professor nodded--"you must forgive me." - -He answered with a grave kindness, "I know it was hard for you to -quite trust me then, for to trust such violence needs to understand, -and I take it that you do not, that you cannot, trust me now, for you -do not yet understand. And there may be more times when I shall want -you to trust when you cannot, and may not, and must not yet -understand. But the time will come when your trust shall be whole and -complete in me, and when you shall understand as though the sunlight -himself shone through. Then you shall bless me from first to last for -your own sake, and for the sake of others, and for her dear sake to -whom I swore to protect." - -"And indeed, indeed, sir," said Arthur warmly. "I shall in all ways -trust you. I know and believe you have a very noble heart, and you -are Jack's friend, and you were hers. You shall do what you like." - -The Professor cleared his throat a couple of times, as though about to -speak, and finally said, "May I ask you something now?" - -"Certainly." - -"You know that Mrs. Westenra left you all her property?" - -"No, poor dear. I never thought of it." - -"And as it is all yours, you have a right to deal with it as you will. -I want you to give me permission to read all Miss Lucy's papers and -letters. Believe me, it is no idle curiosity. I have a motive of -which, be sure, she would have approved. I have them all here. I -took them before we knew that all was yours, so that no strange hand -might touch them, no strange eye look through words into her soul. I -shall keep them, if I may. Even you may not see them yet, but I shall -keep them safe. No word shall be lost, and in the good time I shall -give them back to you. It is a hard thing that I ask, but you will do -it, will you not, for Lucy's sake?" - -Arthur spoke out heartily, like his old self, "Dr. Van Helsing, you -may do what you will. I feel that in saying this I am doing what my -dear one would have approved. I shall not trouble you with questions -till the time comes." - -The old Professor stood up as he said solemnly, "And you are right. -There will be pain for us all, but it will not be all pain, nor will -this pain be the last. We and you too, you most of all, dear boy, -will have to pass through the bitter water before we reach the sweet. -But we must be brave of heart and unselfish, and do our duty, and all -will be well!" - -I slept on a sofa in Arthur's room that night. Van Helsing did not go -to bed at all. He went to and fro, as if patroling the house, and was -never out of sight of the room where Lucy lay in her coffin, strewn -with the wild garlic flowers, which sent through the odour of lily and -rose, a heavy, overpowering smell into the night. - - - - -MINA HARKER'S JOURNAL - -22 September.--In the train to Exeter. Jonathan sleeping. It seems -only yesterday that the last entry was made, and yet how much between -then, in Whitby and all the world before me, Jonathan away and no news -of him, and now, married to Jonathan, Jonathan a solicitor, a partner, -rich, master of his business, Mr. Hawkins dead and buried, and -Jonathan with another attack that may harm him. Some day he may ask -me about it. Down it all goes. I am rusty in my shorthand, see what -unexpected prosperity does for us, so it may be as well to freshen it -up again with an exercise anyhow. - -The service was very simple and very solemn. There were only -ourselves and the servants there, one or two old friends of his from -Exeter, his London agent, and a gentleman representing Sir John -Paxton, the President of the Incorporated Law Society. Jonathan and I -stood hand in hand, and we felt that our best and dearest friend was -gone from us. - -We came back to town quietly, taking a bus to Hyde Park Corner. -Jonathan thought it would interest me to go into the Row for a while, -so we sat down. But there were very few people there, and it was -sad-looking and desolate to see so many empty chairs. It made us -think of the empty chair at home. So we got up and walked down -Piccadilly. Jonathan was holding me by the arm, the way he used to in -the old days before I went to school. I felt it very improper, for -you can't go on for some years teaching etiquette and decorum to other -girls without the pedantry of it biting into yourself a bit. But it -was Jonathan, and he was my husband, and we didn't know anybody who -saw us, and we didn't care if they did, so on we walked. I was -looking at a very beautiful girl, in a big cart-wheel hat, sitting in -a victoria outside Guiliano's, when I felt Jonathan clutch my arm so -tight that he hurt me, and he said under his breath, "My God!" - -I am always anxious about Jonathan, for I fear that some nervous fit -may upset him again. So I turned to him quickly, and asked him what -it was that disturbed him. - -He was very pale, and his eyes seemed bulging out as, half in terror -and half in amazement, he gazed at a tall, thin man, with a beaky nose -and black moustache and pointed beard, who was also observing the -pretty girl. He was looking at her so hard that he did not see either -of us, and so I had a good view of him. His face was not a good -face. It was hard, and cruel, and sensual, and big white teeth, that -looked all the whiter because his lips were so red, were pointed like -an animal's. Jonathan kept staring at him, till I was afraid he would -notice. I feared he might take it ill, he looked so fierce and nasty. -I asked Jonathan why he was disturbed, and he answered, evidently -thinking that I knew as much about it as he did, "Do you see who it -is?" - -"No, dear," I said. "I don't know him, who is it?" His answer seemed -to shock and thrill me, for it was said as if he did not know that it -was me, Mina, to whom he was speaking. "It is the man himself!" - -The poor dear was evidently terrified at something, very greatly -terrified. I do believe that if he had not had me to lean on and to -support him he would have sunk down. He kept staring. A man came out -of the shop with a small parcel, and gave it to the lady, who then -drove off. The dark man kept his eyes fixed on her, and when the -carriage moved up Piccadilly he followed in the same direction, and -hailed a hansom. Jonathan kept looking after him, and said, as if to -himself, - -"I believe it is the Count, but he has grown young. My God, if this -be so! Oh, my God! My God! If only I knew! If only I knew!" He was -distressing himself so much that I feared to keep his mind on the -subject by asking him any questions, so I remained silent. I drew -away quietly, and he, holding my arm, came easily. We walked a little -further, and then went in and sat for a while in the Green Park. It -was a hot day for autumn, and there was a comfortable seat in a shady -place. After a few minutes' staring at nothing, Jonathan's eyes -closed, and he went quickly into a sleep, with his head on my -shoulder. I thought it was the best thing for him, so did not disturb -him. In about twenty minutes he woke up, and said to me quite -cheerfully, - -"Why, Mina, have I been asleep! Oh, do forgive me for being so rude. -Come, and we'll have a cup of tea somewhere." - -He had evidently forgotten all about the dark stranger, as in his -illness he had forgotten all that this episode had reminded him of. I -don't like this lapsing into forgetfulness. It may make or continue -some injury to the brain. I must not ask him, for fear I shall do -more harm than good, but I must somehow learn the facts of his journey -abroad. The time is come, I fear, when I must open the parcel, and -know what is written. Oh, Jonathan, you will, I know, forgive me if I -do wrong, but it is for your own dear sake. - - -Later.--A sad homecoming in every way, the house empty of the dear -soul who was so good to us. Jonathan still pale and dizzy under a -slight relapse of his malady, and now a telegram from Van Helsing, -whoever he may be. "You will be grieved to hear that Mrs. Westenra -died five days ago, and that Lucy died the day before yesterday. They -were both buried today." - -Oh, what a wealth of sorrow in a few words! Poor Mrs. Westenra! Poor -Lucy! Gone, gone, never to return to us! And poor, poor Arthur, to -have lost such a sweetness out of his life! God help us all to bear -our troubles. - - - -DR. SEWARD'S DIARY-CONT. - -22 September.--It is all over. Arthur has gone back to Ring, and has -taken Quincey Morris with him. What a fine fellow is Quincey! I -believe in my heart of hearts that he suffered as much about Lucy's -death as any of us, but he bore himself through it like a moral -Viking. If America can go on breeding men like that, she will be a -power in the world indeed. Van Helsing is lying down, having a rest -preparatory to his journey. He goes to Amsterdam tonight, but says he -returns tomorrow night, that he only wants to make some arrangements -which can only be made personally. He is to stop with me then, if he -can. He says he has work to do in London which may take him some -time. Poor old fellow! I fear that the strain of the past week has -broken down even his iron strength. All the time of the burial he -was, I could see, putting some terrible restraint on himself. When it -was all over, we were standing beside Arthur, who, poor fellow, was -speaking of his part in the operation where his blood had been -transfused to his Lucy's veins. I could see Van Helsing's face grow -white and purple by turns. Arthur was saying that he felt since then -as if they two had been really married, and that she was his wife in -the sight of God. None of us said a word of the other operations, and -none of us ever shall. Arthur and Quincey went away together to the -station, and Van Helsing and I came on here. The moment we were alone -in the carriage he gave way to a regular fit of hysterics. He has -denied to me since that it was hysterics, and insisted that it was -only his sense of humor asserting itself under very terrible -conditions. He laughed till he cried, and I had to draw down the -blinds lest any one should see us and misjudge. And then he cried, -till he laughed again, and laughed and cried together, just as a woman -does. I tried to be stern with him, as one is to a woman under the -circumstances, but it had no effect. Men and women are so different -in manifestations of nervous strength or weakness! Then when his face -grew grave and stern again I asked him why his mirth, and why at such -a time. His reply was in a way characteristic of him, for it was -logical and forceful and mysterious. He said, - -"Ah, you don't comprehend, friend John. Do not think that I am not -sad, though I laugh. See, I have cried even when the laugh did choke -me. But no more think that I am all sorry when I cry, for the laugh -he come just the same. Keep it always with you that laughter who -knock at your door and say, 'May I come in?' is not true laughter. -No! He is a king, and he come when and how he like. He ask no -person, he choose no time of suitability. He say, 'I am here.' -Behold, in example I grieve my heart out for that so sweet young -girl. I give my blood for her, though I am old and worn. I give my -time, my skill, my sleep. I let my other sufferers want that she may -have all. And yet I can laugh at her very grave, laugh when the clay -from the spade of the sexton drop upon her coffin and say 'Thud, -thud!' to my heart, till it send back the blood from my cheek. My -heart bleed for that poor boy, that dear boy, so of the age of mine -own boy had I been so blessed that he live, and with his hair and eyes -the same. - -"There, you know now why I love him so. And yet when he say things -that touch my husband-heart to the quick, and make my father-heart -yearn to him as to no other man, not even you, friend John, for we are -more level in experiences than father and son, yet even at such a -moment King Laugh he come to me and shout and bellow in my ear, 'Here I -am! Here I am!' till the blood come dance back and bring some of the -sunshine that he carry with him to my cheek. Oh, friend John, it is a -strange world, a sad world, a world full of miseries, and woes, and -troubles. And yet when King Laugh come, he make them all dance to the -tune he play. Bleeding hearts, and dry bones of the churchyard, and -tears that burn as they fall, all dance together to the music that he -make with that smileless mouth of him. And believe me, friend John, -that he is good to come, and kind. Ah, we men and women are like -ropes drawn tight with strain that pull us different ways. Then tears -come, and like the rain on the ropes, they brace us up, until perhaps -the strain become too great, and we break. But King Laugh he come -like the sunshine, and he ease off the strain again, and we bear to go -on with our labor, what it may be." - -I did not like to wound him by pretending not to see his idea, but as -I did not yet understand the cause of his laughter, I asked him. As -he answered me his face grew stern, and he said in quite a different -tone, - -"Oh, it was the grim irony of it all, this so lovely lady garlanded -with flowers, that looked so fair as life, till one by one we wondered -if she were truly dead, she laid in that so fine marble house in that -lonely churchyard, where rest so many of her kin, laid there with the -mother who loved her, and whom she loved, and that sacred bell going -'Toll! Toll! Toll!' so sad and slow, and those holy men, with the -white garments of the angel, pretending to read books, and yet all the -time their eyes never on the page, and all of us with the bowed head. -And all for what? She is dead, so! Is it not?" - -"Well, for the life of me, Professor," I said, "I can't see anything -to laugh at in all that. Why, your expression makes it a harder -puzzle than before. But even if the burial service was comic, what -about poor Art and his trouble? Why his heart was simply breaking." - -"Just so. Said he not that the transfusion of his blood to her veins -had made her truly his bride?" - -"Yes, and it was a sweet and comforting idea for him." - -"Quite so. But there was a difficulty, friend John. If so that, then -what about the others? Ho, ho! Then this so sweet maid is a -polyandrist, and me, with my poor wife dead to me, but alive by -Church's law, though no wits, all gone, even I, who am faithful -husband to this now-no-wife, am bigamist." - -"I don't see where the joke comes in there either!" I said, and I did -not feel particularly pleased with him for saying such things. He -laid his hand on my arm, and said, - -"Friend John, forgive me if I pain. I showed not my feeling to others -when it would wound, but only to you, my old friend, whom I can trust. -If you could have looked into my heart then when I want to laugh, if -you could have done so when the laugh arrived, if you could do so now, -when King Laugh have pack up his crown, and all that is to him, for he -go far, far away from me, and for a long, long time, maybe you would -perhaps pity me the most of all." - -I was touched by the tenderness of his tone, and asked why. - -"Because I know!" - -And now we are all scattered, and for many a long day loneliness will -sit over our roofs with brooding wings. Lucy lies in the tomb of her -kin, a lordly death house in a lonely churchyard, away from teeming -London, where the air is fresh, and the sun rises over Hampstead Hill, -and where wild flowers grow of their own accord. - -So I can finish this diary, and God only knows if I shall ever begin -another. If I do, or if I even open this again, it will be to deal -with different people and different themes, for here at the end, where -the romance of my life is told, ere I go back to take up the thread of -my life-work, I say sadly and without hope, "FINIS". - - - - -THE WESTMINSTER GAZETTE, 25 SEPTEMBER A HAMPSTEAD MYSTERY - -The neighborhood of Hampstead is just at present exercised -with a series of events which seem to run on lines parallel -to those of what was known to the writers of headlines as -"The Kensington Horror," or "The Stabbing Woman," or "The -Woman in Black." During the past two or three days several -cases have occurred of young children straying from home or -neglecting to return from their playing on the Heath. In -all these cases the children were too young to give any -properly intelligible account of themselves, but the -consensus of their excuses is that they had been with a -"bloofer lady." It has always been late in the evening when -they have been missed, and on two occasions the children -have not been found until early in the following morning. -It is generally supposed in the neighborhood that, as the -first child missed gave as his reason for being away that a -"bloofer lady" had asked him to come for a walk, the others -had picked up the phrase and used it as occasion served. This -is the more natural as the favourite game of the little ones -at present is luring each other away by wiles. A correspondent -writes us that to see some of the tiny tots pretending to be the -"bloofer lady" is supremely funny. Some of our caricaturists -might, he says, take a lesson in the irony of grotesque by -comparing the reality and the picture. It is only in accordance -with general principles of human nature that the "bloofer lady" -should be the popular role at these al fresco performances. Our -correspondent naively says that even Ellen Terry could not be so -winningly attractive as some of these grubby-faced little -children pretend, and even imagine themselves, to be. - -There is, however, possibly a serious side to the question, -for some of the children, indeed all who have been missed -at night, have been slightly torn or wounded in the throat. -The wounds seem such as might be made by a rat or a small -dog, and although of not much importance individually, would tend -to show that whatever animal inflicts them has a system or method -of its own. The police of the division have been instructed to -keep a sharp lookout for straying children, especially when very -young, in and around Hampstead Heath, and for any stray dog which -may be about. - - - - -THE WESTMINSTER GAZETTE, 25 SEPTEMBER EXTRA SPECIAL - -THE HAMPSTEAD HORROR - - -ANOTHER CHILD INJURED - -THE "BLOOFER LADY" - -We have just received intelligence that another child, -missed last night, was only discovered late in the morning -under a furze bush at the Shooter's Hill side of Hampstead -Heath, which is perhaps, less frequented than the other -parts. It has the same tiny wound in the throat as has -been noticed in other cases. It was terribly weak, and -looked quite emaciated. It too, when partially restored, -had the common story to tell of being lured away by the -"bloofer lady". - - - - -CHAPTER 14 - - -MINA HARKER'S JOURNAL - -23 September.--Jonathan is better after a bad night. I am so glad -that he has plenty of work to do, for that keeps his mind off the -terrible things, and oh, I am rejoiced that he is not now weighed down -with the responsibility of his new position. I knew he would be true -to himself, and now how proud I am to see my Jonathan rising to the -height of his advancement and keeping pace in all ways with the duties -that come upon him. He will be away all day till late, for he said he -could not lunch at home. My household work is done, so I shall take -his foreign journal, and lock myself up in my room and read it. - - -24 September.--I hadn't the heart to write last night, that terrible -record of Jonathan's upset me so. Poor dear! How he must have -suffered, whether it be true or only imagination. I wonder if there -is any truth in it at all. Did he get his brain fever, and then write -all those terrible things, or had he some cause for it all? I suppose -I shall never know, for I dare not open the subject to him. And yet -that man we saw yesterday! He seemed quite certain of him, poor -fellow! I suppose it was the funeral upset him and sent his mind back -on some train of thought. - -He believes it all himself. I remember how on our wedding day he said -"Unless some solemn duty come upon me to go back to the bitter hours, -asleep or awake, mad or sane . . ." There seems to be through it all -some thread of continuity. That fearful Count was coming to London. -If it should be, and he came to London, with its teeming millions . . . -There may be a solemn duty, and if it come we must not shrink from -it. I shall be prepared. I shall get my typewriter this very hour -and begin transcribing. Then we shall be ready for other eyes if -required. And if it be wanted, then, perhaps, if I am ready, poor -Jonathan may not be upset, for I can speak for him and never let him -be troubled or worried with it at all. If ever Jonathan quite gets -over the nervousness he may want to tell me of it all, and I can ask -him questions and find out things, and see how I may comfort him. - - - - -LETTER, VAN HELSING TO MRS. HARKER - -24 September - -(Confidence) - -"Dear Madam, - -"I pray you to pardon my writing, in that I am so far -friend as that I sent to you sad news of Miss Lucy -Westenra's death. By the kindness of Lord Godalming, I am -empowered to read her letters and papers, for I am deeply -concerned about certain matters vitally important. In them -I find some letters from you, which show how great friends -you were and how you love her. Oh, Madam Mina, by that -love, I implore you, help me. It is for others' good that -I ask, to redress great wrong, and to lift much and terrible -troubles, that may be more great than you can know. May it be -that I see you? You can trust me. I am friend of Dr. John -Seward and of Lord Godalming (that was Arthur of Miss Lucy). I -must keep it private for the present from all. I should come to -Exeter to see you at once if you tell me I am privilege to come, -and where and when. I implore your pardon, Madam. I have read -your letters to poor Lucy, and know how good you are and how your -husband suffer. So I pray you, if it may be, enlighten him not, -least it may harm. Again your pardon, and forgive me. - -"VAN HELSING" - - - - -TELEGRAM, MRS. HARKER TO VAN HELSING - -25 September.--Come today by quarter past ten train if you -can catch it. Can see you any time you call. - -"WILHELMINA HARKER" - - - - -MINA HARKER'S JOURNAL - -25 September.--I cannot help feeling terribly excited as the time -draws near for the visit of Dr. Van Helsing, for somehow I expect that -it will throw some light upon Jonathan's sad experience, and as he -attended poor dear Lucy in her last illness, he can tell me all about -her. That is the reason of his coming. It is concerning Lucy and her -sleep-walking, and not about Jonathan. Then I shall never know the -real truth now! How silly I am. That awful journal gets hold of my -imagination and tinges everything with something of its own colour. Of -course it is about Lucy. That habit came back to the poor dear, and -that awful night on the cliff must have made her ill. I had almost -forgotten in my own affairs how ill she was afterwards. She must have -told him of her sleep-walking adventure on the cliff, and that I knew -all about it, and now he wants me to tell him what I know, so that he -may understand. I hope I did right in not saying anything of it to -Mrs. Westenra. I should never forgive myself if any act of mine, were -it even a negative one, brought harm on poor dear Lucy. I hope too, -Dr. Van Helsing will not blame me. I have had so much trouble and -anxiety of late that I feel I cannot bear more just at present. - -I suppose a cry does us all good at times, clears the air as other -rain does. Perhaps it was reading the journal yesterday that upset -me, and then Jonathan went away this morning to stay away from me a -whole day and night, the first time we have been parted since our -marriage. I do hope the dear fellow will take care of himself, and -that nothing will occur to upset him. It is two o'clock, and the -doctor will be here soon now. I shall say nothing of Jonathan's -journal unless he asks me. I am so glad I have typewritten out my own -journal, so that, in case he asks about Lucy, I can hand it to him. -It will save much questioning. - -Later.--He has come and gone. Oh, what a strange meeting, and how it -all makes my head whirl round. I feel like one in a dream. Can it be -all possible, or even a part of it? If I had not read Jonathan's -journal first, I should never have accepted even a possibility. Poor, -poor, dear Jonathan! How he must have suffered. Please the good God, -all this may not upset him again. I shall try to save him from it. -But it may be even a consolation and a help to him, terrible though it -be and awful in its consequences, to know for certain that his eyes -and ears and brain did not deceive him, and that it is all true. It -may be that it is the doubt which haunts him, that when the doubt is -removed, no matter which, waking or dreaming, may prove the truth, he -will be more satisfied and better able to bear the shock. Dr. Van -Helsing must be a good man as well as a clever one if he is Arthur's -friend and Dr. Seward's, and if they brought him all the way from -Holland to look after Lucy. I feel from having seen him that he is -good and kind and of a noble nature. When he comes tomorrow I shall -ask him about Jonathan. And then, please God, all this sorrow and -anxiety may lead to a good end. I used to think I would like to -practice interviewing. Jonathan's friend on "The Exeter News" told -him that memory is everything in such work, that you must be able to -put down exactly almost every word spoken, even if you had to refine -some of it afterwards. Here was a rare interview. I shall try to -record it verbatim. - -It was half-past two o'clock when the knock came. I took my courage a -deux mains and waited. In a few minutes Mary opened the door, and -announced "Dr. Van Helsing". - -I rose and bowed, and he came towards me, a man of medium weight, -strongly built, with his shoulders set back over a broad, deep chest -and a neck well balanced on the trunk as the head is on the neck. The -poise of the head strikes me at once as indicative of thought and -power. The head is noble, well-sized, broad, and large behind the -ears. The face, clean-shaven, shows a hard, square chin, a large -resolute, mobile mouth, a good-sized nose, rather straight, but with -quick, sensitive nostrils, that seem to broaden as the big bushy brows -come down and the mouth tightens. The forehead is broad and fine, -rising at first almost straight and then sloping back above two bumps -or ridges wide apart, such a forehead that the reddish hair cannot -possibly tumble over it, but falls naturally back and to the sides. -Big, dark blue eyes are set widely apart, and are quick and tender or -stern with the man's moods. He said to me, - -"Mrs. Harker, is it not?" I bowed assent. - -"That was Miss Mina Murray?" Again I assented. - -"It is Mina Murray that I came to see that was friend of that poor dear -child Lucy Westenra. Madam Mina, it is on account of the dead that I -come." - -"Sir," I said, "you could have no better claim on me than that you -were a friend and helper of Lucy Westenra." And I held out my hand. -He took it and said tenderly, - -"Oh, Madam Mina, I know that the friend of that poor little girl must -be good, but I had yet to learn . . ." He finished his speech with a -courtly bow. I asked him what it was that he wanted to see me about, -so he at once began. - -"I have read your letters to Miss Lucy. Forgive me, but I had to -begin to inquire somewhere, and there was none to ask. I know that -you were with her at Whitby. She sometimes kept a diary, you need not -look surprised, Madam Mina. It was begun after you had left, and was -an imitation of you, and in that diary she traces by inference certain -things to a sleep-walking in which she puts down that you saved her. -In great perplexity then I come to you, and ask you out of your so -much kindness to tell me all of it that you can remember." - -"I can tell you, I think, Dr. Van Helsing, all about it." - -"Ah, then you have good memory for facts, for details? It is not -always so with young ladies." - -"No, doctor, but I wrote it all down at the time. I can show it to -you if you like." - -"Oh, Madam Mina, I well be grateful. You will do me much favour." - -I could not resist the temptation of mystifying him a bit, I suppose -it is some taste of the original apple that remains still in our -mouths, so I handed him the shorthand diary. He took it with a -grateful bow, and said, "May I read it?" - -"If you wish," I answered as demurely as I could. He opened it, and -for an instant his face fell. Then he stood up and bowed. - -"Oh, you so clever woman!" he said. "I knew long that Mr. Jonathan -was a man of much thankfulness, but see, his wife have all the good -things. And will you not so much honour me and so help me as to read -it for me? Alas! I know not the shorthand." - -By this time my little joke was over, and I was almost ashamed. So I -took the typewritten copy from my work basket and handed it to him. - -"Forgive me," I said. "I could not help it, but I had been thinking -that it was of dear Lucy that you wished to ask, and so that you might -not have time to wait, not on my account, but because I know your time -must be precious, I have written it out on the typewriter for you." - -He took it and his eyes glistened. "You are so good," he said. "And -may I read it now? I may want to ask you some things when I have -read." - -"By all means," I said, "read it over whilst I order lunch, and then -you can ask me questions whilst we eat." - -He bowed and settled himself in a chair with his back to the light, -and became so absorbed in the papers, whilst I went to see after lunch -chiefly in order that he might not be disturbed. When I came back, I -found him walking hurriedly up and down the room, his face all ablaze -with excitement. He rushed up to me and took me by both hands. - -"Oh, Madam Mina," he said, "how can I say what I owe to you? This -paper is as sunshine. It opens the gate to me. I am dazed, I am -dazzled, with so much light, and yet clouds roll in behind the light -every time. But that you do not, cannot comprehend. Oh, but I am -grateful to you, you so clever woman. Madame," he said this very -solemnly, "if ever Abraham Van Helsing can do anything for you or -yours, I trust you will let me know. It will be pleasure and delight -if I may serve you as a friend, as a friend, but all I have ever -learned, all I can ever do, shall be for you and those you love. There -are darknesses in life, and there are lights. You are one of the -lights. You will have a happy life and a good life, and your husband -will be blessed in you." - -"But, doctor, you praise me too much, and you do not know me." - -"Not know you, I, who am old, and who have studied all my life men and -women, I who have made my specialty the brain and all that belongs to -him and all that follow from him! And I have read your diary that you -have so goodly written for me, and which breathes out truth in every -line. I, who have read your so sweet letter to poor Lucy of your -marriage and your trust, not know you! Oh, Madam Mina, good women -tell all their lives, and by day and by hour and by minute, such -things that angels can read. And we men who wish to know have in us -something of angels' eyes. Your husband is noble nature, and you are -noble too, for you trust, and trust cannot be where there is mean -nature. And your husband, tell me of him. Is he quite well? Is all -that fever gone, and is he strong and hearty?" - -I saw here an opening to ask him about Jonathan, so I said, "He was -almost recovered, but he has been greatly upset by Mr. Hawkins death." - -He interrupted, "Oh, yes. I know. I know. I have read your last two -letters." - -I went on, "I suppose this upset him, for when we were in town on -Thursday last he had a sort of shock." - -"A shock, and after brain fever so soon! That is not good. What kind -of shock was it?" - -"He thought he saw some one who recalled something terrible, something -which led to his brain fever." And here the whole thing seemed to -overwhelm me in a rush. The pity for Jonathan, the horror which he -experienced, the whole fearful mystery of his diary, and the fear that -has been brooding over me ever since, all came in a tumult. I suppose -I was hysterical, for I threw myself on my knees and held up my hands -to him, and implored him to make my husband well again. He took my -hands and raised me up, and made me sit on the sofa, and sat by me. He -held my hand in his, and said to me with, oh, such infinite sweetness, - -"My life is a barren and lonely one, and so full of work that I have -not had much time for friendships, but since I have been summoned to -here by my friend John Seward I have known so many good people and -seen such nobility that I feel more than ever, and it has grown with -my advancing years, the loneliness of my life. Believe me, then, that -I come here full of respect for you, and you have given me hope, hope, -not in what I am seeking of, but that there are good women still left -to make life happy, good women, whose lives and whose truths may make -good lesson for the children that are to be. I am glad, glad, that I -may here be of some use to you. For if your husband suffer, he suffer -within the range of my study and experience. I promise you that I -will gladly do all for him that I can, all to make his life strong and -manly, and your life a happy one. Now you must eat. You are -overwrought and perhaps over-anxious. Husband Jonathan would not like -to see you so pale, and what he like not where he love, is not to his -good. Therefore for his sake you must eat and smile. You have told -me about Lucy, and so now we shall not speak of it, lest it distress. -I shall stay in Exeter tonight, for I want to think much over what you -have told me, and when I have thought I will ask you questions, if I -may. And then too, you will tell me of husband Jonathan's trouble so -far as you can, but not yet. You must eat now, afterwards you shall -tell me all." - -After lunch, when we went back to the drawing room, he said to me, -"And now tell me all about him." - -When it came to speaking to this great learned man, I began to fear -that he would think me a weak fool, and Jonathan a madman, that -journal is all so strange, and I hesitated to go on. But he was so -sweet and kind, and he had promised to help, and I trusted him, so I -said, - -"Dr. Van Helsing, what I have to tell you is so queer that you must -not laugh at me or at my husband. I have been since yesterday in a -sort of fever of doubt. You must be kind to me, and not think me -foolish that I have even half believed some very strange things." - -He reassured me by his manner as well as his words when he said, "Oh, -my dear, if you only know how strange is the matter regarding which I -am here, it is you who would laugh. I have learned not to think -little of any one's belief, no matter how strange it may be. I have -tried to keep an open mind, and it is not the ordinary things of life -that could close it, but the strange things, the extraordinary things, -the things that make one doubt if they be mad or sane." - -"Thank you, thank you a thousand times! You have taken a weight off my -mind. If you will let me, I shall give you a paper to read. It is -long, but I have typewritten it out. It will tell you my trouble and -Jonathan's. It is the copy of his journal when abroad, and all that -happened. I dare not say anything of it. You will read for yourself -and judge. And then when I see you, perhaps, you will be very kind -and tell me what you think." - -"I promise," he said as I gave him the papers. "I shall in the -morning, as soon as I can, come to see you and your husband, if I -may." - -"Jonathan will be here at half-past eleven, and you must come to lunch -with us and see him then. You could catch the quick 3:34 train, which -will leave you at Paddington before eight." He was surprised at my -knowledge of the trains offhand, but he does not know that I have made -up all the trains to and from Exeter, so that I may help Jonathan in -case he is in a hurry. - -So he took the papers with him and went away, and I sit here thinking, -thinking I don't know what. - - - - -LETTER (by hand), VAN HELSING TO MRS. HARKER - -25 September, 6 o'clock - -"Dear Madam Mina, - -"I have read your husband's so wonderful diary. You may -sleep without doubt. Strange and terrible as it is, it is -true! I will pledge my life on it. It may be worse for -others, but for him and you there is no dread. He is a -noble fellow, and let me tell you from experience of men, -that one who would do as he did in going down that wall and -to that room, aye, and going a second time, is not one to -be injured in permanence by a shock. His brain and his -heart are all right, this I swear, before I have even seen -him, so be at rest. I shall have much to ask him of other -things. I am blessed that today I come to see you, for I -have learn all at once so much that again I am dazzled, -dazzled more than ever, and I must think. - -"Yours the most faithful, - -"Abraham Van Helsing." - - -LETTER, MRS. HARKER TO VAN HELSING - -25 September, 6:30 P.M. - -"My dear Dr. Van Helsing, - -"A thousand thanks for your kind letter, which has taken a -great weight off my mind. And yet, if it be true, what -terrible things there are in the world, and what an awful -thing if that man, that monster, be really in London! I -fear to think. I have this moment, whilst writing, had a -wire from Jonathan, saying that he leaves by the 6:25 tonight -from Launceston and will be here at 10:18, so that I shall have -no fear tonight. Will you, therefore, instead of lunching with -us, please come to breakfast at eight o'clock, if this be not too -early for you? You can get away, if you are in a hurry, by the -10:30 train, which will bring you to Paddington by 2:35. Do not -answer this, as I shall take it that, if I do not hear, you will -come to breakfast. - -"Believe me, - -"Your faithful and grateful friend, - -"Mina Harker." - - - - - -JONATHAN HARKER'S JOURNAL - -26 September.--I thought never to write in this diary again, but the -time has come. When I got home last night Mina had supper ready, and -when we had supped she told me of Van Helsing's visit, and of her -having given him the two diaries copied out, and of how anxious she -has been about me. She showed me in the doctor's letter that all I -wrote down was true. It seems to have made a new man of me. It was -the doubt as to the reality of the whole thing that knocked me over. -I felt impotent, and in the dark, and distrustful. But, now that I -know, I am not afraid, even of the Count. He has succeeded after all, -then, in his design in getting to London, and it was he I saw. He has -got younger, and how? Van Helsing is the man to unmask him and hunt -him out, if he is anything like what Mina says. We sat late, and -talked it over. Mina is dressing, and I shall call at the hotel in a -few minutes and bring him over. - - -He was, I think, surprised to see me. When I came into the room where -he was, and introduced myself, he took me by the shoulder, and turned -my face round to the light, and said, after a sharp scrutiny, - -"But Madam Mina told me you were ill, that you had had a shock." - -It was so funny to hear my wife called 'Madam Mina' by this kindly, -strong-faced old man. I smiled, and said, "I was ill, I have had a -shock, but you have cured me already." - -"And how?" - -"By your letter to Mina last night. I was in doubt, and then -everything took a hue of unreality, and I did not know what to trust, -even the evidence of my own senses. Not knowing what to trust, I did -not know what to do, and so had only to keep on working in what had -hitherto been the groove of my life. The groove ceased to avail me, -and I mistrusted myself. Doctor, you don't know what it is to doubt -everything, even yourself. No, you don't, you couldn't with eyebrows -like yours." - -He seemed pleased, and laughed as he said, "So! You are a -physiognomist. I learn more here with each hour. I am with so much -pleasure coming to you to breakfast, and, oh, sir, you will pardon -praise from an old man, but you are blessed in your wife." - -I would listen to him go on praising Mina for a day, so I simply -nodded and stood silent. - -"She is one of God's women, fashioned by His own hand to show us men -and other women that there is a heaven where we can enter, and that -its light can be here on earth. So true, so sweet, so noble, so -little an egoist, and that, let me tell you, is much in this age, so -sceptical and selfish. And you, sir . . . I have read all the letters -to poor Miss Lucy, and some of them speak of you, so I know you since -some days from the knowing of others, but I have seen your true self -since last night. You will give me your hand, will you not? And let -us be friends for all our lives." - -We shook hands, and he was so earnest and so kind that it made me -quite choky. - -"And now," he said, "may I ask you for some more help? I have a great -task to do, and at the beginning it is to know. You can help me -here. Can you tell me what went before your going to Transylvania? -Later on I may ask more help, and of a different kind, but at first -this will do." - -"Look here, Sir," I said, "does what you have to do concern the -Count?" - -"It does," he said solemnly. - -"Then I am with you heart and soul. As you go by the 10:30 train, you -will not have time to read them, but I shall get the bundle of papers. -You can take them with you and read them in the train." - -After breakfast I saw him to the station. When we were parting he -said, "Perhaps you will come to town if I send for you, and take Madam -Mina too." - -"We shall both come when you will," I said. - -I had got him the morning papers and the London papers of the previous -night, and while we were talking at the carriage window, waiting for -the train to start, he was turning them over. His eyes suddenly -seemed to catch something in one of them, "The Westminster Gazette", I -knew it by the colour, and he grew quite white. He read something -intently, groaning to himself, "Mein Gott! Mein Gott! So soon! So -soon!" I do not think he remembered me at the moment. Just then the -whistle blew, and the train moved off. This recalled him to himself, -and he leaned out of the window and waved his hand, calling out, "Love -to Madam Mina. I shall write so soon as ever I can." - - - - -DR. SEWARD'S DIARY - -26 September.--Truly there is no such thing as finality. Not a week -since I said "Finis," and yet here I am starting fresh again, or -rather going on with the record. Until this afternoon I had no cause -to think of what is done. Renfield had become, to all intents, as -sane as he ever was. He was already well ahead with his fly business, -and he had just started in the spider line also, so he had not been of -any trouble to me. I had a letter from Arthur, written on Sunday, and -from it I gather that he is bearing up wonderfully well. Quincey -Morris is with him, and that is much of a help, for he himself is a -bubbling well of good spirits. Quincey wrote me a line too, and from -him I hear that Arthur is beginning to recover something of his old -buoyancy, so as to them all my mind is at rest. As for myself, I was -settling down to my work with the enthusiasm which I used to have for -it, so that I might fairly have said that the wound which poor Lucy -left on me was becoming cicatrised. - -Everything is, however, now reopened, and what is to be the end God -only knows. I have an idea that Van Helsing thinks he knows, too, but -he will only let out enough at a time to whet curiosity. He went to -Exeter yesterday, and stayed there all night. Today he came back, and -almost bounded into the room at about half-past five o'clock, and -thrust last night's "Westminster Gazette" into my hand. - -"What do you think of that?" he asked as he stood back and folded his -arms. - -I looked over the paper, for I really did not know what he meant, but -he took it from me and pointed out a paragraph about children being -decoyed away at Hampstead. It did not convey much to me, until I -reached a passage where it described small puncture wounds on their -throats. An idea struck me, and I looked up. - -"Well?" he said. - -"It is like poor Lucy's." - -"And what do you make of it?" - -"Simply that there is some cause in common. Whatever it was that -injured her has injured them." I did not quite understand his answer. - -"That is true indirectly, but not directly." - -"How do you mean, Professor?" I asked. I was a little inclined to -take his seriousness lightly, for, after all, four days of rest and -freedom from burning, harrowing, anxiety does help to restore one's -spirits, but when I saw his face, it sobered me. Never, even in the -midst of our despair about poor Lucy, had he looked more stern. - -"Tell me!" I said. "I can hazard no opinion. I do not know what to -think, and I have no data on which to found a conjecture." - -"Do you mean to tell me, friend John, that you have no suspicion as to -what poor Lucy died of, not after all the hints given, not only by -events, but by me?" - -"Of nervous prostration following a great loss or waste of blood." - -"And how was the blood lost or wasted?" I shook my head. - -He stepped over and sat down beside me, and went on, "You are a clever -man, friend John. You reason well, and your wit is bold, but you are -too prejudiced. You do not let your eyes see nor your ears hear, and -that which is outside your daily life is not of account to you. Do -you not think that there are things which you cannot understand, and -yet which are, that some people see things that others cannot? But -there are things old and new which must not be contemplated by men's -eyes, because they know, or think they know, some things which other -men have told them. Ah, it is the fault of our science that it wants -to explain all, and if it explain not, then it says there is nothing -to explain. But yet we see around us every day the growth of new -beliefs, which think themselves new, and which are yet but the old, -which pretend to be young, like the fine ladies at the opera. I -suppose now you do not believe in corporeal transference. No? Nor in -materialization. No? Nor in astral bodies. No? Nor in the reading -of thought. No? Nor in hypnotism . . ." - -"Yes," I said. "Charcot has proved that pretty well." - -He smiled as he went on, "Then you are satisfied as to it. Yes? And -of course then you understand how it act, and can follow the mind of -the great Charcot, alas that he is no more, into the very soul of the -patient that he influence. No? Then, friend John, am I to take it -that you simply accept fact, and are satisfied to let from premise to -conclusion be a blank? No? Then tell me, for I am a student of the -brain, how you accept hypnotism and reject the thought reading. Let -me tell you, my friend, that there are things done today in electrical -science which would have been deemed unholy by the very man who -discovered electricity, who would themselves not so long before been -burned as wizards. There are always mysteries in life. Why was it -that Methuselah lived nine hundred years, and 'Old Parr' one hundred -and sixty-nine, and yet that poor Lucy, with four men's blood in her -poor veins, could not live even one day? For, had she live one more -day, we could save her. Do you know all the mystery of life and -death? Do you know the altogether of comparative anatomy and can say -wherefore the qualities of brutes are in some men, and not in others? -Can you tell me why, when other spiders die small and soon, that one -great spider lived for centuries in the tower of the old Spanish -church and grew and grew, till, on descending, he could drink the oil -of all the church lamps? Can you tell me why in the Pampas, ay and -elsewhere, there are bats that come out at night and open the veins of -cattle and horses and suck dry their veins, how in some islands of the -Western seas there are bats which hang on the trees all day, and those -who have seen describe as like giant nuts or pods, and that when the -sailors sleep on the deck, because that it is hot, flit down on them -and then, and then in the morning are found dead men, white as even -Miss Lucy was?" - -"Good God, Professor!" I said, starting up. "Do you mean to tell me -that Lucy was bitten by such a bat, and that such a thing is here in -London in the nineteenth century?" - -He waved his hand for silence, and went on, "Can you tell me why the -tortoise lives more long than generations of men, why the elephant -goes on and on till he have sees dynasties, and why the parrot never -die only of bite of cat of dog or other complaint? Can you tell me -why men believe in all ages and places that there are men and women -who cannot die? We all know, because science has vouched for the -fact, that there have been toads shut up in rocks for thousands of -years, shut in one so small hole that only hold him since the youth of -the world. Can you tell me how the Indian fakir can make himself to -die and have been buried, and his grave sealed and corn sowed on it, -and the corn reaped and be cut and sown and reaped and cut again, and -then men come and take away the unbroken seal and that there lie the -Indian fakir, not dead, but that rise up and walk amongst them as -before?" - -Here I interrupted him. I was getting bewildered. He so crowded on -my mind his list of nature's eccentricities and possible -impossibilities that my imagination was getting fired. I had a dim -idea that he was teaching me some lesson, as long ago he used to do in -his study at Amsterdam. But he used them to tell me the thing, so -that I could have the object of thought in mind all the time. But now -I was without his help, yet I wanted to follow him, so I said, - -"Professor, let me be your pet student again. Tell me the thesis, so -that I may apply your knowledge as you go on. At present I am going -in my mind from point to point as a madman, and not a sane one, -follows an idea. I feel like a novice lumbering through a bog in a -midst, jumping from one tussock to another in the mere blind effort to -move on without knowing where I am going." - -"That is a good image," he said. "Well, I shall tell you. My thesis -is this, I want you to believe." - -"To believe what?" - -"To believe in things that you cannot. Let me illustrate. I heard -once of an American who so defined faith, 'that faculty which enables -us to believe things which we know to be untrue.' For one, I follow -that man. He meant that we shall have an open mind, and not let a -little bit of truth check the rush of the big truth, like a small rock -does a railway truck. We get the small truth first. Good! We keep -him, and we value him, but all the same we must not let him think -himself all the truth in the universe." - -"Then you want me not to let some previous conviction inure the -receptivity of my mind with regard to some strange matter. Do I read -your lesson aright?" - -"Ah, you are my favourite pupil still. It is worth to teach you. Now -that you are willing to understand, you have taken the first step to -understand. You think then that those so small holes in the -children's throats were made by the same that made the holes in Miss -Lucy?" - -"I suppose so." - -He stood up and said solemnly, "Then you are wrong. Oh, would it were -so! But alas! No. It is worse, far, far worse." - -"In God's name, Professor Van Helsing, what do you mean?" I cried. - -He threw himself with a despairing gesture into a chair, and placed -his elbows on the table, covering his face with his hands as he spoke. - -"They were made by Miss Lucy!" - - - - -CHAPTER 15 - - -DR. SEWARD'S DIARY--cont. - -For a while sheer anger mastered me. It was as if he had during her -life struck Lucy on the face. I smote the table hard and rose up as I -said to him, "Dr. Van Helsing, are you mad?" - -He raised his head and looked at me, and somehow the tenderness of his -face calmed me at once. "Would I were!" he said. "Madness were easy -to bear compared with truth like this. Oh, my friend, why, think -you, did I go so far round, why take so long to tell so simple a -thing? Was it because I hate you and have hated you all my life? Was -it because I wished to give you pain? Was it that I wanted, now so -late, revenge for that time when you saved my life, and from a fearful -death? Ah no!" - -"Forgive me," said I. - -He went on, "My friend, it was because I wished to be gentle in the -breaking to you, for I know you have loved that so sweet lady. But -even yet I do not expect you to believe. It is so hard to accept at -once any abstract truth, that we may doubt such to be possible when we -have always believed the 'no' of it. It is more hard still to accept -so sad a concrete truth, and of such a one as Miss Lucy. Tonight I go -to prove it. Dare you come with me?" - -This staggered me. A man does not like to prove such a truth, Byron -excepted from the category, jealousy. - - "And prove the very truth he most abhorred." - -He saw my hesitation, and spoke, "The logic is simple, no madman's -logic this time, jumping from tussock to tussock in a misty bog. If -it not be true, then proof will be relief. At worst it will not harm. -If it be true! Ah, there is the dread. Yet every dread should help my -cause, for in it is some need of belief. Come, I tell you what I -propose. First, that we go off now and see that child in the -hospital. Dr. Vincent, of the North Hospital, where the papers say -the child is, is a friend of mine, and I think of yours since you were -in class at Amsterdam. He will let two scientists see his case, if he -will not let two friends. We shall tell him nothing, but only that we -wish to learn. And then . . ." - -"And then?" - -He took a key from his pocket and held it up. "And then we spend the -night, you and I, in the churchyard where Lucy lies. This is the key -that lock the tomb. I had it from the coffin man to give to Arthur." - -My heart sank within me, for I felt that there was some fearful ordeal -before us. I could do nothing, however, so I plucked up what heart I -could and said that we had better hasten, as the afternoon was -passing. - -We found the child awake. It had had a sleep and taken some food, and -altogether was going on well. Dr. Vincent took the bandage from its -throat, and showed us the punctures. There was no mistaking the -similarity to those which had been on Lucy's throat. They were -smaller, and the edges looked fresher, that was all. We asked Vincent -to what he attributed them, and he replied that it must have been a -bite of some animal, perhaps a rat, but for his own part, he was -inclined to think it was one of the bats which are so numerous on the -northern heights of London. "Out of so many harmless ones," he said, -"there may be some wild specimen from the South of a more malignant -species. Some sailor may have brought one home, and it managed to -escape, or even from the Zoological Gardens a young one may have got -loose, or one be bred there from a vampire. These things do occur, -you, know. Only ten days ago a wolf got out, and was, I believe, -traced up in this direction. For a week after, the children were -playing nothing but Red Riding Hood on the Heath and in every alley in -the place until this 'bloofer lady' scare came along, since then it -has been quite a gala time with them. Even this poor little mite, -when he woke up today, asked the nurse if he might go away. When she -asked him why he wanted to go, he said he wanted to play with the -'bloofer lady'." - -"I hope," said Van Helsing, "that when you are sending the child home -you will caution its parents to keep strict watch over it. These -fancies to stray are most dangerous, and if the child were to remain -out another night, it would probably be fatal. But in any case I -suppose you will not let it away for some days?" - -"Certainly not, not for a week at least, longer if the wound is not -healed." - -Our visit to the hospital took more time than we had reckoned on, and -the sun had dipped before we came out. When Van Helsing saw how dark -it was, he said, - -"There is not hurry. It is more late than I thought. Come, let us -seek somewhere that we may eat, and then we shall go on our way." - -We dined at 'Jack Straw's Castle' along with a little crowd of -bicyclists and others who were genially noisy. About ten o'clock we -started from the inn. It was then very dark, and the scattered lamps -made the darkness greater when we were once outside their individual -radius. The Professor had evidently noted the road we were to go, for -he went on unhesitatingly, but, as for me, I was in quite a mixup as -to locality. As we went further, we met fewer and fewer people, till -at last we were somewhat surprised when we met even the patrol of -horse police going their usual suburban round. At last we reached the -wall of the churchyard, which we climbed over. With some little -difficulty, for it was very dark, and the whole place seemed so -strange to us, we found the Westenra tomb. The Professor took the -key, opened the creaky door, and standing back, politely, but quite -unconsciously, motioned me to precede him. There was a delicious -irony in the offer, in the courtliness of giving preference on such a -ghastly occasion. My companion followed me quickly, and cautiously -drew the door to, after carefully ascertaining that the lock was a -falling, and not a spring one. In the latter case we should have been -in a bad plight. Then he fumbled in his bag, and taking out a -matchbox and a piece of candle, proceeded to make a light. The tomb -in the daytime, and when wreathed with fresh flowers, had looked grim -and gruesome enough, but now, some days afterwards, when the flowers -hung lank and dead, their whites turning to rust and their greens to -browns, when the spider and the beetle had resumed their accustomed -dominance, when the time-discoloured stone, and dust-encrusted mortar, -and rusty, dank iron, and tarnished brass, and clouded silver-plating -gave back the feeble glimmer of a candle, the effect was more -miserable and sordid than could have been imagined. It conveyed -irresistibly the idea that life, animal life, was not the only thing -which could pass away. - -Van Helsing went about his work systematically. Holding his candle so -that he could read the coffin plates, and so holding it that the sperm -dropped in white patches which congealed as they touched the metal, he -made assurance of Lucy's coffin. Another search in his bag, and he -took out a turnscrew. - -"What are you going to do?" I asked. - -"To open the coffin. You shall yet be convinced." - -Straightway he began taking out the screws, and finally lifted off the -lid, showing the casing of lead beneath. The sight was almost too -much for me. It seemed to be as much an affront to the dead as it -would have been to have stripped off her clothing in her sleep whilst -living. I actually took hold of his hand to stop him. - -He only said, "You shall see," and again fumbling in his bag took out -a tiny fret saw. Striking the turnscrew through the lead with a swift -downward stab, which made me wince, he made a small hole, which was, -however, big enough to admit the point of the saw. I had expected a -rush of gas from the week-old corpse. We doctors, who have had to -study our dangers, have to become accustomed to such things, and I -drew back towards the door. But the Professor never stopped for a -moment. He sawed down a couple of feet along one side of the lead -coffin, and then across, and down the other side. Taking the edge of -the loose flange, he bent it back towards the foot of the coffin, and -holding up the candle into the aperture, motioned to me to look. - -I drew near and looked. The coffin was empty. It was certainly a -surprise to me, and gave me a considerable shock, but Van Helsing was -unmoved. He was now more sure than ever of his ground, and so -emboldened to proceed in his task. "Are you satisfied now, friend -John?" he asked. - -I felt all the dogged argumentativeness of my nature awake within me as -I answered him, "I am satisfied that Lucy's body is not in that -coffin, but that only proves one thing." - -"And what is that, friend John?" - -"That it is not there." - -"That is good logic," he said, "so far as it goes. But how do you, -how can you, account for it not being there?" - -"Perhaps a body-snatcher," I suggested. "Some of the undertaker's -people may have stolen it." I felt that I was speaking folly, and yet -it was the only real cause which I could suggest. - -The Professor sighed. "Ah well!" he said, "we must have more proof. -Come with me." - -He put on the coffin lid again, gathered up all his things and placed -them in the bag, blew out the light, and placed the candle also in the -bag. We opened the door, and went out. Behind us he closed the door -and locked it. He handed me the key, saying, "Will you keep it? You -had better be assured." - -I laughed, it was not a very cheerful laugh, I am bound to say, as I -motioned him to keep it. "A key is nothing," I said, "there are many -duplicates, and anyhow it is not difficult to pick a lock of this -kind." - -He said nothing, but put the key in his pocket. Then he told me to -watch at one side of the churchyard whilst he would watch at the -other. - -I took up my place behind a yew tree, and I saw his dark figure move -until the intervening headstones and trees hid it from my sight. - -It was a lonely vigil. Just after I had taken my place I heard a -distant clock strike twelve, and in time came one and two. I was -chilled and unnerved, and angry with the Professor for taking me on -such an errand and with myself for coming. I was too cold and too -sleepy to be keenly observant, and not sleepy enough to betray my -trust, so altogether I had a dreary, miserable time. - -Suddenly, as I turned round, I thought I saw something like a white -streak, moving between two dark yew trees at the side of the -churchyard farthest from the tomb. At the same time a dark mass moved -from the Professor's side of the ground, and hurriedly went towards -it. Then I too moved, but I had to go round headstones and railed-off -tombs, and I stumbled over graves. The sky was overcast, and -somewhere far off an early cock crew. A little ways off, beyond a -line of scattered juniper trees, which marked the pathway to the -church, a white dim figure flitted in the direction of the tomb. The -tomb itself was hidden by trees, and I could not see where the figure -had disappeared. I heard the rustle of actual movement where I had -first seen the white figure, and coming over, found the Professor -holding in his arms a tiny child. When he saw me he held it out to -me, and said, "Are you satisfied now?" - -"No," I said, in a way that I felt was aggressive. - -"Do you not see the child?" - -"Yes, it is a child, but who brought it here? And is it wounded?" - -"We shall see," said the Professor, and with one impulse we took our -way out of the churchyard, he carrying the sleeping child. - -When we had got some little distance away, we went into a clump of -trees, and struck a match, and looked at the child's throat. It was -without a scratch or scar of any kind. - -"Was I right?" I asked triumphantly. - -"We were just in time," said the Professor thankfully. - -We had now to decide what we were to do with the child, and so -consulted about it. If we were to take it to a police station we -should have to give some account of our movements during the night. -At least, we should have had to make some statement as to how we had -come to find the child. So finally we decided that we would take it -to the Heath, and when we heard a policeman coming, would leave it -where he could not fail to find it. We would then seek our way home -as quickly as we could. All fell out well. At the edge of Hampstead -Heath we heard a policeman's heavy tramp, and laying the child on the -pathway, we waited and watched until he saw it as he flashed his -lantern to and fro. We heard his exclamation of astonishment, and -then we went away silently. By good chance we got a cab near the -'Spainiards,' and drove to town. - -I cannot sleep, so I make this entry. But I must try to get a few -hours' sleep, as Van Helsing is to call for me at noon. He insists -that I go with him on another expedition. - - -27 September.--It was two o'clock before we found a suitable -opportunity for our attempt. The funeral held at noon was all -completed, and the last stragglers of the mourners had taken -themselves lazily away, when, looking carefully from behind a clump of -alder trees, we saw the sexton lock the gate after him. We knew that -we were safe till morning did we desire it, but the Professor told me -that we should not want more than an hour at most. Again I felt that -horrid sense of the reality of things, in which any effort of -imagination seemed out of place, and I realized distinctly the perils -of the law which we were incurring in our unhallowed work. Besides, I -felt it was all so useless. Outrageous as it was to open a leaden -coffin, to see if a woman dead nearly a week were really dead, it now -seemed the height of folly to open the tomb again, when we knew, from -the evidence of our own eyesight, that the coffin was empty. I -shrugged my shoulders, however, and rested silent, for Van Helsing had -a way of going on his own road, no matter who remonstrated. He took -the key, opened the vault, and again courteously motioned me to -precede. The place was not so gruesome as last night, but oh, how -unutterably mean looking when the sunshine streamed in. Van Helsing -walked over to Lucy's coffin, and I followed. He bent over and again -forced back the leaden flange, and a shock of surprise and dismay shot -through me. - -There lay Lucy, seemingly just as we had seen her the night before her -funeral. She was, if possible, more radiantly beautiful than ever, -and I could not believe that she was dead. The lips were red, nay -redder than before, and on the cheeks was a delicate bloom. - -"Is this a juggle?" I said to him. - -"Are you convinced now?" said the Professor, in response, and as he -spoke he put over his hand, and in a way that made me shudder, pulled -back the dead lips and showed the white teeth. "See," he went on, -"they are even sharper than before. With this and this," and he -touched one of the canine teeth and that below it, "the little -children can be bitten. Are you of belief now, friend John?" - -Once more argumentative hostility woke within me. I could not accept -such an overwhelming idea as he suggested. So, with an attempt to -argue of which I was even at the moment ashamed, I said, "She may have -been placed here since last night." - -"Indeed? That is so, and by whom?" - -"I do not know. Someone has done it." - -"And yet she has been dead one week. Most peoples in that time would -not look so." - -I had no answer for this, so was silent. Van Helsing did not seem to -notice my silence. At any rate, he showed neither chagrin nor -triumph. He was looking intently at the face of the dead woman, -raising the eyelids and looking at the eyes, and once more opening the -lips and examining the teeth. Then he turned to me and said, - -"Here, there is one thing which is different from all recorded. Here -is some dual life that is not as the common. She was bitten by the -vampire when she was in a trance, sleep-walking, oh, you start. You -do not know that, friend John, but you shall know it later, and in -trance could he best come to take more blood. In trance she dies, and -in trance she is UnDead, too. So it is that she differ from all -other. Usually when the UnDead sleep at home," as he spoke he made a -comprehensive sweep of his arm to designate what to a vampire was -'home', "their face show what they are, but this so sweet that was -when she not UnDead she go back to the nothings of the common dead. -There is no malign there, see, and so it make hard that I must kill -her in her sleep." - -This turned my blood cold, and it began to dawn upon me that I was -accepting Van Helsing's theories. But if she were really dead, what -was there of terror in the idea of killing her? - -He looked up at me, and evidently saw the change in my face, for he -said almost joyously, "Ah, you believe now?" - -I answered, "Do not press me too hard all at once. I am willing to -accept. How will you do this bloody work?" - -"I shall cut off her head and fill her mouth with garlic, and I shall -drive a stake through her body." - -It made me shudder to think of so mutilating the body of the woman -whom I had loved. And yet the feeling was not so strong as I had -expected. I was, in fact, beginning to shudder at the presence of -this being, this UnDead, as Van Helsing called it, and to loathe it. -Is it possible that love is all subjective, or all objective? - -I waited a considerable time for Van Helsing to begin, but he stood as -if wrapped in thought. Presently he closed the catch of his bag with -a snap, and said, - -"I have been thinking, and have made up my mind as to what is best. -If I did simply follow my inclining I would do now, at this moment, -what is to be done. But there are other things to follow, and things -that are thousand times more difficult in that them we do not know. -This is simple. She have yet no life taken, though that is of time, -and to act now would be to take danger from her forever. But then we -may have to want Arthur, and how shall we tell him of this? If you, -who saw the wounds on Lucy's throat, and saw the wounds so similar on -the child's at the hospital, if you, who saw the coffin empty last -night and full today with a woman who have not change only to be more -rose and more beautiful in a whole week, after she die, if you know of -this and know of the white figure last night that brought the child to -the churchyard, and yet of your own senses you did not believe, how -then, can I expect Arthur, who know none of those things, to believe? - -"He doubted me when I took him from her kiss when she was dying. I -know he has forgiven me because in some mistaken idea I have done -things that prevent him say goodbye as he ought, and he may think that -in some more mistaken idea this woman was buried alive, and that in -most mistake of all we have killed her. He will then argue back that -it is we, mistaken ones, that have killed her by our ideas, and so he -will be much unhappy always. Yet he never can be sure, and that is -the worst of all. And he will sometimes think that she he loved was -buried alive, and that will paint his dreams with horrors of what she -must have suffered, and again, he will think that we may be right, and -that his so beloved was, after all, an UnDead. No! I told him once, -and since then I learn much. Now, since I know it is all true, a -hundred thousand times more do I know that he must pass through the -bitter waters to reach the sweet. He, poor fellow, must have one hour -that will make the very face of heaven grow black to him, then we can -act for good all round and send him peace. My mind is made up. Let -us go. You return home for tonight to your asylum, and see that all -be well. As for me, I shall spend the night here in this churchyard -in my own way. Tomorrow night you will come to me to the Berkeley -Hotel at ten of the clock. I shall send for Arthur to come too, and -also that so fine young man of America that gave his blood. Later we -shall all have work to do. I come with you so far as Piccadilly and -there dine, for I must be back here before the sun set." - -So we locked the tomb and came away, and got over the wall of the -churchyard, which was not much of a task, and drove back to -Piccadilly. - - - - -NOTE LEFT BY VAN HELSING IN HIS PORTMANTEAU, BERKELEY HOTEL DIRECTED TO -JOHN SEWARD, M. D. (Not Delivered) - -27 September - -"Friend John, - -"I write this in case anything should happen. I go alone to -watch in that churchyard. It pleases me that the UnDead, -Miss Lucy, shall not leave tonight, that so on the morrow -night she may be more eager. Therefore I shall fix some -things she like not, garlic and a crucifix, and so seal up -the door of the tomb. She is young as UnDead, and will -heed. Moreover, these are only to prevent her coming out. -They may not prevail on her wanting to get in, for then the -UnDead is desperate, and must find the line of least resistance, -whatsoever it may be. I shall be at hand all the night from -sunset till after sunrise, and if there be aught that may be -learned I shall learn it. For Miss Lucy or from her, I have no -fear, but that other to whom is there that she is UnDead, he have -not the power to seek her tomb and find shelter. He is cunning, -as I know from Mr. Jonathan and from the way that all along he -have fooled us when he played with us for Miss Lucy's life, and -we lost, and in many ways the UnDead are strong. He have always -the strength in his hand of twenty men, even we four who gave our -strength to Miss Lucy it also is all to him. Besides, he can -summon his wolf and I know not what. So if it be that he came -thither on this night he shall find me. But none other shall, -until it be too late. But it may be that he will not attempt the -place. There is no reason why he should. His hunting ground is -more full of game than the churchyard where the UnDead woman -sleeps, and the one old man watch. - -"Therefore I write this in case . . . Take the papers that -are with this, the diaries of Harker and the rest, and read -them, and then find this great UnDead, and cut off his head -and burn his heart or drive a stake through it, so that the -world may rest from him. - -"If it be so, farewell. - -"VAN HELSING." - - - - -DR. SEWARD'S DIARY - -28 September.--It is wonderful what a good night's sleep will do for -one. Yesterday I was almost willing to accept Van Helsing's monstrous -ideas, but now they seem to start out lurid before me as outrages on -common sense. I have no doubt that he believes it all. I wonder if -his mind can have become in any way unhinged. Surely there must be -some rational explanation of all these mysterious things. Is it -possible that the Professor can have done it himself? He is so -abnormally clever that if he went off his head he would carry out his -intent with regard to some fixed idea in a wonderful way. I am loathe -to think it, and indeed it would be almost as great a marvel as the -other to find that Van Helsing was mad, but anyhow I shall watch him -carefully. I may get some light on the mystery. - - -29 September.--Last night, at a little before ten o'clock, Arthur and -Quincey came into Van Helsing's room. He told us all what he wanted -us to do, but especially addressing himself to Arthur, as if all our -wills were centred in his. He began by saying that he hoped we would -all come with him too, "for," he said, "there is a grave duty to be -done there. You were doubtless surprised at my letter?" This query -was directly addressed to Lord Godalming. - -"I was. It rather upset me for a bit. There has been so much trouble -around my house of late that I could do without any more. I have been -curious, too, as to what you mean. - -"Quincey and I talked it over, but the more we talked, the more -puzzled we got, till now I can say for myself that I'm about up a tree -as to any meaning about anything." - -"Me too," said Quincey Morris laconically. - -"Oh," said the Professor, "then you are nearer the beginning, both of -you, than friend John here, who has to go a long way back before he -can even get so far as to begin." - -It was evident that he recognized my return to my old doubting frame -of mind without my saying a word. Then, turning to the other two, he -said with intense gravity, - -"I want your permission to do what I think good this night. It is, I -know, much to ask, and when you know what it is I propose to do you -will know, and only then how much. Therefore may I ask that you -promise me in the dark, so that afterwards, though you may be angry -with me for a time, I must not disguise from myself the possibility -that such may be, you shall not blame yourselves for anything." - -"That's frank anyhow," broke in Quincey. "I'll answer for the -Professor. I don't quite see his drift, but I swear he's honest, and -that's good enough for me." - -"I thank you, Sir," said Van Helsing proudly. "I have done myself the -honour of counting you one trusting friend, and such endorsement is -dear to me." He held out a hand, which Quincey took. - -Then Arthur spoke out, "Dr. Van Helsing, I don't quite like to 'buy a -pig in a poke', as they say in Scotland, and if it be anything in -which my honour as a gentleman or my faith as a Christian is -concerned, I cannot make such a promise. If you can assure me that -what you intend does not violate either of these two, then I give my -consent at once, though for the life of me, I cannot understand what -you are driving at." - -"I accept your limitation," said Van Helsing, "and all I ask of you is -that if you feel it necessary to condemn any act of mine, you will -first consider it well and be satisfied that it does not violate your -reservations." - -"Agreed!" said Arthur. "That is only fair. And now that the -pourparlers are over, may I ask what it is we are to do?" - -"I want you to come with me, and to come in secret, to the churchyard -at Kingstead." - -Arthur's face fell as he said in an amazed sort of way, - -"Where poor Lucy is buried?" - -The Professor bowed. - -Arthur went on, "And when there?" - -"To enter the tomb!" - -Arthur stood up. "Professor, are you in earnest, or is it some -monstrous joke? Pardon me, I see that you are in earnest." He sat -down again, but I could see that he sat firmly and proudly, as one who -is on his dignity. There was silence until he asked again, "And when -in the tomb?" - -"To open the coffin." - -"This is too much!" he said, angrily rising again. "I am willing to -be patient in all things that are reasonable, but in this, this -desecration of the grave, of one who . . ." He fairly choked with -indignation. - -The Professor looked pityingly at him. "If I could spare you one pang, -my poor friend," he said, "God knows I would. But this night our feet -must tread in thorny paths, or later, and for ever, the feet you love -must walk in paths of flame!" - -Arthur looked up with set white face and said, "Take care, sir, take -care!" - -"Would it not be well to hear what I have to say?" said Van Helsing. -"And then you will at least know the limit of my purpose. Shall I go -on?" - -"That's fair enough," broke in Morris. - -After a pause Van Helsing went on, evidently with an effort, "Miss -Lucy is dead, is it not so? Yes! Then there can be no wrong to her. -But if she be not dead . . ." - -Arthur jumped to his feet, "Good God!" he cried. "What do you mean? -Has there been any mistake, has she been buried alive?" He groaned in -anguish that not even hope could soften. - -"I did not say she was alive, my child. I did not think it. I go no -further than to say that she might be UnDead." - -"UnDead! Not alive! What do you mean? Is this all a nightmare, or -what is it?" - -"There are mysteries which men can only guess at, which age by age -they may solve only in part. Believe me, we are now on the verge of -one. But I have not done. May I cut off the head of dead Miss Lucy?" - -"Heavens and earth, no!" cried Arthur in a storm of passion. "Not for -the wide world will I consent to any mutilation of her dead body. Dr. -Van Helsing, you try me too far. What have I done to you that you -should torture me so? What did that poor, sweet girl do that you -should want to cast such dishonour on her grave? Are you mad, that you -speak of such things, or am I mad to listen to them? Don't dare think -more of such a desecration. I shall not give my consent to anything -you do. I have a duty to do in protecting her grave from outrage, and -by God, I shall do it!" - -Van Helsing rose up from where he had all the time been seated, and -said, gravely and sternly, "My Lord Godalming, I too, have a duty to -do, a duty to others, a duty to you, a duty to the dead, and by God, I -shall do it! All I ask you now is that you come with me, that you -look and listen, and if when later I make the same request you do not -be more eager for its fulfillment even than I am, then, I shall do my -duty, whatever it may seem to me. And then, to follow your Lordship's -wishes I shall hold myself at your disposal to render an account to -you, when and where you will." His voice broke a little, and he went -on with a voice full of pity. - -"But I beseech you, do not go forth in anger with me. In a long life -of acts which were often not pleasant to do, and which sometimes did -wring my heart, I have never had so heavy a task as now. Believe me -that if the time comes for you to change your mind towards me, one -look from you will wipe away all this so sad hour, for I would do what -a man can to save you from sorrow. Just think. For why should I give -myself so much labor and so much of sorrow? I have come here from my -own land to do what I can of good, at the first to please my friend -John, and then to help a sweet young lady, whom too, I come to love. -For her, I am ashamed to say so much, but I say it in kindness, I gave -what you gave, the blood of my veins. I gave it, I who was not, like -you, her lover, but only her physician and her friend. I gave her my -nights and days, before death, after death, and if my death can do her -good even now, when she is the dead UnDead, she shall have it freely." -He said this with a very grave, sweet pride, and Arthur was much -affected by it. - -He took the old man's hand and said in a broken voice, "Oh, it is hard -to think of it, and I cannot understand, but at least I shall go with -you and wait." - - - - -CHAPTER 16 - - -DR. SEWARD'S DIARY--cont. - -It was just a quarter before twelve o'clock when we got into the -churchyard over the low wall. The night was dark with occasional -gleams of moonlight between the dents of the heavy clouds that scudded -across the sky. We all kept somehow close together, with Van Helsing -slightly in front as he led the way. When we had come close to the -tomb I looked well at Arthur, for I feared the proximity to a place -laden with so sorrowful a memory would upset him, but he bore himself -well. I took it that the very mystery of the proceeding was in some -way a counteractant to his grief. The Professor unlocked the door, -and seeing a natural hesitation amongst us for various reasons, solved -the difficulty by entering first himself. The rest of us followed, -and he closed the door. He then lit a dark lantern and pointed to a -coffin. Arthur stepped forward hesitatingly. Van Helsing said to me, -"You were with me here yesterday. Was the body of Miss Lucy in that -coffin?" - -"It was." - -The Professor turned to the rest saying, "You hear, and yet there is -no one who does not believe with me." - -He took his screwdriver and again took off the lid of the coffin. -Arthur looked on, very pale but silent. When the lid was removed he -stepped forward. He evidently did not know that there was a leaden -coffin, or at any rate, had not thought of it. When he saw the rent -in the lead, the blood rushed to his face for an instant, but as -quickly fell away again, so that he remained of a ghastly whiteness. -He was still silent. Van Helsing forced back the leaden flange, and -we all looked in and recoiled. - -The coffin was empty! - -For several minutes no one spoke a word. The silence was broken by -Quincey Morris, "Professor, I answered for you. Your word is all I -want. I wouldn't ask such a thing ordinarily, I wouldn't so dishonour -you as to imply a doubt, but this is a mystery that goes beyond any -honour or dishonour. Is this your doing?" - -"I swear to you by all that I hold sacred that I have not removed or -touched her. What happened was this. Two nights ago my friend Seward -and I came here, with good purpose, believe me. I opened that coffin, -which was then sealed up, and we found it as now, empty. We then -waited, and saw something white come through the trees. The next day -we came here in daytime and she lay there. Did she not, friend John? - -"Yes." - -"That night we were just in time. One more so small child was -missing, and we find it, thank God, unharmed amongst the graves. -Yesterday I came here before sundown, for at sundown the UnDead can -move. I waited here all night till the sun rose, but I saw nothing. -It was most probable that it was because I had laid over the clamps of -those doors garlic, which the UnDead cannot bear, and other things -which they shun. Last night there was no exodus, so tonight before -the sundown I took away my garlic and other things. And so it is we -find this coffin empty. But bear with me. So far there is much that -is strange. Wait you with me outside, unseen and unheard, and things -much stranger are yet to be. So," here he shut the dark slide of his -lantern, "now to the outside." He opened the door, and we filed out, -he coming last and locking the door behind him. - -Oh! But it seemed fresh and pure in the night air after the terror of -that vault. How sweet it was to see the clouds race by, and the -passing gleams of the moonlight between the scudding clouds crossing -and passing, like the gladness and sorrow of a man's life. How sweet -it was to breathe the fresh air, that had no taint of death and decay. -How humanizing to see the red lighting of the sky beyond the hill, and -to hear far away the muffled roar that marks the life of a great -city. Each in his own way was solemn and overcome. Arthur was -silent, and was, I could see, striving to grasp the purpose and the -inner meaning of the mystery. I was myself tolerably patient, and -half inclined again to throw aside doubt and to accept Van Helsing's -conclusions. Quincey Morris was phlegmatic in the way of a man who -accepts all things, and accepts them in the spirit of cool bravery, -with hazard of all he has at stake. Not being able to smoke, he cut -himself a good-sized plug of tobacco and began to chew. As to Van -Helsing, he was employed in a definite way. First he took from his -bag a mass of what looked like thin, wafer-like biscuit, which was -carefully rolled up in a white napkin. Next he took out a double -handful of some whitish stuff, like dough or putty. He crumbled the -wafer up fine and worked it into the mass between his hands. This he -then took, and rolling it into thin strips, began to lay them into the -crevices between the door and its setting in the tomb. I was somewhat -puzzled at this, and being close, asked him what it was that he was -doing. Arthur and Quincey drew near also, as they too were curious. - -He answered, "I am closing the tomb so that the UnDead may not enter." - -"And is that stuff you have there going to do it?" - -"It is." - -"What is that which you are using?" This time the question was by -Arthur. Van Helsing reverently lifted his hat as he answered. - -"The Host. I brought it from Amsterdam. I have an Indulgence." - -It was an answer that appalled the most sceptical of us, and we felt -individually that in the presence of such earnest purpose as the -Professor's, a purpose which could thus use the to him most sacred of -things, it was impossible to distrust. In respectful silence we took -the places assigned to us close round the tomb, but hidden from the -sight of any one approaching. I pitied the others, especially Arthur. -I had myself been apprenticed by my former visits to this watching -horror, and yet I, who had up to an hour ago repudiated the proofs, -felt my heart sink within me. Never did tombs look so ghastly white. -Never did cypress, or yew, or juniper so seem the embodiment of -funeral gloom. Never did tree or grass wave or rustle so ominously. -Never did bough creak so mysteriously, and never did the far-away -howling of dogs send such a woeful presage through the night. - -There was a long spell of silence, big, aching, void, and then from -the Professor a keen "S-s-s-s!" He pointed, and far down the avenue of -yews we saw a white figure advance, a dim white figure, which held -something dark at its breast. The figure stopped, and at the moment a -ray of moonlight fell upon the masses of driving clouds, and showed in -startling prominence a dark-haired woman, dressed in the cerements of -the grave. We could not see the face, for it was bent down over what -we saw to be a fair-haired child. There was a pause and a sharp -little cry, such as a child gives in sleep, or a dog as it lies before -the fire and dreams. We were starting forward, but the Professor's -warning hand, seen by us as he stood behind a yew tree, kept us back. -And then as we looked the white figure moved forwards again. It was -now near enough for us to see clearly, and the moonlight still held. -My own heart grew cold as ice, and I could hear the gasp of Arthur, as -we recognized the features of Lucy Westenra. Lucy Westenra, but yet -how changed. The sweetness was turned to adamantine, heartless -cruelty, and the purity to voluptuous wantonness. - -Van Helsing stepped out, and obedient to his gesture, we all advanced -too. The four of us ranged in a line before the door of the tomb. Van -Helsing raised his lantern and drew the slide. By the concentrated -light that fell on Lucy's face we could see that the lips were crimson -with fresh blood, and that the stream had trickled over her chin and -stained the purity of her lawn death-robe. - -We shuddered with horror. I could see by the tremulous light that -even Van Helsing's iron nerve had failed. Arthur was next to me, and -if I had not seized his arm and held him up, he would have fallen. - -When Lucy, I call the thing that was before us Lucy because it bore -her shape, saw us she drew back with an angry snarl, such as a cat -gives when taken unawares, then her eyes ranged over us. Lucy's eyes -in form and colour, but Lucy's eyes unclean and full of hell fire, -instead of the pure, gentle orbs we knew. At that moment the remnant -of my love passed into hate and loathing. Had she then to be killed, -I could have done it with savage delight. As she looked, her eyes -blazed with unholy light, and the face became wreathed with a -voluptuous smile. Oh, God, how it made me shudder to see it! With a -careless motion, she flung to the ground, callous as a devil, the -child that up to now she had clutched strenuously to her breast, -growling over it as a dog growls over a bone. The child gave a sharp -cry, and lay there moaning. There was a cold-bloodedness in the act -which wrung a groan from Arthur. When she advanced to him with -outstretched arms and a wanton smile he fell back and hid his face in -his hands. - -She still advanced, however, and with a languorous, voluptuous grace, -said, "Come to me, Arthur. Leave these others and come to me. My -arms are hungry for you. Come, and we can rest together. Come, my -husband, come!" - -There was something diabolically sweet in her tones, something of the -tinkling of glass when struck, which rang through the brains even of -us who heard the words addressed to another. - -As for Arthur, he seemed under a spell, moving his hands from his -face, he opened wide his arms. She was leaping for them, when Van -Helsing sprang forward and held between them his little golden -crucifix. She recoiled from it, and, with a suddenly distorted face, -full of rage, dashed past him as if to enter the tomb. - -When within a foot or two of the door, however, she stopped, as if -arrested by some irresistible force. Then she turned, and her face -was shown in the clear burst of moonlight and by the lamp, which had -now no quiver from Van Helsing's nerves. Never did I see such baffled -malice on a face, and never, I trust, shall such ever be seen again by -mortal eyes. The beautiful colour became livid, the eyes seemed to -throw out sparks of hell fire, the brows were wrinkled as though the -folds of flesh were the coils of Medusa's snakes, and the lovely, -blood-stained mouth grew to an open square, as in the passion masks of -the Greeks and Japanese. If ever a face meant death, if looks could -kill, we saw it at that moment. - -And so for full half a minute, which seemed an eternity, she remained -between the lifted crucifix and the sacred closing of her means of -entry. - -Van Helsing broke the silence by asking Arthur, "Answer me, oh my -friend! Am I to proceed in my work?" - -"Do as you will, friend. Do as you will. There can be no horror like -this ever any more." And he groaned in spirit. - -Quincey and I simultaneously moved towards him, and took his arms. We -could hear the click of the closing lantern as Van Helsing held it -down. Coming close to the tomb, he began to remove from the chinks -some of the sacred emblem which he had placed there. We all looked on -with horrified amazement as we saw, when he stood back, the woman, -with a corporeal body as real at that moment as our own, pass through -the interstice where scarce a knife blade could have gone. We all -felt a glad sense of relief when we saw the Professor calmly restoring -the strings of putty to the edges of the door. - -When this was done, he lifted the child and said, "Come now, my -friends. We can do no more till tomorrow. There is a funeral at -noon, so here we shall all come before long after that. The friends -of the dead will all be gone by two, and when the sexton locks the -gate we shall remain. Then there is more to do, but not like this of -tonight. As for this little one, he is not much harmed, and by -tomorrow night he shall be well. We shall leave him where the police -will find him, as on the other night, and then to home." - -Coming close to Arthur, he said, "My friend Arthur, you have had a sore -trial, but after, when you look back, you will see how it was -necessary. You are now in the bitter waters, my child. By this time -tomorrow you will, please God, have passed them, and have drunk of the -sweet waters. So do not mourn over-much. Till then I shall not ask -you to forgive me." - -Arthur and Quincey came home with me, and we tried to cheer each other -on the way. We had left behind the child in safety, and were tired. -So we all slept with more or less reality of sleep. - - -29 September, night.--A little before twelve o'clock we three, Arthur, -Quincey Morris, and myself, called for the Professor. It was odd to -notice that by common consent we had all put on black clothes. Of -course, Arthur wore black, for he was in deep mourning, but the rest -of us wore it by instinct. We got to the graveyard by half-past one, -and strolled about, keeping out of official observation, so that when -the gravediggers had completed their task and the sexton, under the -belief that every one had gone, had locked the gate, we had the place -all to ourselves. Van Helsing, instead of his little black bag, had -with him a long leather one, something like a cricketing bag. It was -manifestly of fair weight. - -When we were alone and had heard the last of the footsteps die out up -the road, we silently, and as if by ordered intention, followed the -Professor to the tomb. He unlocked the door, and we entered, closing -it behind us. Then he took from his bag the lantern, which he lit, -and also two wax candles, which, when lighted, he stuck by melting -their own ends, on other coffins, so that they might give light -sufficient to work by. When he again lifted the lid off Lucy's coffin -we all looked, Arthur trembling like an aspen, and saw that the corpse -lay there in all its death beauty. But there was no love in my own -heart, nothing but loathing for the foul Thing which had taken Lucy's -shape without her soul. I could see even Arthur's face grow hard as -he looked. Presently he said to Van Helsing, "Is this really Lucy's -body, or only a demon in her shape?" - -"It is her body, and yet not it. But wait a while, and you shall see -her as she was, and is." - -She seemed like a nightmare of Lucy as she lay there, the pointed -teeth, the blood stained, voluptuous mouth, which made one shudder to -see, the whole carnal and unspirited appearance, seeming like a -devilish mockery of Lucy's sweet purity. Van Helsing, with his usual -methodicalness, began taking the various contents from his bag and -placing them ready for use. First he took out a soldering iron and -some plumbing solder, and then small oil lamp, which gave out, when -lit in a corner of the tomb, gas which burned at a fierce heat with a -blue flame, then his operating knives, which he placed to hand, and -last a round wooden stake, some two and a half or three inches thick -and about three feet long. One end of it was hardened by charring in -the fire, and was sharpened to a fine point. With this stake came a -heavy hammer, such as in households is used in the coal cellar for -breaking the lumps. To me, a doctor's preparations for work of any -kind are stimulating and bracing, but the effect of these things on -both Arthur and Quincey was to cause them a sort of consternation. -They both, however, kept their courage, and remained silent and quiet. - -When all was ready, Van Helsing said, "Before we do anything, let me -tell you this. It is out of the lore and experience of the ancients -and of all those who have studied the powers of the UnDead. When they -become such, there comes with the change the curse of immortality. -They cannot die, but must go on age after age adding new victims and -multiplying the evils of the world. For all that die from the preying -of the Undead become themselves Undead, and prey on their kind. And -so the circle goes on ever widening, like as the ripples from a stone -thrown in the water. Friend Arthur, if you had met that kiss which -you know of before poor Lucy die, or again, last night when you open -your arms to her, you would in time, when you had died, have become -nosferatu, as they call it in Eastern Europe, and would for all time -make more of those Un-Deads that so have filled us with horror. The -career of this so unhappy dear lady is but just begun. Those children -whose blood she sucked are not as yet so much the worse, but if she -lives on, UnDead, more and more they lose their blood and by her power -over them they come to her, and so she draw their blood with that so -wicked mouth. But if she die in truth, then all cease. The tiny -wounds of the throats disappear, and they go back to their play -unknowing ever of what has been. But of the most blessed of all, when -this now UnDead be made to rest as true dead, then the soul of the -poor lady whom we love shall again be free. Instead of working -wickedness by night and growing more debased in the assimilating of it -by day, she shall take her place with the other Angels. So that, my -friend, it will be a blessed hand for her that shall strike the blow -that sets her free. To this I am willing, but is there none amongst -us who has a better right? Will it be no joy to think of hereafter in -the silence of the night when sleep is not, 'It was my hand that sent -her to the stars. It was the hand of him that loved her best, the -hand that of all she would herself have chosen, had it been to her to -choose?' Tell me if there be such a one amongst us?" - -We all looked at Arthur. He saw too, what we all did, the infinite -kindness which suggested that his should be the hand which would -restore Lucy to us as a holy, and not an unholy, memory. He stepped -forward and said bravely, though his hand trembled, and his face was -as pale as snow, "My true friend, from the bottom of my broken heart I -thank you. Tell me what I am to do, and I shall not falter!" - -Van Helsing laid a hand on his shoulder, and said, "Brave lad! A -moment's courage, and it is done. This stake must be driven through -her. It well be a fearful ordeal, be not deceived in that, but it -will be only a short time, and you will then rejoice more than your -pain was great. From this grim tomb you will emerge as though you -tread on air. But you must not falter when once you have begun. Only -think that we, your true friends, are round you, and that we pray for -you all the time." - -"Go on," said Arthur hoarsely. "Tell me what I am to do." - -"Take this stake in your left hand, ready to place to the point over -the heart, and the hammer in your right. Then when we begin our -prayer for the dead, I shall read him, I have here the book, and the -others shall follow, strike in God's name, that so all may be well -with the dead that we love and that the UnDead pass away." - -Arthur took the stake and the hammer, and when once his mind was set -on action his hands never trembled nor even quivered. Van Helsing -opened his missal and began to read, and Quincey and I followed as -well as we could. - -Arthur placed the point over the heart, and as I looked I could see its -dint in the white flesh. Then he struck with all his might. - -The thing in the coffin writhed, and a hideous, blood-curdling screech -came from the opened red lips. The body shook and quivered and -twisted in wild contortions. The sharp white teeth champed together till -the lips were cut, and the mouth was smeared with a crimson foam. But -Arthur never faltered. He looked like a figure of Thor as his -untrembling arm rose and fell, driving deeper and deeper the -mercy-bearing stake, whilst the blood from the pierced heart welled -and spurted up around it. His face was set, and high duty seemed to -shine through it. The sight of it gave us courage so that our voices -seemed to ring through the little vault. - -And then the writhing and quivering of the body became less, and the -teeth seemed to champ, and the face to quiver. Finally it lay still. -The terrible task was over. - -The hammer fell from Arthur's hand. He reeled and would have fallen -had we not caught him. The great drops of sweat sprang from his -forehead, and his breath came in broken gasps. It had indeed been an -awful strain on him, and had he not been forced to his task by more -than human considerations he could never have gone through with it. -For a few minutes we were so taken up with him that we did not look -towards the coffin. When we did, however, a murmur of startled -surprise ran from one to the other of us. We gazed so eagerly that -Arthur rose, for he had been seated on the ground, and came and looked -too, and then a glad strange light broke over his face and dispelled -altogether the gloom of horror that lay upon it. - -There, in the coffin lay no longer the foul Thing that we had so -dreaded and grown to hate that the work of her destruction was yielded -as a privilege to the one best entitled to it, but Lucy as we had seen -her in life, with her face of unequalled sweetness and purity. True -that there were there, as we had seen them in life, the traces of care -and pain and waste. But these were all dear to us, for they marked -her truth to what we knew. One and all we felt that the holy calm -that lay like sunshine over the wasted face and form was only an -earthly token and symbol of the calm that was to reign for ever. - -Van Helsing came and laid his hand on Arthur's shoulder, and said to -him, "And now, Arthur my friend, dear lad, am I not forgiven?" - -The reaction of the terrible strain came as he took the old man's hand -in his, and raising it to his lips, pressed it, and said, "Forgiven! -God bless you that you have given my dear one her soul again, and me -peace." He put his hands on the Professor's shoulder, and laying his -head on his breast, cried for a while silently, whilst we stood -unmoving. - -When he raised his head Van Helsing said to him, "And now, my child, -you may kiss her. Kiss her dead lips if you will, as she would have -you to, if for her to choose. For she is not a grinning devil now, -not any more a foul Thing for all eternity. No longer she is the -devil's UnDead. She is God's true dead, whose soul is with Him!" - -Arthur bent and kissed her, and then we sent him and Quincey out of the -tomb. The Professor and I sawed the top off the stake, leaving the -point of it in the body. Then we cut off the head and filled the -mouth with garlic. We soldered up the leaden coffin, screwed on the -coffin lid, and gathering up our belongings, came away. When the -Professor locked the door he gave the key to Arthur. - -Outside the air was sweet, the sun shone, and the birds sang, and it -seemed as if all nature were tuned to a different pitch. There was -gladness and mirth and peace everywhere, for we were at rest ourselves -on one account, and we were glad, though it was with a tempered joy. - -Before we moved away Van Helsing said, "Now, my friends, one step of -our work is done, one the most harrowing to ourselves. But there -remains a greater task: to find out the author of all this our sorrow -and to stamp him out. I have clues which we can follow, but it is a -long task, and a difficult one, and there is danger in it, and pain. -Shall you not all help me? We have learned to believe, all of us, is -it not so? And since so, do we not see our duty? Yes! And do we not -promise to go on to the bitter end?" - -Each in turn, we took his hand, and the promise was made. Then said -the Professor as we moved off, "Two nights hence you shall meet with -me and dine together at seven of the clock with friend John. I shall -entreat two others, two that you know not as yet, and I shall be ready -to all our work show and our plans unfold. Friend John, you come with -me home, for I have much to consult you about, and you can help me. -Tonight I leave for Amsterdam, but shall return tomorrow night. And -then begins our great quest. But first I shall have much to say, so -that you may know what to do and to dread. Then our promise shall be -made to each other anew. For there is a terrible task before us, and -once our feet are on the ploughshare we must not draw back." - - - - -CHAPTER 17 - - -DR. SEWARD'S DIARY--cont. - -When we arrived at the Berkely Hotel, Van Helsing found a telegram -waiting for him. - -"Am coming up by train. Jonathan at Whitby. Important news. Mina -Harker." - - -The Professor was delighted. "Ah, that wonderful Madam Mina," he -said, "pearl among women! She arrive, but I cannot stay. She must go -to your house, friend John. You must meet her at the station. -Telegraph her en route so that she may be prepared." - -When the wire was dispatched he had a cup of tea. Over it he told me -of a diary kept by Jonathan Harker when abroad, and gave me a -typewritten copy of it, as also of Mrs. Harker's diary at Whitby. -"Take these," he said, "and study them well. When I have returned you -will be master of all the facts, and we can then better enter on our -inquisition. Keep them safe, for there is in them much of treasure. -You will need all your faith, even you who have had such an experience -as that of today. What is here told," he laid his hand heavily and -gravely on the packet of papers as he spoke, "may be the beginning of -the end to you and me and many another, or it may sound the knell of -the UnDead who walk the earth. Read all, I pray you, with the open -mind, and if you can add in any way to the story here told do so, for -it is all important. You have kept a diary of all these so strange -things, is it not so? Yes! Then we shall go through all these -together when we meet." He then made ready for his departure and -shortly drove off to Liverpool Street. I took my way to Paddington, -where I arrived about fifteen minutes before the train came in. - -The crowd melted away, after the bustling fashion common to arrival -platforms, and I was beginning to feel uneasy, lest I might miss my -guest, when a sweet-faced, dainty looking girl stepped up to me, and -after a quick glance said, "Dr. Seward, is it not?" - -"And you are Mrs. Harker!" I answered at once, whereupon she held out -her hand. - -"I knew you from the description of poor dear Lucy, but . . ." She -stopped suddenly, and a quick blush overspread her face. - -The blush that rose to my own cheeks somehow set us both at ease, for -it was a tacit answer to her own. I got her luggage, which included a -typewriter, and we took the Underground to Fenchurch Street, after I -had sent a wire to my housekeeper to have a sitting room and a bedroom -prepared at once for Mrs. Harker. - -In due time we arrived. She knew, of course, that the place was a -lunatic asylum, but I could see that she was unable to repress a -shudder when we entered. - -She told me that, if she might, she would come presently to my study, -as she had much to say. So here I am finishing my entry in my -phonograph diary whilst I await her. As yet I have not had the chance -of looking at the papers which Van Helsing left with me, though they -lie open before me. I must get her interested in something, so that I -may have an opportunity of reading them. She does not know how -precious time is, or what a task we have in hand. I must be careful -not to frighten her. Here she is! - - - - -MINA HARKER'S JOURNAL - -29 September.--After I had tidied myself, I went down to Dr. Seward's -study. At the door I paused a moment, for I thought I heard him -talking with some one. As, however, he had pressed me to be quick, I -knocked at the door, and on his calling out, "Come in," I entered. - -To my intense surprise, there was no one with him. He was quite -alone, and on the table opposite him was what I knew at once from the -description to be a phonograph. I had never seen one, and was much -interested. - -"I hope I did not keep you waiting," I said, "but I stayed at the door -as I heard you talking, and thought there was someone with you." - -"Oh," he replied with a smile, "I was only entering my diary." - -"Your diary?" I asked him in surprise. - -"Yes," he answered. "I keep it in this." As he spoke he laid his -hand on the phonograph. I felt quite excited over it, and blurted -out, "Why, this beats even shorthand! May I hear it say something?" - -"Certainly," he replied with alacrity, and stood up to put it in train -for speaking. Then he paused, and a troubled look overspread his -face. - -"The fact is," he began awkwardly, "I only keep my diary in it, and as -it is entirely, almost entirely, about my cases it may be awkward, -that is, I mean . . ." He stopped, and I tried to help him out of his -embarrassment. - -"You helped to attend dear Lucy at the end. Let me hear how she died, -for all that I know of her, I shall be very grateful. She was very, -very dear to me." - -To my surprise, he answered, with a horrorstruck look in his face, -"Tell you of her death? Not for the wide world!" - -"Why not?" I asked, for some grave, terrible feeling was coming over me. - -Again he paused, and I could see that he was trying to invent an -excuse. At length, he stammered out, "You see, I do not know how to -pick out any particular part of the diary." - -Even while he was speaking an idea dawned upon him, and he said with -unconscious simplicity, in a different voice, and with the naivete of -a child, "that's quite true, upon my honour. Honest Indian!" - -I could not but smile, at which he grimaced. "I gave myself away that -time!" he said. "But do you know that, although I have kept the diary -for months past, it never once struck me how I was going to find any -particular part of it in case I wanted to look it up?" - -By this time my mind was made up that the diary of a doctor who -attended Lucy might have something to add to the sum of our knowledge -of that terrible Being, and I said boldly, "Then, Dr. Seward, you had -better let me copy it out for you on my typewriter." - -He grew to a positively deathly pallor as he said, "No! No! No! For -all the world. I wouldn't let you know that terrible story!" - -Then it was terrible. My intuition was right! For a moment, I -thought, and as my eyes ranged the room, unconsciously looking for -something or some opportunity to aid me, they lit on a great batch of -typewriting on the table. His eyes caught the look in mine, and -without his thinking, followed their direction. As they saw the -parcel he realized my meaning. - -"You do not know me," I said. "When you have read those papers, my -own diary and my husband's also, which I have typed, you will know me -better. I have not faltered in giving every thought of my own heart -in this cause. But, of course, you do not know me, yet, and I must -not expect you to trust me so far." - -He is certainly a man of noble nature. Poor dear Lucy was right about -him. He stood up and opened a large drawer, in which were arranged in -order a number of hollow cylinders of metal covered with dark wax, and -said, - -"You are quite right. I did not trust you because I did not know -you. But I know you now, and let me say that I should have known you -long ago. I know that Lucy told you of me. She told me of you too. -May I make the only atonement in my power? Take the cylinders and -hear them. The first half-dozen of them are personal to me, and they -will not horrify you. Then you will know me better. Dinner will by -then be ready. In the meantime I shall read over some of these -documents, and shall be better able to understand certain things." - -He carried the phonograph himself up to my sitting room and adjusted -it for me. Now I shall learn something pleasant, I am sure. For it -will tell me the other side of a true love episode of which I know one -side already. - - - - -DR. SEWARD'S DIARY - -29 September.--I was so absorbed in that wonderful diary of Jonathan -Harker and that other of his wife that I let the time run on without -thinking. Mrs. Harker was not down when the maid came to announce -dinner, so I said, "She is possibly tired. Let dinner wait an hour," -and I went on with my work. I had just finished Mrs. Harker's diary, -when she came in. She looked sweetly pretty, but very sad, and her -eyes were flushed with crying. This somehow moved me much. Of late I -have had cause for tears, God knows! But the relief of them was -denied me, and now the sight of those sweet eyes, brightened by recent -tears, went straight to my heart. So I said as gently as I could, "I -greatly fear I have distressed you." - -"Oh, no, not distressed me," she replied. "But I have been more -touched than I can say by your grief. That is a wonderful machine, -but it is cruelly true. It told me, in its very tones, the anguish of -your heart. It was like a soul crying out to Almighty God. No one -must hear them spoken ever again! See, I have tried to be useful. I -have copied out the words on my typewriter, and none other need now -hear your heart beat, as I did." - -"No one need ever know, shall ever know," I said in a low voice. She -laid her hand on mine and said very gravely, "Ah, but they must!" - -"Must! But why?" I asked. - -"Because it is a part of the terrible story, a part of poor Lucy's -death and all that led to it. Because in the struggle which we have -before us to rid the earth of this terrible monster we must have all -the knowledge and all the help which we can get. I think that the -cylinders which you gave me contained more than you intended me to -know. But I can see that there are in your record many lights to this -dark mystery. You will let me help, will you not? I know all up to a -certain point, and I see already, though your diary only took me to 7 -September, how poor Lucy was beset, and how her terrible doom was -being wrought out. Jonathan and I have been working day and night -since Professor Van Helsing saw us. He is gone to Whitby to get more -information, and he will be here tomorrow to help us. We need have no -secrets amongst us. Working together and with absolute trust, we can -surely be stronger than if some of us were in the dark." - -She looked at me so appealingly, and at the same time manifested such -courage and resolution in her bearing, that I gave in at once to her -wishes. "You shall," I said, "do as you like in the matter. God -forgive me if I do wrong! There are terrible things yet to learn of, -but if you have so far traveled on the road to poor Lucy's death, you -will not be content, I know, to remain in the dark. Nay, the end, the -very end, may give you a gleam of peace. Come, there is dinner. We -must keep one another strong for what is before us. We have a cruel -and dreadful task. When you have eaten you shall learn the rest, and -I shall answer any questions you ask, if there be anything which you -do not understand, though it was apparent to us who were present." - - - -MINA HARKER'S JOURNAL - -29 September.--After dinner I came with Dr. Seward to his study. He -brought back the phonograph from my room, and I took a chair, and -arranged the phonograph so that I could touch it without getting up, -and showed me how to stop it in case I should want to pause. Then he -very thoughtfully took a chair, with his back to me, so that I might -be as free as possible, and began to read. I put the forked metal to -my ears and listened. - -When the terrible story of Lucy's death, and all that followed, was -done, I lay back in my chair powerless. Fortunately I am not of a -fainting disposition. When Dr. Seward saw me he jumped up with a -horrified exclamation, and hurriedly taking a case bottle from the -cupboard, gave me some brandy, which in a few minutes somewhat -restored me. My brain was all in a whirl, and only that there came -through all the multitude of horrors, the holy ray of light that my -dear Lucy was at last at peace, I do not think I could have borne it -without making a scene. It is all so wild and mysterious, and strange -that if I had not known Jonathan's experience in Transylvania I could -not have believed. As it was, I didn't know what to believe, and so -got out of my difficulty by attending to something else. I took the -cover off my typewriter, and said to Dr. Seward, - -"Let me write this all out now. We must be ready for Dr. Van Helsing -when he comes. I have sent a telegram to Jonathan to come on here -when he arrives in London from Whitby. In this matter dates are -everything, and I think that if we get all of our material ready, and -have every item put in chronological order, we shall have done much. - -"You tell me that Lord Godalming and Mr. Morris are coming too. Let -us be able to tell them when they come." - -He accordingly set the phonograph at a slow pace, and I began to -typewrite from the beginning of the seventeenth cylinder. I used -manifold, and so took three copies of the diary, just as I had done -with the rest. It was late when I got through, but Dr. Seward went -about his work of going his round of the patients. When he had -finished he came back and sat near me, reading, so that I did not feel -too lonely whilst I worked. How good and thoughtful he is. The world -seems full of good men, even if there are monsters in it. - -Before I left him I remembered what Jonathan put in his diary of the -Professor's perturbation at reading something in an evening paper at -the station at Exeter, so, seeing that Dr. Seward keeps his -newspapers, I borrowed the files of 'The Westminster Gazette' and 'The -Pall Mall Gazette' and took them to my room. I remember how much the -'Dailygraph' and 'The Whitby Gazette', of which I had made cuttings, -had helped us to understand the terrible events at Whitby when Count -Dracula landed, so I shall look through the evening papers since then, -and perhaps I shall get some new light. I am not sleepy, and the work -will help to keep me quiet. - - - - -DR. SEWARD'S DIARY - -30 September.--Mr. Harker arrived at nine o'clock. He got his wife's -wire just before starting. He is uncommonly clever, if one can judge -from his face, and full of energy. If this journal be true, and -judging by one's own wonderful experiences, it must be, he is also a -man of great nerve. That going down to the vault a second time was a -remarkable piece of daring. After reading his account of it I was -prepared to meet a good specimen of manhood, but hardly the quiet, -businesslike gentleman who came here today. - - -LATER.--After lunch Harker and his wife went back to their own room, -and as I passed a while ago I heard the click of the typewriter. They -are hard at it. Mrs. Harker says that they are knitting together in -chronological order every scrap of evidence they have. Harker has got -the letters between the consignee of the boxes at Whitby and the -carriers in London who took charge of them. He is now reading his -wife's transcript of my diary. I wonder what they make out of it. -Here it is . . . - -Strange that it never struck me that the very next house might be the -Count's hiding place! Goodness knows that we had enough clues from -the conduct of the patient Renfield! The bundle of letters relating -to the purchase of the house were with the transcript. Oh, if we had -only had them earlier we might have saved poor Lucy! Stop! That way -madness lies! Harker has gone back, and is again collecting material. -He says that by dinner time they will be able to show a whole -connected narrative. He thinks that in the meantime I should see -Renfield, as hitherto he has been a sort of index to the coming and -going of the Count. I hardly see this yet, but when I get at the -dates I suppose I shall. What a good thing that Mrs. Harker put my -cylinders into type! We never could have found the dates otherwise. - -I found Renfield sitting placidly in his room with his hands folded, -smiling benignly. At the moment he seemed as sane as any one I ever -saw. I sat down and talked with him on a lot of subjects, all of -which he treated naturally. He then, of his own accord, spoke of -going home, a subject he has never mentioned to my knowledge during -his sojourn here. In fact, he spoke quite confidently of getting his -discharge at once. I believe that, had I not had the chat with Harker -and read the letters and the dates of his outbursts, I should have -been prepared to sign for him after a brief time of observation. As -it is, I am darkly suspicious. All those out-breaks were in some way -linked with the proximity of the Count. What then does this absolute -content mean? Can it be that his instinct is satisfied as to the -vampire's ultimate triumph? Stay. He is himself zoophagous, and in -his wild ravings outside the chapel door of the deserted house he -always spoke of 'master'. This all seems confirmation of our idea. -However, after a while I came away. My friend is just a little too -sane at present to make it safe to probe him too deep with questions. -He might begin to think, and then . . . So I came away. I mistrust -these quiet moods of his, so I have given the attendant a hint to -look closely after him, and to have a strait waistcoat ready in case -of need. - - - - - -JOHNATHAN HARKER'S JOURNAL - -29 September, in train to London.--When I received Mr. Billington's -courteous message that he would give me any information in his power I -thought it best to go down to Whitby and make, on the spot, such -inquiries as I wanted. It was now my object to trace that horrid -cargo of the Count's to its place in London. Later, we may be able to -deal with it. Billington junior, a nice lad, met me at the station, -and brought me to his father's house, where they had decided that I -must spend the night. They are hospitable, with true Yorkshire -hospitality, give a guest everything and leave him to do as he likes. -They all knew that I was busy, and that my stay was short, and Mr. -Billington had ready in his office all the papers concerning the -consignment of boxes. It gave me almost a turn to see again one of -the letters which I had seen on the Count's table before I knew of his -diabolical plans. Everything had been carefully thought out, and done -systematically and with precision. He seemed to have been prepared -for every obstacle which might be placed by accident in the way of his -intentions being carried out. To use an Americanism, he had 'taken no -chances', and the absolute accuracy with which his instructions were -fulfilled was simply the logical result of his care. I saw the -invoice, and took note of it. 'Fifty cases of common earth, to be used -for experimental purposes'. Also the copy of the letter to Carter -Paterson, and their reply. Of both these I got copies. This was all -the information Mr. Billington could give me, so I went down to the -port and saw the coastguards, the Customs Officers and the harbour -master, who kindly put me in communication with the men who had -actually received the boxes. Their tally was exact with the list, and -they had nothing to add to the simple description 'fifty cases of -common earth', except that the boxes were 'main and mortal heavy', and -that shifting them was dry work. One of them added that it was hard -lines that there wasn't any gentleman 'such like as like yourself, -squire', to show some sort of appreciation of their efforts in a -liquid form. Another put in a rider that the thirst then generated -was such that even the time which had elapsed had not completely -allayed it. Needless to add, I took care before leaving to lift, -forever and adequately, this source of reproach. - -30 September.--The station master was good enough to give me a line to -his old companion the station master at King's Cross, so that when I -arrived there in the morning I was able to ask him about the arrival -of the boxes. He, too put me at once in communication with the proper -officials, and I saw that their tally was correct with the original -invoice. The opportunities of acquiring an abnormal thirst had been -here limited. A noble use of them had, however, been made, and again -I was compelled to deal with the result in ex post facto manner. - -From thence I went to Carter Paterson's central office, where I met -with the utmost courtesy. They looked up the transaction in their day -book and letter book, and at once telephoned to their King's Cross -office for more details. By good fortune, the men who did the teaming -were waiting for work, and the official at once sent them over, -sending also by one of them the way-bill and all the papers connected -with the delivery of the boxes at Carfax. Here again I found the -tally agreeing exactly. The carriers' men were able to supplement the -paucity of the written words with a few more details. These were, I -shortly found, connected almost solely with the dusty nature of the -job, and the consequent thirst engendered in the operators. On my -affording an opportunity, through the medium of the currency of the -realm, of the allaying, at a later period, this beneficial evil, one -of the men remarked, - -"That 'ere 'ouse, guv'nor, is the rummiest I ever was in. Blyme! But -it ain't been touched sence a hundred years. There was dust that -thick in the place that you might have slep' on it without 'urtin' of -yer bones. An' the place was that neglected that yer might 'ave -smelled ole Jerusalem in it. But the old chapel, that took the cike, -that did! Me and my mate, we thort we wouldn't never git out quick -enough. Lor', I wouldn't take less nor a quid a moment to stay there -arter dark." - -Having been in the house, I could well believe him, but if he knew -what I know, he would, I think have raised his terms. - -Of one thing I am now satisfied. That all those boxes which arrived at -Whitby from Varna in the Demeter were safely deposited in the old -chapel at Carfax. There should be fifty of them there, unless any -have since been removed, as from Dr. Seward's diary I fear. - - -Later.--Mina and I have worked all day, and we have put all the papers -into order. - - - - -MINA HARKER'S JOURNAL - -30 September.--I am so glad that I hardly know how to contain myself. -It is, I suppose, the reaction from the haunting fear which I have -had, that this terrible affair and the reopening of his old wound -might act detrimentally on Jonathan. I saw him leave for Whitby with -as brave a face as could, but I was sick with apprehension. The -effort has, however, done him good. He was never so resolute, never -so strong, never so full of volcanic energy, as at present. It is -just as that dear, good Professor Van Helsing said, he is true grit, -and he improves under strain that would kill a weaker nature. He came -back full of life and hope and determination. We have got everything -in order for tonight. I feel myself quite wild with excitement. I -suppose one ought to pity anything so hunted as the Count. That is -just it. This thing is not human, not even a beast. To read Dr. -Seward's account of poor Lucy's death, and what followed, is enough to -dry up the springs of pity in one's heart. - - -Later.--Lord Godalming and Mr. Morris arrived earlier than we -expected. Dr. Seward was out on business, and had taken Jonathan with -him, so I had to see them. It was to me a painful meeting, for it -brought back all poor dear Lucy's hopes of only a few months ago. Of -course they had heard Lucy speak of me, and it seemed that Dr. Van -Helsing, too, had been quite 'blowing my trumpet', as Mr. Morris -expressed it. Poor fellows, neither of them is aware that I know all -about the proposals they made to Lucy. They did not quite know what -to say or do, as they were ignorant of the amount of my knowledge. So -they had to keep on neutral subjects. However, I thought the matter -over, and came to the conclusion that the best thing I could do would -be to post them on affairs right up to date. I knew from Dr. Seward's -diary that they had been at Lucy's death, her real death, and that I -need not fear to betray any secret before the time. So I told them, -as well as I could, that I had read all the papers and diaries, and -that my husband and I, having typewritten them, had just finished -putting them in order. I gave them each a copy to read in the -library. When Lord Godalming got his and turned it over, it does make -a pretty good pile, he said, "Did you write all this, Mrs. Harker?" - -I nodded, and he went on. - -"I don't quite see the drift of it, but you people are all so good and -kind, and have been working so earnestly and so energetically, that -all I can do is to accept your ideas blindfold and try to help you. I -have had one lesson already in accepting facts that should make a man -humble to the last hour of his life. Besides, I know you loved my -Lucy . . ." - -Here he turned away and covered his face with his hands. I could hear -the tears in his voice. Mr. Morris, with instinctive delicacy, just -laid a hand for a moment on his shoulder, and then walked quietly out -of the room. I suppose there is something in a woman's nature that -makes a man free to break down before her and express his feelings on -the tender or emotional side without feeling it derogatory to his -manhood. For when Lord Godalming found himself alone with me he sat -down on the sofa and gave way utterly and openly. I sat down beside -him and took his hand. I hope he didn't think it forward of me, and -that if he ever thinks of it afterwards he never will have such a -thought. There I wrong him. I know he never will. He is too true a -gentleman. I said to him, for I could see that his heart was -breaking, "I loved dear Lucy, and I know what she was to you, and what -you were to her. She and I were like sisters, and now she is gone, -will you not let me be like a sister to you in your trouble? I know -what sorrows you have had, though I cannot measure the depth of them. -If sympathy and pity can help in your affliction, won't you let me be -of some little service, for Lucy's sake?" - -In an instant the poor dear fellow was overwhelmed with grief. It -seemed to me that all that he had of late been suffering in silence -found a vent at once. He grew quite hysterical, and raising his open -hands, beat his palms together in a perfect agony of grief. He stood -up and then sat down again, and the tears rained down his cheeks. I -felt an infinite pity for him, and opened my arms unthinkingly. With -a sob he laid his head on my shoulder and cried like a wearied child, -whilst he shook with emotion. - -We women have something of the mother in us that makes us rise above -smaller matters when the mother spirit is invoked. I felt this big -sorrowing man's head resting on me, as though it were that of a baby -that some day may lie on my bosom, and I stroked his hair as though he -were my own child. I never thought at the time how strange it all -was. - -After a little bit his sobs ceased, and he raised himself with an -apology, though he made no disguise of his emotion. He told me that -for days and nights past, weary days and sleepless nights, he had been -unable to speak with any one, as a man must speak in his time of -sorrow. There was no woman whose sympathy could be given to him, or -with whom, owing to the terrible circumstance with which his sorrow -was surrounded, he could speak freely. - -"I know now how I suffered," he said, as he dried his eyes, "but I do -not know even yet, and none other can ever know, how much your sweet -sympathy has been to me today. I shall know better in time, and -believe me that, though I am not ungrateful now, my gratitude will -grow with my understanding. You will let me be like a brother, will -you not, for all our lives, for dear Lucy's sake?" - -"For dear Lucy's sake," I said as we clasped hands. "Ay, and for your -own sake," he added, "for if a man's esteem and gratitude are ever -worth the winning, you have won mine today. If ever the future should -bring to you a time when you need a man's help, believe me, you will -not call in vain. God grant that no such time may ever come to you to -break the sunshine of your life, but if it should ever come, promise -me that you will let me know." - -He was so earnest, and his sorrow was so fresh, that I felt it would -comfort him, so I said, "I promise." - -As I came along the corridor I saw Mr. Morris looking out of a window. -He turned as he heard my footsteps. "How is Art?" he said. Then -noticing my red eyes, he went on, "Ah, I see you have been comforting -him. Poor old fellow! He needs it. No one but a woman can help a -man when he is in trouble of the heart, and he had no one to comfort -him." - -He bore his own trouble so bravely that my heart bled for him. I saw -the manuscript in his hand, and I knew that when he read it he would -realize how much I knew, so I said to him, "I wish I could comfort all -who suffer from the heart. Will you let me be your friend, and will -you come to me for comfort if you need it? You will know later why I -speak." - -He saw that I was in earnest, and stooping, took my hand, and raising -it to his lips, kissed it. It seemed but poor comfort to so brave and -unselfish a soul, and impulsively I bent over and kissed him. The -tears rose in his eyes, and there was a momentary choking in his -throat. He said quite calmly, "Little girl, you will never forget -that true hearted kindness, so long as ever you live!" Then he went -into the study to his friend. - -"Little girl!" The very words he had used to Lucy, and, oh, but he -proved himself a friend. - - - - -CHAPTER 18 - - -DR. SEWARD'S DIARY - -30 September.--I got home at five o'clock, and found that Godalming -and Morris had not only arrived, but had already studied the -transcript of the various diaries and letters which Harker had not yet -returned from his visit to the carriers' men, of whom Dr. Hennessey -had written to me. Mrs. Harker gave us a cup of tea, and I can -honestly say that, for the first time since I have lived in it, this -old house seemed like home. When we had finished, Mrs. Harker said, - -"Dr. Seward, may I ask a favour? I want to see your patient, Mr. -Renfield. Do let me see him. What you have said of him in your diary -interests me so much!" - -She looked so appealing and so pretty that I could not refuse her, and -there was no possible reason why I should, so I took her with me. -When I went into the room, I told the man that a lady would like to see -him, to which he simply answered, "Why?" - -"She is going through the house, and wants to see every one in it," I -answered. - -"Oh, very well," he said, "let her come in, by all means, but just -wait a minute till I tidy up the place." - -His method of tidying was peculiar, he simply swallowed all the flies -and spiders in the boxes before I could stop him. It was quite -evident that he feared, or was jealous of, some interference. When he -had got through his disgusting task, he said cheerfully, "Let the lady -come in," and sat down on the edge of his bed with his head down, but -with his eyelids raised so that he could see her as she entered. For -a moment I thought that he might have some homicidal intent. I -remembered how quiet he had been just before he attacked me in my own -study, and I took care to stand where I could seize him at once if he -attempted to make a spring at her. - -She came into the room with an easy gracefulness which would at once -command the respect of any lunatic, for easiness is one of the -qualities mad people most respect. She walked over to him, smiling -pleasantly, and held out her hand. - -"Good evening, Mr. Renfield," said she. "You see, I know you, for Dr. -Seward has told me of you." He made no immediate reply, but eyed her -all over intently with a set frown on his face. This look gave way to -one of wonder, which merged in doubt, then to my intense astonishment -he said, "You're not the girl the doctor wanted to marry, are you? You -can't be, you know, for she's dead." - -Mrs. Harker smiled sweetly as she replied, "Oh no! I have a husband -of my own, to whom I was married before I ever saw Dr. Seward, or he -me. I am Mrs. Harker." - -"Then what are you doing here?" - -"My husband and I are staying on a visit with Dr. Seward." - -"Then don't stay." - -"But why not?" - -I thought that this style of conversation might not be pleasant to -Mrs. Harker, any more than it was to me, so I joined in, "How did you -know I wanted to marry anyone?" - -His reply was simply contemptuous, given in a pause in which he turned -his eyes from Mrs. Harker to me, instantly turning them back again, -"What an asinine question!" - -"I don't see that at all, Mr. Renfield," said Mrs. Harker, at once -championing me. - -He replied to her with as much courtesy and respect as he had shown -contempt to me, "You will, of course, understand, Mrs. Harker, that -when a man is so loved and honoured as our host is, everything -regarding him is of interest in our little community. Dr. Seward is -loved not only by his household and his friends, but even by his -patients, who, being some of them hardly in mental equilibrium, are -apt to distort causes and effects. Since I myself have been an inmate -of a lunatic asylum, I cannot but notice that the sophistic tendencies -of some of its inmates lean towards the errors of non causa and -ignoratio elenche." - -I positively opened my eyes at this new development. Here was my own -pet lunatic, the most pronounced of his type that I had ever met with, -talking elemental philosophy, and with the manner of a polished -gentleman. I wonder if it was Mrs. Harker's presence which had -touched some chord in his memory. If this new phase was spontaneous, -or in any way due to her unconscious influence, she must have some -rare gift or power. - -We continued to talk for some time, and seeing that he was seemingly -quite reasonable, she ventured, looking at me questioningly as she -began, to lead him to his favourite topic. I was again astonished, -for he addressed himself to the question with the impartiality of -the completest sanity. He even took himself as an example when he -mentioned certain things. - -"Why, I myself am an instance of a man who had a strange belief. -Indeed, it was no wonder that my friends were alarmed, and insisted on -my being put under control. I used to fancy that life was a positive -and perpetual entity, and that by consuming a multitude of live -things, no matter how low in the scale of creation, one might -indefinitely prolong life. At times I held the belief so strongly -that I actually tried to take human life. The doctor here will bear -me out that on one occasion I tried to kill him for the purpose of -strengthening my vital powers by the assimilation with my own body of -his life through the medium of his blood, relying of course, upon the -Scriptural phrase, 'For the blood is the life.' Though, indeed, the -vendor of a certain nostrum has vulgarized the truism to the very -point of contempt. Isn't that true, doctor?" - -I nodded assent, for I was so amazed that I hardly knew what to either -think or say, it was hard to imagine that I had seen him eat up his -spiders and flies not five minutes before. Looking at my watch, I saw -that I should go to the station to meet Van Helsing, so I told Mrs. -Harker that it was time to leave. - -She came at once, after saying pleasantly to Mr. Renfield, "Goodbye, -and I hope I may see you often, under auspices pleasanter to -yourself." - -To which, to my astonishment, he replied, "Goodbye, my dear. I pray -God I may never see your sweet face again. May He bless and keep -you!" - -When I went to the station to meet Van Helsing I left the boys behind -me. Poor Art seemed more cheerful than he has been since Lucy first -took ill, and Quincey is more like his own bright self than he has -been for many a long day. - -Van Helsing stepped from the carriage with the eager nimbleness of a -boy. He saw me at once, and rushed up to me, saying, "Ah, friend -John, how goes all? Well? So! I have been busy, for I come here to -stay if need be. All affairs are settled with me, and I have much to -tell. Madam Mina is with you? Yes. And her so fine husband? And -Arthur and my friend Quincey, they are with you, too? Good!" - -As I drove to the house I told him of what had passed, and of how my -own diary had come to be of some use through Mrs. Harker's suggestion, -at which the Professor interrupted me. - -"Ah, that wonderful Madam Mina! She has man's brain, a brain that a -man should have were he much gifted, and a woman's heart. The good -God fashioned her for a purpose, believe me, when He made that so good -combination. Friend John, up to now fortune has made that woman of -help to us, after tonight she must not have to do with this so -terrible affair. It is not good that she run a risk so great. We men -are determined, nay, are we not pledged, to destroy this monster? But -it is no part for a woman. Even if she be not harmed, her heart may -fail her in so much and so many horrors and hereafter she may suffer, -both in waking, from her nerves, and in sleep, from her dreams. And, -besides, she is young woman and not so long married, there may be -other things to think of some time, if not now. You tell me she has -wrote all, then she must consult with us, but tomorrow she say goodbye -to this work, and we go alone." - -I agreed heartily with him, and then I told him what we had found in -his absence, that the house which Dracula had bought was the very next -one to my own. He was amazed, and a great concern seemed to come on -him. - -"Oh that we had known it before!" he said, "for then we might have -reached him in time to save poor Lucy. However, 'the milk that is -spilt cries not out afterwards,' as you say. We shall not think of -that, but go on our way to the end." Then he fell into a silence that -lasted till we entered my own gateway. Before we went to prepare for -dinner he said to Mrs. Harker, "I am told, Madam Mina, by my friend -John that you and your husband have put up in exact order all things -that have been, up to this moment." - -"Not up to this moment, Professor," she said impulsively, "but up to -this morning." - -"But why not up to now? We have seen hitherto how good light all the -little things have made. We have told our secrets, and yet no one who -has told is the worse for it." - -Mrs. Harker began to blush, and taking a paper from her pockets, she -said, "Dr. Van Helsing, will you read this, and tell me if it must go -in. It is my record of today. I too have seen the need of putting -down at present everything, however trivial, but there is little in -this except what is personal. Must it go in?" - -The Professor read it over gravely, and handed it back, saying, "It -need not go in if you do not wish it, but I pray that it may. It can -but make your husband love you the more, and all us, your friends, -more honour you, as well as more esteem and love." She took it back -with another blush and a bright smile. - -And so now, up to this very hour, all the records we have are complete -and in order. The Professor took away one copy to study after dinner, -and before our meeting, which is fixed for nine o'clock. The rest of -us have already read everything, so when we meet in the study we shall -all be informed as to facts, and can arrange our plan of battle with -this terrible and mysterious enemy. - - - - - -MINA HARKER'S JOURNAL - -30 September.--When we met in Dr. Seward's study two hours after -dinner, which had been at six o'clock, we unconsciously formed a sort -of board or committee. Professor Van Helsing took the head of the -table, to which Dr. Seward motioned him as he came into the room. He -made me sit next to him on his right, and asked me to act as -secretary. Jonathan sat next to me. Opposite us were Lord Godalming, -Dr. Seward, and Mr. Morris, Lord Godalming being next the Professor, -and Dr. Seward in the centre. - -The Professor said, "I may, I suppose, take it that we are all -acquainted with the facts that are in these papers." We all expressed -assent, and he went on, "Then it were, I think, good that I tell you -something of the kind of enemy with which we have to deal. I shall -then make known to you something of the history of this man, which has -been ascertained for me. So we then can discuss how we shall act, and -can take our measure according. - -"There are such beings as vampires, some of us have evidence that they -exist. Even had we not the proof of our own unhappy experience, the -teachings and the records of the past give proof enough for sane -peoples. I admit that at the first I was sceptic. Were it not that -through long years I have trained myself to keep an open mind, I could -not have believed until such time as that fact thunder on my ear. 'See! -See! I prove, I prove.' Alas! Had I known at first what now I know, -nay, had I even guess at him, one so precious life had been spared to -many of us who did love her. But that is gone, and we must so work, -that other poor souls perish not, whilst we can save. The nosferatu -do not die like the bee when he sting once. He is only stronger, and -being stronger, have yet more power to work evil. This vampire which -is amongst us is of himself so strong in person as twenty men, he is -of cunning more than mortal, for his cunning be the growth of ages, he -have still the aids of necromancy, which is, as his etymology imply, -the divination by the dead, and all the dead that he can come nigh to -are for him at command; he is brute, and more than brute; he is devil -in callous, and the heart of him is not; he can, within his range, -direct the elements, the storm, the fog, the thunder; he can command -all the meaner things, the rat, and the owl, and the bat, the moth, -and the fox, and the wolf, he can grow and become small; and he can at -times vanish and come unknown. How then are we to begin our strike to -destroy him? How shall we find his where, and having found it, how -can we destroy? My friends, this is much, it is a terrible task that -we undertake, and there may be consequence to make the brave shudder. -For if we fail in this our fight he must surely win, and then where -end we? Life is nothings, I heed him not. But to fail here, is not -mere life or death. It is that we become as him, that we henceforward -become foul things of the night like him, without heart or conscience, -preying on the bodies and the souls of those we love best. To us -forever are the gates of heaven shut, for who shall open them to us -again? We go on for all time abhorred by all, a blot on the face of -God's sunshine, an arrow in the side of Him who died for man. But we -are face to face with duty, and in such case must we shrink? For me, -I say no, but then I am old, and life, with his sunshine, his fair -places, his song of birds, his music and his love, lie far behind. You -others are young. Some have seen sorrow, but there are fair days yet -in store. What say you?" - -Whilst he was speaking, Jonathan had taken my hand. I feared, oh so -much, that the appalling nature of our danger was overcoming him when -I saw his hand stretch out, but it was life to me to feel its touch, -so strong, so self reliant, so resolute. A brave man's hand can speak -for itself, it does not even need a woman's love to hear its music. - -When the Professor had done speaking my husband looked in my eyes, and -I in his, there was no need for speaking between us. - -"I answer for Mina and myself," he said. - -"Count me in, Professor," said Mr. Quincey Morris, laconically as -usual. - -"I am with you," said Lord Godalming, "for Lucy's sake, if for no -other reason." - -Dr. Seward simply nodded. - -The Professor stood up and, after laying his golden crucifix on the -table, held out his hand on either side. I took his right hand, and -Lord Godalming his left, Jonathan held my right with his left and -stretched across to Mr. Morris. So as we all took hands our solemn -compact was made. I felt my heart icy cold, but it did not even occur -to me to draw back. We resumed our places, and Dr. Van Helsing went -on with a sort of cheerfulness which showed that the serious work had -begun. It was to be taken as gravely, and in as businesslike a way, -as any other transaction of life. - -"Well, you know what we have to contend against, but we too, are not -without strength. We have on our side power of combination, a power -denied to the vampire kind, we have sources of science, we are free to -act and think, and the hours of the day and the night are ours -equally. In fact, so far as our powers extend, they are unfettered, -and we are free to use them. We have self devotion in a cause and an -end to achieve which is not a selfish one. These things are much. - -"Now let us see how far the general powers arrayed against us are -restrict, and how the individual cannot. In fine, let us consider the -limitations of the vampire in general, and of this one in particular. - -"All we have to go upon are traditions and superstitions. These do -not at the first appear much, when the matter is one of life and -death, nay of more than either life or death. Yet must we be -satisfied, in the first place because we have to be, no other means is -at our control, and secondly, because, after all these things, -tradition and superstition, are everything. Does not the belief in -vampires rest for others, though not, alas! for us, on them? A year -ago which of us would have received such a possibility, in the midst -of our scientific, sceptical, matter-of-fact nineteenth century? We -even scouted a belief that we saw justified under our very eyes. Take -it, then, that the vampire, and the belief in his limitations and his -cure, rest for the moment on the same base. For, let me tell you, he -is known everywhere that men have been. In old Greece, in old Rome, -he flourish in Germany all over, in France, in India, even in the -Chermosese, and in China, so far from us in all ways, there even is -he, and the peoples for him at this day. He have follow the wake of -the berserker Icelander, the devil-begotten Hun, the Slav, the Saxon, -the Magyar. - -"So far, then, we have all we may act upon, and let me tell you that -very much of the beliefs are justified by what we have seen in our own -so unhappy experience. The vampire live on, and cannot die by mere -passing of the time, he can flourish when that he can fatten on the -blood of the living. Even more, we have seen amongst us that he can -even grow younger, that his vital faculties grow strenuous, and seem -as though they refresh themselves when his special pabulum is plenty. - -"But he cannot flourish without this diet, he eat not as others. Even -friend Jonathan, who lived with him for weeks, did never see him eat, -never! He throws no shadow, he make in the mirror no reflect, as -again Jonathan observe. He has the strength of many of his hand, -witness again Jonathan when he shut the door against the wolves, and -when he help him from the diligence too. He can transform himself to -wolf, as we gather from the ship arrival in Whitby, when he tear open -the dog, he can be as bat, as Madam Mina saw him on the window at -Whitby, and as friend John saw him fly from this so near house, and as -my friend Quincey saw him at the window of Miss Lucy. - -"He can come in mist which he create, that noble ship's captain proved -him of this, but, from what we know, the distance he can make this -mist is limited, and it can only be round himself. - -"He come on moonlight rays as elemental dust, as again Jonathan saw -those sisters in the castle of Dracula. He become so small, we -ourselves saw Miss Lucy, ere she was at peace, slip through a -hairbreadth space at the tomb door. He can, when once he find his -way, come out from anything or into anything, no matter how close it -be bound or even fused up with fire, solder you call it. He can see -in the dark, no small power this, in a world which is one half shut -from the light. Ah, but hear me through. - -"He can do all these things, yet he is not free. Nay, he is even more -prisoner than the slave of the galley, than the madman in his cell. -He cannot go where he lists, he who is not of nature has yet to obey -some of nature's laws, why we know not. He may not enter anywhere at -the first, unless there be some one of the household who bid him to -come, though afterwards he can come as he please. His power ceases, -as does that of all evil things, at the coming of the day. - -"Only at certain times can he have limited freedom. If he be not at -the place whither he is bound, he can only change himself at noon or -at exact sunrise or sunset. These things we are told, and in this -record of ours we have proof by inference. Thus, whereas he can do as -he will within his limit, when he have his earth-home, his -coffin-home, his hell-home, the place unhallowed, as we saw when he -went to the grave of the suicide at Whitby, still at other time he can -only change when the time come. It is said, too, that he can only -pass running water at the slack or the flood of the tide. Then there -are things which so afflict him that he has no power, as the garlic -that we know of, and as for things sacred, as this symbol, my -crucifix, that was amongst us even now when we resolve, to them he is -nothing, but in their presence he take his place far off and silent -with respect. There are others, too, which I shall tell you of, lest -in our seeking we may need them. - -"The branch of wild rose on his coffin keep him that he move not from -it, a sacred bullet fired into the coffin kill him so that he be true -dead, and as for the stake through him, we know already of its peace, -or the cut off head that giveth rest. We have seen it with our eyes. - -"Thus when we find the habitation of this man-that-was, we can confine -him to his coffin and destroy him, if we obey what we know. But he is -clever. I have asked my friend Arminius, of Buda-Pesth University, to -make his record, and from all the means that are, he tell me of what -he has been. He must, indeed, have been that Voivode Dracula who won -his name against the Turk, over the great river on the very frontier -of Turkeyland. If it be so, then was he no common man, for in that -time, and for centuries after, he was spoken of as the cleverest and -the most cunning, as well as the bravest of the sons of the 'land -beyond the forest.' That mighty brain and that iron resolution went -with him to his grave, and are even now arrayed against us. The -Draculas were, says Arminius, a great and noble race, though now and -again were scions who were held by their coevals to have had dealings -with the Evil One. They learned his secrets in the Scholomance, -amongst the mountains over Lake Hermanstadt, where the devil claims -the tenth scholar as his due. In the records are such words as -'stregoica' witch, 'ordog' and 'pokol' Satan and hell, and in one -manuscript this very Dracula is spoken of as 'wampyr,' which we all -understand too well. There have been from the loins of this very one -great men and good women, and their graves make sacred the earth where -alone this foulness can dwell. For it is not the least of its terrors -that this evil thing is rooted deep in all good, in soil barren of -holy memories it cannot rest." - -Whilst they were talking Mr. Morris was looking steadily at the -window, and he now got up quietly, and went out of the room. There -was a little pause, and then the Professor went on. - -"And now we must settle what we do. We have here much data, and we -must proceed to lay out our campaign. We know from the inquiry of -Jonathan that from the castle to Whitby came fifty boxes of earth, all -of which were delivered at Carfax, we also know that at least some of -these boxes have been removed. It seems to me, that our first step -should be to ascertain whether all the rest remain in the house beyond -that wall where we look today, or whether any more have been removed. -If the latter, we must trace . . ." - -Here we were interrupted in a very startling way. Outside the house -came the sound of a pistol shot, the glass of the window was shattered -with a bullet, which ricochetting from the top of the embrasure, -struck the far wall of the room. I am afraid I am at heart a coward, -for I shrieked out. The men all jumped to their feet, Lord Godalming -flew over to the window and threw up the sash. As he did so we heard -Mr. Morris' voice without, "Sorry! I fear I have alarmed you. I -shall come in and tell you about it." - -A minute later he came in and said, "It was an idiotic thing of me to -do, and I ask your pardon, Mrs. Harker, most sincerely, I fear I must -have frightened you terribly. But the fact is that whilst the -Professor was talking there came a big bat and sat on the window sill. -I have got such a horror of the damned brutes from recent events that -I cannot stand them, and I went out to have a shot, as I have been -doing of late of evenings, whenever I have seen one. You used to -laugh at me for it then, Art." - -"Did you hit it?" asked Dr. Van Helsing. - -"I don't know, I fancy not, for it flew away into the wood." Without -saying any more he took his seat, and the Professor began to resume -his statement. - -"We must trace each of these boxes, and when we are ready, we must -either capture or kill this monster in his lair, or we must, so to -speak, sterilize the earth, so that no more he can seek safety in it. -Thus in the end we may find him in his form of man between the hours -of noon and sunset, and so engage with him when he is at his most -weak. - -"And now for you, Madam Mina, this night is the end until all be well. -You are too precious to us to have such risk. When we part tonight, -you no more must question. We shall tell you all in good time. We -are men and are able to bear, but you must be our star and our hope, -and we shall act all the more free that you are not in the danger, -such as we are." - -All the men, even Jonathan, seemed relieved, but it did not seem to me -good that they should brave danger and, perhaps lessen their safety, -strength being the best safety, through care of me, but their minds -were made up, and though it was a bitter pill for me to swallow, I -could say nothing, save to accept their chivalrous care of me. - -Mr. Morris resumed the discussion, "As there is no time to lose, I -vote we have a look at his house right now. Time is everything with -him, and swift action on our part may save another victim." - -I own that my heart began to fail me when the time for action came so -close, but I did not say anything, for I had a greater fear that if I -appeared as a drag or a hindrance to their work, they might even leave -me out of their counsels altogether. They have now gone off to -Carfax, with means to get into the house. - -Manlike, they had told me to go to bed and sleep, as if a woman can -sleep when those she loves are in danger! I shall lie down, and -pretend to sleep, lest Jonathan have added anxiety about me when he -returns. - - - - -DR. SEWARD'S DIARY - -1 October, 4 A.M.--Just as we were about to leave the house, an urgent -message was brought to me from Renfield to know if I would see him at -once, as he had something of the utmost importance to say to me. I -told the messenger to say that I would attend to his wishes in the -morning, I was busy just at the moment. - -The attendant added, "He seems very importunate, sir. I have never -seen him so eager. I don't know but what, if you don't see him soon, -he will have one of his violent fits." I knew the man would not have -said this without some cause, so I said, "All right, I'll go now," and -I asked the others to wait a few minutes for me, as I had to go and -see my patient. - -"Take me with you, friend John," said the Professor. "His case in your -diary interest me much, and it had bearing, too, now and again on our -case. I should much like to see him, and especial when his mind is -disturbed." - -"May I come also?" asked Lord Godalming. - -"Me too?" said Quincey Morris. "May I come?" said Harker. I nodded, -and we all went down the passage together. - -We found him in a state of considerable excitement, but far more -rational in his speech and manner than I had ever seen him. There was -an unusual understanding of himself, which was unlike anything I had -ever met with in a lunatic, and he took it for granted that his -reasons would prevail with others entirely sane. We all five went -into the room, but none of the others at first said anything. His -request was that I would at once release him from the asylum and send -him home. This he backed up with arguments regarding his complete -recovery, and adduced his own existing sanity. - -"I appeal to your friends," he said, "they will, perhaps, not mind -sitting in judgement on my case. By the way, you have not introduced -me." - -I was so much astonished, that the oddness of introducing a madman in -an asylum did not strike me at the moment, and besides, there was a -certain dignity in the man's manner, so much of the habit of equality, -that I at once made the introduction, "Lord Godalming, Professor Van -Helsing, Mr. Quincey Morris, of Texas, Mr. Jonathan Harker, Mr. -Renfield." - -He shook hands with each of them, saying in turn, "Lord Godalming, I -had the honour of seconding your father at the Windham; I grieve to -know, by your holding the title, that he is no more. He was a man -loved and honoured by all who knew him, and in his youth was, I have -heard, the inventor of a burnt rum punch, much patronized on Derby -night. Mr. Morris, you should be proud of your great state. Its -reception into the Union was a precedent which may have far-reaching -effects hereafter, when the Pole and the Tropics may hold alliance to -the Stars and Stripes. The power of Treaty may yet prove a vast -engine of enlargement, when the Monroe doctrine takes its true place -as a political fable. What shall any man say of his pleasure at -meeting Van Helsing? Sir, I make no apology for dropping all forms of -conventional prefix. When an individual has revolutionized -therapeutics by his discovery of the continuous evolution of brain -matter, conventional forms are unfitting, since they would seem to -limit him to one of a class. You, gentlemen, who by nationality, by -heredity, or by the possession of natural gifts, are fitted to hold -your respective places in the moving world, I take to witness that I -am as sane as at least the majority of men who are in full possession -of their liberties. And I am sure that you, Dr. Seward, humanitarian -and medico-jurist as well as scientist, will deem it a moral duty to -deal with me as one to be considered as under exceptional -circumstances." He made this last appeal with a courtly air of -conviction which was not without its own charm. - -I think we were all staggered. For my own part, I was under the -conviction, despite my knowledge of the man's character and history, -that his reason had been restored, and I felt under a strong impulse -to tell him that I was satisfied as to his sanity, and would see about -the necessary formalities for his release in the morning. I thought -it better to wait, however, before making so grave a statement, for of -old I knew the sudden changes to which this particular patient was -liable. So I contented myself with making a general statement that he -appeared to be improving very rapidly, that I would have a longer chat -with him in the morning, and would then see what I could do in the -direction of meeting his wishes. - -This did not at all satisfy him, for he said quickly, "But I fear, Dr. -Seward, that you hardly apprehend my wish. I desire to go at once, -here, now, this very hour, this very moment, if I may. Time presses, -and in our implied agreement with the old scytheman it is of the -essence of the contract. I am sure it is only necessary to put before -so admirable a practitioner as Dr. Seward so simple, yet so momentous -a wish, to ensure its fulfilment." - -He looked at me keenly, and seeing the negative in my face, turned to -the others, and scrutinized them closely. Not meeting any sufficient -response, he went on, "Is it possible that I have erred in my -supposition?" - -"You have," I said frankly, but at the same time, as I felt, brutally. - -There was a considerable pause, and then he said slowly, "Then I -suppose I must only shift my ground of request. Let me ask for this -concession, boon, privilege, what you will. I am content to implore -in such a case, not on personal grounds, but for the sake of others. I -am not at liberty to give you the whole of my reasons, but you may, I -assure you, take it from me that they are good ones, sound and -unselfish, and spring from the highest sense of duty. - -"Could you look, sir, into my heart, you would approve to the full the -sentiments which animate me. Nay, more, you would count me amongst -the best and truest of your friends." - -Again he looked at us all keenly. I had a growing conviction that -this sudden change of his entire intellectual method was but yet -another phase of his madness, and so determined to let him go on a -little longer, knowing from experience that he would, like all -lunatics, give himself away in the end. Van Helsing was gazing at him -with a look of utmost intensity, his bushy eyebrows almost meeting -with the fixed concentration of his look. He said to Renfield in a -tone which did not surprise me at the time, but only when I thought of -it afterwards, for it was as of one addressing an equal, "Can you not -tell frankly your real reason for wishing to be free tonight? I will -undertake that if you will satisfy even me, a stranger, without -prejudice, and with the habit of keeping an open mind, Dr. Seward will -give you, at his own risk and on his own responsibility, the privilege -you seek." - -He shook his head sadly, and with a look of poignant regret on his -face. The Professor went on, "Come, sir, bethink yourself. You claim -the privilege of reason in the highest degree, since you seek to -impress us with your complete reasonableness. You do this, whose -sanity we have reason to doubt, since you are not yet released from -medical treatment for this very defect. If you will not help us in -our effort to choose the wisest course, how can we perform the duty -which you yourself put upon us? Be wise, and help us, and if we can -we shall aid you to achieve your wish." - -He still shook his head as he said, "Dr. Van Helsing, I have nothing to -say. Your argument is complete, and if I were free to speak I should -not hesitate a moment, but I am not my own master in the matter. I -can only ask you to trust me. If I am refused, the responsibility -does not rest with me." - -I thought it was now time to end the scene, which was becoming too -comically grave, so I went towards the door, simply saying, "Come, my -friends, we have work to do. Goodnight." - -As, however, I got near the door, a new change came over the patient. -He moved towards me so quickly that for the moment I feared that he -was about to make another homicidal attack. My fears, however, were -groundless, for he held up his two hands imploringly, and made his -petition in a moving manner. As he saw that the very excess of his -emotion was militating against him, by restoring us more to our old -relations, he became still more demonstrative. I glanced at Van -Helsing, and saw my conviction reflected in his eyes, so I became a -little more fixed in my manner, if not more stern, and motioned to him -that his efforts were unavailing. I had previously seen something of -the same constantly growing excitement in him when he had to make some -request of which at the time he had thought much, such for instance, -as when he wanted a cat, and I was prepared to see the collapse into -the same sullen acquiescence on this occasion. - -My expectation was not realized, for when he found that his appeal -would not be successful, he got into quite a frantic condition. He -threw himself on his knees, and held up his hands, wringing them in -plaintive supplication, and poured forth a torrent of entreaty, with -the tears rolling down his cheeks, and his whole face and form -expressive of the deepest emotion. - -"Let me entreat you, Dr. Seward, oh, let me implore you, to let me out -of this house at once. Send me away how you will and where you will, -send keepers with me with whips and chains, let them take me in a -strait waistcoat, manacled and leg-ironed, even to gaol, but let me go -out of this. You don't know what you do by keeping me here. I am -speaking from the depths of my heart, of my very soul. You don't know -whom you wrong, or how, and I may not tell. Woe is me! I may not -tell. By all you hold sacred, by all you hold dear, by your love that -is lost, by your hope that lives, for the sake of the Almighty, take -me out of this and save my soul from guilt! Can't you hear me, man? -Can't you understand? Will you never learn? Don't you know that I am -sane and earnest now, that I am no lunatic in a mad fit, but a sane -man fighting for his soul? Oh, hear me! Hear me! Let me go, let me -go, let me go!" - -I thought that the longer this went on the wilder he would get, and so -would bring on a fit, so I took him by the hand and raised him up. - -"Come," I said sternly, "no more of this, we have had quite enough -already. Get to your bed and try to behave more discreetly." - -He suddenly stopped and looked at me intently for several moments. -Then, without a word, he rose and moving over, sat down on the side of -the bed. The collapse had come, as on former occasions, just as I had -expected. - -When I was leaving the room, last of our party, he said to me in a -quiet, well-bred voice, "You will, I trust, Dr. Seward, do me the -justice to bear in mind, later on, that I did what I could to convince -you tonight." - - - - -CHAPTER 19 - - -JONATHAN HARKER'S JOURNAL - -1 October, 5 A.M.--I went with the party to the search with an easy -mind, for I think I never saw Mina so absolutely strong and well. I -am so glad that she consented to hold back and let us men do the work. -Somehow, it was a dread to me that she was in this fearful business at -all, but now that her work is done, and that it is due to her energy -and brains and foresight that the whole story is put together in such -a way that every point tells, she may well feel that her part is -finished, and that she can henceforth leave the rest to us. We were, -I think, all a little upset by the scene with Mr. Renfield. When we -came away from his room we were silent till we got back to the study. - -Then Mr. Morris said to Dr. Seward, "Say, Jack, if that man wasn't -attempting a bluff, he is about the sanest lunatic I ever saw. I'm -not sure, but I believe that he had some serious purpose, and if he -had, it was pretty rough on him not to get a chance." - -Lord Godalming and I were silent, but Dr. Van Helsing added, "Friend -John, you know more lunatics than I do, and I'm glad of it, for I fear -that if it had been to me to decide I would before that last -hysterical outburst have given him free. But we live and learn, and -in our present task we must take no chance, as my friend Quincey would -say. All is best as they are." - -Dr. Seward seemed to answer them both in a dreamy kind of way, "I -don't know but that I agree with you. If that man had been an -ordinary lunatic I would have taken my chance of trusting him, but he -seems so mixed up with the Count in an indexy kind of way that I am -afraid of doing anything wrong by helping his fads. I can't forget -how he prayed with almost equal fervor for a cat, and then tried to -tear my throat out with his teeth. Besides, he called the Count 'lord -and master', and he may want to get out to help him in some diabolical -way. That horrid thing has the wolves and the rats and his own kind -to help him, so I suppose he isn't above trying to use a respectable -lunatic. He certainly did seem earnest, though. I only hope we have -done what is best. These things, in conjunction with the wild work we -have in hand, help to unnerve a man." - -The Professor stepped over, and laying his hand on his shoulder, said -in his grave, kindly way, "Friend John, have no fear. We are trying -to do our duty in a very sad and terrible case, we can only do as we -deem best. What else have we to hope for, except the pity of the good -God?" - -Lord Godalming had slipped away for a few minutes, but now he -returned. He held up a little silver whistle as he remarked, "That -old place may be full of rats, and if so, I've got an antidote on -call." - -Having passed the wall, we took our way to the house, taking care to -keep in the shadows of the trees on the lawn when the moonlight shone -out. When we got to the porch the Professor opened his bag and took -out a lot of things, which he laid on the step, sorting them into four -little groups, evidently one for each. Then he spoke. - -"My friends, we are going into a terrible danger, and we need arms of -many kinds. Our enemy is not merely spiritual. Remember that he has -the strength of twenty men, and that, though our necks or our -windpipes are of the common kind, and therefore breakable or -crushable, his are not amenable to mere strength. A stronger man, or -a body of men more strong in all than him, can at certain times hold -him, but they cannot hurt him as we can be hurt by him. We must, -therefore, guard ourselves from his touch. Keep this near your -heart." As he spoke he lifted a little silver crucifix and held it -out to me, I being nearest to him, "put these flowers round your -neck," here he handed to me a wreath of withered garlic blossoms, "for -other enemies more mundane, this revolver and this knife, and for aid -in all, these so small electric lamps, which you can fasten to your -breast, and for all, and above all at the last, this, which we must -not desecrate needless." - -This was a portion of Sacred Wafer, which he put in an envelope and -handed to me. Each of the others was similarly equipped. - -"Now," he said, "friend John, where are the skeleton keys? If so that -we can open the door, we need not break house by the window, as before -at Miss Lucy's." - -Dr. Seward tried one or two skeleton keys, his mechanical dexterity as -a surgeon standing him in good stead. Presently he got one to suit, -after a little play back and forward the bolt yielded, and with a -rusty clang, shot back. We pressed on the door, the rusty hinges -creaked, and it slowly opened. It was startlingly like the image -conveyed to me in Dr. Seward's diary of the opening of Miss Westenra's -tomb, I fancy that the same idea seemed to strike the others, for with -one accord they shrank back. The Professor was the first to move -forward, and stepped into the open door. - -"In manus tuas, Domine!" he said, crossing himself as he passed over -the threshold. We closed the door behind us, lest when we should have -lit our lamps we should possibly attract attention from the road. The -Professor carefully tried the lock, lest we might not be able to open -it from within should we be in a hurry making our exit. Then we all -lit our lamps and proceeded on our search. - -The light from the tiny lamps fell in all sorts of odd forms, as the -rays crossed each other, or the opacity of our bodies threw great -shadows. I could not for my life get away from the feeling that there -was someone else amongst us. I suppose it was the recollection, so -powerfully brought home to me by the grim surroundings, of that -terrible experience in Transylvania. I think the feeling was common -to us all, for I noticed that the others kept looking over their -shoulders at every sound and every new shadow, just as I felt myself -doing. - -The whole place was thick with dust. The floor was seemingly inches -deep, except where there were recent footsteps, in which on holding -down my lamp I could see marks of hobnails where the dust was cracked. -The walls were fluffy and heavy with dust, and in the corners were -masses of spider's webs, whereon the dust had gathered till they -looked like old tattered rags as the weight had torn them partly down. -On a table in the hall was a great bunch of keys, with a time-yellowed -label on each. They had been used several times, for on the table -were several similar rents in the blanket of dust, similar to that -exposed when the Professor lifted them. - -He turned to me and said, "You know this place, Jonathan. You have -copied maps of it, and you know it at least more than we do. Which is -the way to the chapel?" - -I had an idea of its direction, though on my former visit I had not -been able to get admission to it, so I led the way, and after a few -wrong turnings found myself opposite a low, arched oaken door, ribbed -with iron bands. - -"This is the spot," said the Professor as he turned his lamp on a -small map of the house, copied from the file of my original -correspondence regarding the purchase. With a little trouble we found -the key on the bunch and opened the door. We were prepared for some -unpleasantness, for as we were opening the door a faint, malodorous -air seemed to exhale through the gaps, but none of us ever expected -such an odour as we encountered. None of the others had met the Count -at all at close quarters, and when I had seen him he was either in the -fasting stage of his existence in his rooms or, when he was bloated -with fresh blood, in a ruined building open to the air, but here the -place was small and close, and the long disuse had made the air -stagnant and foul. There was an earthy smell, as of some dry miasma, -which came through the fouler air. But as to the odour itself, how -shall I describe it? It was not alone that it was composed of all the -ills of mortality and with the pungent, acrid smell of blood, but it -seemed as though corruption had become itself corrupt. Faugh! It -sickens me to think of it. Every breath exhaled by that monster -seemed to have clung to the place and intensified its loathsomeness. - -Under ordinary circumstances such a stench would have brought our -enterprise to an end, but this was no ordinary case, and the high and -terrible purpose in which we were involved gave us a strength which -rose above merely physical considerations. After the involuntary -shrinking consequent on the first nauseous whiff, we one and all set -about our work as though that loathsome place were a garden of roses. - -We made an accurate examination of the place, the Professor saying as -we began, "The first thing is to see how many of the boxes are left, -we must then examine every hole and corner and cranny and see if we -cannot get some clue as to what has become of the rest." - -A glance was sufficient to show how many remained, for the great earth -chests were bulky, and there was no mistaking them. - -There were only twenty-nine left out of the fifty! Once I got a -fright, for, seeing Lord Godalming suddenly turn and look out of the -vaulted door into the dark passage beyond, I looked too, and for an -instant my heart stood still. Somewhere, looking out from the shadow, -I seemed to see the high lights of the Count's evil face, the ridge of -the nose, the red eyes, the red lips, the awful pallor. It was only -for a moment, for, as Lord Godalming said, "I thought I saw a face, -but it was only the shadows," and resumed his inquiry, I turned my -lamp in the direction, and stepped into the passage. There was no -sign of anyone, and as there were no corners, no doors, no aperture of -any kind, but only the solid walls of the passage, there could be no -hiding place even for him. I took it that fear had helped -imagination, and said nothing. - -A few minutes later I saw Morris step suddenly back from a corner, -which he was examining. We all followed his movements with our eyes, -for undoubtedly some nervousness was growing on us, and we saw a whole -mass of phosphorescence, which twinkled like stars. We all -instinctively drew back. The whole place was becoming alive with -rats. - -For a moment or two we stood appalled, all save Lord Godalming, who -was seemingly prepared for such an emergency. Rushing over to the -great iron-bound oaken door, which Dr. Seward had described from the -outside, and which I had seen myself, he turned the key in the lock, -drew the huge bolts, and swung the door open. Then, taking his little -silver whistle from his pocket, he blew a low, shrill call. It was -answered from behind Dr. Seward's house by the yelping of dogs, and -after about a minute three terriers came dashing round the corner of -the house. Unconsciously we had all moved towards the door, and as we -moved I noticed that the dust had been much disturbed. The boxes -which had been taken out had been brought this way. But even in the -minute that had elapsed the number of the rats had vastly increased. -They seemed to swarm over the place all at once, till the lamplight, -shining on their moving dark bodies and glittering, baleful eyes, made -the place look like a bank of earth set with fireflies. The dogs -dashed on, but at the threshold suddenly stopped and snarled, and -then, simultaneously lifting their noses, began to howl in most -lugubrious fashion. The rats were multiplying in thousands, and we -moved out. - -Lord Godalming lifted one of the dogs, and carrying him in, placed him -on the floor. The instant his feet touched the ground he seemed to -recover his courage, and rushed at his natural enemies. They fled -before him so fast that before he had shaken the life out of a score, -the other dogs, who had by now been lifted in the same manner, had but -small prey ere the whole mass had vanished. - -With their going it seemed as if some evil presence had departed, for -the dogs frisked about and barked merrily as they made sudden darts at -their prostrate foes, and turned them over and over and tossed them in -the air with vicious shakes. We all seemed to find our spirits rise. -Whether it was the purifying of the deadly atmosphere by the opening -of the chapel door, or the relief which we experienced by finding -ourselves in the open I know not, but most certainly the shadow of -dread seemed to slip from us like a robe, and the occasion of our -coming lost something of its grim significance, though we did not -slacken a whit in our resolution. We closed the outer door and barred -and locked it, and bringing the dogs with us, began our search of the -house. We found nothing throughout except dust in extraordinary -proportions, and all untouched save for my own footsteps when I had -made my first visit. Never once did the dogs exhibit any symptom of -uneasiness, and even when we returned to the chapel they frisked about -as though they had been rabbit hunting in a summer wood. - -The morning was quickening in the east when we emerged from the front. -Dr. Van Helsing had taken the key of the hall door from the bunch, and -locked the door in orthodox fashion, putting the key into his pocket -when he had done. - -"So far," he said, "our night has been eminently successful. No harm -has come to us such as I feared might be and yet we have ascertained -how many boxes are missing. More than all do I rejoice that this, our -first, and perhaps our most difficult and dangerous, step has been -accomplished without the bringing thereinto our most sweet Madam Mina -or troubling her waking or sleeping thoughts with sights and sounds -and smells of horror which she might never forget. One lesson, too, -we have learned, if it be allowable to argue a particulari, that the -brute beasts which are to the Count's command are yet themselves not -amenable to his spiritual power, for look, these rats that would come -to his call, just as from his castle top he summon the wolves to your -going and to that poor mother's cry, though they come to him, they run -pell-mell from the so little dogs of my friend Arthur. We have other -matters before us, other dangers, other fears, and that monster . . . -He has not used his power over the brute world for the only or the -last time tonight. So be it that he has gone elsewhere. Good! It -has given us opportunity to cry 'check' in some ways in this chess -game, which we play for the stake of human souls. And now let us go -home. The dawn is close at hand, and we have reason to be content -with our first night's work. It may be ordained that we have many -nights and days to follow, if full of peril, but we must go on, and -from no danger shall we shrink." - -The house was silent when we got back, save for some poor creature who -was screaming away in one of the distant wards, and a low, moaning -sound from Renfield's room. The poor wretch was doubtless torturing -himself, after the manner of the insane, with needless thoughts of -pain. - -I came tiptoe into our own room, and found Mina asleep, breathing so -softly that I had to put my ear down to hear it. She looks paler than -usual. I hope the meeting tonight has not upset her. I am truly -thankful that she is to be left out of our future work, and even of -our deliberations. It is too great a strain for a woman to bear. I -did not think so at first, but I know better now. Therefore I am glad -that it is settled. There may be things which would frighten her to -hear, and yet to conceal them from her might be worse than to tell her -if once she suspected that there was any concealment. Henceforth our -work is to be a sealed book to her, till at least such time as we can -tell her that all is finished, and the earth free from a monster of -the nether world. I daresay it will be difficult to begin to keep -silence after such confidence as ours, but I must be resolute, and -tomorrow I shall keep dark over tonight's doings, and shall refuse to -speak of anything that has happened. I rest on the sofa, so as not to -disturb her. - - -1 October, later.--I suppose it was natural that we should have all -overslept ourselves, for the day was a busy one, and the night had no -rest at all. Even Mina must have felt its exhaustion, for though I -slept till the sun was high, I was awake before her, and had to call -two or three times before she awoke. Indeed, she was so sound asleep -that for a few seconds she did not recognize me, but looked at me with -a sort of blank terror, as one looks who has been waked out of a bad -dream. She complained a little of being tired, and I let her rest -till later in the day. We now know of twenty-one boxes having been -removed, and if it be that several were taken in any of these removals -we may be able to trace them all. Such will, of course, immensely -simplify our labor, and the sooner the matter is attended to the -better. I shall look up Thomas Snelling today. - - - -DR. SEWARD'S DIARY - -1 October.--It was towards noon when I was awakened by the Professor -walking into my room. He was more jolly and cheerful than usual, and -it is quite evident that last night's work has helped to take some of -the brooding weight off his mind. - -After going over the adventure of the night he suddenly said, "Your -patient interests me much. May it be that with you I visit him this -morning? Or if that you are too occupy, I can go alone if it may be. -It is a new experience to me to find a lunatic who talk philosophy, -and reason so sound." - -I had some work to do which pressed, so I told him that if he would go -alone I would be glad, as then I should not have to keep him waiting, -so I called an attendant and gave him the necessary instructions. -Before the Professor left the room I cautioned him against getting any -false impression from my patient. - -"But," he answered, "I want him to talk of himself and of his delusion -as to consuming live things. He said to Madam Mina, as I see in your -diary of yesterday, that he had once had such a belief. Why do you -smile, friend John?" - -"Excuse me," I said, "but the answer is here." I laid my hand on the -typewritten matter. "When our sane and learned lunatic made that very -statement of how he used to consume life, his mouth was actually -nauseous with the flies and spiders which he had eaten just before -Mrs. Harker entered the room." - -Van Helsing smiled in turn. "Good!" he said. "Your memory is true, -friend John. I should have remembered. And yet it is this very -obliquity of thought and memory which makes mental disease such a -fascinating study. Perhaps I may gain more knowledge out of the folly -of this madman than I shall from the teaching of the most wise. Who -knows?" - -I went on with my work, and before long was through that in hand. It -seemed that the time had been very short indeed, but there was Van -Helsing back in the study. - -"Do I interrupt?" he asked politely as he stood at the door. - -"Not at all," I answered. "Come in. My work is finished, and I am -free. I can go with you now, if you like." - -"It is needless, I have seen him!" - -"Well?" - -"I fear that he does not appraise me at much. Our interview was -short. When I entered his room he was sitting on a stool in the -centre, with his elbows on his knees, and his face was the picture of -sullen discontent. I spoke to him as cheerfully as I could, and with -such a measure of respect as I could assume. He made no reply -whatever. 'Don't you know me?' I asked. His answer was not -reassuring: 'I know you well enough; you are the old fool Van -Helsing. I wish you would take yourself and your idiotic brain -theories somewhere else. Damn all thick-headed Dutchmen!' Not a word -more would he say, but sat in his implacable sullenness as indifferent -to me as though I had not been in the room at all. Thus departed for -this time my chance of much learning from this so clever lunatic, so I -shall go, if I may, and cheer myself with a few happy words with that -sweet soul Madam Mina. Friend John, it does rejoice me unspeakable -that she is no more to be pained, no more to be worried with our -terrible things. Though we shall much miss her help, it is better -so." - -"I agree with you with all my heart," I answered earnestly, for I did -not want him to weaken in this matter. "Mrs. Harker is better out of -it. Things are quite bad enough for us, all men of the world, and who -have been in many tight places in our time, but it is no place for a -woman, and if she had remained in touch with the affair, it would in -time infallibly have wrecked her." - -So Van Helsing has gone to confer with Mrs. Harker and Harker, Quincey -and Art are all out following up the clues as to the earth boxes. I -shall finish my round of work and we shall meet tonight. - - - - - -MINA HARKER'S JOURNAL - -1 October.--It is strange to me to be kept in the dark as I am today, -after Jonathan's full confidence for so many years, to see him -manifestly avoid certain matters, and those the most vital of all. -This morning I slept late after the fatigues of yesterday, and though -Jonathan was late too, he was the earlier. He spoke to me before he -went out, never more sweetly or tenderly, but he never mentioned a -word of what had happened in the visit to the Count's house. And yet -he must have known how terribly anxious I was. Poor dear fellow! I -suppose it must have distressed him even more than it did me. They -all agreed that it was best that I should not be drawn further into -this awful work, and I acquiesced. But to think that he keeps -anything from me! And now I am crying like a silly fool, when I know -it comes from my husband's great love and from the good, good wishes -of those other strong men. - -That has done me good. Well, some day Jonathan will tell me all. And -lest it should ever be that he should think for a moment that I kept -anything from him, I still keep my journal as usual. Then if he has -feared of my trust I shall show it to him, with every thought of my -heart put down for his dear eyes to read. I feel strangely sad and -low-spirited today. I suppose it is the reaction from the terrible -excitement. - -Last night I went to bed when the men had gone, simply because they -told me to. I didn't feel sleepy, and I did feel full of devouring -anxiety. I kept thinking over everything that has been ever since -Jonathan came to see me in London, and it all seems like a horrible -tragedy, with fate pressing on relentlessly to some destined end. -Everything that one does seems, no matter how right it may be, to bring -on the very thing which is most to be deplored. If I hadn't gone to -Whitby, perhaps poor dear Lucy would be with us now. She hadn't taken -to visiting the churchyard till I came, and if she hadn't come there -in the day time with me she wouldn't have walked in her sleep. And if -she hadn't gone there at night and asleep, that monster couldn't have -destroyed her as he did. Oh, why did I ever go to Whitby? There now, -crying again! I wonder what has come over me today. I must hide it -from Jonathan, for if he knew that I had been crying twice in one -morning . . . I, who never cried on my own account, and whom he has -never caused to shed a tear, the dear fellow would fret his heart out. -I shall put a bold face on, and if I do feel weepy, he shall never see -it. I suppose it is just one of the lessons that we poor women have -to learn . . . - -I can't quite remember how I fell asleep last night. I remember -hearing the sudden barking of the dogs and a lot of queer sounds, like -praying on a very tumultuous scale, from Mr. Renfield's room, which is -somewhere under this. And then there was silence over everything, -silence so profound that it startled me, and I got up and looked out -of the window. All was dark and silent, the black shadows thrown by -the moonlight seeming full of a silent mystery of their own. Not a -thing seemed to be stirring, but all to be grim and fixed as death or -fate, so that a thin streak of white mist, that crept with almost -imperceptible slowness across the grass towards the house, seemed to -have a sentience and a vitality of its own. I think that the -digression of my thoughts must have done me good, for when I got back -to bed I found a lethargy creeping over me. I lay a while, but could -not quite sleep, so I got out and looked out of the window again. The -mist was spreading, and was now close up to the house, so that I could -see it lying thick against the wall, as though it were stealing up to -the windows. The poor man was more loud than ever, and though I could -not distinguish a word he said, I could in some way recognize in his -tones some passionate entreaty on his part. Then there was the sound -of a struggle, and I knew that the attendants were dealing with him. -I was so frightened that I crept into bed, and pulled the clothes over -my head, putting my fingers in my ears. I was not then a bit sleepy, -at least so I thought, but I must have fallen asleep, for except -dreams, I do not remember anything until the morning, when Jonathan -woke me. I think that it took me an effort and a little time to -realize where I was, and that it was Jonathan who was bending over me. -My dream was very peculiar, and was almost typical of the way that -waking thoughts become merged in, or continued in, dreams. - -I thought that I was asleep, and waiting for Jonathan to come back. I -was very anxious about him, and I was powerless to act, my feet, and -my hands, and my brain were weighted, so that nothing could proceed at -the usual pace. And so I slept uneasily and thought. Then it began -to dawn upon me that the air was heavy, and dank, and cold. I put -back the clothes from my face, and found, to my surprise, that all was -dim around. The gaslight which I had left lit for Jonathan, but -turned down, came only like a tiny red spark through the fog, which -had evidently grown thicker and poured into the room. Then it -occurred to me that I had shut the window before I had come to bed. I -would have got out to make certain on the point, but some leaden -lethargy seemed to chain my limbs and even my will. I lay still and -endured, that was all. I closed my eyes, but could still see through -my eyelids. (It is wonderful what tricks our dreams play us, and how -conveniently we can imagine.) The mist grew thicker and thicker and I -could see now how it came in, for I could see it like smoke, or with -the white energy of boiling water, pouring in, not through the window, -but through the joinings of the door. It got thicker and thicker, -till it seemed as if it became concentrated into a sort of pillar of -cloud in the room, through the top of which I could see the light of -the gas shining like a red eye. Things began to whirl through my -brain just as the cloudy column was now whirling in the room, and -through it all came the scriptural words "a pillar of cloud by day and -of fire by night." Was it indeed such spiritual guidance that was -coming to me in my sleep? But the pillar was composed of both the day -and the night guiding, for the fire was in the red eye, which at the -thought got a new fascination for me, till, as I looked, the fire -divided, and seemed to shine on me through the fog like two red eyes, -such as Lucy told me of in her momentary mental wandering when, on the -cliff, the dying sunlight struck the windows of St. Mary's Church. -Suddenly the horror burst upon me that it was thus that Jonathan had -seen those awful women growing into reality through the whirling mist -in the moonlight, and in my dream I must have fainted, for all became -black darkness. The last conscious effort which imagination made was -to show me a livid white face bending over me out of the mist. - -I must be careful of such dreams, for they would unseat one's reason if -there were too much of them. I would get Dr. Van Helsing or Dr. -Seward to prescribe something for me which would make me sleep, only -that I fear to alarm them. Such a dream at the present time would -become woven into their fears for me. Tonight I shall strive hard to -sleep naturally. If I do not, I shall tomorrow night get them to give -me a dose of chloral, that cannot hurt me for once, and it will give -me a good night's sleep. Last night tired me more than if I had not -slept at all. - - -2 October 10 P.M.--Last night I slept, but did not dream. I must have -slept soundly, for I was not waked by Jonathan coming to bed, but the -sleep has not refreshed me, for today I feel terribly weak and -spiritless. I spent all yesterday trying to read, or lying down -dozing. In the afternoon, Mr. Renfield asked if he might see me. Poor -man, he was very gentle, and when I came away he kissed my hand and -bade God bless me. Some way it affected me much. I am crying when I -think of him. This is a new weakness, of which I must be careful. -Jonathan would be miserable if he knew I had been crying. He and the -others were out till dinner time, and they all came in tired. I did -what I could to brighten them up, and I suppose that the effort did me -good, for I forgot how tired I was. After dinner they sent me to bed, -and all went off to smoke together, as they said, but I knew that they -wanted to tell each other of what had occurred to each during the day. -I could see from Jonathan's manner that he had something important to -communicate. I was not so sleepy as I should have been, so before -they went I asked Dr. Seward to give me a little opiate of some kind, -as I had not slept well the night before. He very kindly made me up a -sleeping draught, which he gave to me, telling me that it would do me -no harm, as it was very mild . . . I have taken it, and am waiting for -sleep, which still keeps aloof. I hope I have not done wrong, for as -sleep begins to flirt with me, a new fear comes: that I may have been -foolish in thus depriving myself of the power of waking. I might want -it. Here comes sleep. Goodnight. - - - - -CHAPTER 20 - - -JONATHAN HARKER'S JOURNAL - -1 October, evening.--I found Thomas Snelling in his house at Bethnal -Green, but unhappily he was not in a condition to remember anything. -The very prospect of beer which my expected coming had opened to him -had proved too much, and he had begun too early on his expected -debauch. I learned, however, from his wife, who seemed a decent, poor -soul, that he was only the assistant of Smollet, who of the two mates -was the responsible person. So off I drove to Walworth, and found Mr. -Joseph Smollet at home and in his shirtsleeves, taking a late tea out -of a saucer. He is a decent, intelligent fellow, distinctly a good, -reliable type of workman, and with a headpiece of his own. He -remembered all about the incident of the boxes, and from a wonderful -dog-eared notebook, which he produced from some mysterious receptacle -about the seat of his trousers, and which had hieroglyphical entries -in thick, half-obliterated pencil, he gave me the destinations of the -boxes. There were, he said, six in the cartload which he took from -Carfax and left at 197 Chicksand Street, Mile End New Town, and -another six which he deposited at Jamaica Lane, Bermondsey. If then -the Count meant to scatter these ghastly refuges of his over London, -these places were chosen as the first of delivery, so that later he -might distribute more fully. The systematic manner in which this was -done made me think that he could not mean to confine himself to two -sides of London. He was now fixed on the far east on the northern -shore, on the east of the southern shore, and on the south. The north -and west were surely never meant to be left out of his diabolical -scheme, let alone the City itself and the very heart of fashionable -London in the south-west and west. I went back to Smollet, and asked -him if he could tell us if any other boxes had been taken from Carfax. - -He replied, "Well guv'nor, you've treated me very 'an'some", I had -given him half a sovereign, "an I'll tell yer all I know. I heard a -man by the name of Bloxam say four nights ago in the 'Are an' 'Ounds, -in Pincher's Alley, as 'ow he an' his mate 'ad 'ad a rare dusty job in -a old 'ouse at Purfleet. There ain't a many such jobs as this 'ere, -an' I'm thinkin' that maybe Sam Bloxam could tell ye summut." - -I asked if he could tell me where to find him. I told him that if he -could get me the address it would be worth another half sovereign to -him. So he gulped down the rest of his tea and stood up, saying that -he was going to begin the search then and there. - -At the door he stopped, and said, "Look 'ere, guv'nor, there ain't no -sense in me a keepin' you 'ere. I may find Sam soon, or I mayn't, but -anyhow he ain't like to be in a way to tell ye much tonight. Sam is a -rare one when he starts on the booze. If you can give me a envelope -with a stamp on it, and put yer address on it, I'll find out where Sam -is to be found and post it ye tonight. But ye'd better be up arter -'im soon in the mornin', never mind the booze the night afore." - -This was all practical, so one of the children went off with a penny -to buy an envelope and a sheet of paper, and to keep the change. When -she came back, I addressed the envelope and stamped it, and when -Smollet had again faithfully promised to post the address when found, -I took my way to home. We're on the track anyhow. I am tired -tonight, and I want to sleep. Mina is fast asleep, and looks a little -too pale. Her eyes look as though she had been crying. Poor dear, -I've no doubt it frets her to be kept in the dark, and it may make her -doubly anxious about me and the others. But it is best as it is. It -is better to be disappointed and worried in such a way now than to -have her nerve broken. The doctors were quite right to insist on her -being kept out of this dreadful business. I must be firm, for on me -this particular burden of silence must rest. I shall not ever enter -on the subject with her under any circumstances. Indeed, It may not -be a hard task, after all, for she herself has become reticent on the -subject, and has not spoken of the Count or his doings ever since we -told her of our decision. - - -2 October, evening--A long and trying and exciting day. By the first -post I got my directed envelope with a dirty scrap of paper enclosed, -on which was written with a carpenter's pencil in a sprawling hand, -"Sam Bloxam, Korkrans, 4 Poters Cort, Bartel Street, Walworth. Arsk -for the depite." - -I got the letter in bed, and rose without waking Mina. She looked -heavy and sleepy and pale, and far from well. I determined not to -wake her, but that when I should return from this new search, I would -arrange for her going back to Exeter. I think she would be happier in -our own home, with her daily tasks to interest her, than in being here -amongst us and in ignorance. I only saw Dr. Seward for a moment, and -told him where I was off to, promising to come back and tell the rest -so soon as I should have found out anything. I drove to Walworth and -found, with some difficulty, Potter's Court. Mr. Smollet's spelling -misled me, as I asked for Poter's Court instead of Potter's Court. -However, when I had found the court, I had no difficulty in -discovering Corcoran's lodging house. - -When I asked the man who came to the door for the "depite," he shook -his head, and said, "I dunno 'im. There ain't no such a person 'ere. -I never 'eard of 'im in all my bloomin' days. Don't believe there -ain't nobody of that kind livin' 'ere or anywheres." - -I took out Smollet's letter, and as I read it it seemed to me that the -lesson of the spelling of the name of the court might guide me. "What -are you?" I asked. - -"I'm the depity," he answered. - -I saw at once that I was on the right track. Phonetic spelling had -again misled me. A half crown tip put the deputy's knowledge at my -disposal, and I learned that Mr. Bloxam, who had slept off the remains -of his beer on the previous night at Corcoran's, had left for his work -at Poplar at five o'clock that morning. He could not tell me where -the place of work was situated, but he had a vague idea that it was -some kind of a "new-fangled ware'us," and with this slender clue I had -to start for Poplar. It was twelve o'clock before I got any -satisfactory hint of such a building, and this I got at a coffee shop, -where some workmen were having their dinner. One of them suggested -that there was being erected at Cross Angel Street a new "cold -storage" building, and as this suited the condition of a "new-fangled -ware'us," I at once drove to it. An interview with a surly gatekeeper -and a surlier foreman, both of whom were appeased with the coin of the -realm, put me on the track of Bloxam. He was sent for on my -suggestion that I was willing to pay his days wages to his foreman for -the privilege of asking him a few questions on a private matter. He -was a smart enough fellow, though rough of speech and bearing. When I -had promised to pay for his information and given him an earnest, he -told me that he had made two journeys between Carfax and a house in -Piccadilly, and had taken from this house to the latter nine great -boxes, "main heavy ones," with a horse and cart hired by him for this -purpose. - -I asked him if he could tell me the number of the house in Piccadilly, -to which he replied, "Well, guv'nor, I forgits the number, but it was -only a few door from a big white church, or somethink of the kind, not -long built. It was a dusty old 'ouse, too, though nothin' to the -dustiness of the 'ouse we tooked the bloomin' boxes from." - -"How did you get in if both houses were empty?" - -"There was the old party what engaged me a waitin' in the 'ouse at -Purfleet. He 'elped me to lift the boxes and put them in the dray. -Curse me, but he was the strongest chap I ever struck, an' him a old -feller, with a white moustache, one that thin you would think he -couldn't throw a shadder." - -How this phrase thrilled through me! - -"Why, 'e took up 'is end o' the boxes like they was pounds of tea, and -me a puffin' an' a blowin' afore I could upend mine anyhow, an' I'm no -chicken, neither." - -"How did you get into the house in Piccadilly?" I asked. - -"He was there too. He must 'a started off and got there afore me, for -when I rung of the bell he kem an' opened the door 'isself an' 'elped -me carry the boxes into the 'all." - -"The whole nine?" I asked. - -"Yus, there was five in the first load an' four in the second. It was -main dry work, an' I don't so well remember 'ow I got 'ome." - -I interrupted him, "Were the boxes left in the hall?" - -"Yus, it was a big 'all, an' there was nothin' else in it." - -I made one more attempt to further matters. "You didn't have any -key?" - -"Never used no key nor nothink. The old gent, he opened the door -'isself an' shut it again when I druv off. I don't remember the last -time, but that was the beer." - -"And you can't remember the number of the house?" - -"No, sir. But ye needn't have no difficulty about that. It's a 'igh -'un with a stone front with a bow on it, an' 'igh steps up to the -door. I know them steps, 'avin' 'ad to carry the boxes up with three -loafers what come round to earn a copper. The old gent give them -shillin's, an' they seein' they got so much, they wanted more. But 'e -took one of them by the shoulder and was like to throw 'im down the -steps, till the lot of them went away cussin'." - -I thought that with this description I could find the house, so having -paid my friend for his information, I started off for Piccadilly. I -had gained a new painful experience. The Count could, it was evident, -handle the earth boxes himself. If so, time was precious, for now -that he had achieved a certain amount of distribution, he could, by -choosing his own time, complete the task unobserved. At Piccadilly -Circus I discharged my cab, and walked westward. Beyond the Junior -Constitutional I came across the house described and was satisfied -that this was the next of the lairs arranged by Dracula. The house -looked as though it had been long untenanted. The windows were -encrusted with dust, and the shutters were up. All the framework was -black with time, and from the iron the paint had mostly scaled away. -It was evident that up to lately there had been a large notice board -in front of the balcony. It had, however, been roughly torn away, the -uprights which had supported it still remaining. Behind the rails of -the balcony I saw there were some loose boards, whose raw edges looked -white. I would have given a good deal to have been able to see the -notice board intact, as it would, perhaps, have given some clue to the -ownership of the house. I remembered my experience of the investigation -and purchase of Carfax, and I could not but feel that if I could find -the former owner there might be some means discovered of gaining access -to the house. - -There was at present nothing to be learned from the Piccadilly side, -and nothing could be done, so I went around to the back to see if -anything could be gathered from this quarter. The mews were active, -the Piccadilly houses being mostly in occupation. I asked one or two -of the grooms and helpers whom I saw around if they could tell me -anything about the empty house. One of them said that he heard it had -lately been taken, but he couldn't say from whom. He told me, -however, that up to very lately there had been a notice board of "For -Sale" up, and that perhaps Mitchell, Sons, & Candy the house agents -could tell me something, as he thought he remembered seeing the name -of that firm on the board. I did not wish to seem too eager, or to -let my informant know or guess too much, so thanking him in the usual -manner, I strolled away. It was now growing dusk, and the autumn -night was closing in, so I did not lose any time. Having learned the -address of Mitchell, Sons, & Candy from a directory at the Berkeley, I -was soon at their office in Sackville Street. - -The gentleman who saw me was particularly suave in manner, but -uncommunicative in equal proportion. Having once told me that the -Piccadilly house, which throughout our interview he called a -"mansion," was sold, he considered my business as concluded. When I -asked who had purchased it, he opened his eyes a thought wider, and -paused a few seconds before replying, "It is sold, sir." - -"Pardon me," I said, with equal politeness, "but I have a special -reason for wishing to know who purchased it." - -Again he paused longer, and raised his eyebrows still more. "It is -sold, sir," was again his laconic reply. - -"Surely," I said, "you do not mind letting me know so much." - -"But I do mind," he answered. "The affairs of their clients are -absolutely safe in the hands of Mitchell, Sons, & Candy." - -This was manifestly a prig of the first water, and there was no use -arguing with him. I thought I had best meet him on his own ground, so -I said, "Your clients, sir, are happy in having so resolute a guardian -of their confidence. I am myself a professional man." - -Here I handed him my card. "In this instance I am not prompted by -curiosity, I act on the part of Lord Godalming, who wishes to know -something of the property which was, he understood, lately for sale." - -These words put a different complexion on affairs. He said, "I would -like to oblige you if I could, Mr. Harker, and especially would I like -to oblige his lordship. We once carried out a small matter of renting -some chambers for him when he was the honourable Arthur Holmwood. If -you will let me have his lordship's address I will consult the House -on the subject, and will, in any case, communicate with his lordship -by tonight's post. It will be a pleasure if we can so far deviate -from our rules as to give the required information to his lordship." - -I wanted to secure a friend, and not to make an enemy, so I thanked -him, gave the address at Dr. Seward's and came away. It was now dark, -and I was tired and hungry. I got a cup of tea at the Aerated Bread -Company and came down to Purfleet by the next train. - -I found all the others at home. Mina was looking tired and pale, but -she made a gallant effort to be bright and cheerful. It wrung my -heart to think that I had had to keep anything from her and so caused -her inquietude. Thank God, this will be the last night of her looking -on at our conferences, and feeling the sting of our not showing our -confidence. It took all my courage to hold to the wise resolution of -keeping her out of our grim task. She seems somehow more reconciled, -or else the very subject seems to have become repugnant to her, for -when any accidental allusion is made she actually shudders. I am glad -we made our resolution in time, as with such a feeling as this, our -growing knowledge would be torture to her. - -I could not tell the others of the day's discovery till we were alone, -so after dinner, followed by a little music to save appearances even -amongst ourselves, I took Mina to her room and left her to go to bed. -The dear girl was more affectionate with me than ever, and clung to me -as though she would detain me, but there was much to be talked of and -I came away. Thank God, the ceasing of telling things has made no -difference between us. - -When I came down again I found the others all gathered round the fire -in the study. In the train I had written my diary so far, and simply -read it off to them as the best means of letting them get abreast of -my own information. - -When I had finished Van Helsing said, "This has been a great day's -work, friend Jonathan. Doubtless we are on the track of the missing -boxes. If we find them all in that house, then our work is near the -end. But if there be some missing, we must search until we find them. -Then shall we make our final coup, and hunt the wretch to his real -death." - -We all sat silent awhile and all at once Mr. Morris spoke, "Say! How -are we going to get into that house?" - -"We got into the other," answered Lord Godalming quickly. - -"But, Art, this is different. We broke house at Carfax, but we had -night and a walled park to protect us. It will be a mighty different -thing to commit burglary in Piccadilly, either by day or night. I -confess I don't see how we are going to get in unless that agency duck -can find us a key of some sort." - -Lord Godalming's brows contracted, and he stood up and walked about the -room. By-and-by he stopped and said, turning from one to another of -us, "Quincey's head is level. This burglary business is getting -serious. We got off once all right, but we have now a rare job on -hand. Unless we can find the Count's key basket." - -As nothing could well be done before morning, and as it would be at -least advisable to wait till Lord Godalming should hear from -Mitchell's, we decided not to take any active step before breakfast -time. For a good while we sat and smoked, discussing the matter in -its various lights and bearings. I took the opportunity of bringing -this diary right up to the moment. I am very sleepy and shall go to -bed . . . - -Just a line. Mina sleeps soundly and her breathing is regular. Her -forehead is puckered up into little wrinkles, as though she thinks -even in her sleep. She is still too pale, but does not look so -haggard as she did this morning. Tomorrow will, I hope, mend all -this. She will be herself at home in Exeter. Oh, but I am sleepy! - - - - -DR. SEWARD'S DIARY - -1 October.--I am puzzled afresh about Renfield. His moods change so -rapidly that I find it difficult to keep touch of them, and as they -always mean something more than his own well-being, they form a more -than interesting study. This morning, when I went to see him after -his repulse of Van Helsing, his manner was that of a man commanding -destiny. He was, in fact, commanding destiny, subjectively. He did -not really care for any of the things of mere earth, he was in the -clouds and looked down on all the weaknesses and wants of us poor -mortals. - -I thought I would improve the occasion and learn something, so I asked -him, "What about the flies these times?" - -He smiled on me in quite a superior sort of way, such a smile as would -have become the face of Malvolio, as he answered me, "The fly, my dear -sir, has one striking feature. It's wings are typical of the aerial -powers of the psychic faculties. The ancients did well when they -typified the soul as a butterfly!" - -I thought I would push his analogy to its utmost logically, so I said -quickly, "Oh, it is a soul you are after now, is it?" - -His madness foiled his reason, and a puzzled look spread over his face -as, shaking his head with a decision which I had but seldom seen in -him. - -He said, "Oh, no, oh no! I want no souls. Life is all I want." Here -he brightened up. "I am pretty indifferent about it at present. Life -is all right. I have all I want. You must get a new patient, doctor, -if you wish to study zoophagy!" - -This puzzled me a little, so I drew him on. "Then you command life. -You are a god, I suppose?" - -He smiled with an ineffably benign superiority. "Oh no! Far be it -from me to arrogate to myself the attributes of the Deity. I am not -even concerned in His especially spiritual doings. If I may state my -intellectual position I am, so far as concerns things purely -terrestrial, somewhat in the position which Enoch occupied -spiritually!" - -This was a poser to me. I could not at the moment recall Enoch's -appositeness, so I had to ask a simple question, though I felt that by -so doing I was lowering myself in the eyes of the lunatic. "And why -with Enoch?" - -"Because he walked with God." - -I could not see the analogy, but did not like to admit it, so I harked -back to what he had denied. "So you don't care about life and you -don't want souls. Why not?" I put my question quickly and somewhat -sternly, on purpose to disconcert him. - -The effort succeeded, for an instant he unconsciously relapsed into -his old servile manner, bent low before me, and actually fawned upon -me as he replied. "I don't want any souls, indeed, indeed! I don't. -I couldn't use them if I had them. They would be no manner of use to -me. I couldn't eat them or . . ." - -He suddenly stopped and the old cunning look spread over his face, -like a wind sweep on the surface of the water. - -"And doctor, as to life, what is it after all? When you've got all -you require, and you know that you will never want, that is all. I -have friends, good friends, like you, Dr. Seward." This was said with -a leer of inexpressible cunning. "I know that I shall never lack the -means of life!" - -I think that through the cloudiness of his insanity he saw some -antagonism in me, for he at once fell back on the last refuge of such -as he, a dogged silence. After a short time I saw that for the -present it was useless to speak to him. He was sulky, and so I came -away. - -Later in the day he sent for me. Ordinarily I would not have come -without special reason, but just at present I am so interested in him -that I would gladly make an effort. Besides, I am glad to have -anything to help pass the time. Harker is out, following up clues, -and so are Lord Godalming and Quincey. Van Helsing sits in my study -poring over the record prepared by the Harkers. He seems to think -that by accurate knowledge of all details he will light up on some -clue. He does not wish to be disturbed in the work, without cause. I -would have taken him with me to see the patient, only I thought that -after his last repulse he might not care to go again. There was also -another reason. Renfield might not speak so freely before a third -person as when he and I were alone. - -I found him sitting in the middle of the floor on his stool, a pose -which is generally indicative of some mental energy on his part. When -I came in, he said at once, as though the question had been waiting on -his lips. "What about souls?" - -It was evident then that my surmise had been correct. Unconscious -cerebration was doing its work, even with the lunatic. I determined -to have the matter out. - -"What about them yourself?" I asked. - -He did not reply for a moment but looked all around him, and up and -down, as though he expected to find some inspiration for an answer. - -"I don't want any souls!" he said in a feeble, apologetic way. The -matter seemed preying on his mind, and so I determined to use it, to -"be cruel only to be kind." So I said, "You like life, and you want -life?" - -"Oh yes! But that is all right. You needn't worry about that!" - -"But," I asked, "how are we to get the life without getting the soul -also?" - -This seemed to puzzle him, so I followed it up, "A nice time you'll -have some time when you're flying out here, with the souls of -thousands of flies and spiders and birds and cats buzzing and -twittering and moaning all around you. You've got their lives, you -know, and you must put up with their souls!" - -Something seemed to affect his imagination, for he put his fingers to -his ears and shut his eyes, screwing them up tightly just as a small -boy does when his face is being soaped. There was something pathetic -in it that touched me. It also gave me a lesson, for it seemed that -before me was a child, only a child, though the features were worn, -and the stubble on the jaws was white. It was evident that he was -undergoing some process of mental disturbance, and knowing how his -past moods had interpreted things seemingly foreign to himself, I -thought I would enter into his mind as well as I could and go with him. - -The first step was to restore confidence, so I asked him, speaking -pretty loud so that he would hear me through his closed ears, "Would -you like some sugar to get your flies around again?" - -He seemed to wake up all at once, and shook his head. With a laugh he -replied, "Not much! Flies are poor things, after all!" After a pause -he added, "But I don't want their souls buzzing round me, all the -same." - -"Or spiders?" I went on. - -"Blow spiders! What's the use of spiders? There isn't anything in -them to eat or . . ." He stopped suddenly as though reminded of a -forbidden topic. - -"So, so!" I thought to myself, "this is the second time he has -suddenly stopped at the word 'drink'. What does it mean?" - -Renfield seemed himself aware of having made a lapse, for he hurried -on, as though to distract my attention from it, "I don't take any -stock at all in such matters. 'Rats and mice and such small deer,' as -Shakespeare has it, 'chicken feed of the larder' they might be called. -I'm past all that sort of nonsense. You might as well ask a man to -eat molecules with a pair of chopsticks, as to try to interest me -about the less carnivora, when I know of what is before me." - -"I see," I said. "You want big things that you can make your teeth -meet in? How would you like to breakfast on an elephant?" - -"What ridiculous nonsense you are talking?" He was getting too wide -awake, so I thought I would press him hard. - -"I wonder," I said reflectively, "what an elephant's soul is like!" - -The effect I desired was obtained, for he at once fell from his -high-horse and became a child again. - -"I don't want an elephant's soul, or any soul at all!" he said. For a -few moments he sat despondently. Suddenly he jumped to his feet, with -his eyes blazing and all the signs of intense cerebral excitement. -"To hell with you and your souls!" he shouted. "Why do you plague me -about souls? Haven't I got enough to worry, and pain, to distract me -already, without thinking of souls?" - -He looked so hostile that I thought he was in for another homicidal -fit, so I blew my whistle. - -The instant, however, that I did so he became calm, and said -apologetically, "Forgive me, Doctor. I forgot myself. You do not -need any help. I am so worried in my mind that I am apt to be -irritable. If you only knew the problem I have to face, and that I am -working out, you would pity, and tolerate, and pardon me. Pray do not -put me in a strait waistcoat. I want to think and I cannot think -freely when my body is confined. I am sure you will understand!" - -He had evidently self-control, so when the attendants came I told them -not to mind, and they withdrew. Renfield watched them go. When the -door was closed he said with considerable dignity and sweetness, "Dr. -Seward, you have been very considerate towards me. Believe me that I -am very, very grateful to you!" - -I thought it well to leave him in this mood, and so I came away. -There is certainly something to ponder over in this man's state. -Several points seem to make what the American interviewer calls "a -story," if one could only get them in proper order. Here they are: - - Will not mention "drinking." - - Fears the thought of being burdened with the "soul" of anything. - - Has no dread of wanting "life" in the future. - - Despises the meaner forms of life altogether, though he dreads - being haunted by their souls. - - Logically all these things point one way! He has assurance of - some kind that he will acquire some higher life. - - He dreads the consequence, the burden of a soul. Then it is a - human life he looks to! - - And the assurance . . .? - -Merciful God! The Count has been to him, and there is some new scheme -of terror afoot! - - -Later.--I went after my round to Van Helsing and told him my -suspicion. He grew very grave, and after thinking the matter over for -a while asked me to take him to Renfield. I did so. As we came to -the door we heard the lunatic within singing gaily, as he used to do -in the time which now seems so long ago. - -When we entered we saw with amazement that he had spread out his sugar -as of old. The flies, lethargic with the autumn, were beginning to -buzz into the room. We tried to make him talk of the subject of our -previous conversation, but he would not attend. He went on with his -singing, just as though we had not been present. He had got a scrap -of paper and was folding it into a notebook. We had to come away as -ignorant as we went in. - -His is a curious case indeed. We must watch him tonight. - - - - - -LETTER, MITCHELL, SONS & CANDY TO LORD GODALMING. - -"1 October. - -"My Lord, - -"We are at all times only too happy to meet your wishes. We beg, -with regard to the desire of your Lordship, expressed by Mr. -Harker on your behalf, to supply the following information -concerning the sale and purchase of No. 347, Piccadilly. The -original vendors are the executors of the late Mr. Archibald -Winter-Suffield. The purchaser is a foreign nobleman, Count de -Ville, who effected the purchase himself paying the purchase -money in notes 'over the counter,' if your Lordship will pardon -us using so vulgar an expression. Beyond this we know nothing -whatever of him. - -"We are, my Lord, - -"Your Lordship's humble servants, - -"MITCHELL, SONS & CANDY." - - - - -DR. SEWARD'S DIARY - -2 October.--I placed a man in the corridor last night, and told him to -make an accurate note of any sound he might hear from Renfield's room, -and gave him instructions that if there should be anything strange he -was to call me. After dinner, when we had all gathered round the fire -in the study, Mrs. Harker having gone to bed, we discussed the -attempts and discoveries of the day. Harker was the only one who had -any result, and we are in great hopes that his clue may be an -important one. - -Before going to bed I went round to the patient's room and looked in -through the observation trap. He was sleeping soundly, his heart rose -and fell with regular respiration. - -This morning the man on duty reported to me that a little after -midnight he was restless and kept saying his prayers somewhat loudly. -I asked him if that was all. He replied that it was all he heard. -There was something about his manner, so suspicious that I asked him -point blank if he had been asleep. He denied sleep, but admitted to -having "dozed" for a while. It is too bad that men cannot be trusted -unless they are watched. - -Today Harker is out following up his clue, and Art and Quincey are -looking after horses. Godalming thinks that it will be well to have -horses always in readiness, for when we get the information which we -seek there will be no time to lose. We must sterilize all the -imported earth between sunrise and sunset. We shall thus catch the -Count at his weakest, and without a refuge to fly to. Van Helsing is -off to the British Museum looking up some authorities on ancient -medicine. The old physicians took account of things which their -followers do not accept, and the Professor is searching for witch and -demon cures which may be useful to us later. - -I sometimes think we must be all mad and that we shall wake to sanity -in strait waistcoats. - -Later.--We have met again. We seem at last to be on the track, and -our work of tomorrow may be the beginning of the end. I wonder if -Renfield's quiet has anything to do with this. His moods have so -followed the doings of the Count, that the coming destruction of the -monster may be carried to him some subtle way. If we could only get -some hint as to what passed in his mind, between the time of my -argument with him today and his resumption of fly-catching, it might -afford us a valuable clue. He is now seemingly quiet for a spell . . . -Is he? That wild yell seemed to come from his room . . . - -The attendant came bursting into my room and told me that Renfield had -somehow met with some accident. He had heard him yell, and when he -went to him found him lying on his face on the floor, all covered with -blood. I must go at once . . . - - - - -CHAPTER 21 - - -DR. SEWARD'S DIARY - -3 October.--Let me put down with exactness all that happened, as well -as I can remember, since last I made an entry. Not a detail that I -can recall must be forgotten. In all calmness I must proceed. - -When I came to Renfield's room I found him lying on the floor on his -left side in a glittering pool of blood. When I went to move him, it -became at once apparent that he had received some terrible injuries. -There seemed none of the unity of purpose between the parts of the -body which marks even lethargic sanity. As the face was exposed I -could see that it was horribly bruised, as though it had been beaten -against the floor. Indeed it was from the face wounds that the pool -of blood originated. - -The attendant who was kneeling beside the body said to me as we turned -him over, "I think, sir, his back is broken. See, both his right arm -and leg and the whole side of his face are paralysed." How such a -thing could have happened puzzled the attendant beyond measure. He -seemed quite bewildered, and his brows were gathered in as he said, "I -can't understand the two things. He could mark his face like that by -beating his own head on the floor. I saw a young woman do it once at -the Eversfield Asylum before anyone could lay hands on her. And I -suppose he might have broken his neck by falling out of bed, if he got -in an awkward kink. But for the life of me I can't imagine how the -two things occurred. If his back was broke, he couldn't beat his -head, and if his face was like that before the fall out of bed, there -would be marks of it." - -I said to him, "Go to Dr. Van Helsing, and ask him to kindly come here -at once. I want him without an instant's delay." - -The man ran off, and within a few minutes the Professor, in his -dressing gown and slippers, appeared. When he saw Renfield on the -ground, he looked keenly at him a moment, and then turned to me. I -think he recognized my thought in my eyes, for he said very quietly, -manifestly for the ears of the attendant, "Ah, a sad accident! He -will need very careful watching, and much attention. I shall stay -with you myself, but I shall first dress myself. If you will remain I -shall in a few minutes join you." - -The patient was now breathing stertorously and it was easy to see that -he had suffered some terrible injury. - -Van Helsing returned with extraordinary celerity, bearing with him a -surgical case. He had evidently been thinking and had his mind made -up, for almost before he looked at the patient, he whispered to me, -"Send the attendant away. We must be alone with him when he becomes -conscious, after the operation." - -I said, "I think that will do now, Simmons. We have done all that we -can at present. You had better go your round, and Dr. Van Helsing -will operate. Let me know instantly if there be anything unusual -anywhere." - -The man withdrew, and we went into a strict examination of the -patient. The wounds of the face were superficial. The real injury -was a depressed fracture of the skull, extending right up through the -motor area. - -The Professor thought a moment and said, "We must reduce the pressure -and get back to normal conditions, as far as can be. The rapidity of -the suffusion shows the terrible nature of his injury. The whole -motor area seems affected. The suffusion of the brain will increase -quickly, so we must trephine at once or it may be too late." - -As he was speaking there was a soft tapping at the door. I went over -and opened it and found in the corridor without, Arthur and Quincey in -pajamas and slippers; the former spoke, "I heard your man call up Dr. -Van Helsing and tell him of an accident. So I woke Quincey or rather -called for him as he was not asleep. Things are moving too quickly -and too strangely for sound sleep for any of us these times. I've -been thinking that tomorrow night will not see things as they have -been. We'll have to look back, and forward a little more than we have -done. May we come in?" - -I nodded, and held the door open till they had entered, then I closed -it again. When Quincey saw the attitude and state of the patient, and -noted the horrible pool on the floor, he said softly, "My God! What -has happened to him? Poor, poor devil!" - -I told him briefly, and added that we expected he would recover -consciousness after the operation, for a short time, at all events. -He went at once and sat down on the edge of the bed, with Godalming -beside him. We all watched in patience. - -"We shall wait," said Van Helsing, "just long enough to fix the best -spot for trephining, so that we may most quickly and perfectly remove -the blood clot, for it is evident that the haemorrhage is increasing." - -The minutes during which we waited passed with fearful slowness. I -had a horrible sinking in my heart, and from Van Helsing's face I -gathered that he felt some fear or apprehension as to what was to -come. I dreaded the words Renfield might speak. I was positively -afraid to think. But the conviction of what was coming was on me, as -I have read of men who have heard the death watch. The poor man's -breathing came in uncertain gasps. Each instant he seemed as though -he would open his eyes and speak, but then would follow a prolonged -stertorous breath, and he would relapse into a more fixed -insensibility. Inured as I was to sick beds and death, this suspense -grew and grew upon me. I could almost hear the beating of my own -heart, and the blood surging through my temples sounded like blows -from a hammer. The silence finally became agonizing. I looked at my -companions, one after another, and saw from their flushed faces and -damp brows that they were enduring equal torture. There was a nervous -suspense over us all, as though overhead some dread bell would peal -out powerfully when we should least expect it. - -At last there came a time when it was evident that the patient was -sinking fast. He might die at any moment. I looked up at the -Professor and caught his eyes fixed on mine. His face was sternly set -as he spoke, "There is no time to lose. His words may be worth many -lives. I have been thinking so, as I stood here. It may be there is -a soul at stake! We shall operate just above the ear." - -Without another word he made the operation. For a few moments the -breathing continued to be stertorous. Then there came a breath so -prolonged that it seemed as though it would tear open his chest. -Suddenly his eyes opened, and became fixed in a wild, helpless stare. -This was continued for a few moments, then it was softened into a glad -surprise, and from his lips came a sigh of relief. He moved -convulsively, and as he did so, said, "I'll be quiet, Doctor. Tell -them to take off the strait waistcoat. I have had a terrible dream, -and it has left me so weak that I cannot move. What's wrong with my -face? It feels all swollen, and it smarts dreadfully." - -He tried to turn his head, but even with the effort his eyes seemed to -grow glassy again so I gently put it back. Then Van Helsing said in a -quiet grave tone, "Tell us your dream, Mr. Renfield." - -As he heard the voice his face brightened, through its mutilation, and -he said, "That is Dr. Van Helsing. How good it is of you to be here. -Give me some water, my lips are dry, and I shall try to tell you. I -dreamed . . ." - -He stopped and seemed fainting. I called quietly to Quincey, "The -brandy, it is in my study, quick!" He flew and returned with a glass, -the decanter of brandy and a carafe of water. We moistened the -parched lips, and the patient quickly revived. - -It seemed, however, that his poor injured brain had been working in -the interval, for when he was quite conscious, he looked at me -piercingly with an agonized confusion which I shall never forget, and -said, "I must not deceive myself. It was no dream, but all a grim -reality." Then his eyes roved round the room. As they caught sight -of the two figures sitting patiently on the edge of the bed he went -on, "If I were not sure already, I would know from them." - -For an instant his eyes closed, not with pain or sleep but -voluntarily, as though he were bringing all his faculties to bear. -When he opened them he said, hurriedly, and with more energy than he -had yet displayed, "Quick, Doctor, quick, I am dying! I feel that I -have but a few minutes, and then I must go back to death, or worse! -Wet my lips with brandy again. I have something that I must say -before I die. Or before my poor crushed brain dies anyhow. Thank -you! It was that night after you left me, when I implored you to let -me go away. I couldn't speak then, for I felt my tongue was tied. -But I was as sane then, except in that way, as I am now. I was in an -agony of despair for a long time after you left me, it seemed hours. -Then there came a sudden peace to me. My brain seemed to become cool -again, and I realized where I was. I heard the dogs bark behind our -house, but not where He was!" - -As he spoke, Van Helsing's eyes never blinked, but his hand came out -and met mine and gripped it hard. He did not, however, betray -himself. He nodded slightly and said, "Go on," in a low voice. - -Renfield proceeded. "He came up to the window in the mist, as I had -seen him often before, but he was solid then, not a ghost, and his -eyes were fierce like a man's when angry. He was laughing with his -red mouth, the sharp white teeth glinted in the moonlight when he -turned to look back over the belt of trees, to where the dogs were -barking. I wouldn't ask him to come in at first, though I knew he -wanted to, just as he had wanted all along. Then he began promising -me things, not in words but by doing them." - -He was interrupted by a word from the Professor, "How?" - -"By making them happen. Just as he used to send in the flies when the -sun was shining. Great big fat ones with steel and sapphire on their -wings. And big moths, in the night, with skull and cross-bones on -their backs." - -Van Helsing nodded to him as he whispered to me unconsciously, "The -Acherontia Atropos of the Sphinges, what you call the 'Death's-head -Moth'?" - -The patient went on without stopping, "Then he began to whisper. 'Rats, -rats, rats! Hundreds, thousands, millions of them, and every one a -life. And dogs to eat them, and cats too. All lives! All red blood, -with years of life in it, and not merely buzzing flies!' I laughed at -him, for I wanted to see what he could do. Then the dogs howled, away -beyond the dark trees in His house. He beckoned me to the window. I -got up and looked out, and He raised his hands, and seemed to call out -without using any words. A dark mass spread over the grass, coming on -like the shape of a flame of fire. And then He moved the mist to the -right and left, and I could see that there were thousands of rats with -their eyes blazing red, like His only smaller. He held up his hand, -and they all stopped, and I thought he seemed to be saying, 'All these -lives will I give you, ay, and many more and greater, through -countless ages, if you will fall down and worship me!' And then a red -cloud, like the colour of blood, seemed to close over my eyes, and -before I knew what I was doing, I found myself opening the sash and -saying to Him, 'Come in, Lord and Master!' The rats were all gone, but -He slid into the room through the sash, though it was only open an -inch wide, just as the Moon herself has often come in through the -tiniest crack and has stood before me in all her size and splendour." - -His voice was weaker, so I moistened his lips with the brandy again, -and he continued, but it seemed as though his memory had gone on -working in the interval for his story was further advanced. I was -about to call him back to the point, but Van Helsing whispered to me, -"Let him go on. Do not interrupt him. He cannot go back, and maybe -could not proceed at all if once he lost the thread of his thought." - -He proceeded, "All day I waited to hear from him, but he did not send -me anything, not even a blowfly, and when the moon got up I was pretty -angry with him. When he did slide in through the window, though it -was shut, and did not even knock, I got mad with him. He sneered at -me, and his white face looked out of the mist with his red eyes -gleaming, and he went on as though he owned the whole place, and I was -no one. He didn't even smell the same as he went by me. I couldn't -hold him. I thought that, somehow, Mrs. Harker had come into the -room." - -The two men sitting on the bed stood up and came over, standing behind -him so that he could not see them, but where they could hear better. -They were both silent, but the Professor started and quivered. His -face, however, grew grimmer and sterner still. Renfield went on -without noticing, "When Mrs. Harker came in to see me this afternoon -she wasn't the same. It was like tea after the teapot has been -watered." Here we all moved, but no one said a word. - -He went on, "I didn't know that she was here till she spoke, and she -didn't look the same. I don't care for the pale people. I like them -with lots of blood in them, and hers all seemed to have run out. I -didn't think of it at the time, but when she went away I began to -think, and it made me mad to know that He had been taking the life out -of her." I could feel that the rest quivered, as I did; but we -remained otherwise still. "So when He came tonight I was ready for -Him. I saw the mist stealing in, and I grabbed it tight. I had heard -that madmen have unnatural strength. And as I knew I was a madman, at -times anyhow, I resolved to use my power. Ay, and He felt it too, for -He had to come out of the mist to struggle with me. I held tight, and -I thought I was going to win, for I didn't mean Him to take any more -of her life, till I saw His eyes. They burned into me, and my -strength became like water. He slipped through it, and when I tried -to cling to Him, He raised me up and flung me down. There was a red -cloud before me, and a noise like thunder, and the mist seemed to -steal away under the door." - -His voice was becoming fainter and his breath more stertorous. Van -Helsing stood up instinctively. - -"We know the worst now," he said. "He is here, and we know his -purpose. It may not be too late. Let us be armed, the same as we -were the other night, but lose no time, there is not an instant to -spare." - -There was no need to put our fear, nay our conviction, into words, we -shared them in common. We all hurried and took from our rooms the -same things that we had when we entered the Count's house. The -Professor had his ready, and as we met in the corridor he pointed to -them significantly as he said, "They never leave me, and they shall -not till this unhappy business is over. Be wise also, my friends. It -is no common enemy that we deal with Alas! Alas! That dear Madam -Mina should suffer!" He stopped, his voice was breaking, and I do not -know if rage or terror predominated in my own heart. - -Outside the Harkers' door we paused. Art and Quincey held back, and -the latter said, "Should we disturb her?" - -"We must," said Van Helsing grimly. "If the door be locked, I shall -break it in." - -"May it not frighten her terribly? It is unusual to break into a -lady's room!" - -Van Helsing said solemnly, "You are always right. But this is life -and death. All chambers are alike to the doctor. And even were they -not they are all as one to me tonight. Friend John, when I turn the -handle, if the door does not open, do you put your shoulder down and -shove; and you too, my friends. Now!" - -He turned the handle as he spoke, but the door did not yield. We -threw ourselves against it. With a crash it burst open, and we almost -fell headlong into the room. The Professor did actually fall, and I -saw across him as he gathered himself up from hands and knees. What I -saw appalled me. I felt my hair rise like bristles on the back of my -neck, and my heart seemed to stand still. - -The moonlight was so bright that through the thick yellow blind the -room was light enough to see. On the bed beside the window lay -Jonathan Harker, his face flushed and breathing heavily as though in a -stupor. Kneeling on the near edge of the bed facing outwards was the -white-clad figure of his wife. By her side stood a tall, thin man, -clad in black. His face was turned from us, but the instant we saw we -all recognized the Count, in every way, even to the scar on his -forehead. With his left hand he held both Mrs. Harker's hands, -keeping them away with her arms at full tension. His right hand -gripped her by the back of the neck, forcing her face down on his -bosom. Her white nightdress was smeared with blood, and a thin stream -trickled down the man's bare chest which was shown by his torn-open -dress. The attitude of the two had a terrible resemblance to a child -forcing a kitten's nose into a saucer of milk to compel it to drink. -As we burst into the room, the Count turned his face, and the hellish -look that I had heard described seemed to leap into it. His eyes -flamed red with devilish passion. The great nostrils of the white -aquiline nose opened wide and quivered at the edge, and the white -sharp teeth, behind the full lips of the blood dripping mouth, clamped -together like those of a wild beast. With a wrench, which threw his -victim back upon the bed as though hurled from a height, he turned and -sprang at us. But by this time the Professor had gained his feet, and -was holding towards him the envelope which contained the Sacred Wafer. -The Count suddenly stopped, just as poor Lucy had done outside the -tomb, and cowered back. Further and further back he cowered, as we, -lifting our crucifixes, advanced. The moonlight suddenly failed, as a -great black cloud sailed across the sky. And when the gaslight sprang -up under Quincey's match, we saw nothing but a faint vapour. This, as -we looked, trailed under the door, which with the recoil from its -bursting open, had swung back to its old position. Van Helsing, Art, -and I moved forward to Mrs. Harker, who by this time had drawn her -breath and with it had given a scream so wild, so ear-piercing, so -despairing that it seems to me now that it will ring in my ears till -my dying day. For a few seconds she lay in her helpless attitude and -disarray. Her face was ghastly, with a pallor which was accentuated -by the blood which smeared her lips and cheeks and chin. From her -throat trickled a thin stream of blood. Her eyes were mad with -terror. Then she put before her face her poor crushed hands, which -bore on their whiteness the red mark of the Count's terrible grip, and -from behind them came a low desolate wail which made the terrible -scream seem only the quick expression of an endless grief. Van -Helsing stepped forward and drew the coverlet gently over her body, -whilst Art, after looking at her face for an instant despairingly, ran -out of the room. - -Van Helsing whispered to me, "Jonathan is in a stupor such as we know -the Vampire can produce. We can do nothing with poor Madam Mina for a -few moments till she recovers herself. I must wake him!" - -He dipped the end of a towel in cold water and with it began to flick -him on the face, his wife all the while holding her face between her -hands and sobbing in a way that was heart breaking to hear. I raised -the blind, and looked out of the window. There was much moonshine, -and as I looked I could see Quincey Morris run across the lawn and -hide himself in the shadow of a great yew tree. It puzzled me to -think why he was doing this. But at the instant I heard Harker's -quick exclamation as he woke to partial consciousness, and turned to -the bed. On his face, as there might well be, was a look of wild -amazement. He seemed dazed for a few seconds, and then full -consciousness seemed to burst upon him all at once, and he started up. - -His wife was aroused by the quick movement, and turned to him with her -arms stretched out, as though to embrace him. Instantly, however, she -drew them in again, and putting her elbows together, held her hands -before her face, and shuddered till the bed beneath her shook. - -"In God's name what does this mean?" Harker cried out. "Dr. Seward, -Dr. Van Helsing, what is it? What has happened? What is wrong? Mina, -dear what is it? What does that blood mean? My God, my God! Has it -come to this!" And, raising himself to his knees, he beat his hands -wildly together. "Good God help us! Help her! Oh, help her!" - -With a quick movement he jumped from bed, and began to pull on his -clothes, all the man in him awake at the need for instant exertion. -"What has happened? Tell me all about it!" he cried without pausing. -"Dr. Van Helsing, you love Mina, I know. Oh, do something to save her. -It cannot have gone too far yet. Guard her while I look for him!" - -His wife, through her terror and horror and distress, saw some sure -danger to him. Instantly forgetting her own grief, she seized hold of -him and cried out. - -"No! No! Jonathan, you must not leave me. I have suffered enough -tonight, God knows, without the dread of his harming you. You must -stay with me. Stay with these friends who will watch over you!" Her -expression became frantic as she spoke. And, he yielding to her, she -pulled him down sitting on the bedside, and clung to him fiercely. - -Van Helsing and I tried to calm them both. The Professor held up his -golden crucifix, and said with wonderful calmness, "Do not fear, my -dear. We are here, and whilst this is close to you no foul thing can -approach. You are safe for tonight, and we must be calm and take -counsel together." - -She shuddered and was silent, holding down her head on her husband's -breast. When she raised it, his white nightrobe was stained with -blood where her lips had touched, and where the thin open wound in the -neck had sent forth drops. The instant she saw it she drew back, with -a low wail, and whispered, amidst choking sobs. - -"Unclean, unclean! I must touch him or kiss him no more. Oh, that it -should be that it is I who am now his worst enemy, and whom he may -have most cause to fear." - -To this he spoke out resolutely, "Nonsense, Mina. It is a shame to me -to hear such a word. I would not hear it of you. And I shall not -hear it from you. May God judge me by my deserts, and punish me with -more bitter suffering than even this hour, if by any act or will of -mine anything ever come between us!" - -He put out his arms and folded her to his breast. And for a while she -lay there sobbing. He looked at us over her bowed head, with eyes -that blinked damply above his quivering nostrils. His mouth was set -as steel. - -After a while her sobs became less frequent and more faint, and then -he said to me, speaking with a studied calmness which I felt tried his -nervous power to the utmost. - -"And now, Dr. Seward, tell me all about it. Too well I know the broad -fact. Tell me all that has been." - -I told him exactly what had happened and he listened with seeming -impassiveness, but his nostrils twitched and his eyes blazed as I told -how the ruthless hands of the Count had held his wife in that terrible -and horrid position, with her mouth to the open wound in his breast. -It interested me, even at that moment, to see that whilst the face of -white set passion worked convulsively over the bowed head, the hands -tenderly and lovingly stroked the ruffled hair. Just as I had -finished, Quincey and Godalming knocked at the door. They entered in -obedience to our summons. Van Helsing looked at me questioningly. I -understood him to mean if we were to take advantage of their coming to -divert if possible the thoughts of the unhappy husband and wife from -each other and from themselves. So on nodding acquiescence to him he -asked them what they had seen or done. To which Lord Godalming -answered. - -"I could not see him anywhere in the passage, or in any of our rooms. -I looked in the study but, though he had been there, he had gone. He -had, however . . ." He stopped suddenly, looking at the poor drooping -figure on the bed. - -Van Helsing said gravely, "Go on, friend Arthur. We want here no more -concealments. Our hope now is in knowing all. Tell freely!" - -So Art went on, "He had been there, and though it could only have been -for a few seconds, he made rare hay of the place. All the manuscript -had been burned, and the blue flames were flickering amongst the white -ashes. The cylinders of your phonograph too were thrown on the fire, -and the wax had helped the flames." - -Here I interrupted. "Thank God there is the other copy in the safe!" - -His face lit for a moment, but fell again as he went on. "I ran -downstairs then, but could see no sign of him. I looked into -Renfield's room, but there was no trace there except . . ." Again he -paused. - -"Go on," said Harker hoarsely. So he bowed his head and moistening his -lips with his tongue, added, "except that the poor fellow is dead." - -Mrs. Harker raised her head, looking from one to the other of us she -said solemnly, "God's will be done!" - -I could not but feel that Art was keeping back something. But, as I -took it that it was with a purpose, I said nothing. - -Van Helsing turned to Morris and asked, "And you, friend Quincey, have -you any to tell?" - -"A little," he answered. "It may be much eventually, but at present I -can't say. I thought it well to know if possible where the Count -would go when he left the house. I did not see him, but I saw a bat -rise from Renfield's window, and flap westward. I expected to see him -in some shape go back to Carfax, but he evidently sought some other -lair. He will not be back tonight, for the sky is reddening in the -east, and the dawn is close. We must work tomorrow!" - -He said the latter words through his shut teeth. For a space of -perhaps a couple of minutes there was silence, and I could fancy that -I could hear the sound of our hearts beating. - -Then Van Helsing said, placing his hand tenderly on Mrs. Harker's -head, "And now, Madam Mina, poor dear, dear, Madam Mina, tell us -exactly what happened. God knows that I do not want that you be -pained, but it is need that we know all. For now more than ever has -all work to be done quick and sharp, and in deadly earnest. The day -is close to us that must end all, if it may be so, and now is the -chance that we may live and learn." - -The poor dear lady shivered, and I could see the tension of her nerves -as she clasped her husband closer to her and bent her head lower and -lower still on his breast. Then she raised her head proudly, and held -out one hand to Van Helsing who took it in his, and after stooping and -kissing it reverently, held it fast. The other hand was locked in -that of her husband, who held his other arm thrown round her -protectingly. After a pause in which she was evidently ordering her -thoughts, she began. - -"I took the sleeping draught which you had so kindly given me, but for -a long time it did not act. I seemed to become more wakeful, and -myriads of horrible fancies began to crowd in upon my mind. All of -them connected with death, and vampires, with blood, and pain, and -trouble." Her husband involuntarily groaned as she turned to him and -said lovingly, "Do not fret, dear. You must be brave and strong, and -help me through the horrible task. If you only knew what an effort it -is to me to tell of this fearful thing at all, you would understand -how much I need your help. Well, I saw I must try to help the -medicine to its work with my will, if it was to do me any good, so I -resolutely set myself to sleep. Sure enough sleep must soon have come -to me, for I remember no more. Jonathan coming in had not waked me, -for he lay by my side when next I remember. There was in the room the -same thin white mist that I had before noticed. But I forget now if -you know of this. You will find it in my diary which I shall show you -later. I felt the same vague terror which had come to me before and -the same sense of some presence. I turned to wake Jonathan, but found -that he slept so soundly that it seemed as if it was he who had taken -the sleeping draught, and not I. I tried, but I could not wake him. -This caused me a great fear, and I looked around terrified. Then -indeed, my heart sank within me. Beside the bed, as if he had stepped -out of the mist, or rather as if the mist had turned into his figure, -for it had entirely disappeared, stood a tall, thin man, all in -black. I knew him at once from the description of the others. The -waxen face, the high aquiline nose, on which the light fell in a thin -white line, the parted red lips, with the sharp white teeth showing -between, and the red eyes that I had seemed to see in the sunset on -the windows of St. Mary's Church at Whitby. I knew, too, the red scar -on his forehead where Jonathan had struck him. For an instant my -heart stood still, and I would have screamed out, only that I was -paralyzed. In the pause he spoke in a sort of keen, cutting whisper, -pointing as he spoke to Jonathan. - -"'Silence! If you make a sound I shall take him and dash his brains -out before your very eyes.' I was appalled and was too bewildered to -do or say anything. With a mocking smile, he placed one hand upon my -shoulder and, holding me tight, bared my throat with the other, saying -as he did so, 'First, a little refreshment to reward my exertions. -You may as well be quiet. It is not the first time, or the second, -that your veins have appeased my thirst!' I was bewildered, and -strangely enough, I did not want to hinder him. I suppose it is a -part of the horrible curse that such is, when his touch is on his -victim. And oh, my God, my God, pity me! He placed his reeking lips -upon my throat!" Her husband groaned again. She clasped his hand -harder, and looked at him pityingly, as if he were the injured one, -and went on. - -"I felt my strength fading away, and I was in a half swoon. How long -this horrible thing lasted I know not, but it seemed that a long time -must have passed before he took his foul, awful, sneering mouth away. -I saw it drip with the fresh blood!" The remembrance seemed for a while -to overpower her, and she drooped and would have sunk down but for her -husband's sustaining arm. With a great effort she recovered herself -and went on. - -"Then he spoke to me mockingly, 'And so you, like the others, would -play your brains against mine. You would help these men to hunt me -and frustrate me in my design! You know now, and they know in part -already, and will know in full before long, what it is to cross my -path. They should have kept their energies for use closer to home. -Whilst they played wits against me, against me who commanded nations, -and intrigued for them, and fought for them, hundreds of years before -they were born, I was countermining them. And you, their best beloved -one, are now to me, flesh of my flesh, blood of my blood, kin of my -kin, my bountiful wine-press for a while, and shall be later on my -companion and my helper. You shall be avenged in turn, for not one of -them but shall minister to your needs. But as yet you are to be -punished for what you have done. You have aided in thwarting me. Now -you shall come to my call. When my brain says "Come!" to you, you -shall cross land or sea to do my bidding. And to that end this!' - -"With that he pulled open his shirt, and with his long sharp nails -opened a vein in his breast. When the blood began to spurt out, he -took my hands in one of his, holding them tight, and with the other -seized my neck and pressed my mouth to the wound, so that I must -either suffocate or swallow some to the . . . Oh, my God! My God! -What have I done? What have I done to deserve such a fate, I who have -tried to walk in meekness and righteousness all my days. God pity -me! Look down on a poor soul in worse than mortal peril. And in -mercy pity those to whom she is dear!" Then she began to rub her lips -as though to cleanse them from pollution. - -As she was telling her terrible story, the eastern sky began to -quicken, and everything became more and more clear. Harker was still -and quiet; but over his face, as the awful narrative went on, came a -grey look which deepened and deepened in the morning light, till when -the first red streak of the coming dawn shot up, the flesh stood -darkly out against the whitening hair. - -We have arranged that one of us is to stay within call of the unhappy -pair till we can meet together and arrange about taking action. - -Of this I am sure. The sun rises today on no more miserable house in -all the great round of its daily course. - - - - -CHAPTER 22 - - -JONATHAN HARKER'S JOURNAL - -3 October.--As I must do something or go mad, I write this diary. It -is now six o'clock, and we are to meet in the study in half an hour -and take something to eat, for Dr. Van Helsing and Dr. Seward are -agreed that if we do not eat we cannot work our best. Our best will -be, God knows, required today. I must keep writing at every chance, -for I dare not stop to think. All, big and little, must go down. -Perhaps at the end the little things may teach us most. The teaching, -big or little, could not have landed Mina or me anywhere worse than we -are today. However, we must trust and hope. Poor Mina told me just -now, with the tears running down her dear cheeks, that it is in -trouble and trial that our faith is tested. That we must keep on -trusting, and that God will aid us up to the end. The end! Oh my -God! What end? . . . To work! To work! - -When Dr. Van Helsing and Dr. Seward had come back from seeing poor -Renfield, we went gravely into what was to be done. First, Dr. Seward -told us that when he and Dr. Van Helsing had gone down to the room -below they had found Renfield lying on the floor, all in a heap. His -face was all bruised and crushed in, and the bones of the neck were -broken. - -Dr. Seward asked the attendant who was on duty in the passage if he -had heard anything. He said that he had been sitting down, he -confessed to half dozing, when he heard loud voices in the room, and -then Renfield had called out loudly several times, "God! God! God!" -After that there was a sound of falling, and when he entered the room -he found him lying on the floor, face down, just as the doctors had -seen him. Van Helsing asked if he had heard "voices" or "a voice," -and he said he could not say. That at first it had seemed to him as -if there were two, but as there was no one in the room it could have -been only one. He could swear to it, if required, that the word "God" -was spoken by the patient. - -Dr. Seward said to us, when we were alone, that he did not wish to go -into the matter. The question of an inquest had to be considered, and -it would never do to put forward the truth, as no one would believe -it. As it was, he thought that on the attendant's evidence he could -give a certificate of death by misadventure in falling from bed. In -case the coroner should demand it, there would be a formal inquest, -necessarily to the same result. - -When the question began to be discussed as to what should be our next -step, the very first thing we decided was that Mina should be in full -confidence. That nothing of any sort, no matter how painful, should -be kept from her. She herself agreed as to its wisdom, and it was -pitiful to see her so brave and yet so sorrowful, and in such a depth -of despair. - -"There must be no concealment," she said. "Alas! We have had too -much already. And besides there is nothing in all the world that can -give me more pain than I have already endured, than I suffer now! -Whatever may happen, it must be of new hope or of new courage to me!" - -Van Helsing was looking at her fixedly as she spoke, and said, -suddenly but quietly, "But dear Madam Mina, are you not afraid. Not -for yourself, but for others from yourself, after what has happened?" - -Her face grew set in its lines, but her eyes shone with the devotion -of a martyr as she answered, "Ah no! For my mind is made up!" - -"To what?" he asked gently, whilst we were all very still, for each in -our own way we had a sort of vague idea of what she meant. - -Her answer came with direct simplicity, as though she was simply -stating a fact, "Because if I find in myself, and I shall watch keenly -for it, a sign of harm to any that I love, I shall die!" - -"You would not kill yourself?" he asked, hoarsely. - -"I would. If there were no friend who loved me, who would save me -such a pain, and so desperate an effort!" She looked at him meaningly -as she spoke. - -He was sitting down, but now he rose and came close to her and put his -hand on her head as he said solemnly. "My child, there is such an one -if it were for your good. For myself I could hold it in my account -with God to find such an euthanasia for you, even at this moment if it -were best. Nay, were it safe! But my child . . ." - -For a moment he seemed choked, and a great sob rose in his throat. He -gulped it down and went on, "There are here some who would stand -between you and death. You must not die. You must not die by any -hand, but least of all your own. Until the other, who has fouled your -sweet life, is true dead you must not die. For if he is still with -the quick Undead, your death would make you even as he is. No, you -must live! You must struggle and strive to live, though death would -seem a boon unspeakable. You must fight Death himself, though he come -to you in pain or in joy. By the day, or the night, in safety or in -peril! On your living soul I charge you that you do not die. Nay, -nor think of death, till this great evil be past." - -The poor dear grew white as death, and shook and shivered, as I have -seen a quicksand shake and shiver at the incoming of the tide. We -were all silent. We could do nothing. At length she grew more calm -and turning to him said sweetly, but oh so sorrowfully, as she held -out her hand, "I promise you, my dear friend, that if God will let me -live, I shall strive to do so. Till, if it may be in His good time, -this horror may have passed away from me." - -She was so good and brave that we all felt that our hearts were -strengthened to work and endure for her, and we began to discuss what -we were to do. I told her that she was to have all the papers in the -safe, and all the papers or diaries and phonographs we might hereafter -use, and was to keep the record as she had done before. She was -pleased with the prospect of anything to do, if "pleased" could be -used in connection with so grim an interest. - -As usual Van Helsing had thought ahead of everyone else, and was -prepared with an exact ordering of our work. - -"It is perhaps well," he said, "that at our meeting after our visit to -Carfax we decided not to do anything with the earth boxes that lay -there. Had we done so, the Count must have guessed our purpose, and -would doubtless have taken measures in advance to frustrate such an -effort with regard to the others. But now he does not know our -intentions. Nay, more, in all probability, he does not know that such -a power exists to us as can sterilize his lairs, so that he cannot use -them as of old. - -"We are now so much further advanced in our knowledge as to their -disposition that, when we have examined the house in Piccadilly, we may -track the very last of them. Today then, is ours, and in it rests our -hope. The sun that rose on our sorrow this morning guards us in its -course. Until it sets tonight, that monster must retain whatever form -he now has. He is confined within the limitations of his earthly -envelope. He cannot melt into thin air nor disappear through cracks -or chinks or crannies. If he go through a doorway, he must open the -door like a mortal. And so we have this day to hunt out all his lairs -and sterilize them. So we shall, if we have not yet catch him and -destroy him, drive him to bay in some place where the catching and the -destroying shall be, in time, sure." - -Here I started up for I could not contain myself at the thought that -the minutes and seconds so preciously laden with Mina's life and -happiness were flying from us, since whilst we talked action was -impossible. But Van Helsing held up his hand warningly. - -"Nay, friend Jonathan," he said, "in this, the quickest way home is -the longest way, so your proverb say. We shall all act and act with -desperate quick, when the time has come. But think, in all probable -the key of the situation is in that house in Piccadilly. The Count -may have many houses which he has bought. Of them he will have deeds -of purchase, keys and other things. He will have paper that he write -on. He will have his book of cheques. There are many belongings that -he must have somewhere. Why not in this place so central, so quiet, -where he come and go by the front or the back at all hours, when in -the very vast of the traffic there is none to notice. We shall go -there and search that house. And when we learn what it holds, then we -do what our friend Arthur call, in his phrases of hunt 'stop the -earths' and so we run down our old fox, so? Is it not?" - -"Then let us come at once," I cried, "we are wasting the precious, -precious time!" - -The Professor did not move, but simply said, "And how are we to get -into that house in Piccadilly?" - -"Any way!" I cried. "We shall break in if need be." - -"And your police? Where will they be, and what will they say?" - -I was staggered, but I knew that if he wished to delay he had a good -reason for it. So I said, as quietly as I could, "Don't wait more -than need be. You know, I am sure, what torture I am in." - -"Ah, my child, that I do. And indeed there is no wish of me to add to -your anguish. But just think, what can we do, until all the world be -at movement. Then will come our time. I have thought and thought, -and it seems to me that the simplest way is the best of all. Now we -wish to get into the house, but we have no key. Is it not so?" I -nodded. - -"Now suppose that you were, in truth, the owner of that house, and -could not still get in. And think there was to you no conscience of -the housebreaker, what would you do?" - -"I should get a respectable locksmith, and set him to work to pick the -lock for me." - -"And your police, they would interfere, would they not?" - -"Oh no! Not if they knew the man was properly employed." - -"Then," he looked at me as keenly as he spoke, "all that is in doubt -is the conscience of the employer, and the belief of your policemen as -to whether or not that employer has a good conscience or a bad one. -Your police must indeed be zealous men and clever, oh so clever, in -reading the heart, that they trouble themselves in such matter. No, -no, my friend Jonathan, you go take the lock off a hundred empty -houses in this your London, or of any city in the world, and if you do -it as such things are rightly done, and at the time such things are -rightly done, no one will interfere. I have read of a gentleman who -owned a so fine house in London, and when he went for months of summer -to Switzerland and lock up his house, some burglar come and broke -window at back and got in. Then he went and made open the shutters in -front and walk out and in through the door, before the very eyes of -the police. Then he have an auction in that house, and advertise it, -and put up big notice. And when the day come he sell off by a great -auctioneer all the goods of that other man who own them. Then he go -to a builder, and he sell him that house, making an agreement that he -pull it down and take all away within a certain time. And your police -and other authority help him all they can. And when that owner come -back from his holiday in Switzerland he find only an empty hole where -his house had been. This was all done en regle, and in our work we -shall be en regle too. We shall not go so early that the policemen -who have then little to think of, shall deem it strange. But we shall -go after ten o'clock, when there are many about, and such things would -be done were we indeed owners of the house." - -I could not but see how right he was and the terrible despair of -Mina's face became relaxed in thought. There was hope in such good -counsel. - -Van Helsing went on, "When once within that house we may find more -clues. At any rate some of us can remain there whilst the rest find -the other places where there be more earth boxes, at Bermondsey and -Mile End." - -Lord Godalming stood up. "I can be of some use here," he said. "I -shall wire to my people to have horses and carriages where they will -be most convenient." - -"Look here, old fellow," said Morris, "it is a capital idea to have -all ready in case we want to go horse backing, but don't you think -that one of your snappy carriages with its heraldic adornments in a -byway of Walworth or Mile End would attract too much attention for our -purpose? It seems to me that we ought to take cabs when we go south -or east. And even leave them somewhere near the neighbourhood we are -going to." - -"Friend Quincey is right!" said the Professor. "His head is what you -call in plane with the horizon. It is a difficult thing that we go to -do, and we do not want no peoples to watch us if so it may." - -Mina took a growing interest in everything and I was rejoiced to see -that the exigency of affairs was helping her to forget for a time the -terrible experience of the night. She was very, very pale, almost -ghastly, and so thin that her lips were drawn away, showing her teeth -in somewhat of prominence. I did not mention this last, lest it -should give her needless pain, but it made my blood run cold in my -veins to think of what had occurred with poor Lucy when the Count had -sucked her blood. As yet there was no sign of the teeth growing -sharper, but the time as yet was short, and there was time for fear. - -When we came to the discussion of the sequence of our efforts and of -the disposition of our forces, there were new sources of doubt. It -was finally agreed that before starting for Piccadilly we should -destroy the Count's lair close at hand. In case he should find it out -too soon, we should thus be still ahead of him in our work of -destruction. And his presence in his purely material shape, and at -his weakest, might give us some new clue. - -As to the disposal of forces, it was suggested by the Professor that, -after our visit to Carfax, we should all enter the house in -Piccadilly. That the two doctors and I should remain there, whilst -Lord Godalming and Quincey found the lairs at Walworth and Mile End -and destroyed them. It was possible, if not likely, the Professor -urged, that the Count might appear in Piccadilly during the day, and -that if so we might be able to cope with him then and there. At any -rate, we might be able to follow him in force. To this plan I -strenuously objected, and so far as my going was concerned, for I said -that I intended to stay and protect Mina. I thought that my mind was -made up on the subject, but Mina would not listen to my objection. She -said that there might be some law matter in which I could be useful. -That amongst the Count's papers might be some clue which I could -understand out of my experience in Transylvania. And that, as it was, -all the strength we could muster was required to cope with the Count's -extraordinary power. I had to give in, for Mina's resolution was -fixed. She said that it was the last hope for her that we should all -work together. - -"As for me," she said, "I have no fear. Things have been as bad as -they can be. And whatever may happen must have in it some element of -hope or comfort. Go, my husband! God can, if He wishes it, guard me -as well alone as with any one present." - -So I started up crying out, "Then in God's name let us come at once, -for we are losing time. The Count may come to Piccadilly earlier than -we think." - -"Not so!" said Van Helsing, holding up his hand. - -"But why?" I asked. - -"Do you forget," he said, with actually a smile, "that last night he -banqueted heavily, and will sleep late?" - -Did I forget! Shall I ever . . . can I ever! Can any of us ever -forget that terrible scene! Mina struggled hard to keep her brave -countenance, but the pain overmastered her and she put her hands -before her face, and shuddered whilst she moaned. Van Helsing had not -intended to recall her frightful experience. He had simply lost sight -of her and her part in the affair in his intellectual effort. - -When it struck him what he said, he was horrified at his -thoughtlessness and tried to comfort her. - -"Oh, Madam Mina," he said, "dear, dear, Madam Mina, alas! That I of -all who so reverence you should have said anything so forgetful. These -stupid old lips of mine and this stupid old head do not deserve so, -but you will forget it, will you not?" He bent low beside her as he -spoke. - -She took his hand, and looking at him through her tears, said -hoarsely, "No, I shall not forget, for it is well that I remember. -And with it I have so much in memory of you that is sweet, that I take -it all together. Now, you must all be going soon. Breakfast is -ready, and we must all eat that we may be strong." - -Breakfast was a strange meal to us all. We tried to be cheerful and -encourage each other, and Mina was the brightest and most cheerful of -us. When it was over, Van Helsing stood up and said, "Now, my dear -friends, we go forth to our terrible enterprise. Are we all armed, as -we were on that night when first we visited our enemy's lair. Armed -against ghostly as well as carnal attack?" - -We all assured him. - -"Then it is well. Now, Madam Mina, you are in any case quite safe -here until the sunset. And before then we shall return . . . if . . . -We shall return! But before we go let me see you armed against personal -attack. I have myself, since you came down, prepared your chamber by -the placing of things of which we know, so that He may not enter. Now -let me guard yourself. On your forehead I touch this piece of Sacred -Wafer in the name of the Father, the Son, and . . ." - -There was a fearful scream which almost froze our hearts to hear. As -he had placed the Wafer on Mina's forehead, it had seared it . . . had -burned into the flesh as though it had been a piece of white-hot metal. -My poor darling's brain had told her the significance of the fact as -quickly as her nerves received the pain of it, and the two so -overwhelmed her that her overwrought nature had its voice in that -dreadful scream. - -But the words to her thought came quickly. The echo of the scream had -not ceased to ring on the air when there came the reaction, and she -sank on her knees on the floor in an agony of abasement. Pulling her -beautiful hair over her face, as the leper of old his mantle, she -wailed out. - -"Unclean! Unclean! Even the Almighty shuns my polluted flesh! I -must bear this mark of shame upon my forehead until the Judgement -Day." - -They all paused. I had thrown myself beside her in an agony of -helpless grief, and putting my arms around held her tight. For a few -minutes our sorrowful hearts beat together, whilst the friends around -us turned away their eyes that ran tears silently. Then Van Helsing -turned and said gravely. So gravely that I could not help feeling -that he was in some way inspired, and was stating things outside -himself. - -"It may be that you may have to bear that mark till God himself see -fit, as He most surely shall, on the Judgement Day, to redress all -wrongs of the earth and of His children that He has placed thereon. -And oh, Madam Mina, my dear, my dear, may we who love you be there to -see, when that red scar, the sign of God's knowledge of what has been, -shall pass away, and leave your forehead as pure as the heart we know. -For so surely as we live, that scar shall pass away when God sees -right to lift the burden that is hard upon us. Till then we bear our -Cross, as His Son did in obedience to His Will. It may be that we are -chosen instruments of His good pleasure, and that we ascend to His -bidding as that other through stripes and shame. Through tears and -blood. Through doubts and fear, and all that makes the difference -between God and man." - -There was hope in his words, and comfort. And they made for -resignation. Mina and I both felt so, and simultaneously we each took -one of the old man's hands and bent over and kissed it. Then without -a word we all knelt down together, and all holding hands, swore to be -true to each other. We men pledged ourselves to raise the veil of -sorrow from the head of her whom, each in his own way, we loved. And -we prayed for help and guidance in the terrible task which lay before -us. It was then time to start. So I said farewell to Mina, a parting -which neither of us shall forget to our dying day, and we set out. - -To one thing I have made up my mind. If we find out that Mina must be -a vampire in the end, then she shall not go into that unknown and -terrible land alone. I suppose it is thus that in old times one -vampire meant many. Just as their hideous bodies could only rest in -sacred earth, so the holiest love was the recruiting sergeant for -their ghastly ranks. - -We entered Carfax without trouble and found all things the same as on -the first occasion. It was hard to believe that amongst so prosaic -surroundings of neglect and dust and decay there was any ground for -such fear as already we knew. Had not our minds been made up, and had -there not been terrible memories to spur us on, we could hardly have -proceeded with our task. We found no papers, or any sign of use in -the house. And in the old chapel the great boxes looked just as we -had seen them last. - -Dr. Van Helsing said to us solemnly as we stood before him, "And now, -my friends, we have a duty here to do. We must sterilize this earth, -so sacred of holy memories, that he has brought from a far distant -land for such fell use. He has chosen this earth because it has been -holy. Thus we defeat him with his own weapon, for we make it more -holy still. It was sanctified to such use of man, now we sanctify it -to God." - -As he spoke he took from his bag a screwdriver and a wrench, and very -soon the top of one of the cases was thrown open. The earth smelled -musty and close, but we did not somehow seem to mind, for our -attention was concentrated on the Professor. Taking from his box a -piece of the Sacred Wafer he laid it reverently on the earth, and then -shutting down the lid began to screw it home, we aiding him as he -worked. - -One by one we treated in the same way each of the great boxes, and -left them as we had found them to all appearance. But in each was a -portion of the Host. When we closed the door behind us, the Professor -said solemnly, "So much is already done. It may be that with all the -others we can be so successful, then the sunset of this evening may -shine of Madam Mina's forehead all white as ivory and with no stain!" - -As we passed across the lawn on our way to the station to catch our -train we could see the front of the asylum. I looked eagerly, and in -the window of my own room saw Mina. I waved my hand to her, and -nodded to tell that our work there was successfully accomplished. She -nodded in reply to show that she understood. The last I saw, she was -waving her hand in farewell. It was with a heavy heart that we sought -the station and just caught the train, which was steaming in as we -reached the platform. I have written this in the train. - - -Piccadilly, 12:30 o'clock.--Just before we reached Fenchurch Street -Lord Godalming said to me, "Quincey and I will find a locksmith. You -had better not come with us in case there should be any difficulty. -For under the circumstances it wouldn't seem so bad for us to break -into an empty house. But you are a solicitor and the Incorporated Law -Society might tell you that you should have known better." - -I demurred as to my not sharing any danger even of odium, but he went -on, "Besides, it will attract less attention if there are not too many -of us. My title will make it all right with the locksmith, and with -any policeman that may come along. You had better go with Jack and -the Professor and stay in the Green Park. Somewhere in sight of the -house, and when you see the door opened and the smith has gone away, -do you all come across. We shall be on the lookout for you, and shall -let you in." - -"The advice is good!" said Van Helsing, so we said no more. Godalming -and Morris hurried off in a cab, we following in another. At the -corner of Arlington Street our contingent got out and strolled into -the Green Park. My heart beat as I saw the house on which so much of -our hope was centred, looming up grim and silent in its deserted -condition amongst its more lively and spruce-looking neighbours. We -sat down on a bench within good view, and began to smoke cigars so as -to attract as little attention as possible. The minutes seemed to -pass with leaden feet as we waited for the coming of the others. - -At length we saw a four-wheeler drive up. Out of it, in leisurely -fashion, got Lord Godalming and Morris. And down from the box -descended a thick-set working man with his rush-woven basket of tools. -Morris paid the cabman, who touched his hat and drove away. Together -the two ascended the steps, and Lord Godalming pointed out what he -wanted done. The workman took off his coat leisurely and hung it on -one of the spikes of the rail, saying something to a policeman who -just then sauntered along. The policeman nodded acquiescence, and the -man kneeling down placed his bag beside him. After searching through -it, he took out a selection of tools which he proceeded to lay beside -him in orderly fashion. Then he stood up, looked in the keyhole, blew -into it, and turning to his employers, made some remark. Lord -Godalming smiled, and the man lifted a good sized bunch of keys. -Selecting one of them, he began to probe the lock, as if feeling his -way with it. After fumbling about for a bit he tried a second, and -then a third. All at once the door opened under a slight push from -him, and he and the two others entered the hall. We sat still. My -own cigar burnt furiously, but Van Helsing's went cold altogether. We -waited patiently as we saw the workman come out and bring his bag. -Then he held the door partly open, steadying it with his knees, whilst -he fitted a key to the lock. This he finally handed to Lord -Godalming, who took out his purse and gave him something. The man -touched his hat, took his bag, put on his coat and departed. Not a -soul took the slightest notice of the whole transaction. - -When the man had fairly gone, we three crossed the street and knocked -at the door. It was immediately opened by Quincey Morris, beside whom -stood Lord Godalming lighting a cigar. - -"The place smells so vilely," said the latter as we came in. It did -indeed smell vilely. Like the old chapel at Carfax. And with our -previous experience it was plain to us that the Count had been using -the place pretty freely. We moved to explore the house, all keeping -together in case of attack, for we knew we had a strong and wily enemy -to deal with, and as yet we did not know whether the Count might not -be in the house. - -In the dining room, which lay at the back of the hall, we found eight -boxes of earth. Eight boxes only out of the nine which we sought! -Our work was not over, and would never be until we should have found -the missing box. - -First we opened the shutters of the window which looked out across a -narrow stone flagged yard at the blank face of a stable, pointed to -look like the front of a miniature house. There were no windows in -it, so we were not afraid of being overlooked. We did not lose any -time in examining the chests. With the tools which we had brought -with us we opened them, one by one, and treated them as we had treated -those others in the old chapel. It was evident to us that the Count -was not at present in the house, and we proceeded to search for any of -his effects. - -After a cursory glance at the rest of the rooms, from basement to -attic, we came to the conclusion that the dining room contained any -effects which might belong to the Count. And so we proceeded to -minutely examine them. They lay in a sort of orderly disorder on the -great dining room table. - -There were title deeds of the Piccadilly house in a great bundle, -deeds of the purchase of the houses at Mile End and Bermondsey, -notepaper, envelopes, and pens and ink. All were covered up in thin -wrapping paper to keep them from the dust. There were also a clothes -brush, a brush and comb, and a jug and basin. The latter containing -dirty water which was reddened as if with blood. Last of all was a -little heap of keys of all sorts and sizes, probably those belonging -to the other houses. - -When we had examined this last find, Lord Godalming and Quincey Morris -taking accurate notes of the various addresses of the houses in the -East and the South, took with them the keys in a great bunch, and set -out to destroy the boxes in these places. The rest of us are, with -what patience we can, waiting their return, or the coming of the -Count. - - - - -CHAPTER 23 - - -DR. SEWARD'S DIARY - -3 October.--The time seemed terribly long whilst we were waiting for -the coming of Godalming and Quincey Morris. The Professor tried to -keep our minds active by using them all the time. I could see his -beneficent purpose, by the side glances which he threw from time to -time at Harker. The poor fellow is overwhelmed in a misery that is -appalling to see. Last night he was a frank, happy-looking man, with -strong, youthful face, full of energy, and with dark brown hair. -Today he is a drawn, haggard old man, whose white hair matches well -with the hollow burning eyes and grief-written lines of his face. His -energy is still intact. In fact, he is like a living flame. This may -yet be his salvation, for if all go well, it will tide him over the -despairing period. He will then, in a kind of way, wake again to the -realities of life. Poor fellow, I thought my own trouble was bad -enough, but his . . . ! - -The Professor knows this well enough, and is doing his best to keep -his mind active. What he has been saying was, under the -circumstances, of absorbing interest. So well as I can remember, here -it is: - -"I have studied, over and over again since they came into my hands, -all the papers relating to this monster, and the more I have studied, -the greater seems the necessity to utterly stamp him out. All through -there are signs of his advance. Not only of his power, but of his -knowledge of it. As I learned from the researches of my friend -Arminius of Buda-Pesth, he was in life a most wonderful man. Soldier, -statesman, and alchemist--which latter was the highest development of -the science knowledge of his time. He had a mighty brain, a learning -beyond compare, and a heart that knew no fear and no remorse. He -dared even to attend the Scholomance, and there was no branch of -knowledge of his time that he did not essay. - -"Well, in him the brain powers survived the physical death. Though it -would seem that memory was not all complete. In some faculties of -mind he has been, and is, only a child. But he is growing, and some -things that were childish at the first are now of man's stature. He -is experimenting, and doing it well. And if it had not been that we -have crossed his path he would be yet, he may be yet if we fail, the -father or furtherer of a new order of beings, whose road must lead -through Death, not Life." - -Harker groaned and said, "And this is all arrayed against my darling! -But how is he experimenting? The knowledge may help us to defeat -him!" - -"He has all along, since his coming, been trying his power, slowly but -surely. That big child-brain of his is working. Well for us, it is -as yet a child-brain. For had he dared, at the first, to attempt -certain things he would long ago have been beyond our power. However, -he means to succeed, and a man who has centuries before him can afford -to wait and to go slow. Festina lente may well be his motto." - -"I fail to understand," said Harker wearily. "Oh, do be more plain to -me! Perhaps grief and trouble are dulling my brain." - -The Professor laid his hand tenderly on his shoulder as he spoke, "Ah, -my child, I will be plain. Do you not see how, of late, this monster -has been creeping into knowledge experimentally. How he has been -making use of the zoophagous patient to effect his entry into friend -John's home. For your Vampire, though in all afterwards he can come -when and how he will, must at the first make entry only when asked -thereto by an inmate. But these are not his most important -experiments. Do we not see how at the first all these so great boxes -were moved by others. He knew not then but that must be so. But all -the time that so great child-brain of his was growing, and he began to -consider whether he might not himself move the box. So he began to -help. And then, when he found that this be all right, he try to move -them all alone. And so he progress, and he scatter these graves of -him. And none but he know where they are hidden. - -"He may have intend to bury them deep in the ground. So that only he -use them in the night, or at such time as he can change his form, they -do him equal well, and none may know these are his hiding place! But, -my child, do not despair, this knowledge came to him just too late! -Already all of his lairs but one be sterilize as for him. And before -the sunset this shall be so. Then he have no place where he can move -and hide. I delayed this morning that so we might be sure. Is there -not more at stake for us than for him? Then why not be more careful -than him? By my clock it is one hour and already, if all be well, -friend Arthur and Quincey are on their way to us. Today is our day, -and we must go sure, if slow, and lose no chance. See! There are -five of us when those absent ones return." - -Whilst we were speaking we were startled by a knock at the hall door, -the double postman's knock of the telegraph boy. We all moved out to -the hall with one impulse, and Van Helsing, holding up his hand to us -to keep silence, stepped to the door and opened it. The boy handed in -a dispatch. The Professor closed the door again, and after looking at -the direction, opened it and read aloud. - -"Look out for D. He has just now, 12:45, come from Carfax -hurriedly and hastened towards the South. He seems to be -going the round and may want to see you: Mina." - -There was a pause, broken by Jonathan Harker's voice, "Now, God be -thanked, we shall soon meet!" - -Van Helsing turned to him quickly and said, "God will act in His own -way and time. Do not fear, and do not rejoice as yet. For what we -wish for at the moment may be our own undoings." - -"I care for nothing now," he answered hotly, "except to wipe out this -brute from the face of creation. I would sell my soul to do it!" - -"Oh, hush, hush, my child!" said Van Helsing. "God does not purchase -souls in this wise, and the Devil, though he may purchase, does not -keep faith. But God is merciful and just, and knows your pain and -your devotion to that dear Madam Mina. Think you, how her pain would -be doubled, did she but hear your wild words. Do not fear any of us, -we are all devoted to this cause, and today shall see the end. The -time is coming for action. Today this Vampire is limit to the powers -of man, and till sunset he may not change. It will take him time to -arrive here, see it is twenty minutes past one, and there are yet some -times before he can hither come, be he never so quick. What we must -hope for is that my Lord Arthur and Quincey arrive first." - -About half an hour after we had received Mrs. Harker's telegram, there -came a quiet, resolute knock at the hall door. It was just an -ordinary knock, such as is given hourly by thousands of gentlemen, but -it made the Professor's heart and mine beat loudly. We looked at each -other, and together moved out into the hall. We each held ready to -use our various armaments, the spiritual in the left hand, the mortal -in the right. Van Helsing pulled back the latch, and holding the door -half open, stood back, having both hands ready for action. The -gladness of our hearts must have shown upon our faces when on the -step, close to the door, we saw Lord Godalming and Quincey Morris. -They came quickly in and closed the door behind them, the former -saying, as they moved along the hall: - -"It is all right. We found both places. Six boxes in each and we -destroyed them all." - -"Destroyed?" asked the Professor. - -"For him!" We were silent for a minute, and then Quincey said, -"There's nothing to do but to wait here. If, however, he doesn't turn -up by five o'clock, we must start off. For it won't do to leave Mrs. -Harker alone after sunset." - -"He will be here before long now," said Van Helsing, who had been -consulting his pocketbook. "Nota bene, in Madam's telegram he went -south from Carfax. That means he went to cross the river, and he -could only do so at slack of tide, which should be something before -one o'clock. That he went south has a meaning for us. He is as yet -only suspicious, and he went from Carfax first to the place where he -would suspect interference least. You must have been at Bermondsey -only a short time before him. That he is not here already shows that -he went to Mile End next. This took him some time, for he would then -have to be carried over the river in some way. Believe me, my -friends, we shall not have long to wait now. We should have ready -some plan of attack, so that we may throw away no chance. Hush, there -is no time now. Have all your arms! Be ready!" He held up a warning -hand as he spoke, for we all could hear a key softly inserted in the -lock of the hall door. - -I could not but admire, even at such a moment, the way in which a -dominant spirit asserted itself. In all our hunting parties and -adventures in different parts of the world, Quincey Morris had always -been the one to arrange the plan of action, and Arthur and I had been -accustomed to obey him implicitly. Now, the old habit seemed to be -renewed instinctively. With a swift glance around the room, he at -once laid out our plan of attack, and without speaking a word, with a -gesture, placed us each in position. Van Helsing, Harker, and I were -just behind the door, so that when it was opened the Professor could -guard it whilst we two stepped between the incomer and the door. -Godalming behind and Quincey in front stood just out of sight ready to -move in front of the window. We waited in a suspense that made the -seconds pass with nightmare slowness. The slow, careful steps came -along the hall. The Count was evidently prepared for some surprise, -at least he feared it. - -Suddenly with a single bound he leaped into the room. Winning a way -past us before any of us could raise a hand to stay him. There was -something so pantherlike in the movement, something so unhuman, that -it seemed to sober us all from the shock of his coming. The first to -act was Harker, who with a quick movement, threw himself before the -door leading into the room in the front of the house. As the Count -saw us, a horrible sort of snarl passed over his face, showing the -eyeteeth long and pointed. But the evil smile as quickly passed into -a cold stare of lion-like disdain. His expression again changed as, -with a single impulse, we all advanced upon him. It was a pity that -we had not some better organized plan of attack, for even at the -moment I wondered what we were to do. I did not myself know whether -our lethal weapons would avail us anything. - -Harker evidently meant to try the matter, for he had ready his great -Kukri knife and made a fierce and sudden cut at him. The blow was a -powerful one; only the diabolical quickness of the Count's leap back -saved him. A second less and the trenchant blade had shorn through -his heart. As it was, the point just cut the cloth of his coat, -making a wide gap whence a bundle of bank notes and a stream -of gold fell out. The expression of the Count's face was so hellish, -that for a moment I feared for Harker, though I saw him throw the -terrible knife aloft again for another stroke. Instinctively I moved -forward with a protective impulse, holding the Crucifix and Wafer in -my left hand. I felt a mighty power fly along my arm, and it was -without surprise that I saw the monster cower back before a similar -movement made spontaneously by each one of us. It would be impossible -to describe the expression of hate and baffled malignity, of anger and -hellish rage, which came over the Count's face. His waxen hue became -greenish-yellow by the contrast of his burning eyes, and the red scar -on the forehead showed on the pallid skin like a palpitating wound. -The next instant, with a sinuous dive he swept under Harker's arm, ere -his blow could fall, and grasping a handful of the money from the -floor, dashed across the room, threw himself at the window. Amid the -crash and glitter of the falling glass, he tumbled into the flagged -area below. Through the sound of the shivering glass I could hear the -"ting" of the gold, as some of the sovereigns fell on the flagging. - -We ran over and saw him spring unhurt from the ground. He, rushing up -the steps, crossed the flagged yard, and pushed open the stable door. -There he turned and spoke to us. - -"You think to baffle me, you with your pale faces all in a row, like -sheep in a butcher's. You shall be sorry yet, each one of you! You -think you have left me without a place to rest, but I have more. My -revenge is just begun! I spread it over centuries, and time is on my -side. Your girls that you all love are mine already. And through -them you and others shall yet be mine, my creatures, to do my bidding -and to be my jackals when I want to feed. Bah!" - -With a contemptuous sneer, he passed quickly through the door, and we -heard the rusty bolt creak as he fastened it behind him. A door -beyond opened and shut. The first of us to speak was the Professor. -Realizing the difficulty of following him through the stable, we moved -toward the hall. - -"We have learnt something . . . much! Notwithstanding his brave words, -he fears us. He fears time, he fears want! For if not, why he hurry -so? His very tone betray him, or my ears deceive. Why take that -money? You follow quick. You are hunters of the wild beast, and -understand it so. For me, I make sure that nothing here may be of use -to him, if so that he returns." - -As he spoke he put the money remaining in his pocket, took the title -deeds in the bundle as Harker had left them, and swept the remaining -things into the open fireplace, where he set fire to them with a -match. - -Godalming and Morris had rushed out into the yard, and Harker had -lowered himself from the window to follow the Count. He had, however, -bolted the stable door, and by the time they had forced it open there -was no sign of him. Van Helsing and I tried to make inquiry at the -back of the house. But the mews was deserted and no one had seen him -depart. - -It was now late in the afternoon, and sunset was not far off. We had -to recognize that our game was up. With heavy hearts we agreed with -the Professor when he said, "Let us go back to Madam Mina. Poor, poor -dear Madam Mina. All we can do just now is done, and we can there, at -least, protect her. But we need not despair. There is but one more -earth box, and we must try to find it. When that is done all may yet -be well." - -I could see that he spoke as bravely as he could to comfort Harker. -The poor fellow was quite broken down, now and again he gave a low -groan which he could not suppress. He was thinking of his wife. - -With sad hearts we came back to my house, where we found Mrs. Harker -waiting us, with an appearance of cheerfulness which did honour to her -bravery and unselfishness. When she saw our faces, her own became as -pale as death. For a second or two her eyes were closed as if she -were in secret prayer. - -And then she said cheerfully, "I can never thank you all enough. Oh, -my poor darling!" - -As she spoke, she took her husband's grey head in her hands and kissed -it. - -"Lay your poor head here and rest it. All will yet be well, dear! God -will protect us if He so will it in His good intent." The poor fellow -groaned. There was no place for words in his sublime misery. - -We had a sort of perfunctory supper together, and I think it cheered -us all up somewhat. It was, perhaps, the mere animal heat of food to -hungry people, for none of us had eaten anything since breakfast, or -the sense of companionship may have helped us, but anyhow we were all -less miserable, and saw the morrow as not altogether without hope. - -True to our promise, we told Mrs. Harker everything which had passed. -And although she grew snowy white at times when danger had seemed to -threaten her husband, and red at others when his devotion to her was -manifested, she listened bravely and with calmness. When we came to -the part where Harker had rushed at the Count so recklessly, she clung -to her husband's arm, and held it tight as though her clinging could -protect him from any harm that might come. She said nothing, however, -till the narration was all done, and matters had been brought up to -the present time. - -Then without letting go her husband's hand she stood up amongst us and -spoke. Oh, that I could give any idea of the scene. Of that sweet, -sweet, good, good woman in all the radiant beauty of her youth and -animation, with the red scar on her forehead, of which she was -conscious, and which we saw with grinding of our teeth, remembering -whence and how it came. Her loving kindness against our grim hate. -Her tender faith against all our fears and doubting. And we, knowing -that so far as symbols went, she with all her goodness and purity and -faith, was outcast from God. - -"Jonathan," she said, and the word sounded like music on her lips it -was so full of love and tenderness, "Jonathan dear, and you all my -true, true friends, I want you to bear something in mind through all -this dreadful time. I know that you must fight. That you must -destroy even as you destroyed the false Lucy so that the true Lucy -might live hereafter. But it is not a work of hate. That poor soul -who has wrought all this misery is the saddest case of all. Just -think what will be his joy when he, too, is destroyed in his worser -part that his better part may have spiritual immortality. You must be -pitiful to him, too, though it may not hold your hands from his -destruction." - -As she spoke I could see her husband's face darken and draw together, -as though the passion in him were shriveling his being to its core. -Instinctively the clasp on his wife's hand grew closer, till his -knuckles looked white. She did not flinch from the pain which I knew -she must have suffered, but looked at him with eyes that were more -appealing than ever. - -As she stopped speaking he leaped to his feet, almost tearing his hand -from hers as he spoke. - -"May God give him into my hand just for long enough to destroy that -earthly life of him which we are aiming at. If beyond it I could send -his soul forever and ever to burning hell I would do it!" - -"Oh, hush! Oh, hush in the name of the good God. Don't say such -things, Jonathan, my husband, or you will crush me with fear and -horror. Just think, my dear . . . I have been thinking all this long, -long day of it . . . that . . . perhaps . . . some day . . . I, too, may -need such pity, and that some other like you, and with equal cause for -anger, may deny it to me! Oh, my husband! My husband, indeed I would -have spared you such a thought had there been another way. But I pray -that God may not have treasured your wild words, except as the -heart-broken wail of a very loving and sorely stricken man. Oh, God, -let these poor white hairs go in evidence of what he has suffered, who -all his life has done no wrong, and on whom so many sorrows have -come." - -We men were all in tears now. There was no resisting them, and we -wept openly. She wept, too, to see that her sweeter counsels had -prevailed. Her husband flung himself on his knees beside her, and -putting his arms round her, hid his face in the folds of her dress. -Van Helsing beckoned to us and we stole out of the room, leaving the -two loving hearts alone with their God. - -Before they retired the Professor fixed up the room against any coming -of the Vampire, and assured Mrs. Harker that she might rest in peace. -She tried to school herself to the belief, and manifestly for her -husband's sake, tried to seem content. It was a brave struggle, and -was, I think and believe, not without its reward. Van Helsing had -placed at hand a bell which either of them was to sound in case of any -emergency. When they had retired, Quincey, Godalming, and I arranged -that we should sit up, dividing the night between us, and watch over -the safety of the poor stricken lady. The first watch falls to -Quincey, so the rest of us shall be off to bed as soon as we can. - -Godalming has already turned in, for his is the second watch. Now -that my work is done I, too, shall go to bed. - - - -JONATHAN HARKER'S JOURNAL - -3-4 October, close to midnight.--I thought yesterday would never end. -There was over me a yearning for sleep, in some sort of blind belief -that to wake would be to find things changed, and that any change must -now be for the better. Before we parted, we discussed what our next -step was to be, but we could arrive at no result. All we knew was -that one earth box remained, and that the Count alone knew where it -was. If he chooses to lie hidden, he may baffle us for years. And in -the meantime, the thought is too horrible, I dare not think of it even -now. This I know, that if ever there was a woman who was all -perfection, that one is my poor wronged darling. I loved her a -thousand times more for her sweet pity of last night, a pity that made -my own hate of the monster seem despicable. Surely God will not -permit the world to be the poorer by the loss of such a creature. This -is hope to me. We are all drifting reefwards now, and faith is our -only anchor. Thank God! Mina is sleeping, and sleeping without -dreams. I fear what her dreams might be like, with such terrible -memories to ground them in. She has not been so calm, within my -seeing, since the sunset. Then, for a while, there came over her face -a repose which was like spring after the blasts of March. I thought -at the time that it was the softness of the red sunset on her face, -but somehow now I think it has a deeper meaning. I am not sleepy -myself, though I am weary . . . weary to death. However, I must try -to sleep. For there is tomorrow to think of, and there is no rest for -me until . . . - - -Later--I must have fallen asleep, for I was awakened by Mina, who was -sitting up in bed, with a startled look on her face. I could see -easily, for we did not leave the room in darkness. She had placed a -warning hand over my mouth, and now she whispered in my ear, "Hush! -There is someone in the corridor!" I got up softly, and crossing the -room, gently opened the door. - -Just outside, stretched on a mattress, lay Mr. Morris, wide awake. He -raised a warning hand for silence as he whispered to me, "Hush! Go -back to bed. It is all right. One of us will be here all night. We -don't mean to take any chances!" - -His look and gesture forbade discussion, so I came back and told Mina. -She sighed and positively a shadow of a smile stole over her poor, -pale face as she put her arms round me and said softly, "Oh, thank God -for good brave men!" With a sigh she sank back again to sleep. I -write this now as I am not sleepy, though I must try again. - - -4 October, morning.--Once again during the night I was wakened by -Mina. This time we had all had a good sleep, for the grey of the -coming dawn was making the windows into sharp oblongs, and the gas -flame was like a speck rather than a disc of light. - -She said to me hurriedly, "Go, call the Professor. I want to see him -at once." - -"Why?" I asked. - -"I have an idea. I suppose it must have come in the night, and -matured without my knowing it. He must hypnotize me before the dawn, -and then I shall be able to speak. Go quick, dearest, the time is -getting close." - -I went to the door. Dr. Seward was resting on the mattress, and -seeing me, he sprang to his feet. - -"Is anything wrong?" he asked, in alarm. - -"No," I replied. "But Mina wants to see Dr. Van Helsing at once." - -"I will go," he said, and hurried into the Professor's room. - -Two or three minutes later Van Helsing was in the room in his dressing -gown, and Mr. Morris and Lord Godalming were with Dr. Seward at the -door asking questions. When the Professor saw Mina a smile, a -positive smile ousted the anxiety of his face. - -He rubbed his hands as he said, "Oh, my dear Madam Mina, this is -indeed a change. See! Friend Jonathan, we have got our dear Madam -Mina, as of old, back to us today!" Then turning to her, he said -cheerfully, "And what am I to do for you? For at this hour you do not -want me for nothing." - -"I want you to hypnotize me!" she said. "Do it before the dawn, for I -feel that then I can speak, and speak freely. Be quick, for the time -is short!" Without a word he motioned her to sit up in bed. - -Looking fixedly at her, he commenced to make passes in front of her, -from over the top of her head downward, with each hand in turn. Mina -gazed at him fixedly for a few minutes, during which my own heart beat -like a trip hammer, for I felt that some crisis was at hand. -Gradually her eyes closed, and she sat, stock still. Only by the -gentle heaving of her bosom could one know that she was alive. The -Professor made a few more passes and then stopped, and I could see -that his forehead was covered with great beads of perspiration. Mina -opened her eyes, but she did not seem the same woman. There was a -far-away look in her eyes, and her voice had a sad dreaminess which -was new to me. Raising his hand to impose silence, the Professor -motioned to me to bring the others in. They came on tiptoe, closing -the door behind them, and stood at the foot of the bed, looking on. -Mina appeared not to see them. The stillness was broken by Van -Helsing's voice speaking in a low level tone which would not break the -current of her thoughts. - -"Where are you?" The answer came in a neutral way. - -"I do not know. Sleep has no place it can call its own." For several -minutes there was silence. Mina sat rigid, and the Professor stood -staring at her fixedly. - -The rest of us hardly dared to breathe. The room was growing lighter. -Without taking his eyes from Mina's face, Dr. Van Helsing motioned me -to pull up the blind. I did so, and the day seemed just upon us. A -red streak shot up, and a rosy light seemed to diffuse itself through -the room. On the instant the Professor spoke again. - -"Where are you now?" - -The answer came dreamily, but with intention. It were as though she -were interpreting something. I have heard her use the same tone when -reading her shorthand notes. - -"I do not know. It is all strange to me!" - -"What do you see?" - -"I can see nothing. It is all dark." - -"What do you hear?" I could detect the strain in the Professor's -patient voice. - -"The lapping of water. It is gurgling by, and little waves leap. I -can hear them on the outside." - -"Then you are on a ship?'" - -We all looked at each other, trying to glean something each from the -other. We were afraid to think. - -The answer came quick, "Oh, yes!" - -"What else do you hear?" - -"The sound of men stamping overhead as they run about. There is the -creaking of a chain, and the loud tinkle as the check of the capstan -falls into the ratchet." - -"What are you doing?" - -"I am still, oh so still. It is like death!" The voice faded away -into a deep breath as of one sleeping, and the open eyes closed again. - -By this time the sun had risen, and we were all in the full light of -day. Dr. Van Helsing placed his hands on Mina's shoulders, and laid -her head down softly on her pillow. She lay like a sleeping child for -a few moments, and then, with a long sigh, awoke and stared in wonder -to see us all around her. - -"Have I been talking in my sleep?" was all she said. She seemed, -however, to know the situation without telling, though she was eager -to know what she had told. The Professor repeated the conversation, -and she said, "Then there is not a moment to lose. It may not be yet -too late!" - -Mr. Morris and Lord Godalming started for the door but the Professor's -calm voice called them back. - -"Stay, my friends. That ship, wherever it was, was weighing anchor at -the moment in your so great Port of London. Which of them is it that -you seek? God be thanked that we have once again a clue, though -whither it may lead us we know not. We have been blind somewhat. -Blind after the manner of men, since we can look back we see what we -might have seen looking forward if we had been able to see what we -might have seen! Alas, but that sentence is a puddle, is it not? We -can know now what was in the Count's mind, when he seize that money, -though Jonathan's so fierce knife put him in the danger that even he -dread. He meant escape. Hear me, ESCAPE! He saw that with but one -earth box left, and a pack of men following like dogs after a fox, -this London was no place for him. He have take his last earth box on -board a ship, and he leave the land. He think to escape, but no! We -follow him. Tally Ho! As friend Arthur would say when he put on his -red frock! Our old fox is wily. Oh! So wily, and we must follow -with wile. I, too, am wily and I think his mind in a little while. -In meantime we may rest and in peace, for there are between us which -he do not want to pass, and which he could not if he would. Unless -the ship were to touch the land, and then only at full or slack tide. -See, and the sun is just rose, and all day to sunset is us. Let us -take bath, and dress, and have breakfast which we all need, and which -we can eat comfortably since he be not in the same land with us." - -Mina looked at him appealingly as she asked, "But why need we seek him -further, when he is gone away from us?" - -He took her hand and patted it as he replied, "Ask me nothing as yet. -When we have breakfast, then I answer all questions." He would say no -more, and we separated to dress. - -After breakfast Mina repeated her question. He looked at her gravely -for a minute and then said sorrowfully, "Because my dear, dear Madam -Mina, now more than ever must we find him even if we have to follow -him to the jaws of Hell!" - -She grew paler as she asked faintly, "Why?" - -"Because," he answered solemnly, "he can live for centuries, and you -are but mortal woman. Time is now to be dreaded, since once he put -that mark upon your throat." - -I was just in time to catch her as she fell forward in a faint. - - - - -CHAPTER 24 - - -DR. SEWARD'S PHONOGRAPH DIARY - -SPOKEN BY VAN HELSING - -This to Jonathan Harker. - -You are to stay with your dear Madam Mina. We shall go to make our -search, if I can call it so, for it is not search but knowing, and we -seek confirmation only. But do you stay and take care of her today. -This is your best and most holiest office. This day nothing can find -him here. - -Let me tell you that so you will know what we four know already, for I -have tell them. He, our enemy, have gone away. He have gone back to -his Castle in Transylvania. I know it so well, as if a great hand of -fire wrote it on the wall. He have prepare for this in some way, and -that last earth box was ready to ship somewheres. For this he took -the money. For this he hurry at the last, lest we catch him before -the sun go down. It was his last hope, save that he might hide in the -tomb that he think poor Miss Lucy, being as he thought like him, keep -open to him. But there was not of time. When that fail he make -straight for his last resource, his last earth-work I might say did I -wish double entente. He is clever, oh so clever! He know that his -game here was finish. And so he decide he go back home. He find ship -going by the route he came, and he go in it. - -We go off now to find what ship, and whither bound. When we have -discover that, we come back and tell you all. Then we will comfort -you and poor Madam Mina with new hope. For it will be hope when you -think it over, that all is not lost. This very creature that we -pursue, he take hundreds of years to get so far as London. And yet in -one day, when we know of the disposal of him we drive him out. He is -finite, though he is powerful to do much harm and suffers not as we -do. But we are strong, each in our purpose, and we are all more -strong together. Take heart afresh, dear husband of Madam Mina. This -battle is but begun and in the end we shall win. So sure as that God -sits on high to watch over His children. Therefore be of much comfort -till we return. - -VAN HELSING. - - - - - -JONATHAN HARKER'S JOURNAL - -4 October.--When I read to Mina, Van Helsing's message in the -phonograph, the poor girl brightened up considerably. Already the -certainty that the Count is out of the country has given her comfort. -And comfort is strength to her. For my own part, now that his -horrible danger is not face to face with us, it seems almost -impossible to believe in it. Even my own terrible experiences in -Castle Dracula seem like a long forgotten dream. Here in the crisp -autumn air in the bright sunlight. - -Alas! How can I disbelieve! In the midst of my thought my eye fell -on the red scar on my poor darling's white forehead. Whilst that -lasts, there can be no disbelief. Mina and I fear to be idle, so we -have been over all the diaries again and again. Somehow, although the -reality seem greater each time, the pain and the fear seem less. There -is something of a guiding purpose manifest throughout, which is -comforting. Mina says that perhaps we are the instruments of ultimate -good. It may be! I shall try to think as she does. We have never -spoken to each other yet of the future. It is better to wait till we -see the Professor and the others after their investigations. - -The day is running by more quickly than I ever thought a day could run -for me again. It is now three o'clock. - - - - - -MINA HARKER'S JOURNAL - -5 October, 5 P.M.--Our meeting for report. Present: Professor Van -Helsing, Lord Godalming, Dr. Seward, Mr. Quincey Morris, Jonathan -Harker, Mina Harker. - -Dr. Van Helsing described what steps were taken during the day to -discover on what boat and whither bound Count Dracula made his escape. - -"As I knew that he wanted to get back to Transylvania, I felt sure -that he must go by the Danube mouth, or by somewhere in the Black Sea, -since by that way he come. It was a dreary blank that was before us. -Omme ignotum pro magnifico, and so with heavy hearts we start to find -what ships leave for the Black Sea last night. He was in sailing -ship, since Madam Mina tell of sails being set. These not so -important as to go in your list of the shipping in the Times, and so -we go, by suggestion of Lord Godalming, to your Lloyd's, where are -note of all ships that sail, however so small. There we find that -only one Black Sea bound ship go out with the tide. She is the -Czarina Catherine, and she sail from Doolittle's Wharf for Varna, and -thence to other ports and up the Danube. 'So!' said I, 'this is the -ship whereon is the Count.' So off we go to Doolittle's Wharf, and -there we find a man in an office. From him we inquire of the goings -of the Czarina Catherine. He swear much, and he red face and loud of -voice, but he good fellow all the same. And when Quincey give him -something from his pocket which crackle as he roll it up, and put it -in a so small bag which he have hid deep in his clothing, he still -better fellow and humble servant to us. He come with us, and ask many -men who are rough and hot. These be better fellows too when they have -been no more thirsty. They say much of blood and bloom, and of others -which I comprehend not, though I guess what they mean. But -nevertheless they tell us all things which we want to know. - -"They make known to us among them, how last afternoon at about five -o'clock comes a man so hurry. A tall man, thin and pale, with high -nose and teeth so white, and eyes that seem to be burning. That he be -all in black, except that he have a hat of straw which suit not him or -the time. That he scatter his money in making quick inquiry as to -what ship sails for the Black Sea and for where. Some took him to the -office and then to the ship, where he will not go aboard but halt at -shore end of gangplank, and ask that the captain come to him. The -captain come, when told that he will be pay well, and though he swear -much at the first he agree to term. Then the thin man go and some one -tell him where horse and cart can be hired. He go there and soon he -come again, himself driving cart on which a great box. This he -himself lift down, though it take several to put it on truck for the -ship. He give much talk to captain as to how and where his box is to -be place. But the captain like it not and swear at him in many -tongues, and tell him that if he like he can come and see where it -shall be. But he say 'no,' that he come not yet, for that he have -much to do. Whereupon the captain tell him that he had better be -quick, with blood, for that his ship will leave the place, of blood, -before the turn of the tide, with blood. Then the thin man smile and -say that of course he must go when he think fit, but he will be -surprise if he go quite so soon. The captain swear again, polyglot, -and the thin man make him bow, and thank him, and say that he will so -far intrude on his kindness as to come aboard before the sailing. -Final the captain, more red than ever, and in more tongues, tell him -that he doesn't want no Frenchmen, with bloom upon them and also with -blood, in his ship, with blood on her also. And so, after asking -where he might purchase ship forms, he departed. - -"No one knew where he went 'or bloomin' well cared' as they said, for -they had something else to think of, well with blood again. For it -soon became apparent to all that the Czarina Catherine would not sail -as was expected. A thin mist began to creep up from the river, and it -grew, and grew. Till soon a dense fog enveloped the ship and all -around her. The captain swore polyglot, very polyglot, polyglot with -bloom and blood, but he could do nothing. The water rose and rose, -and he began to fear that he would lose the tide altogether. He was -in no friendly mood, when just at full tide, the thin man came up the -gangplank again and asked to see where his box had been stowed. Then -the captain replied that he wished that he and his box, old and with -much bloom and blood, were in hell. But the thin man did not be -offend, and went down with the mate and saw where it was place, and -came up and stood awhile on deck in fog. He must have come off by -himself, for none notice him. Indeed they thought not of him, for -soon the fog begin to melt away, and all was clear again. My friends -of the thirst and the language that was of bloom and blood laughed, as -they told how the captain's swears exceeded even his usual polyglot, -and was more than ever full of picturesque, when on questioning other -mariners who were on movement up and down the river that hour, he -found that few of them had seen any of fog at all, except where it lay -round the wharf. However, the ship went out on the ebb tide, and was -doubtless by morning far down the river mouth. She was then, when -they told us, well out to sea. - -"And so, my dear Madam Mina, it is that we have to rest for a time, -for our enemy is on the sea, with the fog at his command, on his way -to the Danube mouth. To sail a ship takes time, go she never so -quick. And when we start to go on land more quick, and we meet him -there. Our best hope is to come on him when in the box between -sunrise and sunset. For then he can make no struggle, and we may deal -with him as we should. There are days for us, in which we can make -ready our plan. We know all about where he go. For we have seen the -owner of the ship, who have shown us invoices and all papers that can -be. The box we seek is to be landed in Varna, and to be given to an -agent, one Ristics who will there present his credentials. And so our -merchant friend will have done his part. When he ask if there be any -wrong, for that so, he can telegraph and have inquiry made at Varna, -we say 'no,' for what is to be done is not for police or of the -customs. It must be done by us alone and in our own way." - -When Dr. Van Helsing had done speaking, I asked him if he were certain -that the Count had remained on board the ship. He replied, "We have -the best proof of that, your own evidence, when in the hypnotic trance -this morning." - -I asked him again if it were really necessary that they should pursue -the Count, for oh! I dread Jonathan leaving me, and I know that he -would surely go if the others went. He answered in growing passion, -at first quietly. As he went on, however, he grew more angry and more -forceful, till in the end we could not but see wherein was at least -some of that personal dominance which made him so long a master -amongst men. - -"Yes, it is necessary, necessary, necessary! For your sake in the -first, and then for the sake of humanity. This monster has done much -harm already, in the narrow scope where he find himself, and in the -short time when as yet he was only as a body groping his so small -measure in darkness and not knowing. All this have I told these -others. You, my dear Madam Mina, will learn it in the phonograph of -my friend John, or in that of your husband. I have told them how the -measure of leaving his own barren land, barren of peoples, and coming -to a new land where life of man teems till they are like the multitude -of standing corn, was the work of centuries. Were another of the -Undead, like him, to try to do what he has done, perhaps not all the -centuries of the world that have been, or that will be, could aid him. -With this one, all the forces of nature that are occult and deep and -strong must have worked together in some wonderous way. The very -place, where he have been alive, Undead for all these centuries, is -full of strangeness of the geologic and chemical world. There are -deep caverns and fissures that reach none know whither. There have -been volcanoes, some of whose openings still send out waters of -strange properties, and gases that kill or make to vivify. Doubtless, -there is something magnetic or electric in some of these combinations -of occult forces which work for physical life in strange way, and in -himself were from the first some great qualities. In a hard and -warlike time he was celebrate that he have more iron nerve, more -subtle brain, more braver heart, than any man. In him some vital -principle have in strange way found their utmost. And as his body -keep strong and grow and thrive, so his brain grow too. All this -without that diabolic aid which is surely to him. For it have to -yield to the powers that come from, and are, symbolic of good. And -now this is what he is to us. He have infect you, oh forgive me, my -dear, that I must say such, but it is for good of you that I speak. He -infect you in such wise, that even if he do no more, you have only to -live, to live in your own old, sweet way, and so in time, death, which -is of man's common lot and with God's sanction, shall make you like to -him. This must not be! We have sworn together that it must not. -Thus are we ministers of God's own wish. That the world, and men for -whom His Son die, will not be given over to monsters, whose very -existence would defame Him. He have allowed us to redeem one soul -already, and we go out as the old knights of the Cross to redeem -more. Like them we shall travel towards the sunrise. And like them, -if we fall, we fall in good cause." - -He paused and I said, "But will not the Count take his rebuff wisely? -Since he has been driven from England, will he not avoid it, as a -tiger does the village from which he has been hunted?" - -"Aha!" he said, "your simile of the tiger good, for me, and I shall -adopt him. Your maneater, as they of India call the tiger who has -once tasted blood of the human, care no more for the other prey, but -prowl unceasing till he get him. This that we hunt from our village -is a tiger, too, a maneater, and he never cease to prowl. Nay, in -himself he is not one to retire and stay afar. In his life, his -living life, he go over the Turkey frontier and attack his enemy on -his own ground. He be beaten back, but did he stay? No! He come -again, and again, and again. Look at his persistence and endurance. -With the child-brain that was to him he have long since conceive the -idea of coming to a great city. What does he do? He find out the -place of all the world most of promise for him. Then he deliberately -set himself down to prepare for the task. He find in patience just -how is his strength, and what are his powers. He study new tongues. -He learn new social life, new environment of old ways, the politics, -the law, the finance, the science, the habit of a new land and a new -people who have come to be since he was. His glimpse that he have -had, whet his appetite only and enkeen his desire. Nay, it help him -to grow as to his brain. For it all prove to him how right he was at -the first in his surmises. He have done this alone, all alone! From -a ruin tomb in a forgotten land. What more may he not do when the -greater world of thought is open to him. He that can smile at death, -as we know him. Who can flourish in the midst of diseases that kill -off whole peoples. Oh! If such an one was to come from God, and not -the Devil, what a force for good might he not be in this old world of -ours. But we are pledged to set the world free. Our toil must be in -silence, and our efforts all in secret. For in this enlightened age, -when men believe not even what they see, the doubting of wise men -would be his greatest strength. It would be at once his sheath and -his armor, and his weapons to destroy us, his enemies, who are willing -to peril even our own souls for the safety of one we love. For the -good of mankind, and for the honour and glory of God." - -After a general discussion it was determined that for tonight nothing -be definitely settled. That we should all sleep on the facts, and try -to think out the proper conclusions. Tomorrow, at breakfast, we are -to meet again, and after making our conclusions known to one another, -we shall decide on some definite cause of action . . . - -I feel a wonderful peace and rest tonight. It is as if some haunting -presence were removed from me. Perhaps . . . - -My surmise was not finished, could not be, for I caught sight in the -mirror of the red mark upon my forehead, and I knew that I was still -unclean. - - - - -DR. SEWARD'S DIARY - -5 October.--We all arose early, and I think that sleep did much for -each and all of us. When we met at early breakfast there was more -general cheerfulness than any of us had ever expected to experience -again. - -It is really wonderful how much resilience there is in human nature. -Let any obstructing cause, no matter what, be removed in any way, even -by death, and we fly back to first principles of hope and enjoyment. -More than once as we sat around the table, my eyes opened in wonder -whether the whole of the past days had not been a dream. It was only -when I caught sight of the red blotch on Mrs. Harker's forehead that I -was brought back to reality. Even now, when I am gravely revolving -the matter, it is almost impossible to realize that the cause of all -our trouble is still existent. Even Mrs. Harker seems to lose sight -of her trouble for whole spells. It is only now and again, when -something recalls it to her mind, that she thinks of her terrible -scar. We are to meet here in my study in half an hour and decide on -our course of action. I see only one immediate difficulty, I know it -by instinct rather than reason. We shall all have to speak frankly. -And yet I fear that in some mysterious way poor Mrs. Harker's tongue -is tied. I know that she forms conclusions of her own, and from all -that has been I can guess how brilliant and how true they must be. -But she will not, or cannot, give them utterance. I have mentioned -this to Van Helsing, and he and I are to talk it over when we are -alone. I suppose it is some of that horrid poison which has got into -her veins beginning to work. The Count had his own purposes when he -gave her what Van Helsing called "the Vampire's baptism of blood." -Well, there may be a poison that distills itself out of good things. -In an age when the existence of ptomaines is a mystery we should not -wonder at anything! One thing I know, that if my instinct be true -regarding poor Mrs. Harker's silences, then there is a terrible -difficulty, an unknown danger, in the work before us. The same power -that compels her silence may compel her speech. I dare not think -further, for so I should in my thoughts dishonour a noble woman! - - -Later.--When the Professor came in, we talked over the state of -things. I could see that he had something on his mind, which he -wanted to say, but felt some hesitancy about broaching the subject. -After beating about the bush a little, he said, "Friend John, there is -something that you and I must talk of alone, just at the first at any -rate. Later, we may have to take the others into our confidence." - -Then he stopped, so I waited. He went on, "Madam Mina, our poor, dear -Madam Mina is changing." - -A cold shiver ran through me to find my worst fears thus endorsed. -Van Helsing continued. - -"With the sad experience of Miss Lucy, we must this time be warned -before things go too far. Our task is now in reality more difficult -than ever, and this new trouble makes every hour of the direst -importance. I can see the characteristics of the vampire coming in -her face. It is now but very, very slight. But it is to be seen if -we have eyes to notice without prejudge. Her teeth are sharper, and -at times her eyes are more hard. But these are not all, there is to -her the silence now often, as so it was with Miss Lucy. She did not -speak, even when she wrote that which she wished to be known later. -Now my fear is this. If it be that she can, by our hypnotic trance, -tell what the Count see and hear, is it not more true that he who have -hypnotize her first, and who have drink of her very blood and make her -drink of his, should if he will, compel her mind to disclose to him -that which she know?" - -I nodded acquiescence. He went on, "Then, what we must do is to -prevent this. We must keep her ignorant of our intent, and so she -cannot tell what she know not. This is a painful task! Oh, so -painful that it heartbreak me to think of it, but it must be. When -today we meet, I must tell her that for reason which we will not to -speak she must not more be of our council, but be simply guarded by -us." - -He wiped his forehead, which had broken out in profuse perspiration at -the thought of the pain which he might have to inflict upon the poor -soul already so tortured. I knew that it would be some sort of -comfort to him if I told him that I also had come to the same -conclusion. For at any rate it would take away the pain of doubt. I -told him, and the effect was as I expected. - -It is now close to the time of our general gathering. Van Helsing has -gone away to prepare for the meeting, and his painful part of it. I -really believe his purpose is to be able to pray alone. - - -Later.--At the very outset of our meeting a great personal relief was -experienced by both Van Helsing and myself. Mrs. Harker had sent a -message by her husband to say that she would not join us at present, -as she thought it better that we should be free to discuss our -movements without her presence to embarrass us. The Professor and I -looked at each other for an instant, and somehow we both seemed -relieved. For my own part, I thought that if Mrs. Harker realized the -danger herself, it was much pain as well as much danger averted. -Under the circumstances we agreed, by a questioning look and answer, -with finger on lip, to preserve silence in our suspicions, until we -should have been able to confer alone again. We went at once into our -Plan of Campaign. - -Van Helsing roughly put the facts before us first, "The Czarina -Catherine left the Thames yesterday morning. It will take her at the -quickest speed she has ever made at least three weeks to reach Varna. -But we can travel overland to the same place in three days. Now, if -we allow for two days less for the ship's voyage, owing to such -weather influences as we know that the Count can bring to bear, and if -we allow a whole day and night for any delays which may occur to us, -then we have a margin of nearly two weeks. - -"Thus, in order to be quite safe, we must leave here on 17th at -latest. Then we shall at any rate be in Varna a day before the ship -arrives, and able to make such preparations as may be necessary. Of -course we shall all go armed, armed against evil things, spiritual as -well as physical." - -Here Quincey Morris added, "I understand that the Count comes from a -wolf country, and it may be that he shall get there before us. I -propose that we add Winchesters to our armament. I have a kind of -belief in a Winchester when there is any trouble of that sort around. -Do you remember, Art, when we had the pack after us at Tobolsk? What -wouldn't we have given then for a repeater apiece!" - -"Good!" said Van Helsing, "Winchesters it shall be. Quincey's head is -level at times, but most so when there is to hunt, metaphor be more -dishonour to science than wolves be of danger to man. In the meantime -we can do nothing here. And as I think that Varna is not familiar to -any of us, why not go there more soon? It is as long to wait here as -there. Tonight and tomorrow we can get ready, and then if all be -well, we four can set out on our journey." - -"We four?" said Harker interrogatively, looking from one to another of -us. - -"Of course!" answered the Professor quickly. "You must remain to take -care of your so sweet wife!" - -Harker was silent for awhile and then said in a hollow voice, "Let us -talk of that part of it in the morning. I want to consult with Mina." - -I thought that now was the time for Van Helsing to warn him not to -disclose our plan to her, but he took no notice. I looked at him -significantly and coughed. For answer he put his finger to his lips -and turned away. - - - -JONATHAN HARKER'S JOURNAL - -5 October, afternoon.--For some time after our meeting this morning I -could not think. The new phases of things leave my mind in a state of -wonder which allows no room for active thought. Mina's determination -not to take any part in the discussion set me thinking. And as I -could not argue the matter with her, I could only guess. I am as far -as ever from a solution now. The way the others received it, too -puzzled me. The last time we talked of the subject we agreed that -there was to be no more concealment of anything amongst us. Mina is -sleeping now, calmly and sweetly like a little child. Her lips are -curved and her face beams with happiness. Thank God, there are such -moments still for her. - - -Later.--How strange it all is. I sat watching Mina's happy sleep, and -I came as near to being happy myself as I suppose I shall ever be. As -the evening drew on, and the earth took its shadows from the sun -sinking lower, the silence of the room grew more and more solemn to -me. - -All at once Mina opened her eyes, and looking at me tenderly said, -"Jonathan, I want you to promise me something on your word of honour. -A promise made to me, but made holily in God's hearing, and not to be -broken though I should go down on my knees and implore you with bitter -tears. Quick, you must make it to me at once." - -"Mina," I said, "a promise like that, I cannot make at once. I may -have no right to make it." - -"But, dear one," she said, with such spiritual intensity that her eyes -were like pole stars, "it is I who wish it. And it is not for myself. -You can ask Dr. Van Helsing if I am not right. If he disagrees you -may do as you will. Nay, more if you all agree, later you are -absolved from the promise." - -"I promise!" I said, and for a moment she looked supremely happy. -Though to me all happiness for her was denied by the red scar on her -forehead. - -She said, "Promise me that you will not tell me anything of the plans -formed for the campaign against the Count. Not by word, or inference, -or implication, not at any time whilst this remains to me!" And she -solemnly pointed to the scar. I saw that she was in earnest, and said -solemnly, "I promise!" and as I said it I felt that from that instant -a door had been shut between us. - - -Later, midnight.--Mina has been bright and cheerful all the evening. -So much so that all the rest seemed to take courage, as if infected -somewhat with her gaiety. As a result even I myself felt as if the -pall of gloom which weighs us down were somewhat lifted. We all -retired early. Mina is now sleeping like a little child. It is -wonderful thing that her faculty of sleep remains to her in the midst -of her terrible trouble. Thank God for it, for then at least she can -forget her care. Perhaps her example may affect me as her gaiety did -tonight. I shall try it. Oh! For a dreamless sleep. - -6 October, morning.--Another surprise. Mina woke me early, about the -same time as yesterday, and asked me to bring Dr. Van Helsing. I -thought that it was another occasion for hypnotism, and without -question went for the Professor. He had evidently expected some such -call, for I found him dressed in his room. His door was ajar, so that -he could hear the opening of the door of our room. He came at once. -As he passed into the room, he asked Mina if the others might come, -too. - -"No," she said quite simply, "it will not be necessary. You can tell -them just as well. I must go with you on your journey." - -Dr. Van Helsing was as startled as I was. After a moment's pause he -asked, "But why?" - -"You must take me with you. I am safer with you, and you shall be -safer, too." - -"But why, dear Madam Mina? You know that your safety is our solemnest -duty. We go into danger, to which you are, or may be, more liable -than any of us from . . . from circumstances . . . things that have -been." He paused embarrassed. - -As she replied, she raised her finger and pointed to her forehead. "I -know. That is why I must go. I can tell you now, whilst the sun is -coming up. I may not be able again. I know that when the Count wills -me I must go. I know that if he tells me to come in secret, I must by -wile. By any device to hoodwink, even Jonathan." God saw the look -that she turned on me as she spoke, and if there be indeed a Recording -Angel that look is noted to her ever-lasting honour. I could only -clasp her hand. I could not speak. My emotion was too great for even -the relief of tears. - -She went on. "You men are brave and strong. You are strong in your -numbers, for you can defy that which would break down the human -endurance of one who had to guard alone. Besides, I may be of -service, since you can hypnotize me and so learn that which even I -myself do not know." - -Dr. Van Helsing said gravely, "Madam Mina, you are, as always, most -wise. You shall with us come. And together we shall do that which we -go forth to achieve." - -When he had spoken, Mina's long spell of silence made me look at her. -She had fallen back on her pillow asleep. She did not even wake when -I had pulled up the blind and let in the sunlight which flooded the -room. Van Helsing motioned to me to come with him quietly. We went -to his room, and within a minute Lord Godalming, Dr. Seward, and Mr. -Morris were with us also. - -He told them what Mina had said, and went on. "In the morning we -shall leave for Varna. We have now to deal with a new factor, Madam -Mina. Oh, but her soul is true. It is to her an agony to tell us so -much as she has done. But it is most right, and we are warned in -time. There must be no chance lost, and in Varna we must be ready to -act the instant when that ship arrives." - -"What shall we do exactly?" asked Mr. Morris laconically. - -The Professor paused before replying, "We shall at the first board -that ship. Then, when we have identified the box, we shall place a -branch of the wild rose on it. This we shall fasten, for when it is -there none can emerge, so that at least says the superstition. And to -superstition must we trust at the first. It was man's faith in the -early, and it have its root in faith still. Then, when we get the -opportunity that we seek, when none are near to see, we shall open the -box, and . . . and all will be well." - -"I shall not wait for any opportunity," said Morris. "When I see the -box I shall open it and destroy the monster, though there were a -thousand men looking on, and if I am to be wiped out for it the next -moment!" I grasped his hand instinctively and found it as firm as a -piece of steel. I think he understood my look. I hope he did. - -"Good boy," said Dr. Van Helsing. "Brave boy. Quincey is all man. -God bless him for it. My child, believe me none of us shall lag -behind or pause from any fear. I do but say what we may do . . . what -we must do. But, indeed, indeed we cannot say what we may do. There -are so many things which may happen, and their ways and their ends are -so various that until the moment we may not say. We shall all be -armed, in all ways. And when the time for the end has come, our -effort shall not be lack. Now let us today put all our affairs in -order. Let all things which touch on others dear to us, and who on us -depend, be complete. For none of us can tell what, or when, or how, -the end may be. As for me, my own affairs are regulate, and as I have -nothing else to do, I shall go make arrangements for the travel. I -shall have all tickets and so forth for our journey." - -There was nothing further to be said, and we parted. I shall now -settle up all my affairs of earth, and be ready for whatever may come. - - -Later.--It is done. My will is made, and all complete. Mina if she -survive is my sole heir. If it should not be so, then the others who -have been so good to us shall have remainder. - -It is now drawing towards the sunset. Mina's uneasiness calls my -attention to it. I am sure that there is something on her mind which -the time of exact sunset will reveal. These occasions are becoming -harrowing times for us all. For each sunrise and sunset opens up some -new danger, some new pain, which however, may in God's will be means -to a good end. I write all these things in the diary since my darling -must not hear them now. But if it may be that she can see them again, -they shall be ready. She is calling to me. - - - - -CHAPTER 25 - - -DR. SEWARD'S DIARY - -11 October, Evening.--Jonathan Harker has asked me to note this, as he -says he is hardly equal to the task, and he wants an exact record -kept. - -I think that none of us were surprised when we were asked to see Mrs. -Harker a little before the time of sunset. We have of late come to -understand that sunrise and sunset are to her times of peculiar -freedom. When her old self can be manifest without any controlling -force subduing or restraining her, or inciting her to action. This -mood or condition begins some half hour or more before actual sunrise -or sunset, and lasts till either the sun is high, or whilst the clouds -are still aglow with the rays streaming above the horizon. At first -there is a sort of negative condition, as if some tie were loosened, -and then the absolute freedom quickly follows. When, however, the -freedom ceases the change back or relapse comes quickly, preceded -only by a spell of warning silence. - -Tonight, when we met, she was somewhat constrained, and bore all the -signs of an internal struggle. I put it down myself to her making a -violent effort at the earliest instant she could do so. - -A very few minutes, however, gave her complete control of herself. -Then, motioning her husband to sit beside her on the sofa where she -was half reclining, she made the rest of us bring chairs up close. - -Taking her husband's hand in hers, she began, "We are all here -together in freedom, for perhaps the last time! I know that you will -always be with me to the end." This was to her husband whose hand had, -as we could see, tightened upon her. "In the morning we go out upon -our task, and God alone knows what may be in store for any of us. You -are going to be so good to me to take me with you. I know that all -that brave earnest men can do for a poor weak woman, whose soul -perhaps is lost, no, no, not yet, but is at any rate at stake, you -will do. But you must remember that I am not as you are. There is a -poison in my blood, in my soul, which may destroy me, which must -destroy me, unless some relief comes to us. Oh, my friends, you know -as well as I do, that my soul is at stake. And though I know there is -one way out for me, you must not and I must not take it!" She looked -appealingly to us all in turn, beginning and ending with her husband. - -"What is that way?" asked Van Helsing in a hoarse voice. "What is -that way, which we must not, may not, take?" - -"That I may die now, either by my own hand or that of another, before -the greater evil is entirely wrought. I know, and you know, that were -I once dead you could and would set free my immortal spirit, even as -you did my poor Lucy's. Were death, or the fear of death, the only -thing that stood in the way I would not shrink to die here now, amidst -the friends who love me. But death is not all. I cannot believe that -to die in such a case, when there is hope before us and a bitter task -to be done, is God's will. Therefore, I on my part, give up here the -certainty of eternal rest, and go out into the dark where may be the -blackest things that the world or the nether world holds!" - -We were all silent, for we knew instinctively that this was only a -prelude. The faces of the others were set, and Harker's grew ashen -grey. Perhaps, he guessed better than any of us what was coming. - -She continued, "This is what I can give into the hotch-pot." I could -not but note the quaint legal phrase which she used in such a place, -and with all seriousness. "What will each of you give? Your lives I -know," she went on quickly, "that is easy for brave men. Your lives -are God's, and you can give them back to Him, but what will you give -to me?" She looked again questioningly, but this time avoided her -husband's face. Quincey seemed to understand, he nodded, and her face -lit up. "Then I shall tell you plainly what I want, for there must be -no doubtful matter in this connection between us now. You must -promise me, one and all, even you, my beloved husband, that should the -time come, you will kill me." - -"What is that time?" The voice was Quincey's, but it was low and -strained. - -"When you shall be convinced that I am so changed that it is better -that I die that I may live. When I am thus dead in the flesh, then -you will, without a moment's delay, drive a stake through me and cut -off my head, or do whatever else may be wanting to give me rest!" - -Quincey was the first to rise after the pause. He knelt down before -her and taking her hand in his said solemnly, "I'm only a rough -fellow, who hasn't, perhaps, lived as a man should to win such a -distinction, but I swear to you by all that I hold sacred and dear -that, should the time ever come, I shall not flinch from the duty that -you have set us. And I promise you, too, that I shall make all -certain, for if I am only doubtful I shall take it that the time has -come!" - -"My true friend!" was all she could say amid her fast-falling tears, -as bending over, she kissed his hand. - -"I swear the same, my dear Madam Mina!" said Van Helsing. "And I!" -said Lord Godalming, each of them in turn kneeling to her to take the -oath. I followed, myself. - -Then her husband turned to her wan-eyed and with a greenish pallor -which subdued the snowy whiteness of his hair, and asked, "And must I, -too, make such a promise, oh, my wife?" - -"You too, my dearest," she said, with infinite yearning of pity in her -voice and eyes. "You must not shrink. You are nearest and dearest -and all the world to me. Our souls are knit into one, for all life -and all time. Think, dear, that there have been times when brave men -have killed their wives and their womenkind, to keep them from falling -into the hands of the enemy. Their hands did not falter any the more -because those that they loved implored them to slay them. It is men's -duty towards those whom they love, in such times of sore trial! And -oh, my dear, if it is to be that I must meet death at any hand, let it -be at the hand of him that loves me best. Dr. Van Helsing, I have not -forgotten your mercy in poor Lucy's case to him who loved." She -stopped with a flying blush, and changed her phrase, "to him who had -best right to give her peace. If that time shall come again, I look -to you to make it a happy memory of my husband's life that it was his -loving hand which set me free from the awful thrall upon me." - -"Again I swear!" came the Professor's resonant voice. - -Mrs. Harker smiled, positively smiled, as with a sigh of relief she -leaned back and said, "And now one word of warning, a warning which -you must never forget. This time, if it ever come, may come quickly -and unexpectedly, and in such case you must lose no time in using your -opportunity. At such a time I myself might be . . . nay! If the time -ever come, shall be, leagued with your enemy against you. - -"One more request," she became very solemn as she said this, "it is -not vital and necessary like the other, but I want you to do one thing -for me, if you will." - -We all acquiesced, but no one spoke. There was no need to speak. - -"I want you to read the Burial Service." She was interrupted by a -deep groan from her husband. Taking his hand in hers, she held it -over her heart, and continued. "You must read it over me some day. -Whatever may be the issue of all this fearful state of things, it will -be a sweet thought to all or some of us. You, my dearest, will I hope -read it, for then it will be in your voice in my memory forever, come -what may!" - -"But oh, my dear one," he pleaded, "death is afar off from you." - -"Nay," she said, holding up a warning hand. "I am deeper in death at -this moment than if the weight of an earthly grave lay heavy upon me!" - -"Oh, my wife, must I read it?" he said, before he began. - -"It would comfort me, my husband!" was all she said, and he began to -read when she had got the book ready. - -How can I, how could anyone, tell of that strange scene, its -solemnity, its gloom, its sadness, its horror, and withal, its -sweetness. Even a sceptic, who can see nothing but a travesty of -bitter truth in anything holy or emotional, would have been melted to -the heart had he seen that little group of loving and devoted friends -kneeling round that stricken and sorrowing lady; or heard the tender -passion of her husband's voice, as in tones so broken and emotional -that often he had to pause, he read the simple and beautiful service -from the Burial of the Dead. I cannot go on . . . words . . . and -v-voices . . . f-fail m-me! - -She was right in her instinct. Strange as it was, bizarre as it may -hereafter seem even to us who felt its potent influence at the time, -it comforted us much. And the silence, which showed Mrs. Harker's -coming relapse from her freedom of soul, did not seem so full of -despair to any of us as we had dreaded. - - - - - -JONATHAN HARKER'S JOURNAL - -15 October, Varna.--We left Charing Cross on the morning of the 12th, -got to Paris the same night, and took the places secured for us in the -Orient Express. We traveled night and day, arriving here at about -five o'clock. Lord Godalming went to the Consulate to see if any -telegram had arrived for him, whilst the rest of us came on to this -hotel, "the Odessus." The journey may have had incidents. I was, -however, too eager to get on, to care for them. Until the Czarina -Catherine comes into port there will be no interest for me in anything -in the wide world. Thank God! Mina is well, and looks to be getting -stronger. Her colour is coming back. She sleeps a great deal. -Throughout the journey she slept nearly all the time. Before sunrise -and sunset, however, she is very wakeful and alert. And it has become -a habit for Van Helsing to hypnotize her at such times. At first, -some effort was needed, and he had to make many passes. But now, she -seems to yield at once, as if by habit, and scarcely any action is -needed. He seems to have power at these particular moments to simply -will, and her thoughts obey him. He always asks her what she can see -and hear. - -She answers to the first, "Nothing, all is dark." - -And to the second, "I can hear the waves lapping against the ship, and -the water rushing by. Canvas and cordage strain and masts and yards -creak. The wind is high . . . I can hear it in the shrouds, and the -bow throws back the foam." - -It is evident that the Czarina Catherine is still at sea, hastening on -her way to Varna. Lord Godalming has just returned. He had four -telegrams, one each day since we started, and all to the same effect. -That the Czarina Catherine had not been reported to Lloyd's from -anywhere. He had arranged before leaving London that his agent should -send him every day a telegram saying if the ship had been reported. -He was to have a message even if she were not reported, so that he -might be sure that there was a watch being kept at the other end of -the wire. - -We had dinner and went to bed early. Tomorrow we are to see the Vice -Consul, and to arrange, if we can, about getting on board the ship as -soon as she arrives. Van Helsing says that our chance will be to get -on the boat between sunrise and sunset. The Count, even if he takes -the form of a bat, cannot cross the running water of his own volition, -and so cannot leave the ship. As he dare not change to man's form -without suspicion, which he evidently wishes to avoid, he must remain -in the box. If, then, we can come on board after sunrise, he is at -our mercy, for we can open the box and make sure of him, as we did of -poor Lucy, before he wakes. What mercy he shall get from us all will -not count for much. We think that we shall not have much trouble with -officials or the seamen. Thank God! This is the country where -bribery can do anything, and we are well supplied with money. We have -only to make sure that the ship cannot come into port between sunset -and sunrise without our being warned, and we shall be safe. Judge -Moneybag will settle this case, I think! - - -16 October.--Mina's report still the same. Lapping waves and rushing -water, darkness and favouring winds. We are evidently in good time, -and when we hear of the Czarina Catherine we shall be ready. As she -must pass the Dardanelles we are sure to have some report. - - -17 October.--Everything is pretty well fixed now, I think, to welcome -the Count on his return from his tour. Godalming told the shippers -that he fancied that the box sent aboard might contain something -stolen from a friend of his, and got a half consent that he might open -it at his own risk. The owner gave him a paper telling the Captain to -give him every facility in doing whatever he chose on board the ship, -and also a similar authorization to his agent at Varna. We have seen -the agent, who was much impressed with Godalming's kindly manner to -him, and we are all satisfied that whatever he can do to aid our -wishes will be done. - -We have already arranged what to do in case we get the box open. If -the Count is there, Van Helsing and Seward will cut off his head at -once and drive a stake through his heart. Morris and Godalming and I -shall prevent interference, even if we have to use the arms which we -shall have ready. The Professor says that if we can so treat the -Count's body, it will soon after fall into dust. In such case there -would be no evidence against us, in case any suspicion of murder were -aroused. But even if it were not, we should stand or fall by our act, -and perhaps some day this very script may be evidence to come between -some of us and a rope. For myself, I should take the chance only too -thankfully if it were to come. We mean to leave no stone unturned to -carry out our intent. We have arranged with certain officials that -the instant the Czarina Catherine is seen, we are to be informed by a -special messenger. - - -24 October.--A whole week of waiting. Daily telegrams to Godalming, -but only the same story. "Not yet reported." Mina's morning and -evening hypnotic answer is unvaried. Lapping waves, rushing water, -and creaking masts. - - - - -TELEGRAM, OCTOBER 24TH RUFUS SMITH, LLOYD'S, LONDON, -TO LORD GODALMING, CARE OF H. B. M. VICE CONSUL, VARNA - -"Czarina Catherine reported this morning from Dardanelles." - - - -DR. SEWARD'S DIARY - -25 October.--How I miss my phonograph! To write a diary with a pen is -irksome to me! But Van Helsing says I must. We were all wild with -excitement yesterday when Godalming got his telegram from Lloyd's. I -know now what men feel in battle when the call to action is heard. -Mrs. Harker, alone of our party, did not show any signs of emotion. -After all, it is not strange that she did not, for we took special -care not to let her know anything about it, and we all tried not to -show any excitement when we were in her presence. In old days she -would, I am sure, have noticed, no matter how we might have tried to -conceal it. But in this way she is greatly changed during the past -three weeks. The lethargy grows upon her, and though she seems strong -and well, and is getting back some of her colour, Van Helsing and I are -not satisfied. We talk of her often. We have not, however, said a -word to the others. It would break poor Harker's heart, certainly his -nerve, if he knew that we had even a suspicion on the subject. Van -Helsing examines, he tells me, her teeth very carefully, whilst she is -in the hypnotic condition, for he says that so long as they do not -begin to sharpen there is no active danger of a change in her. If -this change should come, it would be necessary to take steps! We both -know what those steps would have to be, though we do not mention our -thoughts to each other. We should neither of us shrink from the task, -awful though it be to contemplate. "Euthanasia" is an excellent and a -comforting word! I am grateful to whoever invented it. - -It is only about 24 hours' sail from the Dardanelles to here, at the -rate the Czarina Catherine has come from London. She should therefore -arrive some time in the morning, but as she cannot possibly get in -before noon, we are all about to retire early. We shall get up at one -o'clock, so as to be ready. - - -25 October, Noon.--No news yet of the ship's arrival. Mrs. Harker's -hypnotic report this morning was the same as usual, so it is possible -that we may get news at any moment. We men are all in a fever of -excitement, except Harker, who is calm. His hands are cold as ice, -and an hour ago I found him whetting the edge of the great Ghoorka -knife which he now always carries with him. It will be a bad lookout -for the Count if the edge of that "Kukri" ever touches his throat, -driven by that stern, ice-cold hand! - -Van Helsing and I were a little alarmed about Mrs. Harker today. -About noon she got into a sort of lethargy which we did not like. -Although we kept silence to the others, we were neither of us happy -about it. She had been restless all the morning, so that we were at -first glad to know that she was sleeping. When, however, her husband -mentioned casually that she was sleeping so soundly that he could not -wake her, we went to her room to see for ourselves. She was breathing -naturally and looked so well and peaceful that we agreed that the -sleep was better for her than anything else. Poor girl, she has so -much to forget that it is no wonder that sleep, if it brings oblivion -to her, does her good. - - -Later.--Our opinion was justified, for when after a refreshing sleep -of some hours she woke up, she seemed brighter and better than she had -been for days. At sunset she made the usual hypnotic report. -Wherever he may be in the Black Sea, the Count is hurrying to his -destination. To his doom, I trust! - - - -26 October.--Another day and no tidings of the Czarina Catherine. She -ought to be here by now. That she is still journeying somewhere is -apparent, for Mrs. Harker's hypnotic report at sunrise was still the -same. It is possible that the vessel may be lying by, at times, for -fog. Some of the steamers which came in last evening reported patches -of fog both to north and south of the port. We must continue our -watching, as the ship may now be signalled any moment. - - -27 October, Noon.--Most strange. No news yet of the ship we wait for. -Mrs. Harker reported last night and this morning as usual. "Lapping -waves and rushing water," though she added that "the waves were very -faint." The telegrams from London have been the same, "no further -report." Van Helsing is terribly anxious, and told me just now that he -fears the Count is escaping us. - -He added significantly, "I did not like that lethargy of Madam Mina's. -Souls and memories can do strange things during trance." I was about -to ask him more, but Harker just then came in, and he held up a -warning hand. We must try tonight at sunset to make her speak more -fully when in her hypnotic state. - - -28 October.--Telegram. Rufus Smith, London, to Lord Godalming, care -H. B. M. Vice Consul, Varna - -"Czarina Catherine reported entering Galatz at one o'clock today." - - - - -DR. SEWARD'S DIARY - -28 October.--When the telegram came announcing the arrival in Galatz I -do not think it was such a shock to any of us as might have been -expected. True, we did not know whence, or how, or when, the bolt -would come. But I think we all expected that something strange would -happen. The day of arrival at Varna made us individually satisfied -that things would not be just as we had expected. We only waited to -learn where the change would occur. None the less, however, it was a -surprise. I suppose that nature works on such a hopeful basis that we -believe against ourselves that things will be as they ought to be, not -as we should know that they will be. Transcendentalism is a beacon to -the angels, even if it be a will-o'-the-wisp to man. Van Helsing -raised his hand over his head for a moment, as though in remonstrance -with the Almighty. But he said not a word, and in a few seconds stood -up with his face sternly set. - -Lord Godalming grew very pale, and sat breathing heavily. I was -myself half stunned and looked in wonder at one after another. -Quincey Morris tightened his belt with that quick movement which I -knew so well. In our old wandering days it meant "action." Mrs. -Harker grew ghastly white, so that the scar on her forehead seemed to -burn, but she folded her hands meekly and looked up in prayer. Harker -smiled, actually smiled, the dark, bitter smile of one who is without -hope, but at the same time his action belied his words, for his hands -instinctively sought the hilt of the great Kukri knife and rested -there. - -"When does the next train start for Galatz?" said Van Helsing to us -generally. - -"At 6:30 tomorrow morning!" We all started, for the answer came from -Mrs. Harker. - -"How on earth do you know?" said Art. - -"You forget, or perhaps you do not know, though Jonathan does and so -does Dr. Van Helsing, that I am the train fiend. At home in Exeter I -always used to make up the time tables, so as to be helpful to my -husband. I found it so useful sometimes, that I always make a study -of the time tables now. I knew that if anything were to take us to -Castle Dracula we should go by Galatz, or at any rate through -Bucharest, so I learned the times very carefully. Unhappily there are -not many to learn, as the only train tomorrow leaves as I say." - -"Wonderful woman!" murmured the Professor. - -"Can't we get a special?" asked Lord Godalming. - -Van Helsing shook his head, "I fear not. This land is very different -from yours or mine. Even if we did have a special, it would probably -not arrive as soon as our regular train. Moreover, we have something -to prepare. We must think. Now let us organize. You, friend Arthur, -go to the train and get the tickets and arrange that all be ready for -us to go in the morning. Do you, friend Jonathan, go to the agent of -the ship and get from him letters to the agent in Galatz, with -authority to make a search of the ship just as it was here. Quincey -Morris, you see the Vice Consul, and get his aid with his fellow in -Galatz and all he can do to make our way smooth, so that no times be -lost when over the Danube. John will stay with Madam Mina and me, and -we shall consult. For so if time be long you may be delayed. And it -will not matter when the sun set, since I am here with Madam to make -report." - -"And I," said Mrs. Harker brightly, and more like her old self than -she had been for many a long day, "shall try to be of use in all ways, -and shall think and write for you as I used to do. Something is -shifting from me in some strange way, and I feel freer than I have -been of late!" - -The three younger men looked happier at the moment as they seemed to -realize the significance of her words. But Van Helsing and I, turning -to each other, met each a grave and troubled glance. We said nothing -at the time, however. - -When the three men had gone out to their tasks Van Helsing asked Mrs. -Harker to look up the copy of the diaries and find him the part of -Harker's journal at the Castle. She went away to get it. - -When the door was shut upon her he said to me, "We mean the same! -Speak out!" - -"Here is some change. It is a hope that makes me sick, for it may -deceive us." - -"Quite so. Do you know why I asked her to get the manuscript?" - -"No!" said I, "unless it was to get an opportunity of seeing me -alone." - -"You are in part right, friend John, but only in part. I want to tell -you something. And oh, my friend, I am taking a great, a terrible, -risk. But I believe it is right. In the moment when Madam Mina said -those words that arrest both our understanding, an inspiration came to -me. In the trance of three days ago the Count sent her his spirit to -read her mind. Or more like he took her to see him in his earth box -in the ship with water rushing, just as it go free at rise and set of -sun. He learn then that we are here, for she have more to tell in her -open life with eyes to see ears to hear than he, shut as he is, in his -coffin box. Now he make his most effort to escape us. At present he -want her not. - -"He is sure with his so great knowledge that she will come at his -call. But he cut her off, take her, as he can do, out of his own -power, that so she come not to him. Ah! There I have hope that our -man brains that have been of man so long and that have not lost the -grace of God, will come higher than his child-brain that lie in his -tomb for centuries, that grow not yet to our stature, and that do only -work selfish and therefore small. Here comes Madam Mina. Not a word -to her of her trance! She knows it not, and it would overwhelm her -and make despair just when we want all her hope, all her courage, when -most we want all her great brain which is trained like man's brain, -but is of sweet woman and have a special power which the Count give -her, and which he may not take away altogether, though he think not -so. Hush! Let me speak, and you shall learn. Oh, John, my friend, -we are in awful straits. I fear, as I never feared before. We can -only trust the good God. Silence! Here she comes!" - -I thought that the Professor was going to break down and have -hysterics, just as he had when Lucy died, but with a great effort he -controlled himself and was at perfect nervous poise when Mrs. Harker -tripped into the room, bright and happy looking and, in the doing of -work, seemingly forgetful of her misery. As she came in, she handed a -number of sheets of typewriting to Van Helsing. He looked over them -gravely, his face brightening up as he read. - -Then holding the pages between his finger and thumb he said, "Friend -John, to you with so much experience already, and you too, dear Madam -Mina, that are young, here is a lesson. Do not fear ever to think. A -half thought has been buzzing often in my brain, but I fear to let him -loose his wings. Here now, with more knowledge, I go back to where -that half thought come from and I find that he be no half thought at -all. That be a whole thought, though so young that he is not yet -strong to use his little wings. Nay, like the 'Ugly Duck' of my -friend Hans Andersen, he be no duck thought at all, but a big swan -thought that sail nobly on big wings, when the time come for him to -try them. See I read here what Jonathan have written. - -"That other of his race who, in a later age, again and again, brought -his forces over The Great River into Turkey Land, who when he was -beaten back, came again, and again, and again, though he had to come -alone from the bloody field where his troops were being slaughtered, -since he knew that he alone could ultimately triumph. - -"What does this tell us? Not much? No! The Count's child thought -see nothing, therefore he speak so free. Your man thought see -nothing. My man thought see nothing, till just now. No! But there -comes another word from some one who speak without thought because -she, too, know not what it mean, what it might mean. Just as there -are elements which rest, yet when in nature's course they move on -their way and they touch, the pouf! And there comes a flash of light, -heaven wide, that blind and kill and destroy some. But that show up -all earth below for leagues and leagues. Is it not so? Well, I shall -explain. To begin, have you ever study the philosophy of crime? -'Yes' and 'No.' You, John, yes, for it is a study of insanity. You, -no, Madam Mina, for crime touch you not, not but once. Still, your -mind works true, and argues not a particulari ad universale. There is -this peculiarity in criminals. It is so constant, in all countries -and at all times, that even police, who know not much from philosophy, -come to know it empirically, that it is. That is to be empiric. The -criminal always work at one crime, that is the true criminal who seems -predestinate to crime, and who will of none other. This criminal has -not full man brain. He is clever and cunning and resourceful, but he -be not of man stature as to brain. He be of child brain in much. Now -this criminal of ours is predestinate to crime also. He, too, have -child brain, and it is of the child to do what he have done. The -little bird, the little fish, the little animal learn not by -principle, but empirically. And when he learn to do, then there is to -him the ground to start from to do more. 'Dos pou sto,' said -Archimedes. 'Give me a fulcrum, and I shall move the world!' To do -once, is the fulcrum whereby child brain become man brain. And until -he have the purpose to do more, he continue to do the same again every -time, just as he have done before! Oh, my dear, I see that your eyes -are opened, and that to you the lightning flash show all the leagues," -for Mrs. Harker began to clap her hands and her eyes sparkled. - -He went on, "Now you shall speak. Tell us two dry men of science what -you see with those so bright eyes." He took her hand and held it -whilst he spoke. His finger and thumb closed on her pulse, as I -thought instinctively and unconsciously, as she spoke. - -"The Count is a criminal and of criminal type. Nordau and Lombroso -would so classify him, and qua criminal he is of an imperfectly formed -mind. Thus, in a difficulty he has to seek resource in habit. His -past is a clue, and the one page of it that we know, and that from his -own lips, tells that once before, when in what Mr. Morris would call -a 'tight place,' he went back to his own country from the land he had -tried to invade, and thence, without losing purpose, prepared himself -for a new effort. He came again better equipped for his work, and -won. So he came to London to invade a new land. He was beaten, and -when all hope of success was lost, and his existence in danger, he -fled back over the sea to his home. Just as formerly he had fled back -over the Danube from Turkey Land." - -"Good, good! Oh, you so clever lady!" said Van Helsing, -enthusiastically, as he stooped and kissed her hand. A moment later -he said to me, as calmly as though we had been having a sick room -consultation, "Seventy-two only, and in all this excitement. I have -hope." - -Turning to her again, he said with keen expectation, "But go on. Go -on! There is more to tell if you will. Be not afraid. John and I -know. I do in any case, and shall tell you if you are right. Speak, -without fear!" - -"I will try to. But you will forgive me if I seem too egotistical." - -"Nay! Fear not, you must be egotist, for it is of you that we think." - -"Then, as he is criminal he is selfish. And as his intellect is small -and his action is based on selfishness, he confines himself to one -purpose. That purpose is remorseless. As he fled back over the -Danube, leaving his forces to be cut to pieces, so now he is intent on -being safe, careless of all. So his own selfishness frees my soul -somewhat from the terrible power which he acquired over me on that -dreadful night. I felt it! Oh, I felt it! Thank God, for His great -mercy! My soul is freer than it has been since that awful hour. And -all that haunts me is a fear lest in some trance or dream he may have -used my knowledge for his ends." - -The Professor stood up, "He has so used your mind, and by it he has -left us here in Varna, whilst the ship that carried him rushed through -enveloping fog up to Galatz, where, doubtless, he had made preparation -for escaping from us. But his child mind only saw so far. And it may -be that as ever is in God's Providence, the very thing that the evil -doer most reckoned on for his selfish good, turns out to be his -chiefest harm. The hunter is taken in his own snare, as the great -Psalmist says. For now that he think he is free from every trace of -us all, and that he has escaped us with so many hours to him, then his -selfish child brain will whisper him to sleep. He think, too, that as -he cut himself off from knowing your mind, there can be no knowledge -of him to you. There is where he fail! That terrible baptism of -blood which he give you makes you free to go to him in spirit, as you -have as yet done in your times of freedom, when the sun rise and set. -At such times you go by my volition and not by his. And this power to -good of you and others, you have won from your suffering at his hands. -This is now all more precious that he know it not, and to guard -himself have even cut himself off from his knowledge of our where. -We, however, are not selfish, and we believe that God is with us -through all this blackness, and these many dark hours. We shall -follow him, and we shall not flinch, even if we peril ourselves that -we become like him. Friend John, this has been a great hour, and it -have done much to advance us on our way. You must be scribe and write -him all down, so that when the others return from their work you can -give it to them, then they shall know as we do." - -And so I have written it whilst we wait their return, and Mrs. Harker -has written with the typewriter all since she brought the MS to us. - - - - -CHAPTER 26 - - -DR. SEWARD'S DIARY - -29 October.--This is written in the train from Varna to Galatz. Last -night we all assembled a little before the time of sunset. Each of us -had done his work as well as he could, so far as thought, and -endeavour, and opportunity go, we are prepared for the whole of our -journey, and for our work when we get to Galatz. When the usual time -came round Mrs. Harker prepared herself for her hypnotic effort, and -after a longer and more serious effort on the part of Van Helsing than -has been usually necessary, she sank into the trance. Usually she -speaks on a hint, but this time the Professor had to ask her -questions, and to ask them pretty resolutely, before we could learn -anything. At last her answer came. - -"I can see nothing. We are still. There are no waves lapping, but -only a steady swirl of water softly running against the hawser. I can -hear men's voices calling, near and far, and the roll and creak of -oars in the rowlocks. A gun is fired somewhere, the echo of it seems -far away. There is tramping of feet overhead, and ropes and chains -are dragged along. What is this? There is a gleam of light. I can -feel the air blowing upon me." - -Here she stopped. She had risen, as if impulsively, from where she -lay on the sofa, and raised both her hands, palms upwards, as if -lifting a weight. Van Helsing and I looked at each other with -understanding. Quincey raised his eyebrows slightly and looked at her -intently, whilst Harker's hand instinctively closed round the hilt of -his Kukri. There was a long pause. We all knew that the time when -she could speak was passing, but we felt that it was useless to say -anything. - -Suddenly she sat up, and as she opened her eyes said sweetly, "Would -none of you like a cup of tea? You must all be so tired!" - -We could only make her happy, and so acqueisced. She bustled off to -get tea. When she had gone Van Helsing said, "You see, my friends. He -is close to land. He has left his earth chest. But he has yet to get -on shore. In the night he may lie hidden somewhere, but if he be not -carried on shore, or if the ship do not touch it, he cannot achieve -the land. In such case he can, if it be in the night, change his form -and jump or fly on shore, then, unless he be carried he cannot escape. -And if he be carried, then the customs men may discover what the box -contain. Thus, in fine, if he escape not on shore tonight, or before -dawn, there will be the whole day lost to him. We may then arrive in -time. For if he escape not at night we shall come on him in daytime, -boxed up and at our mercy. For he dare not be his true self, awake -and visible, lest he be discovered." - -There was no more to be said, so we waited in patience until the dawn, -at which time we might learn more from Mrs. Harker. - -Early this morning we listened, with breathless anxiety, for her -response in her trance. The hypnotic stage was even longer in coming -than before, and when it came the time remaining until full sunrise -was so short that we began to despair. Van Helsing seemed to throw -his whole soul into the effort. At last, in obedience to his will she -made reply. - -"All is dark. I hear lapping water, level with me, and some creaking -as of wood on wood." She paused, and the red sun shot up. We must -wait till tonight. - -And so it is that we are travelling towards Galatz in an agony of -expectation. We are due to arrive between two and three in the -morning. But already, at Bucharest, we are three hours late, so we -cannot possibly get in till well after sunup. Thus we shall have two -more hypnotic messages from Mrs. Harker! Either or both may possibly -throw more light on what is happening. - - -Later.--Sunset has come and gone. Fortunately it came at a time when -there was no distraction. For had it occurred whilst we were at a -station, we might not have secured the necessary calm and isolation. -Mrs. Harker yielded to the hypnotic influence even less readily than -this morning. I am in fear that her power of reading the Count's -sensations may die away, just when we want it most. It seems to me -that her imagination is beginning to work. Whilst she has been in the -trance hitherto she has confined herself to the simplest of facts. If -this goes on it may ultimately mislead us. If I thought that the -Count's power over her would die away equally with her power of -knowledge it would be a happy thought. But I am afraid that it may -not be so. - -When she did speak, her words were enigmatical, "Something is going -out. I can feel it pass me like a cold wind. I can hear, far off, -confused sounds, as of men talking in strange tongues, fierce falling -water, and the howling of wolves." She stopped and a shudder ran -through her, increasing in intensity for a few seconds, till at the -end, she shook as though in a palsy. She said no more, even in answer -to the Professor's imperative questioning. When she woke from the -trance, she was cold, and exhausted, and languid, but her mind was all -alert. She could not remember anything, but asked what she had said. -When she was told, she pondered over it deeply for a long time and in -silence. - - -30 October, 7 A.M.--We are near Galatz now, and I may not have time to -write later. Sunrise this morning was anxiously looked for by us all. -Knowing of the increasing difficulty of procuring the hypnotic trance, -Van Helsing began his passes earlier than usual. They produced no -effect, however, until the regular time, when she yielded with a still -greater difficulty, only a minute before the sun rose. The Professor -lost no time in his questioning. - -Her answer came with equal quickness, "All is dark. I hear water -swirling by, level with my ears, and the creaking of wood on wood. -Cattle low far off. There is another sound, a queer one like . . ." -She stopped and grew white, and whiter still. - -"Go on, go on! Speak, I command you!" said Van Helsing in an agonized -voice. At the same time there was despair in his eyes, for the risen -sun was reddening even Mrs. Harker's pale face. She opened her eyes, -and we all started as she said, sweetly and seemingly with the utmost -unconcern. - -"Oh, Professor, why ask me to do what you know I can't? I don't -remember anything." Then, seeing the look of amazement on our faces, -she said, turning from one to the other with a troubled look, "What -have I said? What have I done? I know nothing, only that I was lying -here, half asleep, and heard you say 'go on! speak, I command you!' It -seemed so funny to hear you order me about, as if I were a bad child!" - -"Oh, Madam Mina," he said, sadly, "it is proof, if proof be needed, of -how I love and honour you, when a word for your good, spoken more -earnest than ever, can seem so strange because it is to order her whom -I am proud to obey!" - -The whistles are sounding. We are nearing Galatz. We are on fire -with anxiety and eagerness. - - - -MINA HARKER'S JOURNAL - -30 October.--Mr. Morris took me to the hotel where our rooms had been -ordered by telegraph, he being the one who could best be spared, since -he does not speak any foreign language. The forces were distributed -much as they had been at Varna, except that Lord Godalming went to the -Vice Consul, as his rank might serve as an immediate guarantee of some -sort to the official, we being in extreme hurry. Jonathan and the two -doctors went to the shipping agent to learn particulars of the arrival -of the Czarina Catherine. - - -Later.--Lord Godalming has returned. The Consul is away, and the Vice -Consul sick. So the routine work has been attended to by a clerk. He -was very obliging, and offered to do anything in his power. - - - -JONATHAN HARKER'S JOURNAL - -30 October.--At nine o'clock Dr. Van Helsing, Dr. Seward, and I called -on Messrs. Mackenzie & Steinkoff, the agents of the London firm of -Hapgood. They had received a wire from London, in answer to Lord -Godalming's telegraphed request, asking them to show us any civility -in their power. They were more than kind and courteous, and took us -at once on board the Czarina Catherine, which lay at anchor out in the -river harbor. There we saw the Captain, Donelson by name, who told us -of his voyage. He said that in all his life he had never had so -favourable a run. - -"Man!" he said, "but it made us afeard, for we expect it that we -should have to pay for it wi' some rare piece o' ill luck, so as to -keep up the average. It's no canny to run frae London to the Black -Sea wi' a wind ahint ye, as though the Deil himself were blawin' on -yer sail for his ain purpose. An' a' the time we could no speer a -thing. Gin we were nigh a ship, or a port, or a headland, a fog fell -on us and travelled wi' us, till when after it had lifted and we -looked out, the deil a thing could we see. We ran by Gibraltar wi' -oot bein' able to signal. An' til we came to the Dardanelles and had -to wait to get our permit to pass, we never were within hail o' -aught. At first I inclined to slack off sail and beat about till the -fog was lifted. But whiles, I thocht that if the Deil was minded to -get us into the Black Sea quick, he was like to do it whether we would -or no. If we had a quick voyage it would be no to our miscredit -wi' the owners, or no hurt to our traffic, an' the Old Mon who had -served his ain purpose wad be decently grateful to us for no hinderin' -him." - -This mixture of simplicity and cunning, of superstition and commercial -reasoning, aroused Van Helsing, who said, "Mine friend, that Devil is -more clever than he is thought by some, and he know when he meet his -match!" - -The skipper was not displeased with the compliment, and went on, "When -we got past the Bosphorus the men began to grumble. Some o' them, the -Roumanians, came and asked me to heave overboard a big box which had -been put on board by a queer lookin' old man just before we had -started frae London. I had seen them speer at the fellow, and put out -their twa fingers when they saw him, to guard them against the evil -eye. Man! but the supersteetion of foreigners is pairfectly -rideeculous! I sent them aboot their business pretty quick, but as -just after a fog closed in on us I felt a wee bit as they did anent -something, though I wouldn't say it was again the big box. Well, on -we went, and as the fog didn't let up for five days I joost let the -wind carry us, for if the Deil wanted to get somewheres, well, he -would fetch it up a'reet. An' if he didn't, well, we'd keep a sharp -lookout anyhow. Sure eneuch, we had a fair way and deep water all the -time. And two days ago, when the mornin' sun came through the fog, we -found ourselves just in the river opposite Galatz. The Roumanians -were wild, and wanted me right or wrong to take out the box and fling -it in the river. I had to argy wi' them aboot it wi' a handspike. An' -when the last o' them rose off the deck wi' his head in his hand, I -had convinced them that, evil eye or no evil eye, the property and the -trust of my owners were better in my hands than in the river Danube. -They had, mind ye, taken the box on the deck ready to fling in, and as -it was marked Galatz via Varna, I thocht I'd let it lie till we -discharged in the port an' get rid o't althegither. We didn't do much -clearin' that day, an' had to remain the nicht at anchor. But in the -mornin', braw an' airly, an hour before sunup, a man came aboard wi' -an order, written to him from England, to receive a box marked for one -Count Dracula. Sure eneuch the matter was one ready to his hand. He -had his papers a' reet, an' glad I was to be rid o' the dam' thing, -for I was beginnin' masel' to feel uneasy at it. If the Deil did have -any luggage aboord the ship, I'm thinkin' it was nane ither than that -same!" - -"What was the name of the man who took it?" asked Dr. Van Helsing with -restrained eagerness. - -"I'll be tellin' ye quick!" he answered, and stepping down to his -cabin, produced a receipt signed "Immanuel Hildesheim." Burgen-strasse -16 was the address. We found out that this was all the Captain knew, -so with thanks we came away. - -We found Hildesheim in his office, a Hebrew of rather the Adelphi -Theatre type, with a nose like a sheep, and a fez. His arguments were -pointed with specie, we doing the punctuation, and with a little -bargaining he told us what he knew. This turned out to be simple but -important. He had received a letter from Mr. de Ville of London, -telling him to receive, if possible before sunrise so as to avoid -customs, a box which would arrive at Galatz in the Czarina Catherine. -This he was to give in charge to a certain Petrof Skinsky, who dealt -with the Slovaks who traded down the river to the port. He had been -paid for his work by an English bank note, which had been duly cashed -for gold at the Danube International Bank. When Skinsky had come to -him, he had taken him to the ship and handed over the box, so as to -save porterage. That was all he knew. - -We then sought for Skinsky, but were unable to find him. One of his -neighbors, who did not seem to bear him any affection, said that he -had gone away two days before, no one knew whither. This was -corroborated by his landlord, who had received by messenger the key of -the house together with the rent due, in English money. This had been -between ten and eleven o'clock last night. We were at a standstill -again. - -Whilst we were talking one came running and breathlessly gasped out -that the body of Skinsky had been found inside the wall of the -churchyard of St. Peter, and that the throat had been torn open as if -by some wild animal. Those we had been speaking with ran off to see -the horror, the women crying out. "This is the work of a Slovak!" We -hurried away lest we should have been in some way drawn into the -affair, and so detained. - -As we came home we could arrive at no definite conclusion. We were -all convinced that the box was on its way, by water, to somewhere, but -where that might be we would have to discover. With heavy hearts we -came home to the hotel to Mina. - -When we met together, the first thing was to consult as to taking Mina -again into our confidence. Things are getting desperate, and it is at -least a chance, though a hazardous one. As a preliminary step, I was -released from my promise to her. - - - - - -MINA HARKER'S JOURNAL - -30 October, evening.--They were so tired and worn out and dispirited -that there was nothing to be done till they had some rest, so I asked -them all to lie down for half an hour whilst I should enter everything -up to the moment. I feel so grateful to the man who invented the -"Traveller's" typewriter, and to Mr. Morris for getting this one for -me. I should have felt quite astray doing the work if I had to write -with a pen . . . - -It is all done. Poor dear, dear Jonathan, what he must have suffered, -what he must be suffering now. He lies on the sofa hardly seeming to -breathe, and his whole body appears in collapse. His brows are knit. -His face is drawn with pain. Poor fellow, maybe he is thinking, and I -can see his face all wrinkled up with the concentration of his -thoughts. Oh! if I could only help at all. I shall do what I can. - -I have asked Dr. Van Helsing, and he has got me all the papers that I -have not yet seen. Whilst they are resting, I shall go over all -carefully, and perhaps I may arrive at some conclusion. I shall try -to follow the Professor's example, and think without prejudice on the -facts before me . . . - -I do believe that under God's providence I have made a discovery. I -shall get the maps and look over them. - -I am more than ever sure that I am right. My new conclusion is ready, -so I shall get our party together and read it. They can judge it. It -is well to be accurate, and every minute is precious. - - - -MINA HARKER'S MEMORANDUM - -(ENTERED IN HER JOURNAL) - - -Ground of inquiry.--Count Dracula's problem is to get back -to his own place. - -(a) He must be brought back by some one. This is evident; -for had he power to move himself as he wished he could go -either as man, or wolf, or bat, or in some other way. He -evidently fears discovery or interference, in the state of -helplessness in which he must be, confined as he is between -dawn and sunset in his wooden box. - -(b) How is he to be taken?--Here a process of exclusions may -help us. By road, by rail, by water? - -1. By Road.--There are endless difficulties, especially in -leaving the city. - -(x) There are people. And people are curious, and -investigate. A hint, a surmise, a doubt as to what might -be in the box, would destroy him. - -(y) There are, or there may be, customs and octroi officers -to pass. - -(z) His pursuers might follow. This is his highest fear. -And in order to prevent his being betrayed he has repelled, -so far as he can, even his victim, me! - -2. By Rail.--There is no one in charge of the box. It -would have to take its chance of being delayed, and delay -would be fatal, with enemies on the track. True, he might -escape at night. But what would he be, if left in a strange -place with no refuge that he could fly to? This is not what he -intends, and he does not mean to risk it. - -3. By Water.--Here is the safest way, in one respect, but -with most danger in another. On the water he is powerless -except at night. Even then he can only summon fog and storm and -snow and his wolves. But were he wrecked, the living water would -engulf him, helpless, and he would indeed be lost. He could have -the vessel drive to land, but if it were unfriendly land, wherein -he was not free to move, his position would still be desperate. - -We know from the record that he was on the water, so what -we have to do is to ascertain what water. - -The first thing is to realize exactly what he has done as -yet. We may, then, get a light on what his task is to be. - -Firstly.--We must differentiate between what he did in -London as part of his general plan of action, when he was -pressed for moments and had to arrange as best he could. - -Secondly.--We must see, as well as we can surmise it from the -facts we know of, what he has done here. - -As to the first, he evidently intended to arrive at Galatz, -and sent invoice to Varna to deceive us lest we should ascertain -his means of exit from England. His immediate and sole purpose -then was to escape. The proof of this, is the letter of -instructions sent to Immanuel Hildesheim to clear and take away -the box before sunrise. There is also the instruction to Petrof -Skinsky. These we must only guess at, but there must have been -some letter or message, since Skinsky came to Hildesheim. - -That, so far, his plans were successful we know. The Czarina -Catherine made a phenomenally quick journey. So much so that -Captain Donelson's suspicions were aroused. But his superstition -united with his canniness played the Count's game for him, and he -ran with his favouring wind through fogs and all till he brought -up blindfold at Galatz. That the Count's arrangements were well -made, has been proved. Hildesheim cleared the box, took it off, -and gave it to Skinsky. Skinsky took it, and here we lose the -trail. We only know that the box is somewhere on the water, -moving along. The customs and the octroi, if there be any, have -been avoided. - -Now we come to what the Count must have done after his -arrival, on land, at Galatz. - -The box was given to Skinsky before sunrise. At sunrise -the Count could appear in his own form. Here, we ask why -Skinsky was chosen at all to aid in the work? In my husband's -diary, Skinsky is mentioned as dealing with the Slovaks who trade -down the river to the port. And the man's remark, that the -murder was the work of a Slovak, showed the general feeling -against his class. The Count wanted isolation. - -My surmise is this, that in London the Count decided to get -back to his castle by water, as the most safe and secret -way. He was brought from the castle by Szgany, and probably they -delivered their cargo to Slovaks who took the boxes to Varna, for -there they were shipped to London. Thus the Count had knowledge -of the persons who could arrange this service. When the box was -on land, before sunrise or after sunset, he came out from his -box, met Skinsky and instructed him what to do as to arranging -the carriage of the box up some river. When this was done, and -he knew that all was in train, he blotted out his traces, as he -thought, by murdering his agent. - -I have examined the map and find that the river most -suitable for the Slovaks to have ascended is either the -Pruth or the Sereth. I read in the typescript that in my -trance I heard cows low and water swirling level with my -ears and the creaking of wood. The Count in his box, then, -was on a river in an open boat, propelled probably either -by oars or poles, for the banks are near and it is working -against stream. There would be no such if floating down -stream. - -Of course it may not be either the Sereth or the Pruth, but -we may possibly investigate further. Now of these two, the -Pruth is the more easily navigated, but the Sereth is, at -Fundu, joined by the Bistritza which runs up round the Borgo -Pass. The loop it makes is manifestly as close to Dracula's -castle as can be got by water. - - - -MINA HARKER'S JOURNAL--CONTINUED - -When I had done reading, Jonathan took me in his arms and kissed me. -The others kept shaking me by both hands, and Dr. Van Helsing said, -"Our dear Madam Mina is once more our teacher. Her eyes have been -where we were blinded. Now we are on the track once again, and this -time we may succeed. Our enemy is at his most helpless. And if we -can come on him by day, on the water, our task will be over. He has a -start, but he is powerless to hasten, as he may not leave this box -lest those who carry him may suspect. For them to suspect would be to -prompt them to throw him in the stream where he perish. This he -knows, and will not. Now men, to our Council of War, for here and -now, we must plan what each and all shall do." - -"I shall get a steam launch and follow him," said Lord Godalming. - -"And I, horses to follow on the bank lest by chance he land," said Mr. -Morris. - -"Good!" said the Professor, "both good. But neither must go alone. -There must be force to overcome force if need be. The Slovak is -strong and rough, and he carries rude arms." All the men smiled, for -amongst them they carried a small arsenal. - -Said Mr. Morris, "I have brought some Winchesters. They are pretty -handy in a crowd, and there may be wolves. The Count, if you -remember, took some other precautions. He made some requisitions on -others that Mrs. Harker could not quite hear or understand. We must -be ready at all points." - -Dr. Seward said, "I think I had better go with Quincey. We have been -accustomed to hunt together, and we two, well armed, will be a match -for whatever may come along. You must not be alone, Art. It may be -necessary to fight the Slovaks, and a chance thrust, for I don't -suppose these fellows carry guns, would undo all our plans. There -must be no chances, this time. We shall not rest until the Count's -head and body have been separated, and we are sure that he cannot -reincarnate." - -He looked at Jonathan as he spoke, and Jonathan looked at me. I could -see that the poor dear was torn about in his mind. Of course he -wanted to be with me. But then the boat service would, most likely, -be the one which would destroy the . . . the . . . Vampire. (Why did -I hesitate to write the word?) - -He was silent awhile, and during his silence Dr. Van Helsing spoke, -"Friend Jonathan, this is to you for twice reasons. First, because -you are young and brave and can fight, and all energies may be needed -at the last. And again that it is your right to destroy him. That, -which has wrought such woe to you and yours. Be not afraid for Madam -Mina. She will be my care, if I may. I am old. My legs are not so -quick to run as once. And I am not used to ride so long or to pursue -as need be, or to fight with lethal weapons. But I can be of other -service. I can fight in other way. And I can die, if need be, as -well as younger men. Now let me say that what I would is this. While -you, my Lord Godalming and friend Jonathan go in your so swift little -steamboat up the river, and whilst John and Quincey guard the bank -where perchance he might be landed, I will take Madam Mina right into -the heart of the enemy's country. Whilst the old fox is tied in his -box, floating on the running stream whence he cannot escape to land, -where he dares not raise the lid of his coffin box lest his Slovak -carriers should in fear leave him to perish, we shall go in the track -where Jonathan went, from Bistritz over the Borgo, and find our way to -the Castle of Dracula. Here, Madam Mina's hypnotic power will surely -help, and we shall find our way, all dark and unknown otherwise, after -the first sunrise when we are near that fateful place. There is much -to be done, and other places to be made sanctify, so that that nest of -vipers be obliterated." - -Here Jonathan interrupted him hotly, "Do you mean to say, Professor -Van Helsing, that you would bring Mina, in her sad case and tainted as -she is with that devil's illness, right into the jaws of his -deathtrap? Not for the world! Not for Heaven or Hell!" - -He became almost speechless for a minute, and then went on, "Do you -know what the place is? Have you seen that awful den of hellish -infamy, with the very moonlight alive with grisly shapes, and every -speck of dust that whirls in the wind a devouring monster in embryo? -Have you felt the Vampire's lips upon your throat?" - -Here he turned to me, and as his eyes lit on my forehead he threw up -his arms with a cry, "Oh, my God, what have we done to have this -terror upon us?" and he sank down on the sofa in a collapse of misery. - -The Professor's voice, as he spoke in clear, sweet tones, which seemed -to vibrate in the air, calmed us all. - -"Oh, my friend, it is because I would save Madam Mina from that awful -place that I would go. God forbid that I should take her into that -place. There is work, wild work, to be done before that place can be -purify. Remember that we are in terrible straits. If the Count -escape us this time, and he is strong and subtle and cunning, he may -choose to sleep him for a century, and then in time our dear one," he -took my hand, "would come to him to keep him company, and would be as -those others that you, Jonathan, saw. You have told us of their -gloating lips. You heard their ribald laugh as they clutched the -moving bag that the Count threw to them. You shudder, and well may it -be. Forgive me that I make you so much pain, but it is necessary. My -friend, is it not a dire need for that which I am giving, possibly my -life? If it were that any one went into that place to stay, it is I -who would have to go to keep them company." - -"Do as you will," said Jonathan, with a sob that shook him all over, -"we are in the hands of God!" - - -Later.--Oh, it did me good to see the way that these brave men worked. -How can women help loving men when they are so earnest, and so true, -and so brave! And, too, it made me think of the wonderful power of -money! What can it not do when basely used. I felt so thankful that -Lord Godalming is rich, and both he and Mr. Morris, who also has -plenty of money, are willing to spend it so freely. For if they did -not, our little expedition could not start, either so promptly or so -well equipped, as it will within another hour. It is not three hours -since it was arranged what part each of us was to do. And now Lord -Godalming and Jonathan have a lovely steam launch, with steam up ready -to start at a moment's notice. Dr. Seward and Mr. Morris have half a -dozen good horses, well appointed. We have all the maps and -appliances of various kinds that can be had. Professor Van Helsing -and I are to leave by the 11:40 train tonight for Veresti, where we -are to get a carriage to drive to the Borgo Pass. We are bringing a -good deal of ready money, as we are to buy a carriage and horses. We -shall drive ourselves, for we have no one whom we can trust in the -matter. The Professor knows something of a great many languages, so -we shall get on all right. We have all got arms, even for me a large -bore revolver. Jonathan would not be happy unless I was armed like -the rest. Alas! I cannot carry one arm that the rest do, the scar on -my forehead forbids that. Dear Dr. Van Helsing comforts me by telling -me that I am fully armed as there may be wolves. The weather is -getting colder every hour, and there are snow flurries which come and -go as warnings. - - -Later.--It took all my courage to say goodbye to my darling. We may -never meet again. Courage, Mina! The Professor is looking at you -keenly. His look is a warning. There must be no tears now, unless it -may be that God will let them fall in gladness. - - - -JONATHAN HARKER'S JOURNAL - -30 October, night.--I am writing this in the light from the furnace -door of the steam launch. Lord Godalming is firing up. He is an -experienced hand at the work, as he has had for years a launch of his -own on the Thames, and another on the Norfolk Broads. Regarding our -plans, we finally decided that Mina's guess was correct, and that if -any waterway was chosen for the Count's escape back to his Castle, the -Sereth and then the Bistritza at its junction, would be the one. We -took it, that somewhere about the 47th degree, north latitude, would -be the place chosen for crossing the country between the river and the -Carpathians. We have no fear in running at good speed up the river at -night. There is plenty of water, and the banks are wide enough apart -to make steaming, even in the dark, easy enough. Lord Godalming tells -me to sleep for a while, as it is enough for the present for one to be -on watch. But I cannot sleep, how can I with the terrible danger -hanging over my darling, and her going out into that awful place . . . - -My only comfort is that we are in the hands of God. Only for that -faith it would be easier to die than to live, and so be quit of all -the trouble. Mr. Morris and Dr. Seward were off on their long ride -before we started. They are to keep up the right bank, far enough off -to get on higher lands where they can see a good stretch of river and -avoid the following of its curves. They have, for the first stages, -two men to ride and lead their spare horses, four in all, so as not to -excite curiosity. When they dismiss the men, which shall be shortly, -they shall themselves look after the horses. It may be necessary for -us to join forces. If so they can mount our whole party. One of the -saddles has a moveable horn, and can be easily adapted for Mina, if -required. - -It is a wild adventure we are on. Here, as we are rushing along -through the darkness, with the cold from the river seeming to rise up -and strike us, with all the mysterious voices of the night around us, -it all comes home. We seem to be drifting into unknown places and -unknown ways. Into a whole world of dark and dreadful things. -Godalming is shutting the furnace door . . . - - -31 October.--Still hurrying along. The day has come, and Godalming is -sleeping. I am on watch. The morning is bitterly cold, the furnace -heat is grateful, though we have heavy fur coats. As yet we have -passed only a few open boats, but none of them had on board any box or -package of anything like the size of the one we seek. The men were -scared every time we turned our electric lamp on them, and fell on -their knees and prayed. - - -1 November, evening.--No news all day. We have found nothing of the -kind we seek. We have now passed into the Bistritza, and if we are -wrong in our surmise our chance is gone. We have overhauled every -boat, big and little. Early this morning, one crew took us for a -Government boat, and treated us accordingly. We saw in this a way of -smoothing matters, so at Fundu, where the Bistritza runs into the -Sereth, we got a Roumanian flag which we now fly conspicuously. With -every boat which we have overhauled since then this trick has -succeeded. We have had every deference shown to us, and not once any -objection to whatever we chose to ask or do. Some of the Slovaks tell -us that a big boat passed them, going at more than usual speed as she -had a double crew on board. This was before they came to Fundu, so -they could not tell us whether the boat turned into the Bistritza or -continued on up the Sereth. At Fundu we could not hear of any such -boat, so she must have passed there in the night. I am feeling very -sleepy. The cold is perhaps beginning to tell upon me, and nature -must have rest some time. Godalming insists that he shall keep the -first watch. God bless him for all his goodness to poor dear Mina and -me. - - -2 November, morning.--It is broad daylight. That good fellow would -not wake me. He says it would have been a sin to, for I slept -peacefully and was forgetting my trouble. It seems brutally selfish -to me to have slept so long, and let him watch all night, but he was -quite right. I am a new man this morning. And, as I sit here and -watch him sleeping, I can do all that is necessary both as to minding -the engine, steering, and keeping watch. I can feel that my strength -and energy are coming back to me. I wonder where Mina is now, and Van -Helsing. They should have got to Veresti about noon on Wednesday. It -would take them some time to get the carriage and horses. So if they -had started and travelled hard, they would be about now at the Borgo -Pass. God guide and help them! I am afraid to think what may -happen. If we could only go faster. But we cannot. The engines are -throbbing and doing their utmost. I wonder how Dr. Seward and Mr. -Morris are getting on. There seem to be endless streams running down -the mountains into this river, but as none of them are very large, at -present, at all events, though they are doubtless terrible in winter -and when the snow melts, the horsemen may not have met much -obstruction. I hope that before we get to Strasba we may see them. -For if by that time we have not overtaken the Count, it may be -necessary to take counsel together what to do next. - - - - - -DR. SEWARD'S DIARY - -2 November.--Three days on the road. No news, and no time to write it -if there had been, for every moment is precious. We have had only the -rest needful for the horses. But we are both bearing it wonderfully. -Those adventurous days of ours are turning up useful. We must push -on. We shall never feel happy till we get the launch in sight again. - - -3 November.--We heard at Fundu that the launch had gone up the -Bistritza. I wish it wasn't so cold. There are signs of snow coming. -And if it falls heavy it will stop us. In such case we must get a -sledge and go on, Russian fashion. - -4 November.--Today we heard of the launch having been detained by an -accident when trying to force a way up the rapids. The Slovak boats -get up all right, by aid of a rope and steering with knowledge. Some -went up only a few hours before. Godalming is an amateur fitter -himself, and evidently it was he who put the launch in trim again. - -Finally, they got up the rapids all right, with local help, and are off -on the chase afresh. I fear that the boat is not any better for the -accident, the peasantry tell us that after she got upon smooth water -again, she kept stopping every now and again so long as she was in -sight. We must push on harder than ever. Our help may be wanted -soon. - - - - - -MINA HARKER'S JOURNAL - -31 October.--Arrived at Veresti at noon. The Professor tells me that -this morning at dawn he could hardly hypnotize me at all, and that all -I could say was, "dark and quiet." He is off now buying a carriage -and horses. He says that he will later on try to buy additional -horses, so that we may be able to change them on the way. We have -something more than 70 miles before us. The country is lovely, and -most interesting. If only we were under different conditions, how -delightful it would be to see it all. If Jonathan and I were driving -through it alone what a pleasure it would be. To stop and see people, -and learn something of their life, and to fill our minds and memories -with all the colour and picturesqueness of the whole wild, beautiful -country and the quaint people! But, alas! - - -Later.--Dr. Van Helsing has returned. He has got the carriage and -horses. We are to have some dinner, and to start in an hour. The -landlady is putting us up a huge basket of provisions. It seems -enough for a company of soldiers. The Professor encourages her, and -whispers to me that it may be a week before we can get any food again. -He has been shopping too, and has sent home such a wonderful lot of -fur coats and wraps, and all sorts of warm things. There will not be -any chance of our being cold. - -We shall soon be off. I am afraid to think what may happen to us. We -are truly in the hands of God. He alone knows what may be, and I pray -Him, with all the strength of my sad and humble soul, that He will -watch over my beloved husband. That whatever may happen, Jonathan may -know that I loved him and honoured him more than I can say, and that my -latest and truest thought will be always for him. - - - - -CHAPTER 27 - - -MINA HARKER'S JOURNAL - -1 November.--All day long we have travelled, and at a good speed. The -horses seem to know that they are being kindly treated, for they go -willingly their full stage at best speed. We have now had so many -changes and find the same thing so constantly that we are encouraged -to think that the journey will be an easy one. Dr. Van Helsing is -laconic, he tells the farmers that he is hurrying to Bistritz, and -pays them well to make the exchange of horses. We get hot soup, or -coffee, or tea, and off we go. It is a lovely country. Full of -beauties of all imaginable kinds, and the people are brave, and -strong, and simple, and seem full of nice qualities. They are very, -very superstitious. In the first house where we stopped, when the -woman who served us saw the scar on my forehead, she crossed herself -and put out two fingers towards me, to keep off the evil eye. I -believe they went to the trouble of putting an extra amount of garlic -into our food, and I can't abide garlic. Ever since then I have taken -care not to take off my hat or veil, and so have escaped their -suspicions. We are travelling fast, and as we have no driver with us -to carry tales, we go ahead of scandal. But I daresay that fear of -the evil eye will follow hard behind us all the way. The Professor -seems tireless. All day he would not take any rest, though he made me -sleep for a long spell. At sunset time he hypnotized me, and he says -I answered as usual, "darkness, lapping water and creaking wood." So -our enemy is still on the river. I am afraid to think of Jonathan, -but somehow I have now no fear for him, or for myself. I write this -whilst we wait in a farmhouse for the horses to be ready. Dr. Van -Helsing is sleeping. Poor dear, he looks very tired and old and grey, -but his mouth is set as firmly as a conqueror's. Even in his sleep he -is intense with resolution. When we have well started I must make him -rest whilst I drive. I shall tell him that we have days before us, -and he must not break down when most of all his strength will be -needed . . . All is ready. We are off shortly. - - -2 November, morning.--I was successful, and we took turns driving all -night. Now the day is on us, bright though cold. There is a strange -heaviness in the air. I say heaviness for want of a better word. I -mean that it oppresses us both. It is very cold, and only our warm -furs keep us comfortable. At dawn Van Helsing hypnotized me. He says -I answered "darkness, creaking wood and roaring water," so the river -is changing as they ascend. I do hope that my darling will not run -any chance of danger, more than need be, but we are in God's hands. - - -2 November, night.--All day long driving. The country gets wilder as -we go, and the great spurs of the Carpathians, which at Veresti seemed -so far from us and so low on the horizon, now seem to gather round us -and tower in front. We both seem in good spirits. I think we make an -effort each to cheer the other, in the doing so we cheer ourselves. -Dr. Van Helsing says that by morning we shall reach the Borgo Pass. -The houses are very few here now, and the Professor says that the last -horse we got will have to go on with us, as we may not be able to -change. He got two in addition to the two we changed, so that now we -have a rude four-in-hand. The dear horses are patient and good, and -they give us no trouble. We are not worried with other travellers, -and so even I can drive. We shall get to the Pass in daylight. We do -not want to arrive before. So we take it easy, and have each a long -rest in turn. Oh, what will tomorrow bring to us? We go to seek the -place where my poor darling suffered so much. God grant that we may -be guided aright, and that He will deign to watch over my husband and -those dear to us both, and who are in such deadly peril. As for me, I -am not worthy in His sight. Alas! I am unclean to His eyes, and -shall be until He may deign to let me stand forth in His sight as one -of those who have not incurred His wrath. - - - - - -MEMORANDUM BY ABRAHAM VAN HELSING - -4 November.--This to my old and true friend John Seward, M.D., -of Purfleet, London, in case I may not see him. It may -explain. It is morning, and I write by a fire which all -the night I have kept alive, Madam Mina aiding me. It is -cold, cold. So cold that the grey heavy sky is full of -snow, which when it falls will settle for all winter as the -ground is hardening to receive it. It seems to have affected -Madam Mina. She has been so heavy of head all day that she was -not like herself. She sleeps, and sleeps, and sleeps! She who -is usual so alert, have done literally nothing all the day. She -even have lost her appetite. She make no entry into her little -diary, she who write so faithful at every pause. Something -whisper to me that all is not well. However, tonight she is more -_vif_. Her long sleep all day have refresh and restore her, for -now she is all sweet and bright as ever. At sunset I try to -hypnotize her, but alas! with no effect. The power has grown -less and less with each day, and tonight it fail me altogether. -Well, God's will be done, whatever it may be, and whithersoever -it may lead! - -Now to the historical, for as Madam Mina write not in her -stenography, I must, in my cumbrous old fashion, that so -each day of us may not go unrecorded. - -We got to the Borgo Pass just after sunrise yesterday -morning. When I saw the signs of the dawn I got ready for -the hypnotism. We stopped our carriage, and got down so -that there might be no disturbance. I made a couch with -furs, and Madam Mina, lying down, yield herself as usual, -but more slow and more short time than ever, to the hypnotic -sleep. As before, came the answer, "darkness and the swirling of -water." Then she woke, bright and radiant and we go on our way -and soon reach the Pass. At this time and place, she become all -on fire with zeal. Some new guiding power be in her manifested, -for she point to a road and say, "This is the way." - -"How know you it?" I ask. - -"Of course I know it," she answer, and with a pause, add, -"Have not my Jonathan travelled it and wrote of his travel?" - -At first I think somewhat strange, but soon I see that there be -only one such byroad. It is used but little, and very different -from the coach road from the Bukovina to Bistritz, which is more -wide and hard, and more of use. - -So we came down this road. When we meet other ways, not -always were we sure that they were roads at all, for they -be neglect and light snow have fallen, the horses know and -they only. I give rein to them, and they go on so patient. By -and by we find all the things which Jonathan have note in that -wonderful diary of him. Then we go on for long, long hours and -hours. At the first, I tell Madam Mina to sleep. She try, and -she succeed. She sleep all the time, till at the last, I feel -myself to suspicious grow, and attempt to wake her. But she -sleep on, and I may not wake her though I try. I do not wish to -try too hard lest I harm her. For I know that she have suffer -much, and sleep at times be all-in-all to her. I think I drowse -myself, for all of sudden I feel guilt, as though I have done -something. I find myself bolt up, with the reins in my hand, and -the good horses go along jog, jog, just as ever. I look down and -find Madam Mina still asleep. It is now not far off sunset time, -and over the snow the light of the sun flow in big yellow flood, -so that we throw great long shadow on where the mountain rise so -steep. For we are going up, and up, and all is oh so wild and -rocky, as though it were the end of the world. - -Then I arouse Madam Mina. This time she wake with not much -trouble, and then I try to put her to hypnotic sleep. But -she sleep not, being as though I were not. Still I try and -try, till all at once I find her and myself in dark, so I -look round, and find that the sun have gone down. Madam -Mina laugh, and I turn and look at her. She is now quite -awake, and look so well as I never saw her since that night -at Carfax when we first enter the Count's house. I am amaze, and -not at ease then. But she is so bright and tender and thoughtful -for me that I forget all fear. I light a fire, for we have -brought supply of wood with us, and she prepare food while I undo -the horses and set them, tethered in shelter, to feed. Then when -I return to the fire she have my supper ready. I go to help her, -but she smile, and tell me that she have eat already. That she -was so hungry that she would not wait. I like it not, and I have -grave doubts. But I fear to affright her, and so I am silent of -it. She help me and I eat alone, and then we wrap in fur and lie -beside the fire, and I tell her to sleep while I watch. But -presently I forget all of watching. And when I sudden remember -that I watch, I find her lying quiet, but awake, and looking at -me with so bright eyes. Once, twice more the same occur, and I -get much sleep till before morning. When I wake I try to -hypnotize her, but alas! though she shut her eyes obedient, she -may not sleep. The sun rise up, and up, and up, and then sleep -come to her too late, but so heavy that she will not wake. I -have to lift her up, and place her sleeping in the carriage when -I have harnessed the horses and made all ready. Madam still -sleep, and she look in her sleep more healthy and more redder -than before. And I like it not. And I am afraid, afraid, -afraid! I am afraid of all things, even to think but I must go -on my way. The stake we play for is life and death, or more than -these, and we must not flinch. - - -5 November, morning.--Let me be accurate in everything, for -though you and I have seen some strange things together, -you may at the first think that I, Van Helsing, am mad. -That the many horrors and the so long strain on nerves has -at the last turn my brain. - -All yesterday we travel, always getting closer to the -mountains, and moving into a more and more wild and desert -land. There are great, frowning precipices and much falling -water, and Nature seem to have held sometime her carnival. Madam -Mina still sleep and sleep. And though I did have hunger and -appeased it, I could not waken her, even for food. I began to -fear that the fatal spell of the place was upon her, tainted as -she is with that Vampire baptism. "Well," said I to myself, "if -it be that she sleep all the day, it shall also be that I do not -sleep at night." As we travel on the rough road, for a road of -an ancient and imperfect kind there was, I held down my head and -slept. - -Again I waked with a sense of guilt and of time passed, and -found Madam Mina still sleeping, and the sun low down. But -all was indeed changed. The frowning mountains seemed further -away, and we were near the top of a steep rising hill, on summit -of which was such a castle as Jonathan tell of in his diary. At -once I exulted and feared. For now, for good or ill, the end was -near. - -I woke Madam Mina, and again tried to hypnotize her, but -alas! unavailing till too late. Then, ere the great dark -came upon us, for even after down sun the heavens reflected -the gone sun on the snow, and all was for a time in a great -twilight. I took out the horses and fed them in what shelter I -could. Then I make a fire, and near it I make Madam Mina, now -awake and more charming than ever, sit comfortable amid her rugs. -I got ready food, but she would not eat, simply saying that she -had not hunger. I did not press her, knowing her unavailingness. -But I myself eat, for I must needs now be strong for all. Then, -with the fear on me of what might be, I drew a ring so big for -her comfort, round where Madam Mina sat. And over the ring I -passed some of the wafer, and I broke it fine so that all was -well guarded. She sat still all the time, so still as one dead. -And she grew whiter and even whiter till the snow was not more -pale, and no word she said. But when I drew near, she clung to -me, and I could know that the poor soul shook her from head to -feet with a tremor that was pain to feel. - -I said to her presently, when she had grown more quiet, -"Will you not come over to the fire?" for I wished to make -a test of what she could. She rose obedient, but when she -have made a step she stopped, and stood as one stricken. - -"Why not go on?" I asked. She shook her head, and coming -back, sat down in her place. Then, looking at me with open -eyes, as of one waked from sleep, she said simply, "I cannot!" -and remained silent. I rejoiced, for I knew that what she could -not, none of those that we dreaded could. Though there might be -danger to her body, yet her soul was safe! - -Presently the horses began to scream, and tore at their -tethers till I came to them and quieted them. When they -did feel my hands on them, they whinnied low as in joy, and -licked at my hands and were quiet for a time. Many times -through the night did I come to them, till it arrive to the -cold hour when all nature is at lowest, and every time my -coming was with quiet of them. In the cold hour the fire -began to die, and I was about stepping forth to replenish -it, for now the snow came in flying sweeps and with it a -chill mist. Even in the dark there was a light of some -kind, as there ever is over snow, and it seemed as though -the snow flurries and the wreaths of mist took shape as of -women with trailing garments. All was in dead, grim silence only -that the horses whinnied and cowered, as if in terror of the -worst. I began to fear, horrible fears. But then came to me the -sense of safety in that ring wherein I stood. I began too, to -think that my imaginings were of the night, and the gloom, and -the unrest that I have gone through, and all the terrible -anxiety. It was as though my memories of all Jonathan's horrid -experience were befooling me. For the snow flakes and the mist -began to wheel and circle round, till I could get as though a -shadowy glimpse of those women that would have kissed him. And -then the horses cowered lower and lower, and moaned in terror as -men do in pain. Even the madness of fright was not to them, so -that they could break away. I feared for my dear Madam Mina when -these weird figures drew near and circled round. I looked at her, -but she sat calm, and smiled at me. When I would have stepped to -the fire to replenish it, she caught me and held me back, and -whispered, like a voice that one hears in a dream, so low it was. - -"No! No! Do not go without. Here you are safe!" - -I turned to her, and looking in her eyes said, "But you? -It is for you that I fear!" - -Whereat she laughed, a laugh low and unreal, and said, "Fear -for me! Why fear for me? None safer in all the world from -them than I am," and as I wondered at the meaning of her -words, a puff of wind made the flame leap up, and I see the -red scar on her forehead. Then, alas! I knew. Did I not, -I would soon have learned, for the wheeling figures of mist -and snow came closer, but keeping ever without the Holy -circle. Then they began to materialize till, if God have -not taken away my reason, for I saw it through my eyes. -There were before me in actual flesh the same three women -that Jonathan saw in the room, when they would have kissed -his throat. I knew the swaying round forms, the bright -hard eyes, the white teeth, the ruddy colour, the voluptuous -lips. They smiled ever at poor dear Madam Mina. And as -their laugh came through the silence of the night, they -twined their arms and pointed to her, and said in those so -sweet tingling tones that Jonathan said were of the intolerable -sweetness of the water glasses, "Come, sister. Come to us. -Come!" - -In fear I turned to my poor Madam Mina, and my heart with -gladness leapt like flame. For oh! the terror in her sweet -eyes, the repulsion, the horror, told a story to my heart -that was all of hope. God be thanked she was not, yet, of -them. I seized some of the firewood which was by me, and -holding out some of the Wafer, advanced on them towards the -fire. They drew back before me, and laughed their low horrid -laugh. I fed the fire, and feared them not. For I knew that we -were safe within the ring, which she could not leave no more than -they could enter. The horses had ceased to moan, and lay still -on the ground. The snow fell on them softly, and they grew -whiter. I knew that there was for the poor beasts no more of -terror. - -And so we remained till the red of the dawn began to fall -through the snow gloom. I was desolate and afraid, and -full of woe and terror. But when that beautiful sun began -to climb the horizon life was to me again. At the first -coming of the dawn the horrid figures melted in the whirling -mist and snow. The wreaths of transparent gloom moved away -towards the castle, and were lost. - -Instinctively, with the dawn coming, I turned to Madam Mina, -intending to hypnotize her. But she lay in a deep and sudden -sleep, from which I could not wake her. I tried to hypnotize -through her sleep, but she made no response, none at all, and the -day broke. I fear yet to stir. I have made my fire and have -seen the horses, they are all dead. Today I have much to do here, -and I keep waiting till the sun is up high. For there may be -places where I must go, where that sunlight, though snow and mist -obscure it, will be to me a safety. - -I will strengthen me with breakfast, and then I will do my -terrible work. Madam Mina still sleeps, and God be thanked! She -is calm in her sleep . . . - - - -JONATHAN HARKER'S JOURNAL - -4 November, evening.--The accident to the launch has been a terrible -thing for us. Only for it we should have overtaken the boat long ago, -and by now my dear Mina would have been free. I fear to think of her, -off on the wolds near that horrid place. We have got horses, and we -follow on the track. I note this whilst Godalming is getting ready. -We have our arms. The Szgany must look out if they mean to fight. Oh, -if only Morris and Seward were with us. We must only hope! If I -write no more Goodby Mina! God bless and keep you. - - - -DR. SEWARD'S DIARY - -5 November.--With the dawn we saw the body of Szgany before us dashing -away from the river with their leiter wagon. They surrounded it in a -cluster, and hurried along as though beset. The snow is falling -lightly and there is a strange excitement in the air. It may be our -own feelings, but the depression is strange. Far off I hear the -howling of wolves. The snow brings them down from the mountains, and -there are dangers to all of us, and from all sides. The horses are -nearly ready, and we are soon off. We ride to death of some one. God -alone knows who, or where, or what, or when, or how it may be . . . - - - - - -DR. VAN HELSING'S MEMORANDUM - -5 November, afternoon.--I am at least sane. Thank God for -that mercy at all events, though the proving it has been -dreadful. When I left Madam Mina sleeping within the Holy -circle, I took my way to the castle. The blacksmith hammer -which I took in the carriage from Veresti was useful, though the -doors were all open I broke them off the rusty hinges, lest some -ill intent or ill chance should close them, so that being entered -I might not get out. Jonathan's bitter experience served me -here. By memory of his diary I found my way to the old chapel, -for I knew that here my work lay. The air was oppressive. It -seemed as if there was some sulphurous fume, which at times made -me dizzy. Either there was a roaring in my ears or I heard afar -off the howl of wolves. Then I bethought me of my dear Madam -Mina, and I was in terrible plight. The dilemma had me between -his horns. - -Her, I had not dare to take into this place, but left safe -from the Vampire in that Holy circle. And yet even there -would be the wolf! I resolve me that my work lay here, and -that as to the wolves we must submit, if it were God's will. At -any rate it was only death and freedom beyond. So did I choose -for her. Had it but been for myself the choice had been easy, -the maw of the wolf were better to rest in than the grave of the -Vampire! So I make my choice to go on with my work. - -I knew that there were at least three graves to find, graves -that are inhabit. So I search, and search, and I find one -of them. She lay in her Vampire sleep, so full of life and -voluptuous beauty that I shudder as though I have come to -do murder. Ah, I doubt not that in the old time, when such -things were, many a man who set forth to do such a task as -mine, found at the last his heart fail him, and then his -nerve. So he delay, and delay, and delay, till the mere -beauty and the fascination of the wanton Undead have hypnotize -him. And he remain on and on, till sunset come, and the Vampire -sleep be over. Then the beautiful eyes of the fair woman open -and look love, and the voluptuous mouth present to a kiss, and -the man is weak. And there remain one more victim in the -Vampire fold. One more to swell the grim and grisly ranks -of the Undead! . . . - -There is some fascination, surely, when I am moved by the -mere presence of such an one, even lying as she lay in a -tomb fretted with age and heavy with the dust of centuries, -though there be that horrid odour such as the lairs of the -Count have had. Yes, I was moved. I, Van Helsing, with -all my purpose and with my motive for hate. I was moved to -a yearning for delay which seemed to paralyze my faculties -and to clog my very soul. It may have been that the need -of natural sleep, and the strange oppression of the air -were beginning to overcome me. Certain it was that I was -lapsing into sleep, the open eyed sleep of one who yields -to a sweet fascination, when there came through the snow-stilled -air a long, low wail, so full of woe and pity that it woke me -like the sound of a clarion. For it was the voice of my dear -Madam Mina that I heard. - -Then I braced myself again to my horrid task, and found by -wrenching away tomb tops one other of the sisters, the other dark -one. I dared not pause to look on her as I had on her sister, -lest once more I should begin to be enthrall. But I go on -searching until, presently, I find in a high great tomb as if -made to one much beloved that other fair sister which, like -Jonathan I had seen to gather herself out of the atoms of the -mist. She was so fair to look on, so radiantly beautiful, so -exquisitely voluptuous, that the very instinct of man in me, -which calls some of my sex to love and to protect one of hers, -made my head whirl with new emotion. But God be thanked, that -soul wail of my dear Madam Mina had not died out of my ears. -And, before the spell could be wrought further upon me, I had -nerved myself to my wild work. By this time I had searched all -the tombs in the chapel, so far as I could tell. And as there -had been only three of these Undead phantoms around us in the -night, I took it that there were no more of active Undead -existent. There was one great tomb more lordly than all the -rest. Huge it was, and nobly proportioned. On it was but one -word. - - - DRACULA - - -This then was the Undead home of the King Vampire, to whom -so many more were due. Its emptiness spoke eloquent to -make certain what I knew. Before I began to restore these -women to their dead selves through my awful work, I laid in -Dracula's tomb some of the Wafer, and so banished him from -it, Undead, for ever. - -Then began my terrible task, and I dreaded it. Had it been -but one, it had been easy, comparative. But three! To -begin twice more after I had been through a deed of horror. -For it was terrible with the sweet Miss Lucy, what would it -not be with these strange ones who had survived through -centuries, and who had been strengthened by the passing of -the years. Who would, if they could, have fought for their -foul lives . . . - -Oh, my friend John, but it was butcher work. Had I not -been nerved by thoughts of other dead, and of the living -over whom hung such a pall of fear, I could not have gone -on. I tremble and tremble even yet, though till all was -over, God be thanked, my nerve did stand. Had I not seen -the repose in the first place, and the gladness that stole -over it just ere the final dissolution came, as realization -that the soul had been won, I could not have gone further -with my butchery. I could not have endured the horrid screeching -as the stake drove home, the plunging of writhing form, and lips -of bloody foam. I should have fled in terror and left my work -undone. But it is over! And the poor souls, I can pity them now -and weep, as I think of them placid each in her full sleep of -death for a short moment ere fading. For, friend John, hardly -had my knife severed the head of each, before the whole body -began to melt away and crumble into its native dust, as though -the death that should have come centuries ago had at last assert -himself and say at once and loud, "I am here!" - -Before I left the castle I so fixed its entrances that never -more can the Count enter there Undead. - -When I stepped into the circle where Madam Mina slept, she -woke from her sleep and, seeing me, cried out in pain that -I had endured too much. - -"Come!" she said, "come away from this awful place! Let us -go to meet my husband who is, I know, coming towards us." -She was looking thin and pale and weak. But her eyes were -pure and glowed with fervour. I was glad to see her paleness and -her illness, for my mind was full of the fresh horror of that -ruddy vampire sleep. - -And so with trust and hope, and yet full of fear, we go -eastward to meet our friends, and him, whom Madam Mina tell -me that she know are coming to meet us. - - - - - -MINA HARKER'S JOURNAL - -6 November.--It was late in the afternoon when the Professor and I -took our way towards the east whence I knew Jonathan was coming. We -did not go fast, though the way was steeply downhill, for we had to -take heavy rugs and wraps with us. We dared not face the possibility -of being left without warmth in the cold and the snow. We had to take -some of our provisions too, for we were in a perfect desolation, and -so far as we could see through the snowfall, there was not even the -sign of habitation. When we had gone about a mile, I was tired with -the heavy walking and sat down to rest. Then we looked back and saw -where the clear line of Dracula's castle cut the sky. For we were so -deep under the hill whereon it was set that the angle of perspective -of the Carpathian mountains was far below it. We saw it in all its -grandeur, perched a thousand feet on the summit of a sheer precipice, -and with seemingly a great gap between it and the steep of the -adjacent mountain on any side. There was something wild and uncanny -about the place. We could hear the distant howling of wolves. They -were far off, but the sound, even though coming muffled through the -deadening snowfall, was full of terror. I knew from the way Dr. Van -Helsing was searching about that he was trying to seek some strategic -point, where we would be less exposed in case of attack. The rough -roadway still led downwards. We could trace it through the drifted -snow. - -In a little while the Professor signalled to me, so I got up and -joined him. He had found a wonderful spot, a sort of natural hollow -in a rock, with an entrance like a doorway between two boulders. He -took me by the hand and drew me in. - -"See!" he said, "here you will be in shelter. And if the wolves do -come I can meet them one by one." - -He brought in our furs, and made a snug nest for me, and got out some -provisions and forced them upon me. But I could not eat, to even try -to do so was repulsive to me, and much as I would have liked to please -him, I could not bring myself to the attempt. He looked very sad, but -did not reproach me. Taking his field glasses from the case, he stood -on the top of the rock, and began to search the horizon. - -Suddenly he called out, "Look! Madam Mina, look! Look!" - -I sprang up and stood beside him on the rock. He handed me his -glasses and pointed. The snow was now falling more heavily, and -swirled about fiercely, for a high wind was beginning to blow. -However, there were times when there were pauses between the snow -flurries and I could see a long way round. From the height where we -were it was possible to see a great distance. And far off, beyond the -white waste of snow, I could see the river lying like a black ribbon -in kinks and curls as it wound its way. Straight in front of us and -not far off, in fact so near that I wondered we had not noticed -before, came a group of mounted men hurrying along. In the midst of -them was a cart, a long leiter wagon which swept from side to side, -like a dog's tail wagging, with each stern inequality of the road. -Outlined against the snow as they were, I could see from the men's -clothes that they were peasants or gypsies of some kind. - -On the cart was a great square chest. My heart leaped as I saw it, for -I felt that the end was coming. The evening was now drawing close, -and well I knew that at sunset the Thing, which was till then -imprisoned there, would take new freedom and could in any of many -forms elude pursuit. In fear I turned to the Professor. To my -consternation, however, he was not there. An instant later, I saw him -below me. Round the rock he had drawn a circle, such as we had found -shelter in last night. - -When he had completed it he stood beside me again saying, "At least -you shall be safe here from him!" He took the glasses from me, and at -the next lull of the snow swept the whole space below us. "See," he -said, "they come quickly. They are flogging the horses, and galloping -as hard as they can." - -He paused and went on in a hollow voice, "They are racing for the -sunset. We may be too late. God's will be done!" Down came another -blinding rush of driving snow, and the whole landscape was blotted -out. It soon passed, however, and once more his glasses were fixed on -the plain. - -Then came a sudden cry, "Look! Look! Look! See, two horsemen follow -fast, coming up from the south. It must be Quincey and John. Take -the glass. Look before the snow blots it all out!" I took it and -looked. The two men might be Dr. Seward and Mr. Morris. I knew at -all events that neither of them was Jonathan. At the same time I knew -that Jonathan was not far off. Looking around I saw on the north side -of the coming party two other men, riding at breakneck speed. One of -them I knew was Jonathan, and the other I took, of course, to be Lord -Godalming. They too, were pursuing the party with the cart. When I -told the Professor he shouted in glee like a schoolboy, and after -looking intently till a snow fall made sight impossible, he laid his -Winchester rifle ready for use against the boulder at the opening of -our shelter. - -"They are all converging," he said. "When the time comes we shall have -gypsies on all sides." I got out my revolver ready to hand, for -whilst we were speaking the howling of wolves came louder and closer. -When the snow storm abated a moment we looked again. It was strange -to see the snow falling in such heavy flakes close to us, and beyond, -the sun shining more and more brightly as it sank down towards the far -mountain tops. Sweeping the glass all around us I could see here and -there dots moving singly and in twos and threes and larger numbers. -The wolves were gathering for their prey. - -Every instant seemed an age whilst we waited. The wind came now in -fierce bursts, and the snow was driven with fury as it swept upon us -in circling eddies. At times we could not see an arm's length before -us. But at others, as the hollow sounding wind swept by us, it seemed -to clear the air space around us so that we could see afar off. We -had of late been so accustomed to watch for sunrise and sunset, that -we knew with fair accuracy when it would be. And we knew that before -long the sun would set. It was hard to believe that by our watches it -was less than an hour that we waited in that rocky shelter before the -various bodies began to converge close upon us. The wind came now -with fiercer and more bitter sweeps, and more steadily from the -north. It seemingly had driven the snow clouds from us, for with only -occasional bursts, the snow fell. We could distinguish clearly the -individuals of each party, the pursued and the pursuers. Strangely -enough those pursued did not seem to realize, or at least to care, -that they were pursued. They seemed, however, to hasten with -redoubled speed as the sun dropped lower and lower on the mountain -tops. - -Closer and closer they drew. The Professor and I crouched down behind -our rock, and held our weapons ready. I could see that he was -determined that they should not pass. One and all were quite unaware -of our presence. - -All at once two voices shouted out to "Halt!" One was my Jonathan's, -raised in a high key of passion. The other Mr. Morris' strong -resolute tone of quiet command. The gypsies may not have known the -language, but there was no mistaking the tone, in whatever tongue the -words were spoken. Instinctively they reined in, and at the instant -Lord Godalming and Jonathan dashed up at one side and Dr. Seward and -Mr. Morris on the other. The leader of the gypsies, a splendid -looking fellow who sat his horse like a centaur, waved them back, and -in a fierce voice gave to his companions some word to proceed. They -lashed the horses which sprang forward. But the four men raised their -Winchester rifles, and in an unmistakable way commanded them to stop. -At the same moment Dr. Van Helsing and I rose behind the rock and -pointed our weapons at them. Seeing that they were surrounded the men -tightened their reins and drew up. The leader turned to them and gave -a word at which every man of the gypsy party drew what weapon he -carried, knife or pistol, and held himself in readiness to attack. -Issue was joined in an instant. - -The leader, with a quick movement of his rein, threw his horse out in -front, and pointed first to the sun, now close down on the hill tops, -and then to the castle, said something which I did not understand. -For answer, all four men of our party threw themselves from their -horses and dashed towards the cart. I should have felt terrible fear -at seeing Jonathan in such danger, but that the ardor of battle must -have been upon me as well as the rest of them. I felt no fear, but -only a wild, surging desire to do something. Seeing the quick -movement of our parties, the leader of the gypsies gave a command. His -men instantly formed round the cart in a sort of undisciplined -endeavour, each one shouldering and pushing the other in his eagerness -to carry out the order. - -In the midst of this I could see that Jonathan on one side of the ring -of men, and Quincey on the other, were forcing a way to the cart. It -was evident that they were bent on finishing their task before the sun -should set. Nothing seemed to stop or even to hinder them. Neither -the levelled weapons nor the flashing knives of the gypsies in front, -nor the howling of the wolves behind, appeared to even attract their -attention. Jonathan's impetuosity, and the manifest singleness of his -purpose, seemed to overawe those in front of him. Instinctively they -cowered aside and let him pass. In an instant he had jumped upon the -cart, and with a strength which seemed incredible, raised the great -box, and flung it over the wheel to the ground. In the meantime, Mr. -Morris had had to use force to pass through his side of the ring of -Szgany. All the time I had been breathlessly watching Jonathan I had, -with the tail of my eye, seen him pressing desperately forward, and -had seen the knives of the gypsies flash as he won a way through them, -and they cut at him. He had parried with his great bowie knife, and -at first I thought that he too had come through in safety. But as he -sprang beside Jonathan, who had by now jumped from the cart, I could -see that with his left hand he was clutching at his side, and that the -blood was spurting through his fingers. He did not delay -notwithstanding this, for as Jonathan, with desperate energy, attacked -one end of the chest, attempting to prize off the lid with his great -Kukri knife, he attacked the other frantically with his bowie. Under -the efforts of both men the lid began to yield. The nails drew with a -screeching sound, and the top of the box was thrown back. - -By this time the gypsies, seeing themselves covered by the -Winchesters, and at the mercy of Lord Godalming and Dr. Seward, had -given in and made no further resistance. The sun was almost down on -the mountain tops, and the shadows of the whole group fell upon the -snow. I saw the Count lying within the box upon the earth, some of -which the rude falling from the cart had scattered over him. He was -deathly pale, just like a waxen image, and the red eyes glared with -the horrible vindictive look which I knew so well. - -As I looked, the eyes saw the sinking sun, and the look of hate in -them turned to triumph. - -But, on the instant, came the sweep and flash of Jonathan's great -knife. I shrieked as I saw it shear through the throat. Whilst at -the same moment Mr. Morris's bowie knife plunged into the heart. - -It was like a miracle, but before our very eyes, and almost in the -drawing of a breath, the whole body crumbled into dust and passed from -our sight. - -I shall be glad as long as I live that even in that moment of final -dissolution, there was in the face a look of peace, such as I never -could have imagined might have rested there. - -The Castle of Dracula now stood out against the red sky, and every -stone of its broken battlements was articulated against the light of -the setting sun. - -The gypsies, taking us as in some way the cause of the extraordinary -disappearance of the dead man, turned, without a word, and rode away -as if for their lives. Those who were unmounted jumped upon the -leiter wagon and shouted to the horsemen not to desert them. The -wolves, which had withdrawn to a safe distance, followed in their -wake, leaving us alone. - -Mr. Morris, who had sunk to the ground, leaned on his elbow, holding -his hand pressed to his side. The blood still gushed through his -fingers. I flew to him, for the Holy circle did not now keep me back; -so did the two doctors. Jonathan knelt behind him and the wounded man -laid back his head on his shoulder. With a sigh he took, with a -feeble effort, my hand in that of his own which was unstained. - -He must have seen the anguish of my heart in my face, for he smiled at -me and said, "I am only too happy to have been of service! Oh, God!" -he cried suddenly, struggling to a sitting posture and pointing to me. -"It was worth for this to die! Look! Look!" - -The sun was now right down upon the mountain top, and the red gleams -fell upon my face, so that it was bathed in rosy light. With one -impulse the men sank on their knees and a deep and earnest "Amen" -broke from all as their eyes followed the pointing of his finger. - -The dying man spoke, "Now God be thanked that all has not been in -vain! See! The snow is not more stainless than her forehead! The -curse has passed away!" - -And, to our bitter grief, with a smile and in silence, he died, a -gallant gentleman. - - - - - -NOTE - - -Seven years ago we all went through the flames. And the happiness of -some of us since then is, we think, well worth the pain we endured. -It is an added joy to Mina and to me that our boy's birthday is the -same day as that on which Quincey Morris died. His mother holds, I -know, the secret belief that some of our brave friend's spirit has -passed into him. His bundle of names links all our little band of men -together. But we call him Quincey. - -In the summer of this year we made a journey to Transylvania, and went -over the old ground which was, and is, to us so full of vivid and -terrible memories. It was almost impossible to believe that the -things which we had seen with our own eyes and heard with our own ears -were living truths. Every trace of all that had been was blotted -out. The castle stood as before, reared high above a waste of -desolation. - -When we got home we were talking of the old time, which we could all -look back on without despair, for Godalming and Seward are both -happily married. I took the papers from the safe where they had been -ever since our return so long ago. We were struck with the fact, that -in all the mass of material of which the record is composed, there is -hardly one authentic document. Nothing but a mass of typewriting, -except the later notebooks of Mina and Seward and myself, and Van -Helsing's memorandum. We could hardly ask any one, even did we wish -to, to accept these as proofs of so wild a story. Van Helsing summed -it all up as he said, with our boy on his knee. - -"We want no proofs. We ask none to believe us! This boy will some -day know what a brave and gallant woman his mother is. Already he -knows her sweetness and loving care. Later on he will understand how -some men so loved her, that they did dare much for her sake." - -JONATHAN HARKER - - - - - - - - - -End of the Project Gutenberg EBook of Dracula, by Bram Stoker - -*** END OF THIS PROJECT GUTENBERG EBOOK DRACULA *** - -***** This file should be named 345.txt or 345.zip ***** -This and all associated files of various formats will be found in: - http://www.gutenberg.org/3/4/345/ - - - -Updated editions will replace the previous one--the old editions -will be renamed. - -Creating the works from public domain print editions means that no -one owns a United States copyright in these works, so the Foundation -(and you!) can copy and distribute it in the United States without -permission and without paying copyright royalties. Special rules, -set forth in the General Terms of Use part of this license, apply to -copying and distributing Project Gutenberg-tm electronic works to -protect the PROJECT GUTENBERG-tm concept and trademark. Project -Gutenberg is a registered trademark, and may not be used if you -charge for the eBooks, unless you receive specific permission. If you -do not charge anything for copies of this eBook, complying with the -rules is very easy. You may use this eBook for nearly any purpose -such as creation of derivative works, reports, performances and -research. They may be modified and printed and given away--you may do -practically ANYTHING with public domain eBooks. Redistribution is -subject to the trademark license, especially commercial -redistribution. - - - -*** START: FULL LICENSE *** - -THE FULL PROJECT GUTENBERG LICENSE -PLEASE READ THIS BEFORE YOU DISTRIBUTE OR USE THIS WORK - -To protect the Project Gutenberg-tm mission of promoting the free -distribution of electronic works, by using or distributing this work -(or any other work associated in any way with the phrase "Project -Gutenberg"), you agree to comply with all the terms of the Full Project -Gutenberg-tm License (available with this file or online at -http://gutenberg.net/license). - - -Section 1. General Terms of Use and Redistributing Project Gutenberg-tm -electronic works - -1.A. By reading or using any part of this Project Gutenberg-tm -electronic work, you indicate that you have read, understand, agree to -and accept all the terms of this license and intellectual property -(trademark/copyright) agreement. If you do not agree to abide by all -the terms of this agreement, you must cease using and return or destroy -all copies of Project Gutenberg-tm electronic works in your possession. -If you paid a fee for obtaining a copy of or access to a Project -Gutenberg-tm electronic work and you do not agree to be bound by the -terms of this agreement, you may obtain a refund from the person or -entity to whom you paid the fee as set forth in paragraph 1.E.8. - -1.B. "Project Gutenberg" is a registered trademark. It may only be -used on or associated in any way with an electronic work by people who -agree to be bound by the terms of this agreement. There are a few -things that you can do with most Project Gutenberg-tm electronic works -even without complying with the full terms of this agreement. See -paragraph 1.C below. There are a lot of things you can do with Project -Gutenberg-tm electronic works if you follow the terms of this agreement -and help preserve free future access to Project Gutenberg-tm electronic -works. See paragraph 1.E below. - -1.C. The Project Gutenberg Literary Archive Foundation ("the Foundation" -or PGLAF), owns a compilation copyright in the collection of Project -Gutenberg-tm electronic works. Nearly all the individual works in the -collection are in the public domain in the United States. If an -individual work is in the public domain in the United States and you are -located in the United States, we do not claim a right to prevent you from -copying, distributing, performing, displaying or creating derivative -works based on the work as long as all references to Project Gutenberg -are removed. Of course, we hope that you will support the Project -Gutenberg-tm mission of promoting free access to electronic works by -freely sharing Project Gutenberg-tm works in compliance with the terms of -this agreement for keeping the Project Gutenberg-tm name associated with -the work. You can easily comply with the terms of this agreement by -keeping this work in the same format with its attached full Project -Gutenberg-tm License when you share it without charge with others. - -1.D. The copyright laws of the place where you are located also govern -what you can do with this work. Copyright laws in most countries are in -a constant state of change. If you are outside the United States, check -the laws of your country in addition to the terms of this agreement -before downloading, copying, displaying, performing, distributing or -creating derivative works based on this work or any other Project -Gutenberg-tm work. The Foundation makes no representations concerning -the copyright status of any work in any country outside the United -States. - -1.E. Unless you have removed all references to Project Gutenberg: - -1.E.1. The following sentence, with active links to, or other immediate -access to, the full Project Gutenberg-tm License must appear prominently -whenever any copy of a Project Gutenberg-tm work (any work on which the -phrase "Project Gutenberg" appears, or with which the phrase "Project -Gutenberg" is associated) is accessed, displayed, performed, viewed, -copied or distributed: - -This eBook is for the use of anyone anywhere at no cost and with -almost no restrictions whatsoever. You may copy it, give it away or -re-use it under the terms of the Project Gutenberg License included -with this eBook or online at www.gutenberg.net - -1.E.2. If an individual Project Gutenberg-tm electronic work is derived -from the public domain (does not contain a notice indicating that it is -posted with permission of the copyright holder), the work can be copied -and distributed to anyone in the United States without paying any fees -or charges. If you are redistributing or providing access to a work -with the phrase "Project Gutenberg" associated with or appearing on the -work, you must comply either with the requirements of paragraphs 1.E.1 -through 1.E.7 or obtain permission for the use of the work and the -Project Gutenberg-tm trademark as set forth in paragraphs 1.E.8 or -1.E.9. - -1.E.3. If an individual Project Gutenberg-tm electronic work is posted -with the permission of the copyright holder, your use and distribution -must comply with both paragraphs 1.E.1 through 1.E.7 and any additional -terms imposed by the copyright holder. Additional terms will be linked -to the Project Gutenberg-tm License for all works posted with the -permission of the copyright holder found at the beginning of this work. - -1.E.4. Do not unlink or detach or remove the full Project Gutenberg-tm -License terms from this work, or any files containing a part of this -work or any other work associated with Project Gutenberg-tm. - -1.E.5. Do not copy, display, perform, distribute or redistribute this -electronic work, or any part of this electronic work, without -prominently displaying the sentence set forth in paragraph 1.E.1 with -active links or immediate access to the full terms of the Project -Gutenberg-tm License. - -1.E.6. You may convert to and distribute this work in any binary, -compressed, marked up, nonproprietary or proprietary form, including any -word processing or hypertext form. However, if you provide access to or -distribute copies of a Project Gutenberg-tm work in a format other than -"Plain Vanilla ASCII" or other format used in the official version -posted on the official Project Gutenberg-tm web site (www.gutenberg.net), -you must, at no additional cost, fee or expense to the user, provide a -copy, a means of exporting a copy, or a means of obtaining a copy upon -request, of the work in its original "Plain Vanilla ASCII" or other -form. Any alternate format must include the full Project Gutenberg-tm -License as specified in paragraph 1.E.1. - -1.E.7. Do not charge a fee for access to, viewing, displaying, -performing, copying or distributing any Project Gutenberg-tm works -unless you comply with paragraph 1.E.8 or 1.E.9. - -1.E.8. You may charge a reasonable fee for copies of or providing -access to or distributing Project Gutenberg-tm electronic works provided -that - -- You pay a royalty fee of 20% of the gross profits you derive from - the use of Project Gutenberg-tm works calculated using the method - you already use to calculate your applicable taxes. The fee is - owed to the owner of the Project Gutenberg-tm trademark, but he - has agreed to donate royalties under this paragraph to the - Project Gutenberg Literary Archive Foundation. Royalty payments - must be paid within 60 days following each date on which you - prepare (or are legally required to prepare) your periodic tax - returns. Royalty payments should be clearly marked as such and - sent to the Project Gutenberg Literary Archive Foundation at the - address specified in Section 4, "Information about donations to - the Project Gutenberg Literary Archive Foundation." - -- You provide a full refund of any money paid by a user who notifies - you in writing (or by e-mail) within 30 days of receipt that s/he - does not agree to the terms of the full Project Gutenberg-tm - License. You must require such a user to return or - destroy all copies of the works possessed in a physical medium - and discontinue all use of and all access to other copies of - Project Gutenberg-tm works. - -- You provide, in accordance with paragraph 1.F.3, a full refund of any - money paid for a work or a replacement copy, if a defect in the - electronic work is discovered and reported to you within 90 days - of receipt of the work. - -- You comply with all other terms of this agreement for free - distribution of Project Gutenberg-tm works. - -1.E.9. If you wish to charge a fee or distribute a Project Gutenberg-tm -electronic work or group of works on different terms than are set -forth in this agreement, you must obtain permission in writing from -both the Project Gutenberg Literary Archive Foundation and Michael -Hart, the owner of the Project Gutenberg-tm trademark. Contact the -Foundation as set forth in Section 3 below. - -1.F. - -1.F.1. Project Gutenberg volunteers and employees expend considerable -effort to identify, do copyright research on, transcribe and proofread -public domain works in creating the Project Gutenberg-tm -collection. Despite these efforts, Project Gutenberg-tm electronic -works, and the medium on which they may be stored, may contain -"Defects," such as, but not limited to, incomplete, inaccurate or -corrupt data, transcription errors, a copyright or other intellectual -property infringement, a defective or damaged disk or other medium, a -computer virus, or computer codes that damage or cannot be read by -your equipment. - -1.F.2. LIMITED WARRANTY, DISCLAIMER OF DAMAGES - Except for the "Right -of Replacement or Refund" described in paragraph 1.F.3, the Project -Gutenberg Literary Archive Foundation, the owner of the Project -Gutenberg-tm trademark, and any other party distributing a Project -Gutenberg-tm electronic work under this agreement, disclaim all -liability to you for damages, costs and expenses, including legal -fees. YOU AGREE THAT YOU HAVE NO REMEDIES FOR NEGLIGENCE, STRICT -LIABILITY, BREACH OF WARRANTY OR BREACH OF CONTRACT EXCEPT THOSE -PROVIDED IN PARAGRAPH F3. YOU AGREE THAT THE FOUNDATION, THE -TRADEMARK OWNER, AND ANY DISTRIBUTOR UNDER THIS AGREEMENT WILL NOT BE -LIABLE TO YOU FOR ACTUAL, DIRECT, INDIRECT, CONSEQUENTIAL, PUNITIVE OR -INCIDENTAL DAMAGES EVEN IF YOU GIVE NOTICE OF THE POSSIBILITY OF SUCH -DAMAGE. - -1.F.3. LIMITED RIGHT OF REPLACEMENT OR REFUND - If you discover a -defect in this electronic work within 90 days of receiving it, you can -receive a refund of the money (if any) you paid for it by sending a -written explanation to the person you received the work from. If you -received the work on a physical medium, you must return the medium with -your written explanation. The person or entity that provided you with -the defective work may elect to provide a replacement copy in lieu of a -refund. If you received the work electronically, the person or entity -providing it to you may choose to give you a second opportunity to -receive the work electronically in lieu of a refund. If the second copy -is also defective, you may demand a refund in writing without further -opportunities to fix the problem. - -1.F.4. Except for the limited right of replacement or refund set forth -in paragraph 1.F.3, this work is provided to you 'AS-IS' WITH NO OTHER -WARRANTIES OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO -WARRANTIES OF MERCHANTIBILITY OR FITNESS FOR ANY PURPOSE. - -1.F.5. Some states do not allow disclaimers of certain implied -warranties or the exclusion or limitation of certain types of damages. -If any disclaimer or limitation set forth in this agreement violates the -law of the state applicable to this agreement, the agreement shall be -interpreted to make the maximum disclaimer or limitation permitted by -the applicable state law. The invalidity or unenforceability of any -provision of this agreement shall not void the remaining provisions. - -1.F.6. INDEMNITY - You agree to indemnify and hold the Foundation, the -trademark owner, any agent or employee of the Foundation, anyone -providing copies of Project Gutenberg-tm electronic works in accordance -with this agreement, and any volunteers associated with the production, -promotion and distribution of Project Gutenberg-tm electronic works, -harmless from all liability, costs and expenses, including legal fees, -that arise directly or indirectly from any of the following which you do -or cause to occur: (a) distribution of this or any Project Gutenberg-tm -work, (b) alteration, modification, or additions or deletions to any -Project Gutenberg-tm work, and (c) any Defect you cause. - - -Section 2. Information about the Mission of Project Gutenberg-tm - -Project Gutenberg-tm is synonymous with the free distribution of -electronic works in formats readable by the widest variety of computers -including obsolete, old, middle-aged and new computers. It exists -because of the efforts of hundreds of volunteers and donations from -people in all walks of life. - -Volunteers and financial support to provide volunteers with the -assistance they need, is critical to reaching Project Gutenberg-tm's -goals and ensuring that the Project Gutenberg-tm collection will -remain freely available for generations to come. In 2001, the Project -Gutenberg Literary Archive Foundation was created to provide a secure -and permanent future for Project Gutenberg-tm and future generations. -To learn more about the Project Gutenberg Literary Archive Foundation -and how your efforts and donations can help, see Sections 3 and 4 -and the Foundation web page at http://www.pglaf.org. - - -Section 3. Information about the Project Gutenberg Literary Archive -Foundation - -The Project Gutenberg Literary Archive Foundation is a non profit -501(c)(3) educational corporation organized under the laws of the -state of Mississippi and granted tax exempt status by the Internal -Revenue Service. The Foundation's EIN or federal tax identification -number is 64-6221541. Its 501(c)(3) letter is posted at -http://pglaf.org/fundraising. Contributions to the Project Gutenberg -Literary Archive Foundation are tax deductible to the full extent -permitted by U.S. federal laws and your state's laws. - -The Foundation's principal office is located at 4557 Melan Dr. S. -Fairbanks, AK, 99712., but its volunteers and employees are scattered -throughout numerous locations. Its business office is located at -809 North 1500 West, Salt Lake City, UT 84116, (801) 596-1887, email -business@pglaf.org. Email contact links and up to date contact -information can be found at the Foundation's web site and official -page at http://pglaf.org - -For additional contact information: - Dr. Gregory B. Newby - Chief Executive and Director - gbnewby@pglaf.org - - -Section 4. Information about Donations to the Project Gutenberg -Literary Archive Foundation - -Project Gutenberg-tm depends upon and cannot survive without wide -spread public support and donations to carry out its mission of -increasing the number of public domain and licensed works that can be -freely distributed in machine readable form accessible by the widest -array of equipment including outdated equipment. Many small donations -($1 to $5,000) are particularly important to maintaining tax exempt -status with the IRS. - -The Foundation is committed to complying with the laws regulating -charities and charitable donations in all 50 states of the United -States. Compliance requirements are not uniform and it takes a -considerable effort, much paperwork and many fees to meet and keep up -with these requirements. We do not solicit donations in locations -where we have not received written confirmation of compliance. To -SEND DONATIONS or determine the status of compliance for any -particular state visit http://pglaf.org - -While we cannot and do not solicit contributions from states where we -have not met the solicitation requirements, we know of no prohibition -against accepting unsolicited donations from donors in such states who -approach us with offers to donate. - -International donations are gratefully accepted, but we cannot make -any statements concerning tax treatment of donations received from -outside the United States. U.S. laws alone swamp our small staff. - -Please check the Project Gutenberg Web pages for current donation -methods and addresses. Donations are accepted in a number of other -ways including including checks, online payments and credit card -donations. To donate, please visit: http://pglaf.org/donate - - -Section 5. General Information About Project Gutenberg-tm electronic -works. - -Professor Michael S. Hart is the originator of the Project Gutenberg-tm -concept of a library of electronic works that could be freely shared -with anyone. For thirty years, he produced and distributed Project -Gutenberg-tm eBooks with only a loose network of volunteer support. - - -Project Gutenberg-tm eBooks are often created from several printed -editions, all of which are confirmed as Public Domain in the U.S. -unless a copyright notice is included. Thus, we do not necessarily -keep eBooks in compliance with any particular paper edition. - - -Most people start at our Web site which has the main PG search facility: - - http://www.gutenberg.net - -This Web site includes information about Project Gutenberg-tm, -including how to make donations to the Project Gutenberg Literary -Archive Foundation, how to help produce our new eBooks, and how to -subscribe to our email newsletter to hear about new eBooks. diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Advanced Data/HashMapClass/HashMapClass.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Advanced Data/HashMapClass/HashMapClass.pde deleted file mode 100644 index 3878fad..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Advanced Data/HashMapClass/HashMapClass.pde +++ /dev/null @@ -1,82 +0,0 @@ -/** - * HashMap example - * by Daniel Shiffman. - * - * This example demonstrates how to use a HashMap to store - * a collection of objects referenced by a key. This is much like an array, - * only instead of accessing elements with a numeric index, we use a String. - * If you are familiar with associative arrays from other languages, - * this is the same idea. - * - * A simpler example is CountingStrings which uses IntDict instead of - * HashMap. The Processing classes IntDict, FloatDict, and StringDict - * offer a simpler way of pairing Strings with numbers or other Strings. - * Here we use a HashMap because we want to pair a String with a custom - * object, in this case a "Word" object that stores two numbers. - * - * In this example, words that appear in one book (Dracula) only are colored white - * while words the other (Frankenstein) are colored black. - */ - -HashMap words; // HashMap object - -void setup() { - size(640, 360); - - // Create the HashMap - words = new HashMap(); - - // Load two files - loadFile("dracula.txt"); - loadFile("frankenstein.txt"); - - // Create the font - textFont(createFont("SourceCodePro-Regular.ttf", 24)); -} - -void draw() { - background(126); - - // Show words - for (Word w : words.values()) { - if (w.qualify()) { - w.display(); - w.move(); - } - } -} - -// Load a file -void loadFile(String filename) { - String[] lines = loadStrings(filename); - String allText = join(lines, " ").toLowerCase(); - String[] tokens = splitTokens(allText, " ,.?!:;[]-\"'"); - - for (String s : tokens) { - // Is the word in the HashMap - if (words.containsKey(s)) { - // Get the word object and increase the count - // We access objects from a HashMap via its key, the String - Word w = words.get(s); - // Which book am I loading? - if (filename.contains("dracula")) { - w.incrementDracula(); - } - else if (filename.contains("frankenstein")) { - w.incrementFranken(); - } - } - else { - // Otherwise make a new word - Word w = new Word(s); - // And add to the HashMap put() takes two arguments, "key" and "value" - // The key for us is the String and the value is the Word object - words.put(s, w); - if (filename.contains("dracula")) { - w.incrementDracula(); - } else if (filename.contains("frankenstein")) { - w.incrementFranken(); - } - } - } -} \ No newline at end of file diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Advanced Data/HashMapClass/Word.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Advanced Data/HashMapClass/Word.pde deleted file mode 100644 index ed4302c..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Advanced Data/HashMapClass/Word.pde +++ /dev/null @@ -1,72 +0,0 @@ -class Word { - - // Store a count for occurences in two different books - int countDracula; - int countFranken; - // Also the total count - int totalCount; - - // What is the String - String word; - - // Where is it on the screen - PVector position; - - Word(String s) { - position = new PVector(random(width), random(-height, height*2)); - word = s; - } - - // We will display a word if it appears at least 5 times - // and only in one of the books - boolean qualify() { - if ((countDracula == totalCount || countFranken == totalCount) && totalCount > 5) { - return true; - } - else { - return false; - } - } - - // Increment the count for Dracula - void incrementDracula() { - countDracula++; - totalCount++; - } - - - // Increment the count for Frankenstein - void incrementFranken() { - countFranken++; - totalCount++; - } - - // The more often it appears, the faster it falls - void move() { - float speed = map(totalCount, 5, 25, 0.1, 0.4); - speed = constrain(speed,0,10); - position.y += speed; - - if (position.y > height*2) { - position.y = -height; - } - } - - - // Depending on which book it gets a color - void display() { - if (countDracula > 0) { - fill(255); - } - else if (countFranken > 0) { - fill(0); - } - // Its size is also tied to number of occurences - float fs = map(totalCount,5,25,2,24); - fs = constrain(fs,2,48); - textSize(fs); - textAlign(CENTER); - text(word, position.x, position.y); - } -} - diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Advanced Data/HashMapClass/data/SourceCodePro-Regular.ttf b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Advanced Data/HashMapClass/data/SourceCodePro-Regular.ttf deleted file mode 100644 index b2cff92..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Advanced Data/HashMapClass/data/SourceCodePro-Regular.ttf and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Advanced Data/HashMapClass/data/dracula.txt b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Advanced Data/HashMapClass/data/dracula.txt deleted file mode 100644 index ef79df8..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Advanced Data/HashMapClass/data/dracula.txt +++ /dev/null @@ -1,16624 +0,0 @@ -The Project Gutenberg EBook of Dracula, by Bram Stoker - -This eBook is for the use of anyone anywhere at no cost and with -almost no restrictions whatsoever. You may copy it, give it away or -re-use it under the terms of the Project Gutenberg License included -with this eBook or online at www.gutenberg.net - - -Title: Dracula - -Author: Bram Stoker - -Release Date: May 9, 2008 [EBook #345] - -Language: English - -Character set encoding: ASCII - -*** START OF THIS PROJECT GUTENBERG EBOOK DRACULA *** - - - - - - - - - - - - - - -DRACULA - -by - -Bram Stoker - - -1897 edition - - - - -TABLE OF CONTENTS - - -CHAPTER - - 1 Jonathan Harker's Journal - 2 Jonathan Harker's Journal - 3 Jonathan Harker's Journal - 4 Jonathan Harker's Journal - 5 Letter From Miss Mina Murray To Miss Lucy Westenra - 6 Mina Murray's Journal - 7 Cutting From "The Dailygraph", 8 August - 8 Mina Murray's Journal - 9 Letter, Mina Harker To Lucy Westenra - 10 Letter, Dr. Seward To Hon. Arthur Holmwood - 11 Lucy Westenra's Diary - 12 Dr. Seward's Diary - 13 Dr. Seward's Diary - 14 Mina Harker's Journal - 15 Dr. Seward's Diary - 16 Dr. Seward's Diary - 17 Dr. Seward's Diary - 18 Dr. Seward's Diary - 19 Jonathan Harker's Journal - 20 Jonathan Harker's Journal - 21 Dr. Seward's Diary - 22 Jonathan Harker's Journal - 23 Dr. Seward's Diary - 24 Dr. Seward's Phonograph Diary - 25 Dr. Seward's Diary - 26 Dr. Seward's Diary - 27 Mina Harker's Journal - - - - -CHAPTER 1 - - -Jonathan Harker's Journal - -3 May. Bistritz.--Left Munich at 8:35 P.M., on 1st May, arriving at -Vienna early next morning; should have arrived at 6:46, but train was -an hour late. Buda-Pesth seems a wonderful place, from the glimpse -which I got of it from the train and the little I could walk through -the streets. I feared to go very far from the station, as we had -arrived late and would start as near the correct time as possible. - -The impression I had was that we were leaving the West and entering the -East; the most western of splendid bridges over the Danube, which is -here of noble width and depth, took us among the traditions of Turkish -rule. - -We left in pretty good time, and came after nightfall to Klausenburgh. -Here I stopped for the night at the Hotel Royale. I had for dinner, -or rather supper, a chicken done up some way with red pepper, which -was very good but thirsty. (Mem. get recipe for Mina.) I asked the -waiter, and he said it was called "paprika hendl," and that, as it was -a national dish, I should be able to get it anywhere along the -Carpathians. - -I found my smattering of German very useful here, indeed, I don't know -how I should be able to get on without it. - -Having had some time at my disposal when in London, I had visited the -British Museum, and made search among the books and maps in the -library regarding Transylvania; it had struck me that some -foreknowledge of the country could hardly fail to have some importance -in dealing with a nobleman of that country. - - -I find that the district he named is in the extreme east of the -country, just on the borders of three states, Transylvania, Moldavia, -and Bukovina, in the midst of the Carpathian mountains; one of the -wildest and least known portions of Europe. - -I was not able to light on any map or work giving the exact locality -of the Castle Dracula, as there are no maps of this country as yet to -compare with our own Ordance Survey Maps; but I found that Bistritz, -the post town named by Count Dracula, is a fairly well-known place. I -shall enter here some of my notes, as they may refresh my memory when -I talk over my travels with Mina. - -In the population of Transylvania there are four distinct -nationalities: Saxons in the South, and mixed with them the Wallachs, -who are the descendants of the Dacians; Magyars in the West, and -Szekelys in the East and North. I am going among the latter, who -claim to be descended from Attila and the Huns. This may be so, for -when the Magyars conquered the country in the eleventh century they -found the Huns settled in it. - -I read that every known superstition in the world is gathered into the -horseshoe of the Carpathians, as if it were the centre of some sort of -imaginative whirlpool; if so my stay may be very interesting. (Mem., -I must ask the Count all about them.) - -I did not sleep well, though my bed was comfortable enough, for I had -all sorts of queer dreams. There was a dog howling all night under my -window, which may have had something to do with it; or it may have -been the paprika, for I had to drink up all the water in my carafe, -and was still thirsty. Towards morning I slept and was wakened by the -continuous knocking at my door, so I guess I must have been sleeping -soundly then. - -I had for breakfast more paprika, and a sort of porridge of maize -flour which they said was "mamaliga", and egg-plant stuffed with -forcemeat, a very excellent dish, which they call "impletata". (Mem., -get recipe for this also.) - -I had to hurry breakfast, for the train started a little before eight, -or rather it ought to have done so, for after rushing to the station -at 7:30 I had to sit in the carriage for more than an hour before we -began to move. - -It seems to me that the further east you go the more unpunctual are -the trains. What ought they to be in China? - -All day long we seemed to dawdle through a country which was full of -beauty of every kind. Sometimes we saw little towns or castles on the -top of steep hills such as we see in old missals; sometimes we ran by -rivers and streams which seemed from the wide stony margin on each -side of them to be subject to great floods. It takes a lot of water, -and running strong, to sweep the outside edge of a river clear. - -At every station there were groups of people, sometimes crowds, and in -all sorts of attire. Some of them were just like the peasants at home -or those I saw coming through France and Germany, with short jackets, -and round hats, and home-made trousers; but others were very -picturesque. - -The women looked pretty, except when you got near them, but they were -very clumsy about the waist. They had all full white sleeves of some -kind or other, and most of them had big belts with a lot of strips of -something fluttering from them like the dresses in a ballet, but of -course there were petticoats under them. - -The strangest figures we saw were the Slovaks, who were more barbarian -than the rest, with their big cow-boy hats, great baggy dirty-white -trousers, white linen shirts, and enormous heavy leather belts, nearly -a foot wide, all studded over with brass nails. They wore high boots, -with their trousers tucked into them, and had long black hair and -heavy black moustaches. They are very picturesque, but do not look -prepossessing. On the stage they would be set down at once as some -old Oriental band of brigands. They are, however, I am told, very -harmless and rather wanting in natural self-assertion. - -It was on the dark side of twilight when we got to Bistritz, which is -a very interesting old place. Being practically on the frontier--for -the Borgo Pass leads from it into Bukovina--it has had a very stormy -existence, and it certainly shows marks of it. Fifty years ago a -series of great fires took place, which made terrible havoc on five -separate occasions. At the very beginning of the seventeenth century -it underwent a siege of three weeks and lost 13,000 people, the -casualties of war proper being assisted by famine and disease. - -Count Dracula had directed me to go to the Golden Krone Hotel, which I -found, to my great delight, to be thoroughly old-fashioned, for of -course I wanted to see all I could of the ways of the country. - -I was evidently expected, for when I got near the door I faced a -cheery-looking elderly woman in the usual peasant dress--white -undergarment with a long double apron, front, and back, of coloured -stuff fitting almost too tight for modesty. When I came close she -bowed and said, "The Herr Englishman?" - -"Yes," I said, "Jonathan Harker." - -She smiled, and gave some message to an elderly man in white -shirtsleeves, who had followed her to the door. - -He went, but immediately returned with a letter: - -"My friend.--Welcome to the Carpathians. I am anxiously expecting -you. Sleep well tonight. At three tomorrow the diligence will -start for Bukovina; a place on it is kept for you. At the Borgo -Pass my carriage will await you and will bring you to me. I trust -that your journey from London has been a happy one, and that you -will enjoy your stay in my beautiful land.--Your friend, Dracula." - - -4 May--I found that my landlord had got a letter from the Count, -directing him to secure the best place on the coach for me; but on -making inquiries as to details he seemed somewhat reticent, and -pretended that he could not understand my German. - -This could not be true, because up to then he had understood it -perfectly; at least, he answered my questions exactly as if he did. - -He and his wife, the old lady who had received me, looked at each -other in a frightened sort of way. He mumbled out that the money had -been sent in a letter, and that was all he knew. When I asked him if -he knew Count Dracula, and could tell me anything of his castle, both -he and his wife crossed themselves, and, saying that they knew nothing -at all, simply refused to speak further. It was so near the time of -starting that I had no time to ask anyone else, for it was all very -mysterious and not by any means comforting. - -Just before I was leaving, the old lady came up to my room and said in -a hysterical way: "Must you go? Oh! Young Herr, must you go?" She -was in such an excited state that she seemed to have lost her grip of -what German she knew, and mixed it all up with some other language -which I did not know at all. I was just able to follow her by asking -many questions. When I told her that I must go at once, and that I -was engaged on important business, she asked again: - -"Do you know what day it is?" I answered that it was the fourth of -May. She shook her head as she said again: - -"Oh, yes! I know that! I know that, but do you know what day it is?" - -On my saying that I did not understand, she went on: - -"It is the eve of St. George's Day. Do you not know that tonight, -when the clock strikes midnight, all the evil things in the world will -have full sway? Do you know where you are going, and what you are -going to?" She was in such evident distress that I tried to comfort -her, but without effect. Finally, she went down on her knees and -implored me not to go; at least to wait a day or two before starting. - -It was all very ridiculous but I did not feel comfortable. However, -there was business to be done, and I could allow nothing to interfere -with it. - -I tried to raise her up, and said, as gravely as I could, that I -thanked her, but my duty was imperative, and that I must go. - -She then rose and dried her eyes, and taking a crucifix from her neck -offered it to me. - -I did not know what to do, for, as an English Churchman, I have been -taught to regard such things as in some measure idolatrous, and yet it -seemed so ungracious to refuse an old lady meaning so well and in such -a state of mind. - -She saw, I suppose, the doubt in my face, for she put the rosary round -my neck and said, "For your mother's sake," and went out of the room. - -I am writing up this part of the diary whilst I am waiting for the -coach, which is, of course, late; and the crucifix is still round my -neck. - -Whether it is the old lady's fear, or the many ghostly traditions of -this place, or the crucifix itself, I do not know, but I am not -feeling nearly as easy in my mind as usual. - -If this book should ever reach Mina before I do, let it bring my -goodbye. Here comes the coach! - - -5 May. The Castle.--The gray of the morning has passed, and the sun -is high over the distant horizon, which seems jagged, whether with -trees or hills I know not, for it is so far off that big things and -little are mixed. - -I am not sleepy, and, as I am not to be called till I awake, naturally -I write till sleep comes. - -There are many odd things to put down, and, lest who reads them may -fancy that I dined too well before I left Bistritz, let me put down my -dinner exactly. - -I dined on what they called "robber steak"--bits of bacon, onion, and -beef, seasoned with red pepper, and strung on sticks, and roasted over -the fire, in simple style of the London cat's meat! - -The wine was Golden Mediasch, which produces a queer sting on the -tongue, which is, however, not disagreeable. - -I had only a couple of glasses of this, and nothing else. - -When I got on the coach, the driver had not taken his seat, and I saw -him talking to the landlady. - -They were evidently talking of me, for every now and then they looked -at me, and some of the people who were sitting on the bench outside -the door--came and listened, and then looked at me, most of them -pityingly. I could hear a lot of words often repeated, queer words, -for there were many nationalities in the crowd, so I quietly got my -polyglot dictionary from my bag and looked them out. - -I must say they were not cheering to me, for amongst them were -"Ordog"--Satan, "Pokol"--hell, "stregoica"--witch, "vrolok" and -"vlkoslak"--both mean the same thing, one being Slovak and the other -Servian for something that is either werewolf or vampire. (Mem., I -must ask the Count about these superstitions.) - -When we started, the crowd round the inn door, which had by this time -swelled to a considerable size, all made the sign of the cross and -pointed two fingers towards me. - -With some difficulty, I got a fellow passenger to tell me what they -meant. He would not answer at first, but on learning that I was -English, he explained that it was a charm or guard against the evil -eye. - -This was not very pleasant for me, just starting for an unknown place -to meet an unknown man. But everyone seemed so kind-hearted, and so -sorrowful, and so sympathetic that I could not but be touched. - -I shall never forget the last glimpse which I had of the inn yard and -its crowd of picturesque figures, all crossing themselves, as they -stood round the wide archway, with its background of rich foliage of -oleander and orange trees in green tubs clustered in the centre of the -yard. - -Then our driver, whose wide linen drawers covered the whole front of -the boxseat,--"gotza" they call them--cracked his big whip over his -four small horses, which ran abreast, and we set off on our journey. - -I soon lost sight and recollection of ghostly fears in the beauty of -the scene as we drove along, although had I known the language, or -rather languages, which my fellow-passengers were speaking, I might -not have been able to throw them off so easily. Before us lay a green -sloping land full of forests and woods, with here and there steep -hills, crowned with clumps of trees or with farmhouses, the blank -gable end to the road. There was everywhere a bewildering mass of -fruit blossom--apple, plum, pear, cherry. And as we drove by I could -see the green grass under the trees spangled with the fallen petals. -In and out amongst these green hills of what they call here the -"Mittel Land" ran the road, losing itself as it swept round the grassy -curve, or was shut out by the straggling ends of pine woods, which -here and there ran down the hillsides like tongues of flame. The road -was rugged, but still we seemed to fly over it with a feverish haste. -I could not understand then what the haste meant, but the driver was -evidently bent on losing no time in reaching Borgo Prund. I was told -that this road is in summertime excellent, but that it had not yet -been put in order after the winter snows. In this respect it is -different from the general run of roads in the Carpathians, for it is -an old tradition that they are not to be kept in too good order. Of -old the Hospadars would not repair them, lest the Turk should think -that they were preparing to bring in foreign troops, and so hasten the -war which was always really at loading point. - -Beyond the green swelling hills of the Mittel Land rose mighty slopes -of forest up to the lofty steeps of the Carpathians themselves. Right -and left of us they towered, with the afternoon sun falling full upon -them and bringing out all the glorious colours of this beautiful -range, deep blue and purple in the shadows of the peaks, green and -brown where grass and rock mingled, and an endless perspective of -jagged rock and pointed crags, till these were themselves lost in the -distance, where the snowy peaks rose grandly. Here and there seemed -mighty rifts in the mountains, through which, as the sun began to -sink, we saw now and again the white gleam of falling water. One of -my companions touched my arm as we swept round the base of a hill and -opened up the lofty, snow-covered peak of a mountain, which seemed, as -we wound on our serpentine way, to be right before us. - -"Look! Isten szek!"--"God's seat!"--and he crossed himself reverently. - -As we wound on our endless way, and the sun sank lower and lower -behind us, the shadows of the evening began to creep round us. This -was emphasized by the fact that the snowy mountain-top still held the -sunset, and seemed to glow out with a delicate cool pink. Here and -there we passed Cszeks and slovaks, all in picturesque attire, but I -noticed that goitre was painfully prevalent. By the roadside were -many crosses, and as we swept by, my companions all crossed -themselves. Here and there was a peasant man or woman kneeling before -a shrine, who did not even turn round as we approached, but seemed in -the self-surrender of devotion to have neither eyes nor ears for the -outer world. There were many things new to me. For instance, -hay-ricks in the trees, and here and there very beautiful masses of -weeping birch, their white stems shining like silver through the -delicate green of the leaves. - -Now and again we passed a leiter-wagon--the ordinary peasants's -cart--with its long, snakelike vertebra, calculated to suit the -inequalities of the road. On this were sure to be seated quite a -group of homecoming peasants, the Cszeks with their white, and the -Slovaks with their coloured sheepskins, the latter carrying -lance-fashion their long staves, with axe at end. As the evening fell -it began to get very cold, and the growing twilight seemed to merge -into one dark mistiness the gloom of the trees, oak, beech, and pine, -though in the valleys which ran deep between the spurs of the hills, -as we ascended through the Pass, the dark firs stood out here and -there against the background of late-lying snow. Sometimes, as the -road was cut through the pine woods that seemed in the darkness to be -closing down upon us, great masses of greyness which here and there -bestrewed the trees, produced a peculiarly weird and solemn effect, -which carried on the thoughts and grim fancies engendered earlier in -the evening, when the falling sunset threw into strange relief the -ghost-like clouds which amongst the Carpathians seem to wind -ceaselessly through the valleys. Sometimes the hills were so steep -that, despite our driver's haste, the horses could only go slowly. I -wished to get down and walk up them, as we do at home, but the driver -would not hear of it. "No, no," he said. "You must not walk here. -The dogs are too fierce." And then he added, with what he evidently -meant for grim pleasantry--for he looked round to catch the approving -smile of the rest--"And you may have enough of such matters before you -go to sleep." The only stop he would make was a moment's pause to -light his lamps. - -When it grew dark there seemed to be some excitement amongst the -passengers, and they kept speaking to him, one after the other, as -though urging him to further speed. He lashed the horses unmercifully -with his long whip, and with wild cries of encouragement urged them on -to further exertions. Then through the darkness I could see a sort of -patch of grey light ahead of us, as though there were a cleft in the -hills. The excitement of the passengers grew greater. The crazy -coach rocked on its great leather springs, and swayed like a boat -tossed on a stormy sea. I had to hold on. The road grew more level, -and we appeared to fly along. Then the mountains seemed to come -nearer to us on each side and to frown down upon us. We were entering -on the Borgo Pass. One by one several of the passengers offered me -gifts, which they pressed upon me with an earnestness which would take -no denial. These were certainly of an odd and varied kind, but each -was given in simple good faith, with a kindly word, and a blessing, -and that same strange mixture of fear-meaning movements which I had -seen outside the hotel at Bistritz--the sign of the cross and the -guard against the evil eye. Then, as we flew along, the driver leaned -forward, and on each side the passengers, craning over the edge of the -coach, peered eagerly into the darkness. It was evident that -something very exciting was either happening or expected, but though I -asked each passenger, no one would give me the slightest explanation. -This state of excitement kept on for some little time. And at last we -saw before us the Pass opening out on the eastern side. There were -dark, rolling clouds overhead, and in the air the heavy, oppressive -sense of thunder. It seemed as though the mountain range had -separated two atmospheres, and that now we had got into the thunderous -one. I was now myself looking out for the conveyance which was to -take me to the Count. Each moment I expected to see the glare of -lamps through the blackness, but all was dark. The only light was the -flickering rays of our own lamps, in which the steam from our -hard-driven horses rose in a white cloud. We could see now the sandy -road lying white before us, but there was on it no sign of a vehicle. -The passengers drew back with a sigh of gladness, which seemed to mock -my own disappointment. I was already thinking what I had best do, -when the driver, looking at his watch, said to the others something -which I could hardly hear, it was spoken so quietly and in so low a -tone, I thought it was "An hour less than the time." Then turning to -me, he spoke in German worse than my own. - -"There is no carriage here. The Herr is not expected after all. He -will now come on to Bukovina, and return tomorrow or the next day, -better the next day." Whilst he was speaking the horses began to -neigh and snort and plunge wildly, so that the driver had to hold them -up. Then, amongst a chorus of screams from the peasants and a -universal crossing of themselves, a caleche, with four horses, drove -up behind us, overtook us, and drew up beside the coach. I could see -from the flash of our lamps as the rays fell on them, that the horses -were coal-black and splendid animals. They were driven by a tall man, -with a long brown beard and a great black hat, which seemed to hide -his face from us. I could only see the gleam of a pair of very bright -eyes, which seemed red in the lamplight, as he turned to us. - -He said to the driver, "You are early tonight, my friend." - -The man stammered in reply, "The English Herr was in a hurry." - -To which the stranger replied, "That is why, I suppose, you wished him -to go on to Bukovina. You cannot deceive me, my friend. I know too -much, and my horses are swift." - -As he spoke he smiled, and the lamplight fell on a hard-looking mouth, -with very red lips and sharp-looking teeth, as white as ivory. One of -my companions whispered to another the line from Burger's "Lenore". - -"Denn die Todten reiten Schnell." ("For the dead travel fast.") - -The strange driver evidently heard the words, for he looked up with a -gleaming smile. The passenger turned his face away, at the same time -putting out his two fingers and crossing himself. "Give me the Herr's -luggage," said the driver, and with exceeding alacrity my bags were -handed out and put in the caleche. Then I descended from the side of -the coach, as the caleche was close alongside, the driver helping me -with a hand which caught my arm in a grip of steel. His strength must -have been prodigious. - -Without a word he shook his reins, the horses turned, and we swept -into the darkness of the pass. As I looked back I saw the steam from -the horses of the coach by the light of the lamps, and projected -against it the figures of my late companions crossing themselves. -Then the driver cracked his whip and called to his horses, and off -they swept on their way to Bukovina. As they sank into the darkness I -felt a strange chill, and a lonely feeling come over me. But a cloak -was thrown over my shoulders, and a rug across my knees, and the -driver said in excellent German--"The night is chill, mein Herr, and -my master the Count bade me take all care of you. There is a flask of -slivovitz (the plum brandy of the country) underneath the seat, if you -should require it." - -I did not take any, but it was a comfort to know it was there all the -same. I felt a little strangely, and not a little frightened. I -think had there been any alternative I should have taken it, instead -of prosecuting that unknown night journey. The carriage went at a -hard pace straight along, then we made a complete turn and went along -another straight road. It seemed to me that we were simply going over -and over the same ground again, and so I took note of some salient -point, and found that this was so. I would have liked to have asked -the driver what this all meant, but I really feared to do so, for I -thought that, placed as I was, any protest would have had no effect in -case there had been an intention to delay. - -By-and-by, however, as I was curious to know how time was passing, I -struck a match, and by its flame looked at my watch. It was within a -few minutes of midnight. This gave me a sort of shock, for I suppose -the general superstition about midnight was increased by my recent -experiences. I waited with a sick feeling of suspense. - -Then a dog began to howl somewhere in a farmhouse far down the road, a -long, agonized wailing, as if from fear. The sound was taken up by -another dog, and then another and another, till, borne on the wind -which now sighed softly through the Pass, a wild howling began, which -seemed to come from all over the country, as far as the imagination -could grasp it through the gloom of the night. - -At the first howl the horses began to strain and rear, but the driver -spoke to them soothingly, and they quieted down, but shivered and -sweated as though after a runaway from sudden fright. Then, far off -in the distance, from the mountains on each side of us began a louder -and a sharper howling, that of wolves, which affected both the horses -and myself in the same way. For I was minded to jump from the caleche -and run, whilst they reared again and plunged madly, so that the -driver had to use all his great strength to keep them from bolting. -In a few minutes, however, my own ears got accustomed to the sound, -and the horses so far became quiet that the driver was able to descend -and to stand before them. - -He petted and soothed them, and whispered something in their ears, as -I have heard of horse-tamers doing, and with extraordinary effect, for -under his caresses they became quite manageable again, though they -still trembled. The driver again took his seat, and shaking his -reins, started off at a great pace. This time, after going to the far -side of the Pass, he suddenly turned down a narrow roadway which ran -sharply to the right. - -Soon we were hemmed in with trees, which in places arched right over -the roadway till we passed as through a tunnel. And again great -frowning rocks guarded us boldly on either side. Though we were in -shelter, we could hear the rising wind, for it moaned and whistled -through the rocks, and the branches of the trees crashed together as -we swept along. It grew colder and colder still, and fine, powdery -snow began to fall, so that soon we and all around us were covered -with a white blanket. The keen wind still carried the howling of the -dogs, though this grew fainter as we went on our way. The baying of -the wolves sounded nearer and nearer, as though they were closing -round on us from every side. I grew dreadfully afraid, and the horses -shared my fear. The driver, however, was not in the least disturbed. -He kept turning his head to left and right, but I could not see -anything through the darkness. - -Suddenly, away on our left I saw a faint flickering blue flame. The -driver saw it at the same moment. He at once checked the horses, and, -jumping to the ground, disappeared into the darkness. I did not know -what to do, the less as the howling of the wolves grew closer. But -while I wondered, the driver suddenly appeared again, and without a -word took his seat, and we resumed our journey. I think I must have -fallen asleep and kept dreaming of the incident, for it seemed to be -repeated endlessly, and now looking back, it is like a sort of awful -nightmare. Once the flame appeared so near the road, that even in the -darkness around us I could watch the driver's motions. He went -rapidly to where the blue flame arose, it must have been very faint, -for it did not seem to illumine the place around it at all, and -gathering a few stones, formed them into some device. - -Once there appeared a strange optical effect. When he stood between -me and the flame he did not obstruct it, for I could see its ghostly -flicker all the same. This startled me, but as the effect was only -momentary, I took it that my eyes deceived me straining through the -darkness. Then for a time there were no blue flames, and we sped -onwards through the gloom, with the howling of the wolves around us, -as though they were following in a moving circle. - -At last there came a time when the driver went further afield than he -had yet gone, and during his absence, the horses began to tremble -worse than ever and to snort and scream with fright. I could not see -any cause for it, for the howling of the wolves had ceased altogether. -But just then the moon, sailing through the black clouds, appeared -behind the jagged crest of a beetling, pine-clad rock, and by its -light I saw around us a ring of wolves, with white teeth and lolling -red tongues, with long, sinewy limbs and shaggy hair. They were a -hundred times more terrible in the grim silence which held them than -even when they howled. For myself, I felt a sort of paralysis of -fear. It is only when a man feels himself face to face with such -horrors that he can understand their true import. - -All at once the wolves began to howl as though the moonlight had had -some peculiar effect on them. The horses jumped about and reared, and -looked helplessly round with eyes that rolled in a way painful to -see. But the living ring of terror encompassed them on every side, -and they had perforce to remain within it. I called to the coachman -to come, for it seemed to me that our only chance was to try to break -out through the ring and to aid his approach, I shouted and beat the -side of the caleche, hoping by the noise to scare the wolves from the -side, so as to give him a chance of reaching the trap. How he came -there, I know not, but I heard his voice raised in a tone of imperious -command, and looking towards the sound, saw him stand in the roadway. -As he swept his long arms, as though brushing aside some impalpable -obstacle, the wolves fell back and back further still. Just then a -heavy cloud passed across the face of the moon, so that we were again -in darkness. - -When I could see again the driver was climbing into the caleche, and -the wolves disappeared. This was all so strange and uncanny that a -dreadful fear came upon me, and I was afraid to speak or move. The -time seemed interminable as we swept on our way, now in almost -complete darkness, for the rolling clouds obscured the moon. - -We kept on ascending, with occasional periods of quick descent, but in -the main always ascending. Suddenly, I became conscious of the fact -that the driver was in the act of pulling up the horses in the -courtyard of a vast ruined castle, from whose tall black windows came -no ray of light, and whose broken battlements showed a jagged line -against the sky. - - - - -CHAPTER 2 - - -Jonathan Harker's Journal Continued - -5 May.--I must have been asleep, for certainly if I had been fully -awake I must have noticed the approach of such a remarkable place. In -the gloom the courtyard looked of considerable size, and as several -dark ways led from it under great round arches, it perhaps seemed -bigger than it really is. I have not yet been able to see it by -daylight. - -When the caleche stopped, the driver jumped down and held out his hand -to assist me to alight. Again I could not but notice his prodigious -strength. His hand actually seemed like a steel vice that could have -crushed mine if he had chosen. Then he took my traps, and placed them -on the ground beside me as I stood close to a great door, old and -studded with large iron nails, and set in a projecting doorway of -massive stone. I could see even in the dim light that the stone was -massively carved, but that the carving had been much worn by time and -weather. As I stood, the driver jumped again into his seat and shook -the reins. The horses started forward, and trap and all disappeared -down one of the dark openings. - -I stood in silence where I was, for I did not know what to do. Of -bell or knocker there was no sign. Through these frowning walls and -dark window openings it was not likely that my voice could penetrate. -The time I waited seemed endless, and I felt doubts and fears crowding -upon me. What sort of place had I come to, and among what kind of -people? What sort of grim adventure was it on which I had embarked? -Was this a customary incident in the life of a solicitor's clerk sent -out to explain the purchase of a London estate to a foreigner? -Solicitor's clerk! Mina would not like that. Solicitor, for just -before leaving London I got word that my examination was successful, -and I am now a full-blown solicitor! I began to rub my eyes and pinch -myself to see if I were awake. It all seemed like a horrible -nightmare to me, and I expected that I should suddenly awake, and find -myself at home, with the dawn struggling in through the windows, as I -had now and again felt in the morning after a day of overwork. But my -flesh answered the pinching test, and my eyes were not to be -deceived. I was indeed awake and among the Carpathians. All I could -do now was to be patient, and to wait the coming of morning. - -Just as I had come to this conclusion I heard a heavy step approaching -behind the great door, and saw through the chinks the gleam of a -coming light. Then there was the sound of rattling chains and the -clanking of massive bolts drawn back. A key was turned with the loud -grating noise of long disuse, and the great door swung back. - -Within, stood a tall old man, clean shaven save for a long white -moustache, and clad in black from head to foot, without a single speck -of colour about him anywhere. He held in his hand an antique silver -lamp, in which the flame burned without a chimney or globe of any -kind, throwing long quivering shadows as it flickered in the draught -of the open door. The old man motioned me in with his right hand with -a courtly gesture, saying in excellent English, but with a strange -intonation. - -"Welcome to my house! Enter freely and of your own free will!" He -made no motion of stepping to meet me, but stood like a statue, as -though his gesture of welcome had fixed him into stone. The instant, -however, that I had stepped over the threshold, he moved impulsively -forward, and holding out his hand grasped mine with a strength which -made me wince, an effect which was not lessened by the fact that it -seemed cold as ice, more like the hand of a dead than a living man. -Again he said, - -"Welcome to my house! Enter freely. Go safely, and leave something -of the happiness you bring!" The strength of the handshake was so -much akin to that which I had noticed in the driver, whose face I had -not seen, that for a moment I doubted if it were not the same person -to whom I was speaking. So to make sure, I said interrogatively, -"Count Dracula?" - -He bowed in a courtly way as he replied, "I am Dracula, and I bid you -welcome, Mr. Harker, to my house. Come in, the night air is chill, -and you must need to eat and rest." As he was speaking, he put the lamp -on a bracket on the wall, and stepping out, took my luggage. He had -carried it in before I could forestall him. I protested, but he -insisted. - -"Nay, sir, you are my guest. It is late, and my people are not -available. Let me see to your comfort myself." He insisted on carrying -my traps along the passage, and then up a great winding stair, and -along another great passage, on whose stone floor our steps rang -heavily. At the end of this he threw open a heavy door, and I -rejoiced to see within a well-lit room in which a table was spread for -supper, and on whose mighty hearth a great fire of logs, freshly -replenished, flamed and flared. - -The Count halted, putting down my bags, closed the door, and crossing -the room, opened another door, which led into a small octagonal room -lit by a single lamp, and seemingly without a window of any sort. -Passing through this, he opened another door, and motioned me to -enter. It was a welcome sight. For here was a great bedroom well -lighted and warmed with another log fire, also added to but lately, -for the top logs were fresh, which sent a hollow roar up the wide -chimney. The Count himself left my luggage inside and withdrew, -saying, before he closed the door. - -"You will need, after your journey, to refresh yourself by making your -toilet. I trust you will find all you wish. When you are ready, come -into the other room, where you will find your supper prepared." - -The light and warmth and the Count's courteous welcome seemed to have -dissipated all my doubts and fears. Having then reached my normal -state, I discovered that I was half famished with hunger. So making a -hasty toilet, I went into the other room. - -I found supper already laid out. My host, who stood on one side of -the great fireplace, leaning against the stonework, made a graceful -wave of his hand to the table, and said, - -"I pray you, be seated and sup how you please. You will I trust, -excuse me that I do not join you, but I have dined already, and I do -not sup." - -I handed to him the sealed letter which Mr. Hawkins had entrusted to -me. He opened it and read it gravely. Then, with a charming smile, -he handed it to me to read. One passage of it, at least, gave me a -thrill of pleasure. - -"I must regret that an attack of gout, from which malady I am a -constant sufferer, forbids absolutely any travelling on my part for -some time to come. But I am happy to say I can send a sufficient -substitute, one in whom I have every possible confidence. He is a -young man, full of energy and talent in his own way, and of a very -faithful disposition. He is discreet and silent, and has grown into -manhood in my service. He shall be ready to attend on you when you -will during his stay, and shall take your instructions in all -matters." - -The count himself came forward and took off the cover of a dish, and I -fell to at once on an excellent roast chicken. This, with some cheese -and a salad and a bottle of old tokay, of which I had two glasses, was -my supper. During the time I was eating it the Count asked me many -questions as to my journey, and I told him by degrees all I had -experienced. - -By this time I had finished my supper, and by my host's desire had -drawn up a chair by the fire and begun to smoke a cigar which he -offered me, at the same time excusing himself that he did not smoke. -I had now an opportunity of observing him, and found him of a very -marked physiognomy. - -His face was a strong, a very strong, aquiline, with high bridge of -the thin nose and peculiarly arched nostrils, with lofty domed -forehead, and hair growing scantily round the temples but profusely -elsewhere. His eyebrows were very massive, almost meeting over the -nose, and with bushy hair that seemed to curl in its own profusion. -The mouth, so far as I could see it under the heavy moustache, was -fixed and rather cruel-looking, with peculiarly sharp white teeth. -These protruded over the lips, whose remarkable ruddiness showed -astonishing vitality in a man of his years. For the rest, his ears -were pale, and at the tops extremely pointed. The chin was broad and -strong, and the cheeks firm though thin. The general effect was one -of extraordinary pallor. - -Hitherto I had noticed the backs of his hands as they lay on his knees -in the firelight, and they had seemed rather white and fine. But -seeing them now close to me, I could not but notice that they were -rather coarse, broad, with squat fingers. Strange to say, there were -hairs in the centre of the palm. The nails were long and fine, and -cut to a sharp point. As the Count leaned over me and his hands -touched me, I could not repress a shudder. It may have been that his -breath was rank, but a horrible feeling of nausea came over me, which, -do what I would, I could not conceal. - -The Count, evidently noticing it, drew back. And with a grim sort of -smile, which showed more than he had yet done his protruberant teeth, -sat himself down again on his own side of the fireplace. We were both -silent for a while, and as I looked towards the window I saw the first -dim streak of the coming dawn. There seemed a strange stillness over -everything. But as I listened, I heard as if from down below in the -valley the howling of many wolves. The Count's eyes gleamed, and he -said. - -"Listen to them, the children of the night. What music they make!" -Seeing, I suppose, some expression in my face strange to him, he -added, "Ah, sir, you dwellers in the city cannot enter into the -feelings of the hunter." Then he rose and said. - -"But you must be tired. Your bedroom is all ready, and tomorrow you -shall sleep as late as you will. I have to be away till the -afternoon, so sleep well and dream well!" With a courteous bow, he -opened for me himself the door to the octagonal room, and I entered my -bedroom. - -I am all in a sea of wonders. I doubt. I fear. I think strange -things, which I dare not confess to my own soul. God keep me, if only -for the sake of those dear to me! - - -7 May.--It is again early morning, but I have rested and enjoyed the -last twenty-four hours. I slept till late in the day, and awoke of my -own accord. When I had dressed myself I went into the room where we -had supped, and found a cold breakfast laid out, with coffee kept hot -by the pot being placed on the hearth. There was a card on the table, -on which was written--"I have to be absent for a while. Do not wait -for me. D." I set to and enjoyed a hearty meal. When I had done, I -looked for a bell, so that I might let the servants know I had -finished, but I could not find one. There are certainly odd -deficiencies in the house, considering the extraordinary evidences of -wealth which are round me. The table service is of gold, and so -beautifully wrought that it must be of immense value. The curtains -and upholstery of the chairs and sofas and the hangings of my bed are -of the costliest and most beautiful fabrics, and must have been of -fabulous value when they were made, for they are centuries old, though -in excellent order. I saw something like them in Hampton Court, but -they were worn and frayed and moth-eaten. But still in none of the -rooms is there a mirror. There is not even a toilet glass on my -table, and I had to get the little shaving glass from my bag before I -could either shave or brush my hair. I have not yet seen a servant -anywhere, or heard a sound near the castle except the howling of -wolves. Some time after I had finished my meal, I do not know whether -to call it breakfast or dinner, for it was between five and six -o'clock when I had it, I looked about for something to read, for I did -not like to go about the castle until I had asked the Count's -permission. There was absolutely nothing in the room, book, -newspaper, or even writing materials, so I opened another door in the -room and found a sort of library. The door opposite mine I tried, but -found locked. - -In the library I found, to my great delight, a vast number of English -books, whole shelves full of them, and bound volumes of magazines and -newspapers. A table in the centre was littered with English magazines -and newspapers, though none of them were of very recent date. The -books were of the most varied kind, history, geography, politics, -political economy, botany, geology, law, all relating to England and -English life and customs and manners. There were even such books of -reference as the London Directory, the "Red" and "Blue" books, -Whitaker's Almanac, the Army and Navy Lists, and it somehow gladdened -my heart to see it, the Law List. - -Whilst I was looking at the books, the door opened, and the Count -entered. He saluted me in a hearty way, and hoped that I had had a -good night's rest. Then he went on. - -"I am glad you found your way in here, for I am sure there is much -that will interest you. These companions," and he laid his hand on -some of the books, "have been good friends to me, and for some years -past, ever since I had the idea of going to London, have given me -many, many hours of pleasure. Through them I have come to know your -great England, and to know her is to love her. I long to go through -the crowded streets of your mighty London, to be in the midst of the -whirl and rush of humanity, to share its life, its change, its death, -and all that makes it what it is. But alas! As yet I only know your -tongue through books. To you, my friend, I look that I know it to -speak." - -"But, Count," I said, "You know and speak English thoroughly!" He -bowed gravely. - -"I thank you, my friend, for your all too-flattering estimate, but yet -I fear that I am but a little way on the road I would travel. True, I -know the grammar and the words, but yet I know not how to speak them." - -"Indeed," I said, "You speak excellently." - -"Not so," he answered. "Well, I know that, did I move and speak in -your London, none there are who would not know me for a stranger. That -is not enough for me. Here I am noble. I am a Boyar. The common -people know me, and I am master. But a stranger in a strange land, he -is no one. Men know him not, and to know not is to care not for. I -am content if I am like the rest, so that no man stops if he sees me, -or pauses in his speaking if he hears my words, 'Ha, ha! A stranger!' -I have been so long master that I would be master still, or at least -that none other should be master of me. You come to me not alone as -agent of my friend Peter Hawkins, of Exeter, to tell me all about my -new estate in London. You shall, I trust, rest here with me a while, -so that by our talking I may learn the English intonation. And I -would that you tell me when I make error, even of the smallest, in my -speaking. I am sorry that I had to be away so long today, but you -will, I know forgive one who has so many important affairs in hand." - -Of course I said all I could about being willing, and asked if I might -come into that room when I chose. He answered, "Yes, certainly," and -added. - -"You may go anywhere you wish in the castle, except where the doors -are locked, where of course you will not wish to go. There is reason -that all things are as they are, and did you see with my eyes and know -with my knowledge, you would perhaps better understand." I said I was -sure of this, and then he went on. - -"We are in Transylvania, and Transylvania is not England. Our ways -are not your ways, and there shall be to you many strange things. Nay, -from what you have told me of your experiences already, you know -something of what strange things there may be." - -This led to much conversation, and as it was evident that he wanted to -talk, if only for talking's sake, I asked him many questions regarding -things that had already happened to me or come within my notice. -Sometimes he sheered off the subject, or turned the conversation by -pretending not to understand, but generally he answered all I asked -most frankly. Then as time went on, and I had got somewhat bolder, I -asked him of some of the strange things of the preceding night, as for -instance, why the coachman went to the places where he had seen the -blue flames. He then explained to me that it was commonly believed -that on a certain night of the year, last night, in fact, when all -evil spirits are supposed to have unchecked sway, a blue flame is seen -over any place where treasure has been concealed. - -"That treasure has been hidden," he went on, "in the region through -which you came last night, there can be but little doubt. For it was -the ground fought over for centuries by the Wallachian, the Saxon, and -the Turk. Why, there is hardly a foot of soil in all this region that -has not been enriched by the blood of men, patriots or invaders. In -the old days there were stirring times, when the Austrian and the -Hungarian came up in hordes, and the patriots went out to meet them, -men and women, the aged and the children too, and waited their coming -on the rocks above the passes, that they might sweep destruction on -them with their artificial avalanches. When the invader was -triumphant he found but little, for whatever there was had been -sheltered in the friendly soil." - -"But how," said I, "can it have remained so long undiscovered, when -there is a sure index to it if men will but take the trouble to look?" -The Count smiled, and as his lips ran back over his gums, the long, -sharp, canine teeth showed out strangely. He answered: - -"Because your peasant is at heart a coward and a fool! Those flames -only appear on one night, and on that night no man of this land will, -if he can help it, stir without his doors. And, dear sir, even if he -did he would not know what to do. Why, even the peasant that you tell -me of who marked the place of the flame would not know where to look -in daylight even for his own work. Even you would not, I dare be -sworn, be able to find these places again?" - -"There you are right," I said. "I know no more than the dead where -even to look for them." Then we drifted into other matters. - -"Come," he said at last, "tell me of London and of the house which you -have procured for me." With an apology for my remissness, I went into -my own room to get the papers from my bag. Whilst I was placing them -in order I heard a rattling of china and silver in the next room, and -as I passed through, noticed that the table had been cleared and the -lamp lit, for it was by this time deep into the dark. The lamps were -also lit in the study or library, and I found the Count lying on the -sofa, reading, of all things in the world, an English Bradshaw's -Guide. When I came in he cleared the books and papers from the table, -and with him I went into plans and deeds and figures of all sorts. He -was interested in everything, and asked me a myriad questions about -the place and its surroundings. He clearly had studied beforehand all -he could get on the subject of the neighbourhood, for he evidently at -the end knew very much more than I did. When I remarked this, he -answered. - -"Well, but, my friend, is it not needful that I should? When I go -there I shall be all alone, and my friend Harker Jonathan, nay, pardon -me. I fall into my country's habit of putting your patronymic first, -my friend Jonathan Harker will not be by my side to correct and aid -me. He will be in Exeter, miles away, probably working at papers of -the law with my other friend, Peter Hawkins. So!" - -We went thoroughly into the business of the purchase of the estate at -Purfleet. When I had told him the facts and got his signature to the -necessary papers, and had written a letter with them ready to post to -Mr. Hawkins, he began to ask me how I had come across so suitable a -place. I read to him the notes which I had made at the time, and -which I inscribe here. - -"At Purfleet, on a byroad, I came across just such a place as seemed -to be required, and where was displayed a dilapidated notice that the -place was for sale. It was surrounded by a high wall, of ancient -structure, built of heavy stones, and has not been repaired for a -large number of years. The closed gates are of heavy old oak and -iron, all eaten with rust. - -"The estate is called Carfax, no doubt a corruption of the old Quatre -Face, as the house is four sided, agreeing with the cardinal points of -the compass. It contains in all some twenty acres, quite surrounded -by the solid stone wall above mentioned. There are many trees on it, -which make it in places gloomy, and there is a deep, dark-looking pond -or small lake, evidently fed by some springs, as the water is clear -and flows away in a fair-sized stream. The house is very large and of -all periods back, I should say, to mediaeval times, for one part is of -stone immensely thick, with only a few windows high up and heavily -barred with iron. It looks like part of a keep, and is close to an -old chapel or church. I could not enter it, as I had not the key of -the door leading to it from the house, but I have taken with my Kodak -views of it from various points. The house had been added to, but in -a very straggling way, and I can only guess at the amount of ground it -covers, which must be very great. There are but few houses close at -hand, one being a very large house only recently added to and formed -into a private lunatic asylum. It is not, however, visible from the -grounds." - -When I had finished, he said, "I am glad that it is old and big. I -myself am of an old family, and to live in a new house would kill me. -A house cannot be made habitable in a day, and after all, how few days -go to make up a century. I rejoice also that there is a chapel of old -times. We Transylvanian nobles love not to think that our bones may -lie amongst the common dead. I seek not gaiety nor mirth, not the -bright voluptuousness of much sunshine and sparkling waters which -please the young and gay. I am no longer young, and my heart, through -weary years of mourning over the dead, is not attuned to mirth. Moreover, -the walls of my castle are broken. The shadows are many, and the wind -breathes cold through the broken battlements and casements. I love -the shade and the shadow, and would be alone with my thoughts when I -may." Somehow his words and his look did not seem to accord, or else -it was that his cast of face made his smile look malignant and -saturnine. - -Presently, with an excuse, he left me, asking me to pull my papers -together. He was some little time away, and I began to look at some -of the books around me. One was an atlas, which I found opened -naturally to England, as if that map had been much used. On looking -at it I found in certain places little rings marked, and on examining -these I noticed that one was near London on the east side, manifestly -where his new estate was situated. The other two were Exeter, and -Whitby on the Yorkshire coast. - -It was the better part of an hour when the Count returned. "Aha!" he -said. "Still at your books? Good! But you must not work always. -Come! I am informed that your supper is ready." He took my arm, and -we went into the next room, where I found an excellent supper ready on -the table. The Count again excused himself, as he had dined out on -his being away from home. But he sat as on the previous night, and -chatted whilst I ate. After supper I smoked, as on the last evening, -and the Count stayed with me, chatting and asking questions on every -conceivable subject, hour after hour. I felt that it was getting very -late indeed, but I did not say anything, for I felt under obligation -to meet my host's wishes in every way. I was not sleepy, as the long -sleep yesterday had fortified me, but I could not help experiencing -that chill which comes over one at the coming of the dawn, which is -like, in its way, the turn of the tide. They say that people who are -near death die generally at the change to dawn or at the turn of the -tide. Anyone who has when tired, and tied as it were to his post, -experienced this change in the atmosphere can well believe it. All at -once we heard the crow of the cock coming up with preternatural -shrillness through the clear morning air. - -Count Dracula, jumping to his feet, said, "Why there is the morning -again! How remiss I am to let you stay up so long. You must make -your conversation regarding my dear new country of England less -interesting, so that I may not forget how time flies by us," and with -a courtly bow, he quickly left me. - -I went into my room and drew the curtains, but there was little to -notice. My window opened into the courtyard, all I could see was the -warm grey of quickening sky. So I pulled the curtains again, and have -written of this day. - - -8 May.--I began to fear as I wrote in this book that I was getting too -diffuse. But now I am glad that I went into detail from the first, -for there is something so strange about this place and all in it that -I cannot but feel uneasy. I wish I were safe out of it, or that I had -never come. It may be that this strange night existence is telling on -me, but would that that were all! If there were any one to talk to I -could bear it, but there is no one. I have only the Count to speak -with, and he--I fear I am myself the only living soul within the -place. Let me be prosaic so far as facts can be. It will help me to -bear up, and imagination must not run riot with me. If it does I am -lost. Let me say at once how I stand, or seem to. - -I only slept a few hours when I went to bed, and feeling that I could -not sleep any more, got up. I had hung my shaving glass by the -window, and was just beginning to shave. Suddenly I felt a hand on my -shoulder, and heard the Count's voice saying to me, "Good morning." I -started, for it amazed me that I had not seen him, since the -reflection of the glass covered the whole room behind me. In starting -I had cut myself slightly, but did not notice it at the moment. Having -answered the Count's salutation, I turned to the glass again to see -how I had been mistaken. This time there could be no error, for the -man was close to me, and I could see him over my shoulder. But there -was no reflection of him in the mirror! The whole room behind me was -displayed, but there was no sign of a man in it, except myself. - -This was startling, and coming on the top of so many strange things, -was beginning to increase that vague feeling of uneasiness which I -always have when the Count is near. But at the instant I saw that the -cut had bled a little, and the blood was trickling over my chin. I -laid down the razor, turning as I did so half round to look for some -sticking plaster. When the Count saw my face, his eyes blazed with a -sort of demoniac fury, and he suddenly made a grab at my throat. I -drew away and his hand touched the string of beads which held the -crucifix. It made an instant change in him, for the fury passed so -quickly that I could hardly believe that it was ever there. - -"Take care," he said, "take care how you cut yourself. It is more -dangerous that you think in this country." Then seizing the shaving -glass, he went on, "And this is the wretched thing that has done the -mischief. It is a foul bauble of man's vanity. Away with it!" And -opening the window with one wrench of his terrible hand, he flung out -the glass, which was shattered into a thousand pieces on the stones of -the courtyard far below. Then he withdrew without a word. It is very -annoying, for I do not see how I am to shave, unless in my watch-case -or the bottom of the shaving pot, which is fortunately of metal. - -When I went into the dining room, breakfast was prepared, but I could -not find the Count anywhere. So I breakfasted alone. It is strange -that as yet I have not seen the Count eat or drink. He must be a very -peculiar man! After breakfast I did a little exploring in the -castle. I went out on the stairs, and found a room looking towards -the South. - -The view was magnificent, and from where I stood there was every -opportunity of seeing it. The castle is on the very edge of a -terrific precipice. A stone falling from the window would fall a -thousand feet without touching anything! As far as the eye can reach -is a sea of green tree tops, with occasionally a deep rift where there -is a chasm. Here and there are silver threads where the rivers wind -in deep gorges through the forests. - -But I am not in heart to describe beauty, for when I had seen the view -I explored further. Doors, doors, doors everywhere, and all locked -and bolted. In no place save from the windows in the castle walls is -there an available exit. The castle is a veritable prison, and I am a -prisoner! - - - - -CHAPTER 3 - - -Jonathan Harker's Journal Continued - -When I found that I was a prisoner a sort of wild feeling came over -me. I rushed up and down the stairs, trying every door and peering -out of every window I could find, but after a little the conviction of -my helplessness overpowered all other feelings. When I look back -after a few hours I think I must have been mad for the time, for I -behaved much as a rat does in a trap. When, however, the conviction -had come to me that I was helpless I sat down quietly, as quietly as I -have ever done anything in my life, and began to think over what was -best to be done. I am thinking still, and as yet have come to no -definite conclusion. Of one thing only am I certain. That it is no -use making my ideas known to the Count. He knows well that I am -imprisoned, and as he has done it himself, and has doubtless his own -motives for it, he would only deceive me if I trusted him fully with -the facts. So far as I can see, my only plan will be to keep my -knowledge and my fears to myself, and my eyes open. I am, I know, -either being deceived, like a baby, by my own fears, or else I am in -desperate straits, and if the latter be so, I need, and shall need, -all my brains to get through. - -I had hardly come to this conclusion when I heard the great door below -shut, and knew that the Count had returned. He did not come at once -into the library, so I went cautiously to my own room and found him -making the bed. This was odd, but only confirmed what I had all along -thought, that there are no servants in the house. When later I saw -him through the chink of the hinges of the door laying the table in -the dining room, I was assured of it. For if he does himself all -these menial offices, surely it is proof that there is no one else in -the castle, it must have been the Count himself who was the driver of -the coach that brought me here. This is a terrible thought, for if -so, what does it mean that he could control the wolves, as he did, by -only holding up his hand for silence? How was it that all the people -at Bistritz and on the coach had some terrible fear for me? What -meant the giving of the crucifix, of the garlic, of the wild rose, of -the mountain ash? - -Bless that good, good woman who hung the crucifix round my neck! For -it is a comfort and a strength to me whenever I touch it. It is odd -that a thing which I have been taught to regard with disfavour and as -idolatrous should in a time of loneliness and trouble be of help. Is -it that there is something in the essence of the thing itself, or that -it is a medium, a tangible help, in conveying memories of sympathy and -comfort? Some time, if it may be, I must examine this matter and try -to make up my mind about it. In the meantime I must find out all I -can about Count Dracula, as it may help me to understand. Tonight he -may talk of himself, if I turn the conversation that way. I must be -very careful, however, not to awake his suspicion. - - -Midnight.--I have had a long talk with the Count. I asked him a few -questions on Transylvania history, and he warmed up to the subject -wonderfully. In his speaking of things and people, and especially of -battles, he spoke as if he had been present at them all. This he -afterwards explained by saying that to a Boyar the pride of his house -and name is his own pride, that their glory is his glory, that their -fate is his fate. Whenever he spoke of his house he always said "we", -and spoke almost in the plural, like a king speaking. I wish I could -put down all he said exactly as he said it, for to me it was most -fascinating. It seemed to have in it a whole history of the country. -He grew excited as he spoke, and walked about the room pulling his -great white moustache and grasping anything on which he laid his hands -as though he would crush it by main strength. One thing he said which -I shall put down as nearly as I can, for it tells in its way the story -of his race. - -"We Szekelys have a right to be proud, for in our veins flows the -blood of many brave races who fought as the lion fights, for lordship. -Here, in the whirlpool of European races, the Ugric tribe bore down -from Iceland the fighting spirit which Thor and Wodin gave them, which -their Berserkers displayed to such fell intent on the seaboards of -Europe, aye, and of Asia and Africa too, till the peoples thought that -the werewolves themselves had come. Here, too, when they came, they -found the Huns, whose warlike fury had swept the earth like a living -flame, till the dying peoples held that in their veins ran the blood -of those old witches, who, expelled from Scythia had mated with the -devils in the desert. Fools, fools! What devil or what witch was -ever so great as Attila, whose blood is in these veins?" He held up -his arms. "Is it a wonder that we were a conquering race, that we -were proud, that when the Magyar, the Lombard, the Avar, the Bulgar, -or the Turk poured his thousands on our frontiers, we drove them back? -Is it strange that when Arpad and his legions swept through the -Hungarian fatherland he found us here when he reached the frontier, -that the Honfoglalas was completed there? And when the Hungarian -flood swept eastward, the Szekelys were claimed as kindred by the -victorious Magyars, and to us for centuries was trusted the guarding -of the frontier of Turkeyland. Aye, and more than that, endless duty -of the frontier guard, for as the Turks say, 'water sleeps, and the -enemy is sleepless.' Who more gladly than we throughout the Four -Nations received the 'bloody sword,' or at its warlike call flocked -quicker to the standard of the King? When was redeemed that great -shame of my nation, the shame of Cassova, when the flags of the -Wallach and the Magyar went down beneath the Crescent? Who was it but -one of my own race who as Voivode crossed the Danube and beat the Turk -on his own ground? This was a Dracula indeed! Woe was it that his -own unworthy brother, when he had fallen, sold his people to the Turk -and brought the shame of slavery on them! Was it not this Dracula, -indeed, who inspired that other of his race who in a later age again -and again brought his forces over the great river into Turkeyland, -who, when he was beaten back, came again, and again, though he had to -come alone from the bloody field where his troops were being -slaughtered, since he knew that he alone could ultimately triumph! -They said that he thought only of himself. Bah! What good are -peasants without a leader? Where ends the war without a brain and -heart to conduct it? Again, when, after the battle of Mohacs, we -threw off the Hungarian yoke, we of the Dracula blood were amongst -their leaders, for our spirit would not brook that we were not free. -Ah, young sir, the Szekelys, and the Dracula as their heart's blood, -their brains, and their swords, can boast a record that mushroom -growths like the Hapsburgs and the Romanoffs can never reach. The -warlike days are over. Blood is too precious a thing in these days of -dishonourable peace, and the glories of the great races are as a tale -that is told." - -It was by this time close on morning, and we went to bed. (Mem., this -diary seems horribly like the beginning of the "Arabian Nights," for -everything has to break off at cockcrow, or like the ghost of Hamlet's -father.) - - -12 May.--Let me begin with facts, bare, meager facts, verified by -books and figures, and of which there can be no doubt. I must not -confuse them with experiences which will have to rest on my own -observation, or my memory of them. Last evening when the Count came -from his room he began by asking me questions on legal matters and on -the doing of certain kinds of business. I had spent the day wearily -over books, and, simply to keep my mind occupied, went over some of -the matters I had been examined in at Lincoln's Inn. There was a -certain method in the Count's inquiries, so I shall try to put them -down in sequence. The knowledge may somehow or some time be useful to -me. - -First, he asked if a man in England might have two solicitors or more. -I told him he might have a dozen if he wished, but that it would not -be wise to have more than one solicitor engaged in one transaction, as -only one could act at a time, and that to change would be certain to -militate against his interest. He seemed thoroughly to understand, -and went on to ask if there would be any practical difficulty in having -one man to attend, say, to banking, and another to look after -shipping, in case local help were needed in a place far from the home -of the banking solicitor. I asked to explain more fully, so that I -might not by any chance mislead him, so he said, - -"I shall illustrate. Your friend and mine, Mr. Peter Hawkins, from -under the shadow of your beautiful cathedral at Exeter, which is far -from London, buys for me through your good self my place at London. -Good! Now here let me say frankly, lest you should think it strange -that I have sought the services of one so far off from London instead -of some one resident there, that my motive was that no local interest -might be served save my wish only, and as one of London residence -might, perhaps, have some purpose of himself or friend to serve, I -went thus afield to seek my agent, whose labours should be only to my -interest. Now, suppose I, who have much of affairs, wish to ship -goods, say, to Newcastle, or Durham, or Harwich, or Dover, might it -not be that it could with more ease be done by consigning to one in -these ports?" - -I answered that certainly it would be most easy, but that we -solicitors had a system of agency one for the other, so that local -work could be done locally on instruction from any solicitor, so that -the client, simply placing himself in the hands of one man, could have -his wishes carried out by him without further trouble. - -"But," said he, "I could be at liberty to direct myself. Is it not -so?" - -"Of course," I replied, and "Such is often done by men of business, -who do not like the whole of their affairs to be known by any one -person." - -"Good!" he said, and then went on to ask about the means of making -consignments and the forms to be gone through, and of all sorts of -difficulties which might arise, but by forethought could be guarded -against. I explained all these things to him to the best of my -ability, and he certainly left me under the impression that he would -have made a wonderful solicitor, for there was nothing that he did not -think of or foresee. For a man who was never in the country, and who -did not evidently do much in the way of business, his knowledge and -acumen were wonderful. When he had satisfied himself on these points -of which he had spoken, and I had verified all as well as I could by -the books available, he suddenly stood up and said, "Have you written -since your first letter to our friend Mr. Peter Hawkins, or to any -other?" - -It was with some bitterness in my heart that I answered that I had -not, that as yet I had not seen any opportunity of sending letters to -anybody. - -"Then write now, my young friend," he said, laying a heavy hand on my -shoulder, "write to our friend and to any other, and say, if it will -please you, that you shall stay with me until a month from now." - -"Do you wish me to stay so long?" I asked, for my heart grew cold at -the thought. - -"I desire it much, nay I will take no refusal. When your master, -employer, what you will, engaged that someone should come on his -behalf, it was understood that my needs only were to be consulted. I -have not stinted. Is it not so?" - -What could I do but bow acceptance? It was Mr. Hawkins' interest, not -mine, and I had to think of him, not myself, and besides, while Count -Dracula was speaking, there was that in his eyes and in his bearing -which made me remember that I was a prisoner, and that if I wished it -I could have no choice. The Count saw his victory in my bow, and his -mastery in the trouble of my face, for he began at once to use them, -but in his own smooth, resistless way. - -"I pray you, my good young friend, that you will not discourse of -things other than business in your letters. It will doubtless please -your friends to know that you are well, and that you look forward to -getting home to them. Is it not so?" As he spoke he handed me three -sheets of note paper and three envelopes. They were all of the -thinnest foreign post, and looking at them, then at him, and noticing -his quiet smile, with the sharp, canine teeth lying over the red -underlip, I understood as well as if he had spoken that I should be -more careful what I wrote, for he would be able to read it. So I -determined to write only formal notes now, but to write fully to Mr. -Hawkins in secret, and also to Mina, for to her I could write -shorthand, which would puzzle the Count, if he did see it. When I had -written my two letters I sat quiet, reading a book whilst the Count -wrote several notes, referring as he wrote them to some books on his -table. Then he took up my two and placed them with his own, and put -by his writing materials, after which, the instant the door had closed -behind him, I leaned over and looked at the letters, which were face -down on the table. I felt no compunction in doing so for under the -circumstances I felt that I should protect myself in every way I -could. - -One of the letters was directed to Samuel F. Billington, No. 7, The -Crescent, Whitby, another to Herr Leutner, Varna. The third was to -Coutts & Co., London, and the fourth to Herren Klopstock & Billreuth, -bankers, Buda Pesth. The second and fourth were unsealed. I was just -about to look at them when I saw the door handle move. I sank back in -my seat, having just had time to resume my book before the Count, -holding still another letter in his hand, entered the room. He took -up the letters on the table and stamped them carefully, and then -turning to me, said, - -"I trust you will forgive me, but I have much work to do in private -this evening. You will, I hope, find all things as you wish." At the -door he turned, and after a moment's pause said, "Let me advise you, -my dear young friend. Nay, let me warn you with all seriousness, that -should you leave these rooms you will not by any chance go to sleep in -any other part of the castle. It is old, and has many memories, and -there are bad dreams for those who sleep unwisely. Be warned! Should -sleep now or ever overcome you, or be like to do, then haste to your -own chamber or to these rooms, for your rest will then be safe. But -if you be not careful in this respect, then," He finished his speech -in a gruesome way, for he motioned with his hands as if he were washing -them. I quite understood. My only doubt was as to whether any dream -could be more terrible than the unnatural, horrible net of gloom and -mystery which seemed closing around me. - - -Later.--I endorse the last words written, but this time there is no -doubt in question. I shall not fear to sleep in any place where he is -not. I have placed the crucifix over the head of my bed, I imagine -that my rest is thus freer from dreams, and there it shall remain. - -When he left me I went to my room. After a little while, not hearing -any sound, I came out and went up the stone stair to where I could -look out towards the South. There was some sense of freedom in the -vast expanse, inaccessible though it was to me, as compared with the -narrow darkness of the courtyard. Looking out on this, I felt that I -was indeed in prison, and I seemed to want a breath of fresh air, -though it were of the night. I am beginning to feel this nocturnal -existence tell on me. It is destroying my nerve. I start at my own -shadow, and am full of all sorts of horrible imaginings. God knows -that there is ground for my terrible fear in this accursed place! I -looked out over the beautiful expanse, bathed in soft yellow moonlight -till it was almost as light as day. In the soft light the distant -hills became melted, and the shadows in the valleys and gorges of -velvety blackness. The mere beauty seemed to cheer me. There was -peace and comfort in every breath I drew. As I leaned from the window -my eye was caught by something moving a storey below me, and somewhat -to my left, where I imagined, from the order of the rooms, that the -windows of the Count's own room would look out. The window at which I -stood was tall and deep, stone-mullioned, and though weatherworn, was -still complete. But it was evidently many a day since the case had -been there. I drew back behind the stonework, and looked carefully -out. - -What I saw was the Count's head coming out from the window. I did not -see the face, but I knew the man by the neck and the movement of his -back and arms. In any case I could not mistake the hands which I had -had some many opportunities of studying. I was at first interested -and somewhat amused, for it is wonderful how small a matter will -interest and amuse a man when he is a prisoner. But my very feelings -changed to repulsion and terror when I saw the whole man slowly emerge -from the window and begin to crawl down the castle wall over the -dreadful abyss, face down with his cloak spreading out around him like -great wings. At first I could not believe my eyes. I thought it was -some trick of the moonlight, some weird effect of shadow, but I kept -looking, and it could be no delusion. I saw the fingers and toes -grasp the corners of the stones, worn clear of the mortar by the -stress of years, and by thus using every projection and inequality -move downwards with considerable speed, just as a lizard moves along a -wall. - -What manner of man is this, or what manner of creature, is it in the -semblance of man? I feel the dread of this horrible place -overpowering me. I am in fear, in awful fear, and there is no escape -for me. I am encompassed about with terrors that I dare not think of. - - -15 May.--Once more I have seen the count go out in his lizard fashion. -He moved downwards in a sidelong way, some hundred feet down, and a -good deal to the left. He vanished into some hole or window. When -his head had disappeared, I leaned out to try and see more, but -without avail. The distance was too great to allow a proper angle of -sight. I knew he had left the castle now, and thought to use the -opportunity to explore more than I had dared to do as yet. I went -back to the room, and taking a lamp, tried all the doors. They were -all locked, as I had expected, and the locks were comparatively new. -But I went down the stone stairs to the hall where I had entered -originally. I found I could pull back the bolts easily enough and -unhook the great chains. But the door was locked, and the key was -gone! That key must be in the Count's room. I must watch should his -door be unlocked, so that I may get it and escape. I went on to make -a thorough examination of the various stairs and passages, and to try -the doors that opened from them. One or two small rooms near the hall -were open, but there was nothing to see in them except old furniture, -dusty with age and moth-eaten. At last, however, I found one door at -the top of the stairway which, though it seemed locked, gave a little -under pressure. I tried it harder, and found that it was not really -locked, but that the resistance came from the fact that the hinges had -fallen somewhat, and the heavy door rested on the floor. Here was an -opportunity which I might not have again, so I exerted myself, and -with many efforts forced it back so that I could enter. I was now in -a wing of the castle further to the right than the rooms I knew and a -storey lower down. From the windows I could see that the suite of -rooms lay along to the south of the castle, the windows of the end -room looking out both west and south. On the latter side, as well as -to the former, there was a great precipice. The castle was built on -the corner of a great rock, so that on three sides it was quite -impregnable, and great windows were placed here where sling, or bow, -or culverin could not reach, and consequently light and comfort, -impossible to a position which had to be guarded, were secured. To -the west was a great valley, and then, rising far away, great jagged -mountain fastnesses, rising peak on peak, the sheer rock studded with -mountain ash and thorn, whose roots clung in cracks and crevices and -crannies of the stone. This was evidently the portion of the castle -occupied by the ladies in bygone days, for the furniture had more an -air of comfort than any I had seen. - -The windows were curtainless, and the yellow moonlight, flooding in -through the diamond panes, enabled one to see even colours, whilst it -softened the wealth of dust which lay over all and disguised in some -measure the ravages of time and moth. My lamp seemed to be of little -effect in the brilliant moonlight, but I was glad to have it with me, -for there was a dread loneliness in the place which chilled my heart -and made my nerves tremble. Still, it was better than living alone in -the rooms which I had come to hate from the presence of the Count, and -after trying a little to school my nerves, I found a soft quietude -come over me. Here I am, sitting at a little oak table where in old -times possibly some fair lady sat to pen, with much thought and many -blushes, her ill-spelt love letter, and writing in my diary in -shorthand all that has happened since I closed it last. It is the -nineteenth century up-to-date with a vengeance. And yet, unless my -senses deceive me, the old centuries had, and have, powers of their -own which mere "modernity" cannot kill. - - -Later: The morning of 16 May.--God preserve my sanity, for to this I -am reduced. Safety and the assurance of safety are things of the -past. Whilst I live on here there is but one thing to hope for, that -I may not go mad, if, indeed, I be not mad already. If I be sane, -then surely it is maddening to think that of all the foul things that -lurk in this hateful place the Count is the least dreadful to me, that -to him alone I can look for safety, even though this be only whilst I -can serve his purpose. Great God! Merciful God, let me be calm, for -out of that way lies madness indeed. I begin to get new lights on -certain things which have puzzled me. Up to now I never quite knew -what Shakespeare meant when he made Hamlet say, "My tablets! Quick, -my tablets! 'tis meet that I put it down," etc., For now, feeling as -though my own brain were unhinged or as if the shock had come which -must end in its undoing, I turn to my diary for repose. The habit of -entering accurately must help to soothe me. - -The Count's mysterious warning frightened me at the time. It frightens -me more not when I think of it, for in the future he has a fearful -hold upon me. I shall fear to doubt what he may say! - -When I had written in my diary and had fortunately replaced the book -and pen in my pocket I felt sleepy. The Count's warning came into my -mind, but I took pleasure in disobeying it. The sense of sleep was -upon me, and with it the obstinacy which sleep brings as outrider. The -soft moonlight soothed, and the wide expanse without gave a sense of -freedom which refreshed me. I determined not to return tonight to the -gloom-haunted rooms, but to sleep here, where, of old, ladies had sat -and sung and lived sweet lives whilst their gentle breasts were sad -for their menfolk away in the midst of remorseless wars. I drew a -great couch out of its place near the corner, so that as I lay, I -could look at the lovely view to east and south, and unthinking of and -uncaring for the dust, composed myself for sleep. I suppose I must -have fallen asleep. I hope so, but I fear, for all that followed was -startlingly real, so real that now sitting here in the broad, full -sunlight of the morning, I cannot in the least believe that it was all -sleep. - -I was not alone. The room was the same, unchanged in any way since I -came into it. I could see along the floor, in the brilliant -moonlight, my own footsteps marked where I had disturbed the long -accumulation of dust. In the moonlight opposite me were three young -women, ladies by their dress and manner. I thought at the time that I -must be dreaming when I saw them, they threw no shadow on the floor. -They came close to me, and looked at me for some time, and then -whispered together. Two were dark, and had high aquiline noses, like -the Count, and great dark, piercing eyes, that seemed to be almost red -when contrasted with the pale yellow moon. The other was fair, as -fair as can be, with great masses of golden hair and eyes like pale -sapphires. I seemed somehow to know her face, and to know it in -connection with some dreamy fear, but I could not recollect at the -moment how or where. All three had brilliant white teeth that shone -like pearls against the ruby of their voluptuous lips. There was -something about them that made me uneasy, some longing and at the same -time some deadly fear. I felt in my heart a wicked, burning desire -that they would kiss me with those red lips. It is not good to note -this down, lest some day it should meet Mina's eyes and cause her -pain, but it is the truth. They whispered together, and then they all -three laughed, such a silvery, musical laugh, but as hard as though -the sound never could have come through the softness of human lips. -It was like the intolerable, tingling sweetness of waterglasses when -played on by a cunning hand. The fair girl shook her head -coquettishly, and the other two urged her on. - -One said, "Go on! You are first, and we shall follow. Yours is the -right to begin." - -The other added, "He is young and strong. There are kisses for us -all." - -I lay quiet, looking out from under my eyelashes in an agony of -delightful anticipation. The fair girl advanced and bent over me till -I could feel the movement of her breath upon me. Sweet it was in one -sense, honey-sweet, and sent the same tingling through the nerves as -her voice, but with a bitter underlying the sweet, a bitter -offensiveness, as one smells in blood. - -I was afraid to raise my eyelids, but looked out and saw perfectly -under the lashes. The girl went on her knees, and bent over me, -simply gloating. There was a deliberate voluptuousness which was both -thrilling and repulsive, and as she arched her neck she actually -licked her lips like an animal, till I could see in the moonlight the -moisture shining on the scarlet lips and on the red tongue as it -lapped the white sharp teeth. Lower and lower went her head as the -lips went below the range of my mouth and chin and seemed to fasten on -my throat. Then she paused, and I could hear the churning sound of -her tongue as it licked her teeth and lips, and I could feel the hot -breath on my neck. Then the skin of my throat began to tingle as -one's flesh does when the hand that is to tickle it approaches nearer, -nearer. I could feel the soft, shivering touch of the lips on the -super sensitive skin of my throat, and the hard dents of two sharp -teeth, just touching and pausing there. I closed my eyes in -languorous ecstasy and waited, waited with beating heart. - -But at that instant, another sensation swept through me as quick as -lightning. I was conscious of the presence of the Count, and of his -being as if lapped in a storm of fury. As my eyes opened -involuntarily I saw his strong hand grasp the slender neck of the fair -woman and with giant's power draw it back, the blue eyes transformed -with fury, the white teeth champing with rage, and the fair cheeks -blazing red with passion. But the Count! Never did I imagine such -wrath and fury, even to the demons of the pit. His eyes were -positively blazing. The red light in them was lurid, as if the flames -of hell fire blazed behind them. His face was deathly pale, and the -lines of it were hard like drawn wires. The thick eyebrows that met -over the nose now seemed like a heaving bar of white-hot metal. With -a fierce sweep of his arm, he hurled the woman from him, and then -motioned to the others, as though he were beating them back. It was -the same imperious gesture that I had seen used to the wolves. In a -voice which, though low and almost in a whisper seemed to cut through -the air and then ring in the room he said, - -"How dare you touch him, any of you? How dare you cast eyes on him -when I had forbidden it? Back, I tell you all! This man belongs to -me! Beware how you meddle with him, or you'll have to deal with me." - -The fair girl, with a laugh of ribald coquetry, turned to answer him. -"You yourself never loved. You never love!" On this the other women -joined, and such a mirthless, hard, soulless laughter rang through the -room that it almost made me faint to hear. It seemed like the -pleasure of fiends. - -Then the Count turned, after looking at my face attentively, and said -in a soft whisper, "Yes, I too can love. You yourselves can tell it -from the past. Is it not so? Well, now I promise you that when I am -done with him you shall kiss him at your will. Now go! Go! I must -awaken him, for there is work to be done." - -"Are we to have nothing tonight?" said one of them, with a low laugh, -as she pointed to the bag which he had thrown upon the floor, and -which moved as though there were some living thing within it. For -answer he nodded his head. One of the women jumped forward and opened -it. If my ears did not deceive me there was a gasp and a low wail, as -of a half smothered child. The women closed round, whilst I was -aghast with horror. But as I looked, they disappeared, and with them -the dreadful bag. There was no door near them, and they could not -have passed me without my noticing. They simply seemed to fade into -the rays of the moonlight and pass out through the window, for I could -see outside the dim, shadowy forms for a moment before they entirely -faded away. - -Then the horror overcame me, and I sank down unconscious. - - - - -CHAPTER 4 - - -Jonathan Harker's Journal Continued - -I awoke in my own bed. If it be that I had not dreamt, the Count must -have carried me here. I tried to satisfy myself on the subject, but -could not arrive at any unquestionable result. To be sure, there were -certain small evidences, such as that my clothes were folded and laid -by in a manner which was not my habit. My watch was still unwound, -and I am rigorously accustomed to wind it the last thing before going -to bed, and many such details. But these things are no proof, for -they may have been evidences that my mind was not as usual, and, for -some cause or another, I had certainly been much upset. I must watch -for proof. Of one thing I am glad. If it was that the Count carried -me here and undressed me, he must have been hurried in his task, for -my pockets are intact. I am sure this diary would have been a mystery -to him which he would not have brooked. He would have taken or -destroyed it. As I look round this room, although it has been to me -so full of fear, it is now a sort of sanctuary, for nothing can be -more dreadful than those awful women, who were, who are, waiting to -suck my blood. - - -18 May.--I have been down to look at that room again in daylight, for -I must know the truth. When I got to the doorway at the top of the -stairs I found it closed. It had been so forcibly driven against the -jamb that part of the woodwork was splintered. I could see that the -bolt of the lock had not been shot, but the door is fastened from the -inside. I fear it was no dream, and must act on this surmise. - - -19 May.--I am surely in the toils. Last night the Count asked me in -the suavest tones to write three letters, one saying that my work here -was nearly done, and that I should start for home within a few days, -another that I was starting on the next morning from the time of the -letter, and the third that I had left the castle and arrived at -Bistritz. I would fain have rebelled, but felt that in the present -state of things it would be madness to quarrel openly with the Count -whilst I am so absolutely in his power. And to refuse would be to -excite his suspicion and to arouse his anger. He knows that I know -too much, and that I must not live, lest I be dangerous to him. My -only chance is to prolong my opportunities. Something may occur which -will give me a chance to escape. I saw in his eyes something of that -gathering wrath which was manifest when he hurled that fair woman from -him. He explained to me that posts were few and uncertain, and that -my writing now would ensure ease of mind to my friends. And he -assured me with so much impressiveness that he would countermand the -later letters, which would be held over at Bistritz until due time in -case chance would admit of my prolonging my stay, that to oppose him -would have been to create new suspicion. I therefore pretended to -fall in with his views, and asked him what dates I should put on the -letters. - -He calculated a minute, and then said, "The first should be June 12, -the second June 19, and the third June 29." - -I know now the span of my life. God help me! - - -28 May.--There is a chance of escape, or at any rate of being able to -send word home. A band of Szgany have come to the castle, and are -encamped in the courtyard. These are gipsies. I have notes of them -in my book. They are peculiar to this part of the world, though -allied to the ordinary gipsies all the world over. There are -thousands of them in Hungary and Transylvania, who are almost outside -all law. They attach themselves as a rule to some great noble or -boyar, and call themselves by his name. They are fearless and without -religion, save superstition, and they talk only their own varieties of -the Romany tongue. - -I shall write some letters home, and shall try to get them to have -them posted. I have already spoken to them through my window to begin -acquaintanceship. They took their hats off and made obeisance and -many signs, which however, I could not understand any more than I -could their spoken language . . . - -I have written the letters. Mina's is in shorthand, and I simply ask -Mr. Hawkins to communicate with her. To her I have explained my -situation, but without the horrors which I may only surmise. It would -shock and frighten her to death were I to expose my heart to her. -Should the letters not carry, then the Count shall not yet know my -secret or the extent of my knowledge. . . . - - -I have given the letters. I threw them through the bars of my window -with a gold piece, and made what signs I could to have them posted. -The man who took them pressed them to his heart and bowed, and then -put them in his cap. I could do no more. I stole back to the study, -and began to read. As the Count did not come in, I have written -here . . . - - -The Count has come. He sat down beside me, and said in his smoothest -voice as he opened two letters, "The Szgany has given me these, of -which, though I know not whence they come, I shall, of course, take -care. See!"--He must have looked at it.--"One is from you, and to my -friend Peter Hawkins. The other,"--here he caught sight of the -strange symbols as he opened the envelope, and the dark look came into -his face, and his eyes blazed wickedly,--"The other is a vile thing, -an outrage upon friendship and hospitality! It is not signed. Well! -So it cannot matter to us." And he calmly held letter and envelope in -the flame of the lamp till they were consumed. - -Then he went on, "The letter to Hawkins, that I shall, of course send -on, since it is yours. Your letters are sacred to me. Your pardon, -my friend, that unknowingly I did break the seal. Will you not cover -it again?" He held out the letter to me, and with a courteous bow -handed me a clean envelope. - -I could only redirect it and hand it to him in silence. When he went -out of the room I could hear the key turn softly. A minute later I -went over and tried it, and the door was locked. - -When, an hour or two after, the Count came quietly into the room, his -coming awakened me, for I had gone to sleep on the sofa. He was very -courteous and very cheery in his manner, and seeing that I had been -sleeping, he said, "So, my friend, you are tired? Get to bed. There -is the surest rest. I may not have the pleasure of talk tonight, -since there are many labours to me, but you will sleep, I pray." - -I passed to my room and went to bed, and, strange to say, slept -without dreaming. Despair has its own calms. - -31 May.--This morning when I woke I thought I would provide myself -with some papers and envelopes from my bag and keep them in my pocket, -so that I might write in case I should get an opportunity, but again a -surprise, again a shock! - -Every scrap of paper was gone, and with it all my notes, my memoranda, -relating to railways and travel, my letter of credit, in fact all that -might be useful to me were I once outside the castle. I sat and -pondered awhile, and then some thought occurred to me, and I made -search of my portmanteau and in the wardrobe where I had placed my -clothes. - -The suit in which I had travelled was gone, and also my overcoat and -rug. I could find no trace of them anywhere. This looked like some -new scheme of villainy . . . - - -17 June.--This morning, as I was sitting on the edge of my bed -cudgelling my brains, I heard without a crackling of whips and -pounding and scraping of horses' feet up the rocky path beyond the -courtyard. With joy I hurried to the window, and saw drive into the -yard two great leiter-wagons, each drawn by eight sturdy horses, and -at the head of each pair a Slovak, with his wide hat, great -nail-studded belt, dirty sheepskin, and high boots. They had also -their long staves in hand. I ran to the door, intending to descend -and try and join them through the main hall, as I thought that way -might be opened for them. Again a shock, my door was fastened on the -outside. - -Then I ran to the window and cried to them. They looked up at me -stupidly and pointed, but just then the "hetman" of the Szgany came -out, and seeing them pointing to my window, said something, at which -they laughed. - -Henceforth no effort of mine, no piteous cry or agonized entreaty, -would make them even look at me. They resolutely turned away. The -leiter-wagons contained great, square boxes, with handles of thick -rope. These were evidently empty by the ease with which the Slovaks -handled them, and by their resonance as they were roughly moved. - -When they were all unloaded and packed in a great heap in one corner -of the yard, the Slovaks were given some money by the Szgany, and -spitting on it for luck, lazily went each to his horse's head. -Shortly afterwards, I heard the crackling of their whips die away in -the distance. - - -24 June.--Last night the Count left me early, and locked himself into -his own room. As soon as I dared I ran up the winding stair, and -looked out of the window, which opened South. I thought I would watch -for the Count, for there is something going on. The Szgany are -quartered somewhere in the castle and are doing work of some kind. I -know it, for now and then, I hear a far-away muffled sound as of -mattock and spade, and, whatever it is, it must be the end of some -ruthless villainy. - -I had been at the window somewhat less than half an hour, when I saw -something coming out of the Count's window. I drew back and watched -carefully, and saw the whole man emerge. It was a new shock to me to -find that he had on the suit of clothes which I had worn whilst -travelling here, and slung over his shoulder the terrible bag which I -had seen the women take away. There could be no doubt as to his -quest, and in my garb, too! This, then, is his new scheme of evil, -that he will allow others to see me, as they think, so that he may -both leave evidence that I have been seen in the towns or villages -posting my own letters, and that any wickedness which he may do shall -by the local people be attributed to me. - -It makes me rage to think that this can go on, and whilst I am shut up -here, a veritable prisoner, but without that protection of the law -which is even a criminal's right and consolation. - -I thought I would watch for the Count's return, and for a long time -sat doggedly at the window. Then I began to notice that there were -some quaint little specks floating in the rays of the moonlight. They -were like the tiniest grains of dust, and they whirled round and -gathered in clusters in a nebulous sort of way. I watched them with a -sense of soothing, and a sort of calm stole over me. I leaned back in -the embrasure in a more comfortable position, so that I could enjoy -more fully the aerial gambolling. - -Something made me start up, a low, piteous howling of dogs somewhere -far below in the valley, which was hidden from my sight. Louder it -seemed to ring in my ears, and the floating moats of dust to take new -shapes to the sound as they danced in the moonlight. I felt myself -struggling to awake to some call of my instincts. Nay, my very soul -was struggling, and my half-remembered sensibilities were striving to -answer the call. I was becoming hypnotised! - -Quicker and quicker danced the dust. The moonbeams seemed to quiver -as they went by me into the mass of gloom beyond. More and more they -gathered till they seemed to take dim phantom shapes. And then I -started, broad awake and in full possession of my senses, and ran -screaming from the place. - -The phantom shapes, which were becoming gradually materialised from -the moonbeams, were those three ghostly women to whom I was doomed. - -I fled, and felt somewhat safer in my own room, where there was no -moonlight, and where the lamp was burning brightly. - -When a couple of hours had passed I heard something stirring in the -Count's room, something like a sharp wail quickly suppressed. And -then there was silence, deep, awful silence, which chilled me. With a -beating heart, I tried the door, but I was locked in my prison, and -could do nothing. I sat down and simply cried. - -As I sat I heard a sound in the courtyard without, the agonised cry of -a woman. I rushed to the window, and throwing it up, peered between -the bars. - -There, indeed, was a woman with dishevelled hair, holding her hands -over her heart as one distressed with running. She was leaning -against the corner of the gateway. When she saw my face at the window -she threw herself forward, and shouted in a voice laden with menace, -"Monster, give me my child!" - -She threw herself on her knees, and raising up her hands, cried the -same words in tones which wrung my heart. Then she tore her hair and -beat her breast, and abandoned herself to all the violences of -extravagant emotion. Finally, she threw herself forward, and though I -could not see her, I could hear the beating of her naked hands against -the door. - -Somewhere high overhead, probably on the tower, I heard the voice of -the Count calling in his harsh, metallic whisper. His call seemed to -be answered from far and wide by the howling of wolves. Before many -minutes had passed a pack of them poured, like a pent-up dam when -liberated, through the wide entrance into the courtyard. - -There was no cry from the woman, and the howling of the wolves was but -short. Before long they streamed away singly, licking their lips. - -I could not pity her, for I knew now what had become of her child, and -she was better dead. - -What shall I do? What can I do? How can I escape from this dreadful -thing of night, gloom, and fear? - - -25 June.--No man knows till he has suffered from the night how sweet -and dear to his heart and eye the morning can be. When the sun grew -so high this morning that it struck the top of the great gateway -opposite my window, the high spot which it touched seemed to me as if -the dove from the ark had lighted there. My fear fell from me as if -it had been a vaporous garment which dissolved in the warmth. - -I must take action of some sort whilst the courage of the day is upon -me. Last night one of my post-dated letters went to post, the first -of that fatal series which is to blot out the very traces of my -existence from the earth. - -Let me not think of it. Action! - -It has always been at night-time that I have been molested or -threatened, or in some way in danger or in fear. I have not yet seen -the Count in the daylight. Can it be that he sleeps when others wake, -that he may be awake whilst they sleep? If I could only get into his -room! But there is no possible way. The door is always locked, no -way for me. - -Yes, there is a way, if one dares to take it. Where his body has gone -why may not another body go? I have seen him myself crawl from his -window. Why should not I imitate him, and go in by his window? The -chances are desperate, but my need is more desperate still. I shall -risk it. At the worst it can only be death, and a man's death is not -a calf's, and the dreaded Hereafter may still be open to me. God help -me in my task! Goodbye, Mina, if I fail. Goodbye, my faithful friend -and second father. Goodbye, all, and last of all Mina! - - -Same day, later.--I have made the effort, and God helping me, have -come safely back to this room. I must put down every detail in order. -I went whilst my courage was fresh straight to the window on the south -side, and at once got outside on this side. The stones are big and -roughly cut, and the mortar has by process of time been washed away -between them. I took off my boots, and ventured out on the desperate -way. I looked down once, so as to make sure that a sudden glimpse of -the awful depth would not overcome me, but after that kept my eyes -away from it. I know pretty well the direction and distance of the -Count's window, and made for it as well as I could, having regard to -the opportunities available. I did not feel dizzy, I suppose I was -too excited, and the time seemed ridiculously short till I found -myself standing on the window sill and trying to raise up the sash. I -was filled with agitation, however, when I bent down and slid feet -foremost in through the window. Then I looked around for the Count, -but with surprise and gladness, made a discovery. The room was -empty! It was barely furnished with odd things, which seemed to have -never been used. - -The furniture was something the same style as that in the south rooms, -and was covered with dust. I looked for the key, but it was not in -the lock, and I could not find it anywhere. The only thing I found -was a great heap of gold in one corner, gold of all kinds, Roman, and -British, and Austrian, and Hungarian, and Greek and Turkish money, -covered with a film of dust, as though it had lain long in the ground. -None of it that I noticed was less than three hundred years old. -There were also chains and ornaments, some jewelled, but all of them -old and stained. - -At one corner of the room was a heavy door. I tried it, for, since I -could not find the key of the room or the key of the outer door, which -was the main object of my search, I must make further examination, or -all my efforts would be in vain. It was open, and led through a stone -passage to a circular stairway, which went steeply down. - -I descended, minding carefully where I went for the stairs were dark, -being only lit by loopholes in the heavy masonry. At the bottom there -was a dark, tunnel-like passage, through which came a deathly, sickly -odour, the odour of old earth newly turned. As I went through the -passage the smell grew closer and heavier. At last I pulled open a -heavy door which stood ajar, and found myself in an old ruined chapel, -which had evidently been used as a graveyard. The roof was broken, -and in two places were steps leading to vaults, but the ground had -recently been dug over, and the earth placed in great wooden boxes, -manifestly those which had been brought by the Slovaks. - -There was nobody about, and I made a search over every inch of the -ground, so as not to lose a chance. I went down even into the vaults, -where the dim light struggled, although to do so was a dread to my -very soul. Into two of these I went, but saw nothing except fragments -of old coffins and piles of dust. In the third, however, I made a -discovery. - -There, in one of the great boxes, of which there were fifty in all, on -a pile of newly dug earth, lay the Count! He was either dead or -asleep. I could not say which, for eyes were open and stony, but -without the glassiness of death, and the cheeks had the warmth of life -through all their pallor. The lips were as red as ever. But there -was no sign of movement, no pulse, no breath, no beating of the heart. - -I bent over him, and tried to find any sign of life, but in vain. He -could not have lain there long, for the earthy smell would have passed -away in a few hours. By the side of the box was its cover, pierced -with holes here and there. I thought he might have the keys on him, -but when I went to search I saw the dead eyes, and in them dead though -they were, such a look of hate, though unconscious of me or my -presence, that I fled from the place, and leaving the Count's room by -the window, crawled again up the castle wall. Regaining my room, I -threw myself panting upon the bed and tried to think. - - -29 June.--Today is the date of my last letter, and the Count has taken -steps to prove that it was genuine, for again I saw him leave the -castle by the same window, and in my clothes. As he went down the -wall, lizard fashion, I wished I had a gun or some lethal weapon, that -I might destroy him. But I fear that no weapon wrought along by man's -hand would have any effect on him. I dared not wait to see him -return, for I feared to see those weird sisters. I came back to the -library, and read there till I fell asleep. - -I was awakened by the Count, who looked at me as grimly as a man could -look as he said, "Tomorrow, my friend, we must part. You return to -your beautiful England, I to some work which may have such an end that -we may never meet. Your letter home has been despatched. Tomorrow I -shall not be here, but all shall be ready for your journey. In the -morning come the Szgany, who have some labours of their own here, and -also come some Slovaks. When they have gone, my carriage shall come -for you, and shall bear you to the Borgo Pass to meet the diligence -from Bukovina to Bistritz. But I am in hopes that I shall see more of -you at Castle Dracula." - -I suspected him, and determined to test his sincerity. Sincerity! It -seems like a profanation of the word to write it in connection with -such a monster, so I asked him point-blank, "Why may I not go -tonight?" - -"Because, dear sir, my coachman and horses are away on a mission." - -"But I would walk with pleasure. I want to get away at once." - -He smiled, such a soft, smooth, diabolical smile that I knew there was -some trick behind his smoothness. He said, "And your baggage?" - -"I do not care about it. I can send for it some other time." - -The Count stood up, and said, with a sweet courtesy which made me rub -my eyes, it seemed so real, "You English have a saying which is close -to my heart, for its spirit is that which rules our boyars, 'Welcome -the coming, speed the parting guest.' Come with me, my dear young -friend. Not an hour shall you wait in my house against your will, -though sad am I at your going, and that you so suddenly desire it. -Come!" With a stately gravity, he, with the lamp, preceded me down -the stairs and along the hall. Suddenly he stopped. "Hark!" - -Close at hand came the howling of many wolves. It was almost as if -the sound sprang up at the rising of his hand, just as the music of a -great orchestra seems to leap under the baton of the conductor. After -a pause of a moment, he proceeded, in his stately way, to the door, -drew back the ponderous bolts, unhooked the heavy chains, and began to -draw it open. - -To my intense astonishment I saw that it was unlocked. Suspiciously, -I looked all round, but could see no key of any kind. - -As the door began to open, the howling of the wolves without grew -louder and angrier. Their red jaws, with champing teeth, and their -blunt-clawed feet as they leaped, came in through the opening door. I -knew than that to struggle at the moment against the Count was -useless. With such allies as these at his command, I could do -nothing. - -But still the door continued slowly to open, and only the Count's body -stood in the gap. Suddenly it struck me that this might be the moment -and means of my doom. I was to be given to the wolves, and at my own -instigation. There was a diabolical wickedness in the idea great -enough for the Count, and as the last chance I cried out, "Shut the -door! I shall wait till morning." And I covered my face with my -hands to hide my tears of bitter disappointment. - -With one sweep of his powerful arm, the Count threw the door shut, and -the great bolts clanged and echoed through the hall as they shot back -into their places. - -In silence we returned to the library, and after a minute or two I went -to my own room. The last I saw of Count Dracula was his kissing his -hand to me, with a red light of triumph in his eyes, and with a smile -that Judas in hell might be proud of. - -When I was in my room and about to lie down, I thought I heard a -whispering at my door. I went to it softly and listened. Unless my -ears deceived me, I heard the voice of the Count. - -"Back! Back to your own place! Your time is not yet come. Wait! -Have patience! Tonight is mine. Tomorrow night is yours!" - -There was a low, sweet ripple of laughter, and in a rage I threw open -the door, and saw without the three terrible women licking their lips. -As I appeared, they all joined in a horrible laugh, and ran away. - -I came back to my room and threw myself on my knees. It is then so -near the end? Tomorrow! Tomorrow! Lord, help me, and those to whom -I am dear! - - -30 June.--These may be the last words I ever write in this diary. I -slept till just before the dawn, and when I woke threw myself on my -knees, for I determined that if Death came he should find me ready. - -At last I felt that subtle change in the air, and knew that the -morning had come. Then came the welcome cockcrow, and I felt that I -was safe. With a glad heart, I opened the door and ran down the hall. -I had seen that the door was unlocked, and now escape was before me. -With hands that trembled with eagerness, I unhooked the chains and -threw back the massive bolts. - -But the door would not move. Despair seized me. I pulled and pulled -at the door, and shook it till, massive as it was, it rattled in its -casement. I could see the bolt shot. It had been locked after I left -the Count. - -Then a wild desire took me to obtain the key at any risk, and I -determined then and there to scale the wall again, and gain the -Count's room. He might kill me, but death now seemed the happier -choice of evils. Without a pause I rushed up to the east window, and -scrambled down the wall, as before, into the Count's room. It was -empty, but that was as I expected. I could not see a key anywhere, -but the heap of gold remained. I went through the door in the corner -and down the winding stair and along the dark passage to the old -chapel. I knew now well enough where to find the monster I sought. - -The great box was in the same place, close against the wall, but the -lid was laid on it, not fastened down, but with the nails ready in -their places to be hammered home. - -I knew I must reach the body for the key, so I raised the lid, and -laid it back against the wall. And then I saw something which filled -my very soul with horror. There lay the Count, but looking as if his -youth had been half restored. For the white hair and moustache were -changed to dark iron-grey. The cheeks were fuller, and the white skin -seemed ruby-red underneath. The mouth was redder than ever, for on -the lips were gouts of fresh blood, which trickled from the corners of -the mouth and ran down over the chin and neck. Even the deep, burning -eyes seemed set amongst swollen flesh, for the lids and pouches -underneath were bloated. It seemed as if the whole awful creature -were simply gorged with blood. He lay like a filthy leech, exhausted -with his repletion. - -I shuddered as I bent over to touch him, and every sense in me -revolted at the contact, but I had to search, or I was lost. The -coming night might see my own body a banquet in a similar war to those -horrid three. I felt all over the body, but no sign could I find of -the key. Then I stopped and looked at the Count. There was a mocking -smile on the bloated face which seemed to drive me mad. This was the -being I was helping to transfer to London, where, perhaps, for -centuries to come he might, amongst its teeming millions, satiate his -lust for blood, and create a new and ever-widening circle of -semi-demons to batten on the helpless. - -The very thought drove me mad. A terrible desire came upon me to rid -the world of such a monster. There was no lethal weapon at hand, but -I seized a shovel which the workmen had been using to fill the cases, -and lifting it high, struck, with the edge downward, at the hateful -face. But as I did so the head turned, and the eyes fell upon me, -with all their blaze of basilisk horror. The sight seemed to paralyze -me, and the shovel turned in my hand and glanced from the face, merely -making a deep gash above the forehead. The shovel fell from my hand -across the box, and as I pulled it away the flange of the blade caught -the edge of the lid which fell over again, and hid the horrid thing -from my sight. The last glimpse I had was of the bloated face, -blood-stained and fixed with a grin of malice which would have held -its own in the nethermost hell. - -I thought and thought what should be my next move, but my brain seemed -on fire, and I waited with a despairing feeling growing over me. As I -waited I heard in the distance a gipsy song sung by merry voices -coming closer, and through their song the rolling of heavy wheels and -the cracking of whips. The Szgany and the Slovaks of whom the Count -had spoken were coming. With a last look around and at the box which -contained the vile body, I ran from the place and gained the Count's -room, determined to rush out at the moment the door should be opened. -With strained ears, I listened, and heard downstairs the grinding of -the key in the great lock and the falling back of the heavy door. -There must have been some other means of entry, or some one had a key -for one of the locked doors. - -Then there came the sound of many feet tramping and dying away in some -passage which sent up a clanging echo. I turned to run down again -towards the vault, where I might find the new entrance, but at the -moment there seemed to come a violent puff of wind, and the door to -the winding stair blew to with a shock that set the dust from the -lintels flying. When I ran to push it open, I found that it was -hopelessly fast. I was again a prisoner, and the net of doom was -closing round me more closely. - -As I write there is in the passage below a sound of many tramping feet -and the crash of weights being set down heavily, doubtless the boxes, -with their freight of earth. There was a sound of hammering. It is -the box being nailed down. Now I can hear the heavy feet tramping -again along the hall, with many other idle feet coming behind them. - -The door is shut, the chains rattle. There is a grinding of the key -in the lock. I can hear the key withdrawn, then another door opens -and shuts. I hear the creaking of lock and bolt. - -Hark! In the courtyard and down the rocky way the roll of heavy -wheels, the crack of whips, and the chorus of the Szgany as they pass -into the distance. - -I am alone in the castle with those horrible women. Faugh! Mina is a -woman, and there is nought in common. They are devils of the Pit! - -I shall not remain alone with them. I shall try to scale the castle -wall farther than I have yet attempted. I shall take some of the gold -with me, lest I want it later. I may find a way from this dreadful -place. - -And then away for home! Away to the quickest and nearest train! Away -from the cursed spot, from this cursed land, where the devil and his -children still walk with earthly feet! - -At least God's mercy is better than that of those monsters, and the -precipice is steep and high. At its foot a man may sleep, as a man. -Goodbye, all. Mina! - - - - -CHAPTER 5 - - -LETTER FROM MISS MINA MURRAY TO MISS LUCY WESTENRA - -9 May. - -My dearest Lucy, - -Forgive my long delay in writing, but I have been simply overwhelmed -with work. The life of an assistant schoolmistress is sometimes -trying. I am longing to be with you, and by the sea, where we can -talk together freely and build our castles in the air. I have been -working very hard lately, because I want to keep up with Jonathan's -studies, and I have been practicing shorthand very assiduously. -When we are married I shall be able to be useful to Jonathan, and if -I can stenograph well enough I can take down what he wants to say in -this way and write it out for him on the typewriter, at which also I -am practicing very hard. - -He and I sometimes write letters in shorthand, and he is -keeping a stenographic journal of his travels abroad. When -I am with you I shall keep a diary in the same way. I don't -mean one of those two-pages-to-the-week-with-Sunday-squeezed- -in-a-corner diaries, but a sort of journal which I can write -in whenever I feel inclined. - -I do not suppose there will be much of interest to other people, but -it is not intended for them. I may show it to Jonathan some day if -there is in it anything worth sharing, but it is really an exercise -book. I shall try to do what I see lady journalists do, -interviewing and writing descriptions and trying to remember -conversations. I am told that, with a little practice, one can -remember all that goes on or that one hears said during a day. - -However, we shall see. I will tell you of my little plans when we -meet. I have just had a few hurried lines from Jonathan from -Transylvania. He is well, and will be returning in about a week. I -am longing to hear all his news. It must be nice to see strange -countries. I wonder if we, I mean Jonathan and I, shall ever see -them together. There is the ten o'clock bell ringing. Goodbye. - -Your loving - -Mina - - -Tell me all the news when you write. You have not told me -anything for a long time. I hear rumours, and especially -of a tall, handsome, curly-haired man??? - - - -LETTER, LUCY WESTENRA TO MINA MURRAY - - -17, Chatham Street - -Wednesday - -My dearest Mina, - - -I must say you tax me very unfairly with being a bad correspondent. -I wrote you twice since we parted, and your last letter was only -your second. Besides, I have nothing to tell you. There is really -nothing to interest you. - -Town is very pleasant just now, and we go a great deal to -picture-galleries and for walks and rides in the park. As -to the tall, curly-haired man, I suppose it was the one who -was with me at the last Pop. Someone has evidently been -telling tales. - -That was Mr. Holmwood. He often comes to see us, and he and -Mamma get on very well together, they have so many things -to talk about in common. - -We met some time ago a man that would just do for you, if you were -not already engaged to Jonathan. He is an excellent parti, being -handsome, well off, and of good birth. He is a doctor and really -clever. Just fancy! He is only nine-and twenty, and he has an -immense lunatic asylum all under his own care. Mr. Holmwood -introduced him to me, and he called here to see us, and often comes -now. I think he is one of the most resolute men I ever saw, and yet -the most calm. He seems absolutely imperturbable. I can fancy what -a wonderful power he must have over his patients. He has a curious -habit of looking one straight in the face, as if trying to read -one's thoughts. He tries this on very much with me, but I flatter -myself he has got a tough nut to crack. I know that from my glass. - -Do you ever try to read your own face? I do, and I can -tell you it is not a bad study, and gives you more trouble -than you can well fancy if you have never tried it. - -He says that I afford him a curious psychological study, and -I humbly think I do. I do not, as you know, take sufficient -interest in dress to be able to describe the new fashions. -Dress is a bore. That is slang again, but never mind. Arthur -says that every day. - -There, it is all out, Mina, we have told all our secrets to -each other since we were children. We have slept together -and eaten together, and laughed and cried together, and -now, though I have spoken, I would like to speak more. Oh, -Mina, couldn't you guess? I love him. I am blushing as I -write, for although I think he loves me, he has not told me -so in words. But, oh, Mina, I love him. I love him! There, -that does me good. - -I wish I were with you, dear, sitting by the fire undressing, as we -used to sit, and I would try to tell you what I feel. I do not know -how I am writing this even to you. I am afraid to stop, or I should -tear up the letter, and I don't want to stop, for I do so want to -tell you all. Let me hear from you at once, and tell me all that you -think about it. Mina, pray for my happiness. - -Lucy - - -P.S.--I need not tell you this is a secret. -Goodnight again. L. - - - - -LETTER, LUCY WESTENRA TO MINA MURRAY - -24 May - -My dearest Mina, - -Thanks, and thanks, and thanks again for your sweet letter. It -was so nice to be able to tell you and to have your sympathy. - -My dear, it never rains but it pours. How true the old proverbs -are. Here am I, who shall be twenty in September, and yet I never -had a proposal till today, not a real proposal, and today I had -three. Just fancy! Three proposals in one day! Isn't it awful! I -feel sorry, really and truly sorry, for two of the poor fellows. -Oh, Mina, I am so happy that I don't know what to do with myself. -And three proposals! But, for goodness' sake, don't tell any of the -girls, or they would be getting all sorts of extravagant ideas, and -imagining themselves injured and slighted if in their very first day -at home they did not get six at least. Some girls are so vain! You -and I, Mina dear, who are engaged and are going to settle down soon -soberly into old married women, can despise vanity. Well, I must -tell you about the three, but you must keep it a secret, dear, from -every one except, of course, Jonathan. You will tell him, because I -would, if I were in your place, certainly tell Arthur. A woman -ought to tell her husband everything. Don't you think so, dear? And -I must be fair. Men like women, certainly their wives, to be quite -as fair as they are. And women, I am afraid, are not always quite -as fair as they should be. - -Well, my dear, number One came just before lunch. I told you of -him, Dr. John Seward, the lunatic asylum man, with the strong jaw -and the good forehead. He was very cool outwardly, but was nervous -all the same. He had evidently been schooling himself as to all -sorts of little things, and remembered them, but he almost managed -to sit down on his silk hat, which men don't generally do when they -are cool, and then when he wanted to appear at ease he kept playing -with a lancet in a way that made me nearly scream. He spoke to me, -Mina, very straightforwardly. He told me how dear I was to him, -though he had known me so little, and what his life would be with me -to help and cheer him. He was going to tell me how unhappy he would -be if I did not care for him, but when he saw me cry he said he was -a brute and would not add to my present trouble. Then he broke off -and asked if I could love him in time, and when I shook my head his -hands trembled, and then with some hesitation he asked me if I cared -already for any one else. He put it very nicely, saying that he did -not want to wring my confidence from me, but only to know, because -if a woman's heart was free a man might have hope. And then, Mina, -I felt a sort of duty to tell him that there was some one. I only -told him that much, and then he stood up, and he looked very strong -and very grave as he took both my hands in his and said he hoped I -would be happy, and that If I ever wanted a friend I must count him -one of my best. - -Oh, Mina dear, I can't help crying, and you must excuse this letter -being all blotted. Being proposed to is all very nice and all that -sort of thing, but it isn't at all a happy thing when you have to -see a poor fellow, whom you know loves you honestly, going away and -looking all broken hearted, and to know that, no matter what he may -say at the moment, you are passing out of his life. My dear, I must -stop here at present, I feel so miserable, though I am so happy. - -Evening. - -Arthur has just gone, and I feel in better spirits than when I -left off, so I can go on telling you about the day. - -Well, my dear, number Two came after lunch. He is such a nice -fellow, an American from Texas, and he looks so young and so fresh -that it seems almost impossible that he has been to so many places -and has such adventures. I sympathize with poor Desdemona when she -had such a stream poured in her ear, even by a black man. I suppose -that we women are such cowards that we think a man will save us from -fears, and we marry him. I know now what I would do if I were a man -and wanted to make a girl love me. No, I don't, for there was Mr. -Morris telling us his stories, and Arthur never told any, and -yet . . . - -My dear, I am somewhat previous. Mr. Quincy P. Morris found me -alone. It seems that a man always does find a girl alone. No, he -doesn't, for Arthur tried twice to make a chance, and I helping him -all I could, I am not ashamed to say it now. I must tell you -beforehand that Mr. Morris doesn't always speak slang, that is to -say, he never does so to strangers or before them, for he is really -well educated and has exquisite manners, but he found out that it -amused me to hear him talk American slang, and whenever I was -present, and there was no one to be shocked, he said such funny -things. I am afraid, my dear, he has to invent it all, for it fits -exactly into whatever else he has to say. But this is a way slang -has. I do not know myself if I shall ever speak slang. I do not -know if Arthur likes it, as I have never heard him use any as yet. - -Well, Mr. Morris sat down beside me and looked as happy and jolly as -he could, but I could see all the same that he was very nervous. He -took my hand in his, and said ever so sweetly . . . - -"Miss Lucy, I know I ain't good enough to regulate the fixin's of -your little shoes, but I guess if you wait till you find a man that -is you will go join them seven young women with the lamps when you -quit. Won't you just hitch up alongside of me and let us go down -the long road together, driving in double harness?" - -Well, he did look so good humoured and so jolly that it didn't seem -half so hard to refuse him as it did poor Dr. Seward. So I said, as -lightly as I could, that I did not know anything of hitching, and -that I wasn't broken to harness at all yet. Then he said that he -had spoken in a light manner, and he hoped that if he had made a -mistake in doing so on so grave, so momentous, and occasion for him, -I would forgive him. He really did look serious when he was saying -it, and I couldn't help feeling a sort of exultation that he was -number Two in one day. And then, my dear, before I could say a word -he began pouring out a perfect torrent of love-making, laying his -very heart and soul at my feet. He looked so earnest over it that I -shall never again think that a man must be playful always, and never -earnest, because he is merry at times. I suppose he saw something -in my face which checked him, for he suddenly stopped, and said with -a sort of manly fervour that I could have loved him for if I had -been free . . . - -"Lucy, you are an honest hearted girl, I know. I should not be here -speaking to you as I am now if I did not believe you clean grit, -right through to the very depths of your soul. Tell me, like one -good fellow to another, is there any one else that you care for? -And if there is I'll never trouble you a hair's breadth again, but -will be, if you will let me, a very faithful friend." - -My dear Mina, why are men so noble when we women are so little -worthy of them? Here was I almost making fun of this great hearted, -true gentleman. I burst into tears, I am afraid, my dear, you will -think this a very sloppy letter in more ways than one, and I really -felt very badly. - -Why can't they let a girl marry three men, or as many as -want her, and save all this trouble? But this is heresy, -and I must not say it. I am glad to say that, though I was -crying, I was able to look into Mr. Morris' brave eyes, and -I told him out straight . . . - -"Yes, there is some one I love, though he has not told me -yet that he even loves me." I was right to speak to him so -frankly, for quite a light came into his face, and he put -out both his hands and took mine, I think I put them into -his, and said in a hearty way . . . - -"That's my brave girl. It's better worth being late for a chance of -winning you than being in time for any other girl in the world. -Don't cry, my dear. If it's for me, I'm a hard nut to crack, and I -take it standing up. If that other fellow doesn't know his -happiness, well, he'd better look for it soon, or he'll have to deal -with me. Little girl, your honesty and pluck have made me a friend, -and that's rarer than a lover, it's more selfish anyhow. My dear, -I'm going to have a pretty lonely walk between this and Kingdom -Come. Won't you give me one kiss? It'll be something to keep off -the darkness now and then. You can, you know, if you like, for that -other good fellow, or you could not love him, hasn't spoken yet." - -That quite won me, Mina, for it was brave and sweet of him, -and noble too, to a rival, wasn't it? And he so sad, so I -leant over and kissed him. - -He stood up with my two hands in his, and as he looked down into my -face, I am afraid I was blushing very much, he said, "Little girl, I -hold your hand, and you've kissed me, and if these things don't make -us friends nothing ever will. Thank you for your sweet honesty to -me, and goodbye." - -He wrung my hand, and taking up his hat, went straight out of the -room without looking back, without a tear or a quiver or a pause, -and I am crying like a baby. - -Oh, why must a man like that be made unhappy when there are lots of -girls about who would worship the very ground he trod on? I know I -would if I were free, only I don't want to be free. My dear, this -quite upset me, and I feel I cannot write of happiness just at once, -after telling you of it, and I don't wish to tell of the number -Three until it can be all happy. Ever your loving . . . - -Lucy - - -P.S.--Oh, about number Three, I needn't tell you of number -Three, need I? Besides, it was all so confused. It seemed -only a moment from his coming into the room till both his -arms were round me, and he was kissing me. I am very, very -happy, and I don't know what I have done to deserve it. I -must only try in the future to show that I am not ungrateful -to God for all His goodness to me in sending to me such a -lover, such a husband, and such a friend. - -Goodbye. - - - -DR. SEWARD'S DIARY (Kept in phonograph) - -25 May.--Ebb tide in appetite today. Cannot eat, cannot rest, so -diary instead. Since my rebuff of yesterday I have a sort of empty -feeling. Nothing in the world seems of sufficient importance to be -worth the doing. As I knew that the only cure for this sort of thing -was work, I went amongst the patients. I picked out one who has -afforded me a study of much interest. He is so quaint that I am -determined to understand him as well as I can. Today I seemed to get -nearer than ever before to the heart of his mystery. - -I questioned him more fully than I had ever done, with a view to -making myself master of the facts of his hallucination. In my manner -of doing it there was, I now see, something of cruelty. I seemed to -wish to keep him to the point of his madness, a thing which I avoid -with the patients as I would the mouth of hell. - -(Mem., Under what circumstances would I not avoid the pit of hell?) -Omnia Romae venalia sunt. Hell has its price! If there be anything -behind this instinct it will be valuable to trace it afterwards -accurately, so I had better commence to do so, therefore . . . - -R. M, Renfield, age 59. Sanguine temperament, great physical -strength, morbidly excitable, periods of gloom, ending in some fixed -idea which I cannot make out. I presume that the sanguine temperament -itself and the disturbing influence end in a mentally-accomplished -finish, a possibly dangerous man, probably dangerous if unselfish. In -selfish men caution is as secure an armour for their foes as for -themselves. What I think of on this point is, when self is the fixed -point the centripetal force is balanced with the centrifugal. When -duty, a cause, etc., is the fixed point, the latter force is -paramount, and only accident or a series of accidents can balance it. - - - -LETTER, QUINCEY P. MORRIS TO HON. ARTHUR HOLMOOD - -25 May. - -My dear Art, - -We've told yarns by the campfire in the prairies, and dressed one -another's wounds after trying a landing at the Marquesas, and drunk -healths on the shore of Titicaca. There are more yarns to be told, -and other wounds to be healed, and another health to be drunk. -Won't you let this be at my campfire tomorrow night? I have no -hesitation in asking you, as I know a certain lady is engaged to a -certain dinner party, and that you are free. There will only be one -other, our old pal at the Korea, Jack Seward. He's coming, too, and -we both want to mingle our weeps over the wine cup, and to drink a -health with all our hearts to the happiest man in all the wide -world, who has won the noblest heart that God has made and best -worth winning. We promise you a hearty welcome, and a loving -greeting, and a health as true as your own right hand. We shall -both swear to leave you at home if you drink too deep to a certain -pair of eyes. Come! - -Yours, as ever and always, - -Quincey P. Morris - - - - - -TELEGRAM FROM ARTHUR HOLMWOOD TO QUINCEY P. MORRIS - -26 May - - -Count me in every time. I bear messages which will make both -your ears tingle. - -Art - - - - -CHAPTER 6 - - -MINA MURRAY'S JOURNAL - -24 July. Whitby.--Lucy met me at the station, looking sweeter and -lovelier than ever, and we drove up to the house at the Crescent in -which they have rooms. This is a lovely place. The little river, the -Esk, runs through a deep valley, which broadens out as it comes near -the harbour. A great viaduct runs across, with high piers, through -which the view seems somehow further away than it really is. The -valley is beautifully green, and it is so steep that when you are on -the high land on either side you look right across it, unless you are -near enough to see down. The houses of the old town--the side away -from us, are all red-roofed, and seem piled up one over the other -anyhow, like the pictures we see of Nuremberg. Right over the town is -the ruin of Whitby Abbey, which was sacked by the Danes, and which is -the scene of part of "Marmion," where the girl was built up in the -wall. It is a most noble ruin, of immense size, and full of beautiful -and romantic bits. There is a legend that a white lady is seen in one -of the windows. Between it and the town there is another church, the -parish one, round which is a big graveyard, all full of tombstones. -This is to my mind the nicest spot in Whitby, for it lies right over -the town, and has a full view of the harbour and all up the bay to -where the headland called Kettleness stretches out into the sea. It -descends so steeply over the harbour that part of the bank has fallen -away, and some of the graves have been destroyed. - -In one place part of the stonework of the graves stretches out over -the sandy pathway far below. There are walks, with seats beside them, -through the churchyard, and people go and sit there all day long -looking at the beautiful view and enjoying the breeze. - -I shall come and sit here often myself and work. Indeed, I am writing -now, with my book on my knee, and listening to the talk of three old -men who are sitting beside me. They seem to do nothing all day but -sit here and talk. - -The harbour lies below me, with, on the far side, one long granite -wall stretching out into the sea, with a curve outwards at the end of -it, in the middle of which is a lighthouse. A heavy seawall runs -along outside of it. On the near side, the seawall makes an elbow -crooked inversely, and its end too has a lighthouse. Between the two -piers there is a narrow opening into the harbour, which then suddenly -widens. - -It is nice at high water, but when the tide is out it shoals away to -nothing, and there is merely the stream of the Esk, running between -banks of sand, with rocks here and there. Outside the harbour on this -side there rises for about half a mile a great reef, the sharp of -which runs straight out from behind the south lighthouse. At the end -of it is a buoy with a bell, which swings in bad weather, and sends in -a mournful sound on the wind. - -They have a legend here that when a ship is lost bells are heard out at -sea. I must ask the old man about this. He is coming this way . . . - -He is a funny old man. He must be awfully old, for his face is -gnarled and twisted like the bark of a tree. He tells me that he is -nearly a hundred, and that he was a sailor in the Greenland fishing -fleet when Waterloo was fought. He is, I am afraid, a very sceptical -person, for when I asked him about the bells at sea and the White Lady -at the abbey he said very brusquely, - -"I wouldn't fash masel' about them, miss. Them things be all wore -out. Mind, I don't say that they never was, but I do say that they -wasn't in my time. They be all very well for comers and trippers, an' -the like, but not for a nice young lady like you. Them feet-folks -from York and Leeds that be always eatin' cured herrin's and drinkin' -tea an' lookin' out to buy cheap jet would creed aught. I wonder -masel' who'd be bothered tellin' lies to them, even the newspapers, -which is full of fool-talk." - -I thought he would be a good person to learn interesting things from, -so I asked him if he would mind telling me something about the whale -fishing in the old days. He was just settling himself to begin when -the clock struck six, whereupon he laboured to get up, and said, - -"I must gang ageeanwards home now, miss. My grand-daughter doesn't -like to be kept waitin' when the tea is ready, for it takes me time to -crammle aboon the grees, for there be a many of 'em, and miss, I lack -belly-timber sairly by the clock." - -He hobbled away, and I could see him hurrying, as well as he could, -down the steps. The steps are a great feature on the place. They -lead from the town to the church, there are hundreds of them, I do not -know how many, and they wind up in a delicate curve. The slope is so -gentle that a horse could easily walk up and down them. - -I think they must originally have had something to do with the abbey. -I shall go home too. Lucy went out, visiting with her mother, and as -they were only duty calls, I did not go. - - -1 August.--I came up here an hour ago with Lucy, and we had a most -interesting talk with my old friend and the two others who always come -and join him. He is evidently the Sir Oracle of them, and I should -think must have been in his time a most dictatorial person. - -He will not admit anything, and down faces everybody. If he can't -out-argue them he bullies them, and then takes their silence for -agreement with his views. - -Lucy was looking sweetly pretty in her white lawn frock. She has got -a beautiful colour since she has been here. - -I noticed that the old men did not lose any time in coming and sitting -near her when we sat down. She is so sweet with old people, I think -they all fell in love with her on the spot. Even my old man succumbed -and did not contradict her, but gave me double share instead. I got -him on the subject of the legends, and he went off at once into a sort -of sermon. I must try to remember it and put it down. - -"It be all fool-talk, lock, stock, and barrel, that's what it be and -nowt else. These bans an' wafts an' boh-ghosts an' bar-guests an' -bogles an' all anent them is only fit to set bairns an' dizzy women -a'belderin'. They be nowt but air-blebs. They, an' all grims an' signs -an' warnin's, be all invented by parsons an' illsome berk-bodies an' -railway touters to skeer an' scunner hafflin's, an' to get folks to do -somethin' that they don't other incline to. It makes me ireful to -think o' them. Why, it's them that, not content with printin' lies on -paper an' preachin' them out of pulpits, does want to be cuttin' them -on the tombstones. Look here all around you in what airt ye will. All -them steans, holdin' up their heads as well as they can out of their -pride, is acant, simply tumblin' down with the weight o' the lies -wrote on them, 'Here lies the body' or 'Sacred to the memory' wrote on -all of them, an' yet in nigh half of them there bean't no bodies at -all, an' the memories of them bean't cared a pinch of snuff about, -much less sacred. Lies all of them, nothin' but lies of one kind or -another! My gog, but it'll be a quare scowderment at the Day of -Judgment when they come tumblin' up in their death-sarks, all jouped -together an' trying' to drag their tombsteans with them to prove how -good they was, some of them trimmlin' an' dithering, with their hands -that dozzened an' slippery from lyin' in the sea that they can't even -keep their gurp o' them." - -I could see from the old fellow's self-satisfied air and the way in -which he looked round for the approval of his cronies that he was -"showing off," so I put in a word to keep him going. - -"Oh, Mr. Swales, you can't be serious. Surely these tombstones are -not all wrong?" - -"Yabblins! There may be a poorish few not wrong, savin' where they -make out the people too good, for there be folk that do think a -balm-bowl be like the sea, if only it be their own. The whole thing -be only lies. Now look you here. You come here a stranger, an' you -see this kirkgarth." - -I nodded, for I thought it better to assent, though I did not quite -understand his dialect. I knew it had something to do with the -church. - -He went on, "And you consate that all these steans be aboon folk that -be haped here, snod an' snog?" I assented again. "Then that be just -where the lie comes in. Why, there be scores of these laybeds that be -toom as old Dun's 'baccabox on Friday night." - -He nudged one of his companions, and they all laughed. "And, my gog! -How could they be otherwise? Look at that one, the aftest abaft the -bier-bank, read it!" - -I went over and read, "Edward Spencelagh, master mariner, murdered by -pirates off the coast of Andres, April, 1854, age 30." When I came -back Mr. Swales went on, - -"Who brought him home, I wonder, to hap him here? Murdered off the -coast of Andres! An' you consated his body lay under! Why, I could -name ye a dozen whose bones lie in the Greenland seas above," he -pointed northwards, "or where the currants may have drifted them. -There be the steans around ye. Ye can, with your young eyes, read the -small print of the lies from here. This Braithwaite Lowery, I knew -his father, lost in the Lively off Greenland in '20, or Andrew -Woodhouse, drowned in the same seas in 1777, or John Paxton, drowned -off Cape Farewell a year later, or old John Rawlings, whose -grandfather sailed with me, drowned in the Gulf of Finland in '50. Do -ye think that all these men will have to make a rush to Whitby when -the trumpet sounds? I have me antherums aboot it! I tell ye that -when they got here they'd be jommlin' and jostlin' one another that -way that it 'ud be like a fight up on the ice in the old days, when -we'd be at one another from daylight to dark, an' tryin' to tie up our -cuts by the aurora borealis." This was evidently local pleasantry, for -the old man cackled over it, and his cronies joined in with gusto. - -"But," I said, "surely you are not quite correct, for you start on the -assumption that all the poor people, or their spirits, will have to -take their tombstones with them on the Day of Judgment. Do you think -that will be really necessary?" - -"Well, what else be they tombstones for? Answer me that, miss!" - -"To please their relatives, I suppose." - -"To please their relatives, you suppose!" This he said with intense -scorn. "How will it pleasure their relatives to know that lies is -wrote over them, and that everybody in the place knows that they be -lies?" - -He pointed to a stone at our feet which had been laid down as a slab, -on which the seat was rested, close to the edge of the cliff. "Read -the lies on that thruff-stone," he said. - -The letters were upside down to me from where I sat, but Lucy was more -opposite to them, so she leant over and read, "Sacred to the memory of -George Canon, who died, in the hope of a glorious resurrection, on -July 29, 1873, falling from the rocks at Kettleness. This tomb was -erected by his sorrowing mother to her dearly beloved son. 'He was the -only son of his mother, and she was a widow.' Really, Mr. Swales, I -don't see anything very funny in that!" She spoke her comment very -gravely and somewhat severely. - -"Ye don't see aught funny! Ha-ha! But that's because ye don't gawm -the sorrowin' mother was a hell-cat that hated him because he was -acrewk'd, a regular lamiter he was, an' he hated her so that he -committed suicide in order that she mightn't get an insurance she put -on his life. He blew nigh the top of his head off with an old musket -that they had for scarin' crows with. 'Twarn't for crows then, for it -brought the clegs and the dowps to him. That's the way he fell off -the rocks. And, as to hopes of a glorious resurrection, I've often -heard him say masel' that he hoped he'd go to hell, for his mother was -so pious that she'd be sure to go to heaven, an' he didn't want to -addle where she was. Now isn't that stean at any rate," he hammered -it with his stick as he spoke, "a pack of lies? And won't it make -Gabriel keckle when Geordie comes pantin' ut the grees with the -tompstean balanced on his hump, and asks to be took as evidence!" - -I did not know what to say, but Lucy turned the conversation as she -said, rising up, "Oh, why did you tell us of this? It is my favourite -seat, and I cannot leave it, and now I find I must go on sitting over -the grave of a suicide." - -"That won't harm ye, my pretty, an' it may make poor Geordie gladsome -to have so trim a lass sittin' on his lap. That won't hurt ye. Why, -I've sat here off an' on for nigh twenty years past, an' it hasn't -done me no harm. Don't ye fash about them as lies under ye, or that -doesn' lie there either! It'll be time for ye to be getting scart -when ye see the tombsteans all run away with, and the place as bare as -a stubble-field. There's the clock, and I must gang. My service to -ye, ladies!" And off he hobbled. - -Lucy and I sat awhile, and it was all so beautiful before us that we -took hands as we sat, and she told me all over again about Arthur and -their coming marriage. That made me just a little heart-sick, for I -haven't heard from Jonathan for a whole month. - - -The same day. I came up here alone, for I am very sad. There was no -letter for me. I hope there cannot be anything the matter with -Jonathan. The clock has just struck nine. I see the lights scattered -all over the town, sometimes in rows where the streets are, and -sometimes singly. They run right up the Esk and die away in the curve -of the valley. To my left the view is cut off by a black line of roof -of the old house next to the abbey. The sheep and lambs are bleating -in the fields away behind me, and there is a clatter of donkeys' hoofs -up the paved road below. The band on the pier is playing a harsh -waltz in good time, and further along the quay there is a Salvation -Army meeting in a back street. Neither of the bands hears the other, -but up here I hear and see them both. I wonder where Jonathan is and -if he is thinking of me! I wish he were here. - - - -DR. SEWARD'S DIARY - -5 June.--The case of Renfield grows more interesting the more I get to -understand the man. He has certain qualities very largely developed, -selfishness, secrecy, and purpose. - -I wish I could get at what is the object of the latter. He seems to -have some settled scheme of his own, but what it is I do not know. -His redeeming quality is a love of animals, though, indeed, he has -such curious turns in it that I sometimes imagine he is only -abnormally cruel. His pets are of odd sorts. - -Just now his hobby is catching flies. He has at present such a -quantity that I have had myself to expostulate. To my astonishment, -he did not break out into a fury, as I expected, but took the matter -in simple seriousness. He thought for a moment, and then said, "May I -have three days? I shall clear them away." Of course, I said that -would do. I must watch him. - - -18 June.--He has turned his mind now to spiders, and has got several -very big fellows in a box. He keeps feeding them his flies, and the -number of the latter is becoming sensibly diminished, although he has -used half his food in attracting more flies from outside to his room. - - -1 July.--His spiders are now becoming as great a nuisance as his -flies, and today I told him that he must get rid of them. - -He looked very sad at this, so I said that he must some of them, at -all events. He cheerfully acquiesced in this, and I gave him the same -time as before for reduction. - -He disgusted me much while with him, for when a horrid blowfly, -bloated with some carrion food, buzzed into the room, he caught it, -held it exultantly for a few moments between his finger and thumb, and -before I knew what he was going to do, put it in his mouth and ate it. - -I scolded him for it, but he argued quietly that it was very good and -very wholesome, that it was life, strong life, and gave life to him. -This gave me an idea, or the rudiment of one. I must watch how he -gets rid of his spiders. - -He has evidently some deep problem in his mind, for he keeps a little -notebook in which he is always jotting down something. Whole pages of -it are filled with masses of figures, generally single numbers added -up in batches, and then the totals added in batches again, as though -he were focussing some account, as the auditors put it. - - -8 July.--There is a method in his madness, and the rudimentary idea in -my mind is growing. It will be a whole idea soon, and then, oh, -unconscious cerebration, you will have to give the wall to your -conscious brother. - -I kept away from my friend for a few days, so that I might notice if -there were any change. Things remain as they were except that he has -parted with some of his pets and got a new one. - -He has managed to get a sparrow, and has already partially tamed it. -His means of taming is simple, for already the spiders have -diminished. Those that do remain, however, are well fed, for he still -brings in the flies by tempting them with his food. - -19 July--We are progressing. My friend has now a whole colony of -sparrows, and his flies and spiders are almost obliterated. When I -came in he ran to me and said he wanted to ask me a great favour, a -very, very great favour. And as he spoke, he fawned on me like a dog. - -I asked him what it was, and he said, with a sort of rapture in his -voice and bearing, "A kitten, a nice, little, sleek playful kitten, -that I can play with, and teach, and feed, and feed, and feed!" - -I was not unprepared for this request, for I had noticed how his pets -went on increasing in size and vivacity, but I did not care that his -pretty family of tame sparrows should be wiped out in the same manner -as the flies and spiders. So I said I would see about it, and asked -him if he would not rather have a cat than a kitten. - -His eagerness betrayed him as he answered, "Oh, yes, I would like a -cat! I only asked for a kitten lest you should refuse me a cat. No -one would refuse me a kitten, would they?" - -I shook my head, and said that at present I feared it would not be -possible, but that I would see about it. His face fell, and I could -see a warning of danger in it, for there was a sudden fierce, sidelong -look which meant killing. The man is an undeveloped homicidal -maniac. I shall test him with his present craving and see how it will -work out, then I shall know more. - - -10 pm.--I have visited him again and found him sitting in a corner -brooding. When I came in he threw himself on his knees before me and -implored me to let him have a cat, that his salvation depended upon -it. - -I was firm, however, and told him that he could not have it, whereupon -he went without a word, and sat down, gnawing his fingers, in the -corner where I had found him. I shall see him in the morning early. - - -20 July.--Visited Renfield very early, before attendant went his -rounds. Found him up and humming a tune. He was spreading out his -sugar, which he had saved, in the window, and was manifestly beginning -his fly catching again, and beginning it cheerfully and with a good -grace. - -I looked around for his birds, and not seeing them, asked him where -they were. He replied, without turning round, that they had all flown -away. There were a few feathers about the room and on his pillow a -drop of blood. I said nothing, but went and told the keeper to report -to me if there were anything odd about him during the day. - - -11 am.--The attendant has just been to see me to say that Renfield has -been very sick and has disgorged a whole lot of feathers. "My belief -is, doctor," he said, "that he has eaten his birds, and that he just -took and ate them raw!" - - -11 pm.--I gave Renfield a strong opiate tonight, enough to make even -him sleep, and took away his pocketbook to look at it. The thought -that has been buzzing about my brain lately is complete, and the -theory proved. - -My homicidal maniac is of a peculiar kind. I shall have to invent a -new classification for him, and call him a zoophagous (life-eating) -maniac. What he desires is to absorb as many lives as he can, and he -has laid himself out to achieve it in a cumulative way. He gave many -flies to one spider and many spiders to one bird, and then wanted a -cat to eat the many birds. What would have been his later steps? - -It would almost be worth while to complete the experiment. It might -be done if there were only a sufficient cause. Men sneered at -vivisection, and yet look at its results today! Why not advance -science in its most difficult and vital aspect, the knowledge of the -brain? - -Had I even the secret of one such mind, did I hold the key to the -fancy of even one lunatic, I might advance my own branch of science to -a pitch compared with which Burdon-Sanderson's physiology or Ferrier's -brain knowledge would be as nothing. If only there were a sufficient -cause! I must not think too much of this, or I may be tempted. A -good cause might turn the scale with me, for may not I too be of an -exceptional brain, congenitally? - -How well the man reasoned. Lunatics always do within their own scope. -I wonder at how many lives he values a man, or if at only one. He has -closed the account most accurately, and today begun a new record. How -many of us begin a new record with each day of our lives? - -To me it seems only yesterday that my whole life ended with my new -hope, and that truly I began a new record. So it shall be until the -Great Recorder sums me up and closes my ledger account with a balance -to profit or loss. - -Oh, Lucy, Lucy, I cannot be angry with you, nor can I be angry with my -friend whose happiness is yours, but I must only wait on hopeless and -work. Work! Work! - -If I could have as strong a cause as my poor mad friend there, a good, -unselfish cause to make me work, that would be indeed happiness. - - - -MINA MURRAY'S JOURNAL - -26 July.--I am anxious, and it soothes me to express myself here. It -is like whispering to one's self and listening at the same time. And -there is also something about the shorthand symbols that makes it -different from writing. I am unhappy about Lucy and about Jonathan. -I had not heard from Jonathan for some time, and was very concerned, -but yesterday dear Mr. Hawkins, who is always so kind, sent me a -letter from him. I had written asking him if he had heard, and he -said the enclosed had just been received. It is only a line dated -from Castle Dracula, and says that he is just starting for home. That -is not like Jonathan. I do not understand it, and it makes me uneasy. - -Then, too, Lucy, although she is so well, has lately taken to her old -habit of walking in her sleep. Her mother has spoken to me about it, -and we have decided that I am to lock the door of our room every -night. - -Mrs. Westenra has got an idea that sleep-walkers always go out on -roofs of houses and along the edges of cliffs and then get suddenly -wakened and fall over with a despairing cry that echoes all over the -place. - -Poor dear, she is naturally anxious about Lucy, and she tells me that -her husband, Lucy's father, had the same habit, that he would get up -in the night and dress himself and go out, if he were not stopped. - -Lucy is to be married in the autumn, and she is already planning out -her dresses and how her house is to be arranged. I sympathise with -her, for I do the same, only Jonathan and I will start in life in a -very simple way, and shall have to try to make both ends meet. - -Mr. Holmwood, he is the Hon. Arthur Holmwood, only son of Lord -Godalming, is coming up here very shortly, as soon as he can leave -town, for his father is not very well, and I think dear Lucy is -counting the moments till he comes. - -She wants to take him up in the seat on the churchyard cliff and show -him the beauty of Whitby. I daresay it is the waiting which disturbs -her. She will be all right when he arrives. - - -27 July.--No news from Jonathan. I am getting quite uneasy about him, -though why I should I do not know, but I do wish that he would write, -if it were only a single line. - -Lucy walks more than ever, and each night I am awakened by her moving -about the room. Fortunately, the weather is so hot that she cannot -get cold. But still, the anxiety and the perpetually being awakened -is beginning to tell on me, and I am getting nervous and wakeful -myself. Thank God, Lucy's health keeps up. Mr. Holmwood has been -suddenly called to Ring to see his father, who has been taken -seriously ill. Lucy frets at the postponement of seeing him, but it -does not touch her looks. She is a trifle stouter, and her cheeks are -a lovely rose-pink. She has lost the anemic look which she had. I -pray it will all last. - - -3 August.--Another week gone by, and no news from Jonathan, not even -to Mr. Hawkins, from whom I have heard. Oh, I do hope he is not ill. -He surely would have written. I look at that last letter of his, but -somehow it does not satisfy me. It does not read like him, and yet it -is his writing. There is no mistake of that. - -Lucy has not walked much in her sleep the last week, but there is an -odd concentration about her which I do not understand, even in her -sleep she seems to be watching me. She tries the door, and finding it -locked, goes about the room searching for the key. - - -6 August.--Another three days, and no news. This suspense is getting -dreadful. If I only knew where to write to or where to go to, I -should feel easier. But no one has heard a word of Jonathan since -that last letter. I must only pray to God for patience. - -Lucy is more excitable than ever, but is otherwise well. Last night -was very threatening, and the fishermen say that we are in for a -storm. I must try to watch it and learn the weather signs. - -Today is a gray day, and the sun as I write is hidden in thick clouds, -high over Kettleness. Everything is gray except the green grass, -which seems like emerald amongst it, gray earthy rock, gray clouds, -tinged with the sunburst at the far edge, hang over the gray sea, into -which the sandpoints stretch like gray figures. The sea is tumbling -in over the shallows and the sandy flats with a roar, muffled in the -sea-mists drifting inland. The horizon is lost in a gray mist. All -vastness, the clouds are piled up like giant rocks, and there is a -'brool' over the sea that sounds like some passage of doom. Dark -figures are on the beach here and there, sometimes half shrouded in -the mist, and seem 'men like trees walking'. The fishing boats are -racing for home, and rise and dip in the ground swell as they sweep -into the harbour, bending to the scuppers. Here comes old Mr. Swales. -He is making straight for me, and I can see, by the way he lifts his -hat, that he wants to talk. - -I have been quite touched by the change in the poor old man. When he -sat down beside me, he said in a very gentle way, "I want to say -something to you, miss." - -I could see he was not at ease, so I took his poor old wrinkled hand in -mine and asked him to speak fully. - -So he said, leaving his hand in mine, "I'm afraid, my deary, that I -must have shocked you by all the wicked things I've been sayin' about -the dead, and such like, for weeks past, but I didn't mean them, and I -want ye to remember that when I'm gone. We aud folks that be daffled, -and with one foot abaft the krok-hooal, don't altogether like to think -of it, and we don't want to feel scart of it, and that's why I've took -to makin' light of it, so that I'd cheer up my own heart a bit. But, -Lord love ye, miss, I ain't afraid of dyin', not a bit, only I don't -want to die if I can help it. My time must be nigh at hand now, for I -be aud, and a hundred years is too much for any man to expect. And -I'm so nigh it that the Aud Man is already whettin' his scythe. Ye -see, I can't get out o' the habit of caffin' about it all at once. -The chafts will wag as they be used to. Some day soon the Angel of -Death will sound his trumpet for me. But don't ye dooal an' greet, my -deary!"--for he saw that I was crying--"if he should come this very -night I'd not refuse to answer his call. For life be, after all, only -a waitin' for somethin' else than what we're doin', and death be all -that we can rightly depend on. But I'm content, for it's comin' to -me, my deary, and comin' quick. It may be comin' while we be lookin' -and wonderin'. Maybe it's in that wind out over the sea that's -bringin' with it loss and wreck, and sore distress, and sad hearts. -Look! Look!" he cried suddenly. "There's something in that wind and -in the hoast beyont that sounds, and looks, and tastes, and smells -like death. It's in the air. I feel it comin'. Lord, make me answer -cheerful, when my call comes!" He held up his arms devoutly, and -raised his hat. His mouth moved as though he were praying. After a -few minutes' silence, he got up, shook hands with me, and blessed me, -and said goodbye, and hobbled off. It all touched me, and upset me -very much. - -I was glad when the coastguard came along, with his spyglass under his -arm. He stopped to talk with me, as he always does, but all the time -kept looking at a strange ship. - -"I can't make her out," he said. "She's a Russian, by the look of -her. But she's knocking about in the queerest way. She doesn't know -her mind a bit. She seems to see the storm coming, but can't decide -whether to run up north in the open, or to put in here. Look there -again! She is steered mighty strangely, for she doesn't mind the hand -on the wheel, changes about with every puff of wind. We'll hear more -of her before this time tomorrow." - - - - -CHAPTER 7 - - -CUTTING FROM "THE DAILYGRAPH", 8 AUGUST - - -(PASTED IN MINA MURRAY'S JOURNAL) - - -From a correspondent. - -Whitby. - -One of the greatest and suddenest storms on record has just been -experienced here, with results both strange and unique. The weather -had been somewhat sultry, but not to any degree uncommon in the -month of August. Saturday evening was as fine as was ever known, -and the great body of holiday-makers laid out yesterday for visits -to Mulgrave Woods, Robin Hood's Bay, Rig Mill, Runswick, Staithes, -and the various trips in the neighborhood of Whitby. The steamers -Emma and Scarborough made trips up and down the coast, and there was -an unusual amount of 'tripping' both to and from Whitby. The day -was unusually fine till the afternoon, when some of the gossips who -frequent the East Cliff churchyard, and from the commanding eminence -watch the wide sweep of sea visible to the north and east, called -attention to a sudden show of 'mares tails' high in the sky to the -northwest. The wind was then blowing from the south-west in the -mild degree which in barometrical language is ranked 'No. 2, light -breeze.' - -The coastguard on duty at once made report, and one old fisherman, -who for more than half a century has kept watch on weather signs -from the East Cliff, foretold in an emphatic manner the coming of a -sudden storm. The approach of sunset was so very beautiful, so -grand in its masses of splendidly coloured clouds, that there was -quite an assemblage on the walk along the cliff in the old -churchyard to enjoy the beauty. Before the sun dipped below the -black mass of Kettleness, standing boldly athwart the western sky, -its downward way was marked by myriad clouds of every sunset colour, -flame, purple, pink, green, violet, and all the tints of gold, with -here and there masses not large, but of seemingly absolute -blackness, in all sorts of shapes, as well outlined as colossal -silhouettes. The experience was not lost on the painters, and -doubtless some of the sketches of the 'Prelude to the Great Storm' -will grace the R. A and R. I. walls in May next. - -More than one captain made up his mind then and there that his -'cobble' or his 'mule', as they term the different classes of boats, -would remain in the harbour till the storm had passed. The wind -fell away entirely during the evening, and at midnight there was a -dead calm, a sultry heat, and that prevailing intensity which, on -the approach of thunder, affects persons of a sensitive nature. - -There were but few lights in sight at sea, for even the coasting -steamers, which usually hug the shore so closely, kept well to -seaward, and but few fishing boats were in sight. The only sail -noticeable was a foreign schooner with all sails set, which was -seemingly going westwards. The foolhardiness or ignorance of her -officers was a prolific theme for comment whilst she remained in -sight, and efforts were made to signal her to reduce sail in the -face of her danger. Before the night shut down she was seen with -sails idly flapping as she gently rolled on the undulating swell of -the sea. - -"As idle as a painted ship upon a painted ocean." - -Shortly before ten o'clock the stillness of the air grew quite -oppressive, and the silence was so marked that the bleating of a -sheep inland or the barking of a dog in the town was distinctly -heard, and the band on the pier, with its lively French air, was -like a dischord in the great harmony of nature's silence. A little -after midnight came a strange sound from over the sea, and high -overhead the air began to carry a strange, faint, hollow booming. - -Then without warning the tempest broke. With a rapidity which, at -the time, seemed incredible, and even afterwards is impossible to -realize, the whole aspect of nature at once became convulsed. The -waves rose in growing fury, each over-topping its fellow, till in a -very few minutes the lately glassy sea was like a roaring and -devouring monster. White-crested waves beat madly on the level -sands and rushed up the shelving cliffs. Others broke over the -piers, and with their spume swept the lanthorns of the lighthouses -which rise from the end of either pier of Whitby Harbour. - -The wind roared like thunder, and blew with such force that it was -with difficulty that even strong men kept their feet, or clung with -grim clasp to the iron stanchions. It was found necessary to clear -the entire pier from the mass of onlookers, or else the fatalities -of the night would have increased manifold. To add to the -difficulties and dangers of the time, masses of sea-fog came -drifting inland. White, wet clouds, which swept by in ghostly -fashion, so dank and damp and cold that it needed but little effort -of imagination to think that the spirits of those lost at sea were -touching their living brethren with the clammy hands of death, and -many a one shuddered as the wreaths of sea-mist swept by. - -At times the mist cleared, and the sea for some distance could be -seen in the glare of the lightning, which came thick and fast, -followed by such peals of thunder that the whole sky overhead seemed -trembling under the shock of the footsteps of the storm. - -Some of the scenes thus revealed were of immeasurable grandeur and -of absorbing interest. The sea, running mountains high, threw -skywards with each wave mighty masses of white foam, which the -tempest seemed to snatch at and whirl away into space. Here and -there a fishing boat, with a rag of sail, running madly for shelter -before the blast, now and again the white wings of a storm-tossed -seabird. On the summit of the East Cliff the new searchlight was -ready for experiment, but had not yet been tried. The officers in -charge of it got it into working order, and in the pauses of -onrushing mist swept with it the surface of the sea. Once or twice -its service was most effective, as when a fishing boat, with gunwale -under water, rushed into the harbour, able, by the guidance of the -sheltering light, to avoid the danger of dashing against the piers. -As each boat achieved the safety of the port there was a shout of -joy from the mass of people on the shore, a shout which for a moment -seemed to cleave the gale and was then swept away in its rush. - -Before long the searchlight discovered some distance away a schooner -with all sails set, apparently the same vessel which had been -noticed earlier in the evening. The wind had by this time backed to -the east, and there was a shudder amongst the watchers on the cliff -as they realized the terrible danger in which she now was. - -Between her and the port lay the great flat reef on which so many -good ships have from time to time suffered, and, with the wind -blowing from its present quarter, it would be quite impossible that -she should fetch the entrance of the harbour. - -It was now nearly the hour of high tide, but the waves were so great -that in their troughs the shallows of the shore were almost visible, -and the schooner, with all sails set, was rushing with such speed -that, in the words of one old salt, "she must fetch up somewhere, if -it was only in hell". Then came another rush of sea-fog, greater -than any hitherto, a mass of dank mist, which seemed to close on all -things like a gray pall, and left available to men only the organ of -hearing, for the roar of the tempest, and the crash of the thunder, -and the booming of the mighty billows came through the damp oblivion -even louder than before. The rays of the searchlight were kept fixed -on the harbour mouth across the East Pier, where the shock was -expected, and men waited breathless. - -The wind suddenly shifted to the northeast, and the remnant of the -sea fog melted in the blast. And then, mirabile dictu, between the -piers, leaping from wave to wave as it rushed at headlong speed, -swept the strange schooner before the blast, with all sail set, and -gained the safety of the harbour. The searchlight followed her, and -a shudder ran through all who saw her, for lashed to the helm was a -corpse, with drooping head, which swung horribly to and fro at each -motion of the ship. No other form could be seen on the deck at all. - -A great awe came on all as they realised that the ship, as if by a -miracle, had found the harbour, unsteered save by the hand of a dead -man! However, all took place more quickly than it takes to write -these words. The schooner paused not, but rushing across the -harbour, pitched herself on that accumulation of sand and gravel -washed by many tides and many storms into the southeast corner of -the pier jutting under the East Cliff, known locally as Tate Hill -Pier. - -There was of course a considerable concussion as the vessel drove up -on the sand heap. Every spar, rope, and stay was strained, and some -of the 'top-hammer' came crashing down. But, strangest of all, the -very instant the shore was touched, an immense dog sprang up on deck -from below, as if shot up by the concussion, and running forward, -jumped from the bow on the sand. - -Making straight for the steep cliff, where the churchyard hangs over -the laneway to the East Pier so steeply that some of the flat -tombstones, thruffsteans or through-stones, as they call them in -Whitby vernacular, actually project over where the sustaining cliff -has fallen away, it disappeared in the darkness, which seemed -intensified just beyond the focus of the searchlight. - -It so happened that there was no one at the moment on Tate Hill -Pier, as all those whose houses are in close proximity were either -in bed or were out on the heights above. Thus the coastguard on -duty on the eastern side of the harbour, who at once ran down to the -little pier, was the first to climb aboard. The men working the -searchlight, after scouring the entrance of the harbour without -seeing anything, then turned the light on the derelict and kept it -there. The coastguard ran aft, and when he came beside the wheel, -bent over to examine it, and recoiled at once as though under some -sudden emotion. This seemed to pique general curiosity, and quite a -number of people began to run. - -It is a good way round from the West Cliff by the Draw-bridge to -Tate Hill Pier, but your correspondent is a fairly good runner, and -came well ahead of the crowd. When I arrived, however, I found -already assembled on the pier a crowd, whom the coastguard and -police refused to allow to come on board. By the courtesy of the -chief boatman, I was, as your correspondent, permitted to climb on -deck, and was one of a small group who saw the dead seaman whilst -actually lashed to the wheel. - -It was no wonder that the coastguard was surprised, or even awed, -for not often can such a sight have been seen. The man was simply -fastened by his hands, tied one over the other, to a spoke of the -wheel. Between the inner hand and the wood was a crucifix, the set -of beads on which it was fastened being around both wrists and -wheel, and all kept fast by the binding cords. The poor fellow may -have been seated at one time, but the flapping and buffeting of the -sails had worked through the rudder of the wheel and had dragged him -to and fro, so that the cords with which he was tied had cut the -flesh to the bone. - -Accurate note was made of the state of things, and a doctor, Surgeon -J. M. Caffyn, of 33, East Elliot Place, who came immediately after -me, declared, after making examination, that the man must have been -dead for quite two days. - -In his pocket was a bottle, carefully corked, empty save for -a little roll of paper, which proved to be the addendum to -the log. - -The coastguard said the man must have tied up his own hands, -fastening the knots with his teeth. The fact that a coastguard was -the first on board may save some complications later on, in the -Admiralty Court, for coastguards cannot claim the salvage which is -the right of the first civilian entering on a derelict. Already, -however, the legal tongues are wagging, and one young law student is -loudly asserting that the rights of the owner are already completely -sacrificed, his property being held in contravention of the statues -of mortmain, since the tiller, as emblemship, if not proof, of -delegated possession, is held in a dead hand. - -It is needless to say that the dead steersman has been reverently -removed from the place where he held his honourable watch and ward -till death, a steadfastness as noble as that of the young -Casabianca, and placed in the mortuary to await inquest. - -Already the sudden storm is passing, and its fierceness is -abating. Crowds are scattering backward, and the sky is -beginning to redden over the Yorkshire wolds. - -I shall send, in time for your next issue, further details -of the derelict ship which found her way so miraculously -into harbour in the storm. - - -9 August.--The sequel to the strange arrival of the derelict in the -storm last night is almost more startling than the thing itself. It -turns out that the schooner is Russian from Varna, and is called the -Demeter. She is almost entirely in ballast of silver sand, with -only a small amount of cargo, a number of great wooden boxes filled -with mould. - -This cargo was consigned to a Whitby solicitor, Mr. S.F. Billington, -of 7, The Crescent, who this morning went aboard and took formal -possession of the goods consigned to him. - -The Russian consul, too, acting for the charter-party, took formal -possession of the ship, and paid all harbour dues, etc. - -Nothing is talked about here today except the strange coincidence. -The officials of the Board of Trade have been most exacting in -seeing that every compliance has been made with existing -regulations. As the matter is to be a 'nine days wonder', they are -evidently determined that there shall be no cause of other -complaint. - -A good deal of interest was abroad concerning the dog which landed -when the ship struck, and more than a few of the members of the -S.P.C.A., which is very strong in Whitby, have tried to befriend the -animal. To the general disappointment, however, it was not to be -found. It seems to have disappeared entirely from the town. It may -be that it was frightened and made its way on to the moors, where it -is still hiding in terror. - -There are some who look with dread on such a possibility, lest later -on it should in itself become a danger, for it is evidently a fierce -brute. Early this morning a large dog, a half-bred mastiff -belonging to a coal merchant close to Tate Hill Pier, was found dead -in the roadway opposite its master's yard. It had been fighting, -and manifestly had had a savage opponent, for its throat was torn -away, and its belly was slit open as if with a savage claw. - -Later.--By the kindness of the Board of Trade inspector, I have been -permitted to look over the log book of the Demeter, which was in -order up to within three days, but contained nothing of special -interest except as to facts of missing men. The greatest interest, -however, is with regard to the paper found in the bottle, which was -today produced at the inquest. And a more strange narrative than -the two between them unfold it has not been my lot to come across. - -As there is no motive for concealment, I am permitted to use them, -and accordingly send you a transcript, simply omitting technical -details of seamanship and supercargo. It almost seems as though the -captain had been seized with some kind of mania before he had got -well into blue water, and that this had developed persistently -throughout the voyage. Of course my statement must be taken cum -grano, since I am writing from the dictation of a clerk of the -Russian consul, who kindly translated for me, time being short. - - - - LOG OF THE "DEMETER" Varna to Whitby - - - Written 18 July, things so strange happening, that I shall - keep accurate note henceforth till we land. - - - On 6 July we finished taking in cargo, silver sand and boxes - of earth. At noon set sail. East wind, fresh. Crew, five - hands . . . two mates, cook, and myself, (captain). - - - On 11 July at dawn entered Bosphorus. Boarded by Turkish - Customs officers. Backsheesh. All correct. Under way at - 4 p.m. - - - On 12 July through Dardanelles. More Customs officers and - flagboat of guarding squadron. Backsheesh again. Work of - officers thorough, but quick. Want us off soon. At dark - passed into Archipelago. - - - On 13 July passed Cape Matapan. Crew dissatisfied about - something. Seemed scared, but would not speak out. - - - On 14 July was somewhat anxious about crew. Men all steady - fellows, who sailed with me before. Mate could not make out what - was wrong. They only told him there was SOMETHING, and crossed - themselves. Mate lost temper with one of them that day and struck - him. Expected fierce quarrel, but all was quiet. - - - On 16 July mate reported in the morning that one of the - crew, Petrofsky, was missing. Could not account for it. - Took larboard watch eight bells last night, was relieved by - Amramoff, but did not go to bunk. Men more downcast than - ever. All said they expected something of the kind, but - would not say more than there was SOMETHING aboard. Mate - getting very impatient with them. Feared some trouble - ahead. - - - On 17 July, yesterday, one of the men, Olgaren, came to my cabin, - and in an awestruck way confided to me that he thought there was a - strange man aboard the ship. He said that in his watch he had - been sheltering behind the deckhouse, as there was a rain storm, - when he saw a tall, thin man, who was not like any of the crew, - come up the companionway, and go along the deck forward and - disappear. He followed cautiously, but when he got to bows found - no one, and the hatchways were all closed. He was in a panic of - superstitious fear, and I am afraid the panic may spread. To - allay it, I shall today search the entire ship carefully from stem - to stern. - - - Later in the day I got together the whole crew, and told them, as - they evidently thought there was some one in the ship, we would - search from stem to stern. First mate angry, said it was folly, - and to yield to such foolish ideas would demoralise the men, said - he would engage to keep them out of trouble with the handspike. I - let him take the helm, while the rest began a thorough search, all - keeping abreast, with lanterns. We left no corner unsearched. As - there were only the big wooden boxes, there were no odd corners - where a man could hide. Men much relieved when search over, and - went back to work cheerfully. First mate scowled, but said - nothing. - - - 22 July.--Rough weather last three days, and all hands busy - with sails, no time to be frightened. Men seem to have - forgotten their dread. Mate cheerful again, and all on - good terms. Praised men for work in bad weather. Passed - Gibraltar and out through Straits. All well. - - - 24 July.--There seems some doom over this ship. Already a hand - short, and entering the Bay of Biscay with wild weather ahead, and - yet last night another man lost, disappeared. Like the first, he - came off his watch and was not seen again. Men all in a panic of - fear, sent a round robin, asking to have double watch, as they - fear to be alone. Mate angry. Fear there will be some trouble, - as either he or the men will do some violence. - - - 28 July.--Four days in hell, knocking about in a sort of - maelstrom, and the wind a tempest. No sleep for any one. - Men all worn out. Hardly know how to set a watch, since no - one fit to go on. Second mate volunteered to steer and - watch, and let men snatch a few hours sleep. Wind abating, - seas still terrific, but feel them less, as ship is - steadier. - - - 29 July.--Another tragedy. Had single watch tonight, as crew too - tired to double. When morning watch came on deck could find no - one except steersman. Raised outcry, and all came on deck. - Thorough search, but no one found. Are now without second mate, - and crew in a panic. Mate and I agreed to go armed henceforth and - wait for any sign of cause. - - - 30 July.--Last night. Rejoiced we are nearing England. Weather - fine, all sails set. Retired worn out, slept soundly, awakened by - mate telling me that both man of watch and steersman missing. - Only self and mate and two hands left to work ship. - - 1 August.--Two days of fog, and not a sail sighted. Had hoped - when in the English Channel to be able to signal for help or get - in somewhere. Not having power to work sails, have to run before - wind. Dare not lower, as could not raise them again. We seem to - be drifting to some terrible doom. Mate now more demoralised than - either of men. His stronger nature seems to have worked inwardly - against himself. Men are beyond fear, working stolidly and - patiently, with minds made up to worst. They are Russian, he - Roumanian. - - 2 August, midnight.--Woke up from few minutes sleep by hearing a - cry, seemingly outside my port. Could see nothing in fog. Rushed - on deck, and ran against mate. Tells me he heard cry and ran, but - no sign of man on watch. One more gone. Lord, help us! Mate - says we must be past Straits of Dover, as in a moment of fog - lifting he saw North Foreland, just as he heard the man cry out. - If so we are now off in the North Sea, and only God can guide us - in the fog, which seems to move with us, and God seems to have - deserted us. - - - 3 August.--At midnight I went to relieve the man at the - wheel and when I got to it found no one there. The wind - was steady, and as we ran before it there was no yawing. I - dared not leave it, so shouted for the mate. After a few - seconds, he rushed up on deck in his flannels. He looked - wild-eyed and haggard, and I greatly fear his reason has - given way. He came close to me and whispered hoarsely, - with his mouth to my ear, as though fearing the very air - might hear. "It is here. I know it now. On the watch - last night I saw It, like a man, tall and thin, and ghastly - pale. It was in the bows, and looking out. I crept behind - It, and gave it my knife, but the knife went through It, - empty as the air." And as he spoke he took the knife and - drove it savagely into space. Then he went on, "But It is - here, and I'll find It. It is in the hold, perhaps in one - of those boxes. I'll unscrew them one by one and see. You - work the helm." And with a warning look and his finger on - his lip, he went below. There was springing up a choppy - wind, and I could not leave the helm. I saw him come out - on deck again with a tool chest and lantern, and go down - the forward hatchway. He is mad, stark, raving mad, and - it's no use my trying to stop him. He can't hurt those big - boxes, they are invoiced as clay, and to pull them about is - as harmless a thing as he can do. So here I stay and mind - the helm, and write these notes. I can only trust in God - and wait till the fog clears. Then, if I can't steer to - any harbour with the wind that is, I shall cut down sails, - and lie by, and signal for help . . . - - It is nearly all over now. Just as I was beginning to hope - that the mate would come out calmer, for I heard him - knocking away at something in the hold, and work is good - for him, there came up the hatchway a sudden, startled - scream, which made my blood run cold, and up on the deck he - came as if shot from a gun, a raging madman, with his eyes - rolling and his face convulsed with fear. "Save me! Save - me!" he cried, and then looked round on the blanket of fog. - His horror turned to despair, and in a steady voice he - said, "You had better come too, captain, before it is too - late. He is there! I know the secret now. The sea will - save me from Him, and it is all that is left!" Before I - could say a word, or move forward to seize him, he sprang - on the bulwark and deliberately threw himself into the sea. - I suppose I know the secret too, now. It was this madman - who had got rid of the men one by one, and now he has - followed them himself. God help me! How am I to account - for all these horrors when I get to port? When I get to - port! Will that ever be? - - - 4 August.--Still fog, which the sunrise cannot pierce, I - know there is sunrise because I am a sailor, why else I - know not. I dared not go below, I dared not leave the - helm, so here all night I stayed, and in the dimness of the - night I saw it, Him! God, forgive me, but the mate was - right to jump overboard. It was better to die like a man. - To die like a sailor in blue water, no man can object. But - I am captain, and I must not leave my ship. But I shall - baffle this fiend or monster, for I shall tie my hands to - the wheel when my strength begins to fail, and along with - them I shall tie that which He, It, dare not touch. And - then, come good wind or foul, I shall save my soul, and my - honour as a captain. I am growing weaker, and the night is - coming on. If He can look me in the face again, I may not - have time to act. . . If we are wrecked, mayhap this bottle - may be found, and those who find it may understand. If - not . . . well, then all men shall know that I have been - true to my trust. God and the Blessed Virgin and the - Saints help a poor ignorant soul trying to do his duty . . . - - -Of course the verdict was an open one. There is no evidence -to adduce, and whether or not the man himself committed the -murders there is now none to say. The folk here hold almost -universally that the captain is simply a hero, and he is to be -given a public funeral. Already it is arranged that his body -is to be taken with a train of boats up the Esk for a piece -and then brought back to Tate Hill Pier and up the abbey steps, -for he is to be buried in the churchyard on the cliff. The -owners of more than a hundred boats have already given in their -names as wishing to follow him to the grave. - -No trace has ever been found of the great dog, at which there is -much mourning, for, with public opinion in its present state, he -would, I believe, be adopted by the town. Tomorrow will see the -funeral, and so will end this one more 'mystery of the sea'. - - - -MINA MURRAY'S JOURNAL - -8 August.--Lucy was very restless all night, and I too, could not -sleep. The storm was fearful, and as it boomed loudly among the -chimney pots, it made me shudder. When a sharp puff came it seemed to -be like a distant gun. Strangely enough, Lucy did not wake, but she -got up twice and dressed herself. Fortunately, each time I awoke in -time and managed to undress her without waking her, and got her back to -bed. It is a very strange thing, this sleep-walking, for as soon as -her will is thwarted in any physical way, her intention, if there be -any, disappears, and she yields herself almost exactly to the routine -of her life. - -Early in the morning we both got up and went down to the harbour to see -if anything had happened in the night. There were very few people -about, and though the sun was bright, and the air clear and fresh, the -big, grim-looking waves, that seemed dark themselves because the foam -that topped them was like snow, forced themselves in through the mouth -of the harbour, like a bullying man going through a crowd. Somehow I -felt glad that Jonathan was not on the sea last night, but on land. -But, oh, is he on land or sea? Where is he, and how? I am getting -fearfully anxious about him. If I only knew what to do, and could do -anything! - - -10 August.--The funeral of the poor sea captain today was most -touching. Every boat in the harbour seemed to be there, and the coffin -was carried by captains all the way from Tate Hill Pier up to the -churchyard. Lucy came with me, and we went early to our old seat, -whilst the cortege of boats went up the river to the Viaduct and came -down again. We had a lovely view, and saw the procession nearly all -the way. The poor fellow was laid to rest near our seat so that we -stood on it, when the time came and saw everything. - -Poor Lucy seemed much upset. She was restless and uneasy all the time, -and I cannot but think that her dreaming at night is telling on her. -She is quite odd in one thing. She will not admit to me that there is -any cause for restlessness, or if there be, she does not understand it -herself. - -There is an additional cause in that poor Mr. Swales was found dead -this morning on our seat, his neck being broken. He had evidently, as -the doctor said, fallen back in the seat in some sort of fright, for -there was a look of fear and horror on his face that the men said made -them shudder. Poor dear old man! - -Lucy is so sweet and sensitive that she feels influences more acutely -than other people do. Just now she was quite upset by a little thing -which I did not much heed, though I am myself very fond of animals. - -One of the men who came up here often to look for the boats was -followed by his dog. The dog is always with him. They are both quiet -persons, and I never saw the man angry, nor heard the dog bark. During -the service the dog would not come to its master, who was on the seat -with us, but kept a few yards off, barking and howling. Its master -spoke to it gently, and then harshly, and then angrily. But it would -neither come nor cease to make a noise. It was in a fury, with its -eyes savage, and all its hair bristling out like a cat's tail when puss -is on the war path. - -Finally the man too got angry, and jumped down and kicked the dog, and -then took it by the scruff of the neck and half dragged and half threw -it on the tombstone on which the seat is fixed. The moment it touched -the stone the poor thing began to tremble. It did not try to get away, -but crouched down, quivering and cowering, and was in such a pitiable -state of terror that I tried, though without effect, to comfort it. - -Lucy was full of pity, too, but she did not attempt to touch the dog, -but looked at it in an agonised sort of way. I greatly fear that she -is of too super sensitive a nature to go through the world without -trouble. She will be dreaming of this tonight, I am sure. The whole -agglomeration of things, the ship steered into port by a dead man, his -attitude, tied to the wheel with a crucifix and beads, the touching -funeral, the dog, now furious and now in terror, will all afford -material for her dreams. - -I think it will be best for her to go to bed tired out physically, so I -shall take her for a long walk by the cliffs to Robin Hood's Bay and -back. She ought not to have much inclination for sleep-walking then. - - - - -CHAPTER 8 - - -MINA MURRAY'S JOURNAL - -Same day, 11 o'clock P.M.--Oh, but I am tired! If it were not that I -had made my diary a duty I should not open it tonight. We had a lovely -walk. Lucy, after a while, was in gay spirits, owing, I think, to some -dear cows who came nosing towards us in a field close to the -lighthouse, and frightened the wits out of us. I believe we forgot -everything, except of course, personal fear, and it seemed to wipe the -slate clean and give us a fresh start. We had a capital 'severe tea' -at Robin Hood's Bay in a sweet little old-fashioned inn, with a bow -window right over the seaweed-covered rocks of the strand. I believe -we should have shocked the 'New Woman' with our appetites. Men are -more tolerant, bless them! Then we walked home with some, or rather -many, stoppages to rest, and with our hearts full of a constant dread -of wild bulls. - -Lucy was really tired, and we intended to creep off to bed as soon as -we could. The young curate came in, however, and Mrs. Westenra asked -him to stay for supper. Lucy and I had both a fight for it with the -dusty miller. I know it was a hard fight on my part, and I am quite -heroic. I think that some day the bishops must get together and see -about breeding up a new class of curates, who don't take supper, no -matter how hard they may be pressed to, and who will know when girls -are tired. - -Lucy is asleep and breathing softly. She has more colour in her cheeks -than usual, and looks, oh so sweet. If Mr. Holmwood fell in love with -her seeing her only in the drawing room, I wonder what he would say if -he saw her now. Some of the 'New Women' writers will some day start an -idea that men and women should be allowed to see each other asleep -before proposing or accepting. But I suppose the 'New Woman' won't -condescend in future to accept. She will do the proposing herself. And -a nice job she will make of it too! There's some consolation in that. -I am so happy tonight, because dear Lucy seems better. I really -believe she has turned the corner, and that we are over her troubles -with dreaming. I should be quite happy if I only knew if Jonathan . . . -God bless and keep him. - - -11 August.--Diary again. No sleep now, so I may as well write. I am -too agitated to sleep. We have had such an adventure, such an -agonizing experience. I fell asleep as soon as I had closed my diary. -. . . Suddenly I became broad awake, and sat up, with a horrible sense -of fear upon me, and of some feeling of emptiness around me. The room -was dark, so I could not see Lucy's bed. I stole across and felt for -her. The bed was empty. I lit a match and found that she was not in -the room. The door was shut, but not locked, as I had left it. I feared -to wake her mother, who has been more than usually ill lately, so threw -on some clothes and got ready to look for her. As I was leaving the -room it struck me that the clothes she wore might give me some clue to -her dreaming intention. Dressing-gown would mean house, dress outside. -Dressing-gown and dress were both in their places. "Thank God," I said -to myself, "she cannot be far, as she is only in her nightdress." - -I ran downstairs and looked in the sitting room. Not there! Then I -looked in all the other rooms of the house, with an ever-growing fear -chilling my heart. Finally, I came to the hall door and found it open. -It was not wide open, but the catch of the lock had not caught. The -people of the house are careful to lock the door every night, so I -feared that Lucy must have gone out as she was. There was no time to -think of what might happen. A vague over-mastering fear obscured all -details. - -I took a big, heavy shawl and ran out. The clock was striking one as I -was in the Crescent, and there was not a soul in sight. I ran along -the North Terrace, but could see no sign of the white figure which I -expected. At the edge of the West Cliff above the pier I looked across -the harbour to the East Cliff, in the hope or fear, I don't know which, -of seeing Lucy in our favourite seat. - -There was a bright full moon, with heavy black, driving clouds, which -threw the whole scene into a fleeting diorama of light and shade as -they sailed across. For a moment or two I could see nothing, as the -shadow of a cloud obscured St. Mary's Church and all around it. Then -as the cloud passed I could see the ruins of the abbey coming into -view, and as the edge of a narrow band of light as sharp as a sword-cut -moved along, the church and churchyard became gradually visible. -Whatever my expectation was, it was not disappointed, for there, on our -favourite seat, the silver light of the moon struck a half-reclining -figure, snowy white. The coming of the cloud was too quick for me to -see much, for shadow shut down on light almost immediately, but it -seemed to me as though something dark stood behind the seat where the -white figure shone, and bent over it. What it was, whether man or -beast, I could not tell. - -I did not wait to catch another glance, but flew down the steep steps -to the pier and along by the fish-market to the bridge, which was the -only way to reach the East Cliff. The town seemed as dead, for not a -soul did I see. I rejoiced that it was so, for I wanted no witness of -poor Lucy's condition. The time and distance seemed endless, and my -knees trembled and my breath came laboured as I toiled up the endless -steps to the abbey. I must have gone fast, and yet it seemed to me as -if my feet were weighted with lead, and as though every joint in my -body were rusty. - -When I got almost to the top I could see the seat and the white figure, -for I was now close enough to distinguish it even through the spells of -shadow. There was undoubtedly something, long and black, bending over -the half-reclining white figure. I called in fright, "Lucy! Lucy!" -and something raised a head, and from where I was I could see a white -face and red, gleaming eyes. - -Lucy did not answer, and I ran on to the entrance of the churchyard. -As I entered, the church was between me and the seat, and for a minute -or so I lost sight of her. When I came in view again the cloud had -passed, and the moonlight struck so brilliantly that I could see Lucy -half reclining with her head lying over the back of the seat. She was -quite alone, and there was not a sign of any living thing about. - -When I bent over her I could see that she was still asleep. Her lips -were parted, and she was breathing, not softly as usual with her, but -in long, heavy gasps, as though striving to get her lungs full at every -breath. As I came close, she put up her hand in her sleep and pulled -the collar of her nightdress close around her, as though she felt the -cold. I flung the warm shawl over her, and drew the edges tight around -her neck, for I dreaded lest she should get some deadly chill from the -night air, unclad as she was. I feared to wake her all at once, so, in -order to have my hands free to help her, I fastened the shawl at her -throat with a big safety pin. But I must have been clumsy in my -anxiety and pinched or pricked her with it, for by-and-by, when her -breathing became quieter, she put her hand to her throat again and -moaned. When I had her carefully wrapped up I put my shoes on her -feet, and then began very gently to wake her. - -At first she did not respond, but gradually she became more and more -uneasy in her sleep, moaning and sighing occasionally. At last, as -time was passing fast, and for many other reasons, I wished to get her -home at once, I shook her forcibly, till finally she opened her eyes -and awoke. She did not seem surprised to see me, as, of course, she -did not realize all at once where she was. - -Lucy always wakes prettily, and even at such a time, when her body must -have been chilled with cold, and her mind somewhat appalled at waking -unclad in a churchyard at night, she did not lose her grace. She -trembled a little, and clung to me. When I told her to come at once -with me home, she rose without a word, with the obedience of a child. -As we passed along, the gravel hurt my feet, and Lucy noticed me wince. -She stopped and wanted to insist upon my taking my shoes, but I would -not. However, when we got to the pathway outside the chruchyard, where -there was a puddle of water, remaining from the storm, I daubed my feet -with mud, using each foot in turn on the other, so that as we went -home, no one, in case we should meet any one, should notice my bare -feet. - -Fortune favoured us, and we got home without meeting a soul. Once we -saw a man, who seemed not quite sober, passing along a street in front -of us. But we hid in a door till he had disappeared up an opening such -as there are here, steep little closes, or 'wynds', as they call them -in Scotland. My heart beat so loud all the time sometimes I thought I -should faint. I was filled with anxiety about Lucy, not only for her -health, lest she should suffer from the exposure, but for her -reputation in case the story should get wind. When we got in, and had -washed our feet, and had said a prayer of thankfulness together, I -tucked her into bed. Before falling asleep she asked, even implored, -me not to say a word to any one, even her mother, about her -sleep-walking adventure. - -I hesitated at first, to promise, but on thinking of the state of her -mother's health, and how the knowledge of such a thing would fret her, -and think too, of how such a story might become distorted, nay, -infallibly would, in case it should leak out, I thought it wiser to do -so. I hope I did right. I have locked the door, and the key is tied -to my wrist, so perhaps I shall not be again disturbed. Lucy is -sleeping soundly. The reflex of the dawn is high and far over the -sea . . . - - -Same day, noon.--All goes well. Lucy slept till I woke her and seemed -not to have even changed her side. The adventure of the night does not -seem to have harmed her, on the contrary, it has benefited her, for she -looks better this morning than she has done for weeks. I was sorry to -notice that my clumsiness with the safety-pin hurt her. Indeed, it -might have been serious, for the skin of her throat was pierced. I -must have pinched up a piece of loose skin and have transfixed it, for -there are two little red points like pin-pricks, and on the band of her -nightdress was a drop of blood. When I apologised and was concerned -about it, she laughed and petted me, and said she did not even feel it. -Fortunately it cannot leave a scar, as it is so tiny. - - -Same day, night.--We passed a happy day. The air was clear, and the -sun bright, and there was a cool breeze. We took our lunch to Mulgrave -Woods, Mrs. Westenra driving by the road and Lucy and I walking by the -cliff-path and joining her at the gate. I felt a little sad myself, -for I could not but feel how absolutely happy it would have been had -Jonathan been with me. But there! I must only be patient. In the -evening we strolled in the Casino Terrace, and heard some good music by -Spohr and Mackenzie, and went to bed early. Lucy seems more restful -than she has been for some time, and fell asleep at once. I shall lock -the door and secure the key the same as before, though I do not expect -any trouble tonight. - - -12 August.--My expectations were wrong, for twice during the night I -was wakened by Lucy trying to get out. She seemed, even in her sleep, -to be a little impatient at finding the door shut, and went back to bed -under a sort of protest. I woke with the dawn, and heard the birds -chirping outside of the window. Lucy woke, too, and I was glad to see, -was even better than on the previous morning. All her old gaiety of -manner seemed to have come back, and she came and snuggled in beside me -and told me all about Arthur. I told her how anxious I was about -Jonathan, and then she tried to comfort me. Well, she succeeded -somewhat, for, though sympathy can't alter facts, it can make them more -bearable. - - -13 August.--Another quiet day, and to bed with the key on my wrist as -before. Again I awoke in the night, and found Lucy sitting up in bed, -still asleep, pointing to the window. I got up quietly, and pulling -aside the blind, looked out. It was brilliant moonlight, and the soft -effect of the light over the sea and sky, merged together in one great -silent mystery, was beautiful beyond words. Between me and the -moonlight flitted a great bat, coming and going in great whirling -circles. Once or twice it came quite close, but was, I suppose, -frightened at seeing me, and flitted away across the harbour towards -the abbey. When I came back from the window Lucy had lain down again, -and was sleeping peacefully. She did not stir again all night. - - -14 August.--On the East Cliff, reading and writing all day. Lucy seems -to have become as much in love with the spot as I am, and it is hard to -get her away from it when it is time to come home for lunch or tea or -dinner. This afternoon she made a funny remark. We were coming home -for dinner, and had come to the top of the steps up from the West Pier -and stopped to look at the view, as we generally do. The setting sun, -low down in the sky, was just dropping behind Kettleness. The red -light was thrown over on the East Cliff and the old abbey, and seemed -to bathe everything in a beautiful rosy glow. We were silent for a -while, and suddenly Lucy murmured as if to herself . . . - -"His red eyes again! They are just the same." It was such an odd -expression, coming apropos of nothing, that it quite startled me. I -slewed round a little, so as to see Lucy well without seeming to stare -at her, and saw that she was in a half dreamy state, with an odd look -on her face that I could not quite make out, so I said nothing, but -followed her eyes. She appeared to be looking over at our own seat, -whereon was a dark figure seated alone. I was quite a little startled -myself, for it seemed for an instant as if the stranger had great eyes -like burning flames, but a second look dispelled the illusion. The red -sunlight was shining on the windows of St. Mary's Church behind our -seat, and as the sun dipped there was just sufficient change in the -refraction and reflection to make it appear as if the light moved. I -called Lucy's attention to the peculiar effect, and she became herself -with a start, but she looked sad all the same. It may have been that -she was thinking of that terrible night up there. We never refer to -it, so I said nothing, and we went home to dinner. Lucy had a headache -and went early to bed. I saw her asleep, and went out for a little -stroll myself. - -I walked along the cliffs to the westward, and was full of sweet -sadness, for I was thinking of Jonathan. When coming home, it was then -bright moonlight, so bright that, though the front of our part of the -Crescent was in shadow, everything could be well seen, I threw a glance -up at our window, and saw Lucy's head leaning out. I opened my -handkerchief and waved it. She did not notice or make any movement -whatever. Just then, the moonlight crept round an angle of the -building, and the light fell on the window. There distinctly was Lucy -with her head lying up against the side of the window sill and her eyes -shut. She was fast asleep, and by her, seated on the window sill, was -something that looked like a good-sized bird. I was afraid she might -get a chill, so I ran upstairs, but as I came into the room she was -moving back to her bed, fast asleep, and breathing heavily. She was -holding her hand to her throat, as though to protect if from the cold. - -I did not wake her, but tucked her up warmly. I have taken care that -the door is locked and the window securely fastened. - -She looks so sweet as she sleeps, but she is paler than is her wont, -and there is a drawn, haggard look under her eyes which I do not like. -I fear she is fretting about something. I wish I could find out what it -is. - - -15 August.--Rose later than usual. Lucy was languid and tired, and -slept on after we had been called. We had a happy surprise at -breakfast. Arthur's father is better, and wants the marriage to come -off soon. Lucy is full of quiet joy, and her mother is glad and sorry -at once. Later on in the day she told me the cause. She is grieved to -lose Lucy as her very own, but she is rejoiced that she is soon to have -some one to protect her. Poor dear, sweet lady! She confided to me -that she has got her death warrant. She has not told Lucy, and made me -promise secrecy. Her doctor told her that within a few months, at -most, she must die, for her heart is weakening. At any time, even now, -a sudden shock would be almost sure to kill her. Ah, we were wise to -keep from her the affair of the dreadful night of Lucy's sleep-walking. - - -17 August.--No diary for two whole days. I have not had the heart to -write. Some sort of shadowy pall seems to be coming over our -happiness. No news from Jonathan, and Lucy seems to be growing weaker, -whilst her mother's hours are numbering to a close. I do not -understand Lucy's fading away as she is doing. She eats well and -sleeps well, and enjoys the fresh air, but all the time the roses in -her cheeks are fading, and she gets weaker and more languid day by day. -At night I hear her gasping as if for air. - -I keep the key of our door always fastened to my wrist at night, but -she gets up and walks about the room, and sits at the open window. -Last night I found her leaning out when I woke up, and when I tried to -wake her I could not. - -She was in a faint. When I managed to restore her, she was weak as -water, and cried silently between long, painful struggles for breath. -When I asked her how she came to be at the window she shook her head -and turned away. - -I trust her feeling ill may not be from that unlucky prick of the -safety-pin. I looked at her throat just now as she lay asleep, and the -tiny wounds seem not to have healed. They are still open, and, if -anything, larger than before, and the edges of them are faintly white. -They are like little white dots with red centres. Unless they heal -within a day or two, I shall insist on the doctor seeing about them. - - - -LETTER, SAMUEL F. BILLINGTON & SON, SOLICITORS WHITBY, -TO MESSRS. CARTER, PATERSON & CO., LONDON. - -17 August - -"Dear Sirs,--Herewith please receive invoice of goods sent by Great -Northern Railway. Same are to be delivered at Carfax, near -Purfleet, immediately on receipt at goods station King's Cross. The -house is at present empty, but enclosed please find keys, all of -which are labelled. - -"You will please deposit the boxes, fifty in number, which form the -consignment, in the partially ruined building forming part of the -house and marked 'A' on rough diagrams enclosed. Your agent will -easily recognize the locality, as it is the ancient chapel of the -mansion. The goods leave by the train at 9:30 tonight, and will be -due at King's Cross at 4:30 tomorrow afternoon. As our client -wishes the delivery made as soon as possible, we shall be obliged by -your having teams ready at King's Cross at the time named and -forthwith conveying the goods to destination. In order to obviate -any delays possible through any routine requirements as to payment -in your departments, we enclose cheque herewith for ten pounds, -receipt of which please acknowledge. Should the charge be less than -this amount, you can return balance, if greater, we shall at once -send cheque for difference on hearing from you. You are to leave -the keys on coming away in the main hall of the house, where the -proprietor may get them on his entering the house by means of his -duplicate key. - -"Pray do not take us as exceeding the bounds of business courtesy -in pressing you in all ways to use the utmost expedition. - -"We are, dear Sirs, -Faithfully yours, -SAMUEL F. BILLINGTON & SON" - - - -LETTER, MESSRS. CARTER, PATERSON & CO., LONDON, -TO MESSRS. BILLINGTON & SON, WHITBY. - -21 August. - -"Dear Sirs,--We beg to acknowledge 10 pounds received and to return -cheque of 1 pound, 17s, 9d, amount of overplus, as shown in -receipted account herewith. Goods are delivered in exact accordance -with instructions, and keys left in parcel in main hall, as -directed. - -"We are, dear Sirs, -Yours respectfully, -Pro CARTER, PATERSON & CO." - - - -MINA MURRAY'S JOURNAL. - -18 August.--I am happy today, and write sitting on the seat in the -churchyard. Lucy is ever so much better. Last night she slept well -all night, and did not disturb me once. - -The roses seem coming back already to her cheeks, though she is still -sadly pale and wan-looking. If she were in any way anemic I could -understand it, but she is not. She is in gay spirits and full of life -and cheerfulness. All the morbid reticence seems to have passed from -her, and she has just reminded me, as if I needed any reminding, of -that night, and that it was here, on this very seat, I found her -asleep. - -As she told me she tapped playfully with the heel of her boot on the -stone slab and said, - -"My poor little feet didn't make much noise then! I daresay poor old -Mr. Swales would have told me that it was because I didn't want to wake -up Geordie." - -As she was in such a communicative humour, I asked her if she had -dreamed at all that night. - -Before she answered, that sweet, puckered look came into her forehead, -which Arthur, I call him Arthur from her habit, says he loves, and -indeed, I don't wonder that he does. Then she went on in a -half-dreaming kind of way, as if trying to recall it to herself. - -"I didn't quite dream, but it all seemed to be real. I only wanted to -be here in this spot. I don't know why, for I was afraid of something, -I don't know what. I remember, though I suppose I was asleep, passing -through the streets and over the bridge. A fish leaped as I went by, -and I leaned over to look at it, and I heard a lot of dogs howling. The -whole town seemed as if it must be full of dogs all howling at once, as -I went up the steps. Then I had a vague memory of something long and -dark with red eyes, just as we saw in the sunset, and something very -sweet and very bitter all around me at once. And then I seemed sinking -into deep green water, and there was a singing in my ears, as I have -heard there is to drowning men, and then everything seemed passing away -from me. My soul seemed to go out from my body and float about the -air. I seem to remember that once the West Lighthouse was right under -me, and then there was a sort of agonizing feeling, as if I were in an -earthquake, and I came back and found you shaking my body. I saw you -do it before I felt you." - -Then she began to laugh. It seemed a little uncanny to me, and I -listened to her breathlessly. I did not quite like it, and thought it -better not to keep her mind on the subject, so we drifted on to another -subject, and Lucy was like her old self again. When we got home the -fresh breeze had braced her up, and her pale cheeks were really more -rosy. Her mother rejoiced when she saw her, and we all spent a very -happy evening together. - - -19 August.--Joy, joy, joy! Although not all joy. At last, news of -Jonathan. The dear fellow has been ill, that is why he did not write. -I am not afraid to think it or to say it, now that I know. Mr. Hawkins -sent me on the letter, and wrote himself, oh so kindly. I am to leave -in the morning and go over to Jonathan, and to help to nurse him if -necessary, and to bring him home. Mr. Hawkins says it would not be a -bad thing if we were to be married out there. I have cried over the -good Sister's letter till I can feel it wet against my bosom, where it -lies. It is of Jonathan, and must be near my heart, for he is in my -heart. My journey is all mapped out, and my luggage ready. I am only -taking one change of dress. Lucy will bring my trunk to London and -keep it till I send for it, for it may be that . . . I must write no -more. I must keep it to say to Jonathan, my husband. The letter that -he has seen and touched must comfort me till we meet. - - - -LETTER, SISTER AGATHA, HOSPITAL OF ST. JOSEPH AND -STE. MARY BUDA-PESTH, TO MISS WILLHELMINA MURRAY - -12 August, - -"Dear Madam. - -"I write by desire of Mr. Jonathan Harker, who is himself not strong -enough to write, though progressing well, thanks to God and St. -Joseph and Ste. Mary. He has been under our care for nearly six -weeks, suffering from a violent brain fever. He wishes me to convey -his love, and to say that by this post I write for him to Mr. Peter -Hawkins, Exeter, to say, with his dutiful respects, that he is sorry -for his delay, and that all of his work is completed. He will -require some few weeks' rest in our sanatorium in the hills, but -will then return. He wishes me to say that he has not sufficient -money with him, and that he would like to pay for his staying here, -so that others who need shall not be wanting for help. - -"Believe me, - -"Yours, with sympathy -and all blessings. -Sister Agatha - -"P.S.--My patient being asleep, I open this to let you know -something more. He has told me all about you, and that you are -shortly to be his wife. All blessings to you both! He has had some -fearful shock, so says our doctor, and in his delirium his ravings -have been dreadful, of wolves and poison and blood, of ghosts and -demons, and I fear to say of what. Be careful of him always that -there may be nothing to excite him of this kind for a long time to -come. The traces of such an illness as his do not lightly die away. -We should have written long ago, but we knew nothing of his friends, -and there was nothing on him, nothing that anyone could understand. -He came in the train from Klausenburg, and the guard was told by the -station master there that he rushed into the station shouting for a -ticket for home. Seeing from his violent demeanour that he was -English, they gave him a ticket for the furthest station on the way -thither that the train reached. - -"Be assured that he is well cared for. He has won all hearts by his -sweetness and gentleness. He is truly getting on well, and I have -no doubt will in a few weeks be all himself. But be careful of him -for safety's sake. There are, I pray God and St. Joseph and Ste. -Mary, many, many, happy years for you both." - - - -DR. SEWARD'S DIARY - -19 August.--Strange and sudden change in Renfield last night. About -eight o'clock he began to get excited and sniff about as a dog does -when setting. The attendant was struck by his manner, and knowing my -interest in him, encouraged him to talk. He is usually respectful to -the attendant and at times servile, but tonight, the man tells me, he -was quite haughty. Would not condescend to talk with him at all. - -All he would say was, "I don't want to talk to you. You don't count -now. The master is at hand." - -The attendant thinks it is some sudden form of religious mania which -has seized him. If so, we must look out for squalls, for a strong man -with homicidal and religious mania at once might be dangerous. The -combination is a dreadful one. - -At nine o'clock I visited him myself. His attitude to me was the same -as that to the attendant. In his sublime self-feeling the difference -between myself and the attendant seemed to him as nothing. It looks -like religious mania, and he will soon think that he himself is God. - -These infinitesimal distinctions between man and man are too paltry for -an Omnipotent Being. How these madmen give themselves away! The real -God taketh heed lest a sparrow fall. But the God created from human -vanity sees no difference between an eagle and a sparrow. Oh, if men -only knew! - -For half an hour or more Renfield kept getting excited in greater and -greater degree. I did not pretend to be watching him, but I kept -strict observation all the same. All at once that shifty look came -into his eyes which we always see when a madman has seized an idea, and -with it the shifty movement of the head and back which asylum -attendants come to know so well. He became quite quiet, and went and -sat on the edge of his bed resignedly, and looked into space with -lack-luster eyes. - -I thought I would find out if his apathy were real or only assumed, and -tried to lead him to talk of his pets, a theme which had never failed -to excite his attention. - -At first he made no reply, but at length said testily, "Bother them -all! I don't care a pin about them." - -"What?" I said. "You don't mean to tell me you don't care about -spiders?" (Spiders at present are his hobby and the notebook is filling -up with columns of small figures.) - -To this he answered enigmatically, "The Bride maidens rejoice the eyes -that wait the coming of the bride. But when the bride draweth nigh, -then the maidens shine not to the eyes that are filled." - -He would not explain himself, but remained obstinately seated on his -bed all the time I remained with him. - -I am weary tonight and low in spirits. I cannot but think of Lucy, and -how different things might have been. If I don't sleep at once, -chloral, the modern Morpheus! I must be careful not to let it grow -into a habit. No, I shall take none tonight! I have thought of Lucy, -and I shall not dishonour her by mixing the two. If need be, tonight -shall be sleepless. - - -Later.--Glad I made the resolution, gladder that I kept to it. I had -lain tossing about, and had heard the clock strike only twice, when the -night watchman came to me, sent up from the ward, to say that Renfield -had escaped. I threw on my clothes and ran down at once. My patient -is too dangerous a person to be roaming about. Those ideas of his -might work out dangerously with strangers. - -The attendant was waiting for me. He said he had seen him not ten -minutes before, seemingly asleep in his bed, when he had looked through -the observation trap in the door. His attention was called by the -sound of the window being wrenched out. He ran back and saw his feet -disappear through the window, and had at once sent up for me. He was -only in his night gear, and cannot be far off. - -The attendant thought it would be more useful to watch where he should -go than to follow him, as he might lose sight of him whilst getting out -of the building by the door. He is a bulky man, and couldn't get -through the window. - -I am thin, so, with his aid, I got out, but feet foremost, and as we -were only a few feet above ground landed unhurt. - -The attendant told me the patient had gone to the left, and had taken a -straight line, so I ran as quickly as I could. As I got through the -belt of trees I saw a white figure scale the high wall which separates -our grounds from those of the deserted house. - -I ran back at once, told the watchman to get three or four men -immediately and follow me into the grounds of Carfax, in case our -friend might be dangerous. I got a ladder myself, and crossing the -wall, dropped down on the other side. I could see Renfield's figure -just disappearing behind the angle of the house, so I ran after him. On -the far side of the house I found him pressed close against the old -iron-bound oak door of the chapel. - -He was talking, apparently to some one, but I was afraid to go near -enough to hear what he was saying, lest I might frighten him, and he -should run off. - -Chasing an errant swarm of bees is nothing to following a naked -lunatic, when the fit of escaping is upon him! After a few minutes, -however, I could see that he did not take note of anything around him, -and so ventured to draw nearer to him, the more so as my men had now -crossed the wall and were closing him in. I heard him say . . . - -"I am here to do your bidding, Master. I am your slave, and you will -reward me, for I shall be faithful. I have worshipped you long and afar -off. Now that you are near, I await your commands, and you will not -pass me by, will you, dear Master, in your distribution of good -things?" - -He is a selfish old beggar anyhow. He thinks of the loaves and fishes -even when he believes his is in a real Presence. His manias make a -startling combination. When we closed in on him he fought like a -tiger. He is immensely strong, for he was more like a wild beast than -a man. - -I never saw a lunatic in such a paroxysm of rage before, and I hope I -shall not again. It is a mercy that we have found out his strength and -his danger in good time. With strength and determination like his, he -might have done wild work before he was caged. - -He is safe now, at any rate. Jack Sheppard himself couldn't get free -from the strait waistcoat that keeps him restrained, and he's chained -to the wall in the padded room. - -His cries are at times awful, but the silences that follow are more -deadly still, for he means murder in every turn and movement. - -Just now he spoke coherent words for the first time. "I shall be -patient, Master. It is coming, coming, coming!" - -So I took the hint, and came too. I was too excited to sleep, but this -diary has quieted me, and I feel I shall get some sleep tonight. - - - - -CHAPTER 9 - - -LETTER, MINA HARKER TO LUCY WESTENRA - - -Buda-Pesth, 24 August. - -"My dearest Lucy, - -"I know you will be anxious to hear all that has happened -since we parted at the railway station at Whitby. - -"Well, my dear, I got to Hull all right, and caught the boat to -Hamburg, and then the train on here. I feel that I can hardly -recall anything of the journey, except that I knew I was coming to -Jonathan, and that as I should have to do some nursing, I had better -get all the sleep I could. I found my dear one, oh, so thin and -pale and weak-looking. All the resolution has gone out of his dear -eyes, and that quiet dignity which I told you was in his face has -vanished. He is only a wreck of himself, and he does not remember -anything that has happened to him for a long time past. At least, -he wants me to believe so, and I shall never ask. - -"He has had some terrible shock, and I fear it might tax his poor -brain if he were to try to recall it. Sister Agatha, who is a good -creature and a born nurse, tells me that he wanted her to tell me -what they were, but she would only cross herself, and say she would -never tell. That the ravings of the sick were the secrets of God, -and that if a nurse through her vocation should hear them, she -should respect her trust. - -"She is a sweet, good soul, and the next day, when she saw I was -troubled, she opened up the subject my poor dear raved about, added, -'I can tell you this much, my dear. That it was not about anything -which he has done wrong himself, and you, as his wife to be, have no -cause to be concerned. He has not forgotten you or what he owes to -you. His fear was of great and terrible things, which no mortal can -treat of.' - -"I do believe the dear soul thought I might be jealous lest my poor -dear should have fallen in love with any other girl. The idea of my -being jealous about Jonathan! And yet, my dear, let me whisper, I -felt a thrill of joy through me when I knew that no other woman was -a cause for trouble. I am now sitting by his bedside, where I can -see his face while he sleeps. He is waking! - -"When he woke he asked me for his coat, as he wanted to get -something from the pocket. I asked Sister Agatha, and she brought -all his things. I saw amongst them was his notebook, and was -going to ask him to let me look at it, for I knew that I might find -some clue to his trouble, but I suppose he must have seen my wish in -my eyes, for he sent me over to the window, saying he wanted to be -quite alone for a moment. - -"Then he called me back, and he said to me very solemnly, -'Wilhelmina', I knew then that he was in deadly earnest, for he has -never called me by that name since he asked me to marry him, 'You -know, dear, my ideas of the trust between husband and wife. There -should be no secret, no concealment. I have had a great shock, and -when I try to think of what it is I feel my head spin round, and I -do not know if it was real of the dreaming of a madman. You know I -had brain fever, and that is to be mad. The secret is here, and I -do not want to know it. I want to take up my life here, with our -marriage.' For, my dear, we had decided to be married as soon as -the formalities are complete. 'Are you willing, Wilhelmina, to -share my ignorance? Here is the book. Take it and keep it, read it -if you will, but never let me know unless, indeed, some solemn duty -should come upon me to go back to the bitter hours, asleep or awake, -sane or mad, recorded here.' He fell back exhausted, and I put the -book under his pillow, and kissed him. I have asked Sister Agatha -to beg the Superior to let our wedding be this afternoon, and am -waiting her reply . . ." - - -"She has come and told me that the Chaplain of the English mission -church has been sent for. We are to be married in an hour, or as -soon after as Jonathan awakes." - -"Lucy, the time has come and gone. I feel very solemn, but very, -very happy. Jonathan woke a little after the hour, and all was -ready, and he sat up in bed, propped up with pillows. He answered -his 'I will' firmly and strong. I could hardly speak. My heart was -so full that even those words seemed to choke me. - -"The dear sisters were so kind. Please, God, I shall never, never -forget them, nor the grave and sweet responsibilities I have taken -upon me. I must tell you of my wedding present. When the chaplain -and the sisters had left me alone with my husband--oh, Lucy, it is -the first time I have written the words 'my husband'--left me alone -with my husband, I took the book from under his pillow, and wrapped -it up in white paper, and tied it with a little bit of pale blue -ribbon which was round my neck, and sealed it over the knot with -sealing wax, and for my seal I used my wedding ring. Then I kissed -it and showed it to my husband, and told him that I would keep it -so, and then it would be an outward and visible sign for us all our -lives that we trusted each other, that I would never open it unless -it were for his own dear sake or for the sake of some stern duty. -Then he took my hand in his, and oh, Lucy, it was the first time he -took his wife's hand, and said that it was the dearest thing in all -the wide world, and that he would go through all the past again to -win it, if need be. The poor dear meant to have said a part of the -past, but he cannot think of time yet, and I shall not wonder if at -first he mixes up not only the month, but the year. - -"Well, my dear, what could I say? I could only tell him that I was -the happiest woman in all the wide world, and that I had nothing to -give him except myself, my life, and my trust, and that with these -went my love and duty for all the days of my life. And, my dear, -when he kissed me, and drew me to him with his poor weak hands, it -was like a solemn pledge between us. - -"Lucy dear, do you know why I tell you all this? It is not only -because it is all sweet to me, but because you have been, and are, -very dear to me. It was my privilege to be your friend and guide -when you came from the schoolroom to prepare for the world of life. -I want you to see now, and with the eyes of a very happy wife, -whither duty has led me, so that in your own married life you too -may be all happy, as I am. My dear, please Almighty God, your life -may be all it promises, a long day of sunshine, with no harsh wind, -no forgetting duty, no distrust. I must not wish you no pain, for -that can never be, but I do hope you will be always as happy as I am -now. Goodbye, my dear. I shall post this at once, and perhaps, -write you very soon again. I must stop, for Jonathan is waking. I -must attend my husband! - -"Your ever-loving -Mina Harker." - - - -LETTER, LUCY WESTENRA TO MINA HARKER. - -Whitby, 30 August. - -"My dearest Mina, - -"Oceans of love and millions of kisses, and may you soon be in your -own home with your husband. I wish you were coming home soon enough -to stay with us here. The strong air would soon restore Jonathan. -It has quite restored me. I have an appetite like a cormorant, am -full of life, and sleep well. You will be glad to know that I have -quite given up walking in my sleep. I think I have not stirred out -of my bed for a week, that is when I once got into it at night. -Arthur says I am getting fat. By the way, I forgot to tell you that -Arthur is here. We have such walks and drives, and rides, and -rowing, and tennis, and fishing together, and I love him more than -ever. He tells me that he loves me more, but I doubt that, for at -first he told me that he couldn't love me more than he did then. -But this is nonsense. There he is, calling to me. So no more just -at present from your loving, - -"Lucy. - -"P.S.--Mother sends her love. She seems better, poor dear. - -"P.P.S.--We are to be married on 28 September." - - - -DR. SEWARDS DIARY - -20 August.--The case of Renfield grows even more interesting. He has -now so far quieted that there are spells of cessation from his -passion. For the first week after his attack he was perpetually -violent. Then one night, just as the moon rose, he grew quiet, and -kept murmuring to himself. "Now I can wait. Now I can wait." - -The attendant came to tell me, so I ran down at once to have a look at -him. He was still in the strait waistcoat and in the padded room, but -the suffused look had gone from his face, and his eyes had something -of their old pleading. I might almost say, cringing, softness. I was -satisfied with his present condition, and directed him to be relieved. -The attendants hesitated, but finally carried out my wishes without -protest. - -It was a strange thing that the patient had humour enough to see their -distrust, for, coming close to me, he said in a whisper, all the while -looking furtively at them, "They think I could hurt you! Fancy me -hurting you! The fools!" - -It was soothing, somehow, to the feelings to find myself disassociated -even in the mind of this poor madman from the others, but all the same -I do not follow his thought. Am I to take it that I have anything in -common with him, so that we are, as it were, to stand together. Or -has he to gain from me some good so stupendous that my well being is -needful to Him? I must find out later on. Tonight he will not speak. -Even the offer of a kitten or even a full-grown cat will not tempt -him. - -He will only say, "I don't take any stock in cats. I have more to -think of now, and I can wait. I can wait." - -After a while I left him. The attendant tells me that he was quiet -until just before dawn, and that then he began to get uneasy, and at -length violent, until at last he fell into a paroxysm which exhausted -him so that he swooned into a sort of coma. - - -. . . Three nights has the same thing happened, violent all day then -quiet from moonrise to sunrise. I wish I could get some clue to the -cause. It would almost seem as if there was some influence which came -and went. Happy thought! We shall tonight play sane wits against mad -ones. He escaped before without our help. Tonight he shall escape -with it. We shall give him a chance, and have the men ready to follow -in case they are required. - - -23 August.--"The expected always happens." How well Disraeli knew -life. Our bird when he found the cage open would not fly, so all our -subtle arrangements were for nought. At any rate, we have proved one -thing, that the spells of quietness last a reasonable time. We shall -in future be able to ease his bonds for a few hours each day. I have -given orders to the night attendant merely to shut him in the padded -room, when once he is quiet, until the hour before sunrise. The poor -soul's body will enjoy the relief even if his mind cannot appreciate -it. Hark! The unexpected again! I am called. The patient has once -more escaped. - - -Later.--Another night adventure. Renfield artfully waited until the -attendant was entering the room to inspect. Then he dashed out past -him and flew down the passage. I sent word for the attendants to -follow. Again he went into the grounds of the deserted house, and we -found him in the same place, pressed against the old chapel door. -When he saw me he became furious, and had not the attendants seized -him in time, he would have tried to kill me. As we were holding him a -strange thing happened. He suddenly redoubled his efforts, and then -as suddenly grew calm. I looked round instinctively, but could see -nothing. Then I caught the patient's eye and followed it, but could -trace nothing as it looked into the moonlight sky, except a big bat, -which was flapping its silent and ghostly way to the west. Bats -usually wheel about, but this one seemed to go straight on, as if it -knew where it was bound for or had some intention of its own. - -The patient grew calmer every instant, and presently said, "You -needn't tie me. I shall go quietly!" Without trouble, we came back -to the house. I feel there is something ominous in his calm, and -shall not forget this night. - - - -LUCY WESTENRA'S DIARY - -Hillingham, 24 August.--I must imitate Mina, and keep writing things -down. Then we can have long talks when we do meet. I wonder when it -will be. I wish she were with me again, for I feel so unhappy. Last -night I seemed to be dreaming again just as I was at Whitby. Perhaps -it is the change of air, or getting home again. It is all dark and -horrid to me, for I can remember nothing. But I am full of vague -fear, and I feel so weak and worn out. When Arthur came to lunch he -looked quite grieved when he saw me, and I hadn't the spirit to try to -be cheerful. I wonder if I could sleep in mother's room tonight. I -shall make an excuse to try. - - -25 August.--Another bad night. Mother did not seem to take to my -proposal. She seems not too well herself, and doubtless she fears to -worry me. I tried to keep awake, and succeeded for a while, but when -the clock struck twelve it waked me from a doze, so I must have been -falling asleep. There was a sort of scratching or flapping at the -window, but I did not mind it, and as I remember no more, I suppose I -must have fallen asleep. More bad dreams. I wish I could remember -them. This morning I am horribly weak. My face is ghastly pale, and -my throat pains me. It must be something wrong with my lungs, for I -don't seem to be getting air enough. I shall try to cheer up when -Arthur comes, or else I know he will be miserable to see me so. - - - -LETTER, ARTHUR TO DR. SEWARD - -"Albemarle Hotel, 31 August - -"My dear Jack, - -"I want you to do me a favour. Lucy is ill, that is she has no -special disease, but she looks awful, and is getting worse every -day. I have asked her if there is any cause, I not dare to ask her -mother, for to disturb the poor lady's mind about her daughter in -her present state of health would be fatal. Mrs. Westenra has -confided to me that her doom is spoken, disease of the heart, though -poor Lucy does not know it yet. I am sure that there is something -preying on my dear girl's mind. I am almost distracted when I think -of her. To look at her gives me a pang. I told her I should ask -you to see her, and though she demurred at first, I know why, old -fellow, she finally consented. It will be a painful task for you, I -know, old friend, but it is for her sake, and I must not hesitate to -ask, or you to act. You are to come to lunch at Hillingham -tomorrow, two o'clock, so as not to arouse any suspicion in Mrs. -Westenra, and after lunch Lucy will take an opportunity of being -alone with you. I am filled with anxiety, and want to consult with -you alone as soon as I can after you have seen her. Do not fail! - -"Arthur." - - - -TELEGRAM, ARTHUR HOLMWOOD TO SEWARD - -1 September - -"Am summoned to see my father, who is worse. Am writing. Write -me fully by tonight's post to Ring. Wire me if necessary." - - - -LETTER FROM DR. SEWARD TO ARTHUR HOLMWOOD - -2 September - -"My dear old fellow, - -"With regard to Miss Westenra's health I hasten to let you know at -once that in my opinion there is not any functional disturbance or -any malady that I know of. At the same time, I am not by any means -satisfied with her appearance. She is woefully different from what -she was when I saw her last. Of course you must bear in mind that I -did not have full opportunity of examination such as I should wish. -Our very friendship makes a little difficulty which not even medical -science or custom can bridge over. I had better tell you exactly -what happened, leaving you to draw, in a measure, your own -conclusions. I shall then say what I have done and propose doing. - -"I found Miss Westenra in seemingly gay spirits. Her mother was -present, and in a few seconds I made up my mind that she was trying -all she knew to mislead her mother and prevent her from being -anxious. I have no doubt she guesses, if she does not know, what -need of caution there is. - -"We lunched alone, and as we all exerted ourselves to be cheerful, -we got, as some kind of reward for our labours, some real -cheerfulness amongst us. Then Mrs. Westenra went to lie down, and -Lucy was left with me. We went into her boudoir, and till we got -there her gaiety remained, for the servants were coming and going. - -"As soon as the door was closed, however, the mask fell from her -face, and she sank down into a chair with a great sigh, and hid her -eyes with her hand. When I saw that her high spirits had failed, I -at once took advantage of her reaction to make a diagnosis. - -"She said to me very sweetly, 'I cannot tell you how I loathe -talking about myself.' I reminded her that a doctor's confidence -was sacred, but that you were grievously anxious about her. She -caught on to my meaning at once, and settled that matter in a word. -'Tell Arthur everything you choose. I do not care for myself, but -for him!' So I am quite free. - -"I could easily see that she was somewhat bloodless, but I could not -see the usual anemic signs, and by the chance, I was able to test -the actual quality of her blood, for in opening a window which was -stiff a cord gave way, and she cut her hand slightly with broken -glass. It was a slight matter in itself, but it gave me an evident -chance, and I secured a few drops of the blood and have analysed -them. - -"The qualitative analysis give a quite normal condition, and shows, -I should infer, in itself a vigorous state of health. In other -physical matters I was quite satisfied that there is no need for -anxiety, but as there must be a cause somewhere, I have come to the -conclusion that it must be something mental. - -"She complains of difficulty breathing satisfactorily at times, and -of heavy, lethargic sleep, with dreams that frighten her, but -regarding which she can remember nothing. She says that as a child, -she used to walk in her sleep, and that when in Whitby the habit -came back, and that once she walked out in the night and went to -East Cliff, where Miss Murray found her. But she assures me that of -late the habit has not returned. - -"I am in doubt, and so have done the best thing I know of. I have -written to my old friend and master, Professor Van Helsing, of -Amsterdam, who knows as much about obscure diseases as any one in -the world. I have asked him to come over, and as you told me that -all things were to be at your charge, I have mentioned to him who -you are and your relations to Miss Westenra. This, my dear fellow, -is in obedience to your wishes, for I am only too proud and happy to -do anything I can for her. - -"Van Helsing would, I know, do anything for me for a personal -reason, so no matter on what ground he comes, we must accept his -wishes. He is a seemingly arbitrary man, this is because he knows -what he is talking about better than any one else. He is a -philosopher and a metaphysician, and one of the most advanced -scientists of his day, and he has, I believe, an absolutely open -mind. This, with an iron nerve, a temper of the ice-brook, and -indomitable resolution, self-command, and toleration exalted from -virtues to blessings, and the kindliest and truest heart that beats, -these form his equipment for the noble work that he is doing for -mankind, work both in theory and practice, for his views are as wide -as his all-embracing sympathy. I tell you these facts that you may -know why I have such confidence in him. I have asked him to come at -once. I shall see Miss Westenra tomorrow again. She is to meet me -at the Stores, so that I may not alarm her mother by too early a -repetition of my call. - -"Yours always." - -John Seward - - - - -LETTER, ABRAHAM VAN HELSING, MD, DPh, D. Lit, ETC, ETC, TO DR. SEWARD - -2 September. - -"My good Friend, - -"When I received your letter I am already coming to you. By good -fortune I can leave just at once, without wrong to any of those who -have trusted me. Were fortune other, then it were bad for those who -have trusted, for I come to my friend when he call me to aid those -he holds dear. Tell your friend that when that time you suck from -my wound so swiftly the poison of the gangrene from that knife that -our other friend, too nervous, let slip, you did more for him when -he wants my aids and you call for them than all his great fortune -could do. But it is pleasure added to do for him, your friend, it -is to you that I come. Have near at hand, and please it so arrange -that we may see the young lady not too late on tomorrow, for it is -likely that I may have to return here that night. But if need be I -shall come again in three days, and stay longer if it must. Till -then goodbye, my friend John. - -"Van Helsing." - - - -LETTER, DR. SEWARD TO HON. ARTHUR HOLMWOOD - -3 September - -"My dear Art, - -"Van Helsing has come and gone. He came on with me to Hillingham, -and found that, by Lucy's discretion, her mother was lunching out, -so that we were alone with her. - -"Van Helsing made a very careful examination of the patient. He is -to report to me, and I shall advise you, for of course I was not -present all the time. He is, I fear, much concerned, but says he -must think. When I told him of our friendship and how you trust to -me in the matter, he said, 'You must tell him all you think. Tell -him what I think, if you can guess it, if you will. Nay, I am -not jesting. This is no jest, but life and death, perhaps more.' I -asked what he meant by that, for he was very serious. This was when -we had come back to town, and he was having a cup of tea before -starting on his return to Amsterdam. He would not give me any -further clue. You must not be angry with me, Art, because his very -reticence means that all his brains are working for her good. He -will speak plainly enough when the time comes, be sure. So I told -him I would simply write an account of our visit, just as if I were -doing a descriptive special article for THE DAILY TELEGRAPH. He -seemed not to notice, but remarked that the smuts of London were not -quite so bad as they used to be when he was a student here. I am to -get his report tomorrow if he can possibly make it. In any case I -am to have a letter. - -"Well, as to the visit, Lucy was more cheerful than on the day I -first saw her, and certainly looked better. She had lost something -of the ghastly look that so upset you, and her breathing was normal. -She was very sweet to the Professor (as she always is), and tried to -make him feel at ease, though I could see the poor girl was making a -hard struggle for it. - -"I believe Van Helsing saw it, too, for I saw the quick look -under his bushy brows that I knew of old. Then he began to -chat of all things except ourselves and diseases and with -such an infinite geniality that I could see poor Lucy's -pretense of animation merge into reality. Then, without -any seeming change, he brought the conversation gently round -to his visit, and suavely said, - -"'My dear young miss, I have the so great pleasure because you are -so much beloved. That is much, my dear, even were there that which -I do not see. They told me you were down in the spirit, and that -you were of a ghastly pale. To them I say "Pouf!"' And he snapped -his fingers at me and went on. 'But you and I shall show them how -wrong they are. How can he,' and he pointed at me with the same -look and gesture as that with which he pointed me out in his class, -on, or rather after, a particular occasion which he never fails to -remind me of, 'know anything of a young ladies? He has his madmen -to play with, and to bring them back to happiness, and to those that -love them. It is much to do, and, oh, but there are rewards in that -we can bestow such happiness. But the young ladies! He has no wife -nor daughter, and the young do not tell themselves to the young, but -to the old, like me, who have known so many sorrows and the causes -of them. So, my dear, we will send him away to smoke the cigarette -in the garden, whiles you and I have little talk all to ourselves.' -I took the hint, and strolled about, and presently the professor -came to the window and called me in. He looked grave, but said, 'I -have made careful examination, but there is no functional cause. -With you I agree that there has been much blood lost, it has been -but is not. But the conditions of her are in no way anemic. I have -asked her to send me her maid, that I may ask just one or two -questions, that so I may not chance to miss nothing. I know well -what she will say. And yet there is cause. There is always cause -for everything. I must go back home and think. You must send me -the telegram every day, and if there be cause I shall come again. -The disease, for not to be well is a disease, interest me, and the -sweet, young dear, she interest me too. She charm me, and for her, -if not for you or disease, I come.' - -"As I tell you, he would not say a word more, even when we were -alone. And so now, Art, you know all I know. I shall keep stern -watch. I trust your poor father is rallying. It must be a terrible -thing to you, my dear old fellow, to be placed in such a position -between two people who are both so dear to you. I know your idea of -duty to your father, and you are right to stick to it. But if need -be, I shall send you word to come at once to Lucy, so do not be -over-anxious unless you hear from me." - - - -DR. SEWARD'S DIARY - -4 September.--Zoophagous patient still keeps up our interest in him. -He had only one outburst and that was yesterday at an unusual time. -Just before the stroke of noon he began to grow restless. The -attendant knew the symptoms, and at once summoned aid. Fortunately -the men came at a run, and were just in time, for at the stroke of -noon he became so violent that it took all their strength to hold him. -In about five minutes, however, he began to get more quiet, and -finally sank into a sort of melancholy, in which state he has remained -up to now. The attendant tells me that his screams whilst in the -paroxysm were really appalling. I found my hands full when I got in, -attending to some of the other patients who were frightened by him. -Indeed, I can quite understand the effect, for the sounds disturbed -even me, though I was some distance away. It is now after the dinner -hour of the asylum, and as yet my patient sits in a corner brooding, -with a dull, sullen, woe-begone look in his face, which seems rather -to indicate than to show something directly. I cannot quite -understand it. - - -Later.--Another change in my patient. At five o'clock I looked in on -him, and found him seemingly as happy and contented as he used to be. -He was catching flies and eating them, and was keeping note of his -capture by making nailmarks on the edge of the door between the ridges -of padding. When he saw me, he came over and apologized for his bad -conduct, and asked me in a very humble, cringing way to be led back to -his own room, and to have his notebook again. I thought it well to -humour him, so he is back in his room with the window open. He has -the sugar of his tea spread out on the window sill, and is reaping -quite a harvest of flies. He is not now eating them, but putting them -into a box, as of old, and is already examining the corners of his -room to find a spider. I tried to get him to talk about the past few -days, for any clue to his thoughts would be of immense help to me, but -he would not rise. For a moment or two he looked very sad, and said -in a sort of far away voice, as though saying it rather to himself -than to me. - -"All over! All over! He has deserted me. No hope for me now unless -I do it myself!" Then suddenly turning to me in a resolute way, he -said, "Doctor, won't you be very good to me and let me have a little -more sugar? I think it would be very good for me." - -"And the flies?" I said. - -"Yes! The flies like it, too, and I like the flies, therefore I like -it." And there are people who know so little as to think that madmen do -not argue. I procured him a double supply, and left him as happy a -man as, I suppose, any in the world. I wish I could fathom his mind. - - -Midnight.--Another change in him. I had been to see Miss Westenra, -whom I found much better, and had just returned, and was standing at -our own gate looking at the sunset, when once more I heard him -yelling. As his room is on this side of the house, I could hear it -better than in the morning. It was a shock to me to turn from the -wonderful smoky beauty of a sunset over London, with its lurid lights -and inky shadows and all the marvellous tints that come on foul clouds -even as on foul water, and to realize all the grim sternness of my own -cold stone building, with its wealth of breathing misery, and my own -desolate heart to endure it all. I reached him just as the sun was -going down, and from his window saw the red disc sink. As it sank he -became less and less frenzied, and just as it dipped he slid from the -hands that held him, an inert mass, on the floor. It is wonderful, -however, what intellectual recuperative power lunatics have, for -within a few minutes he stood up quite calmly and looked around him. I -signalled to the attendants not to hold him, for I was anxious to see -what he would do. He went straight over to the window and brushed out -the crumbs of sugar. Then he took his fly box, and emptied it -outside, and threw away the box. Then he shut the window, and -crossing over, sat down on his bed. All this surprised me, so I asked -him, "Are you going to keep flies any more?" - -"No," said he. "I am sick of all that rubbish!" He certainly is a -wonderfully interesting study. I wish I could get some glimpse of his -mind or of the cause of his sudden passion. Stop. There may be a -clue after all, if we can find why today his paroxysms came on at high -noon and at sunset. Can it be that there is a malign influence of the -sun at periods which affects certain natures, as at times the moon -does others? We shall see. - - - -TELEGRAM. SEWARD, LONDON, TO VAN HELSING, AMSTERDAM - -"4 September.--Patient still better today." - - - -TELEGRAM, SEWARD, LONDON, TO VAN HELSING, AMSTERDAM - -"5 September.--Patient greatly improved. Good appetite, sleeps -naturally, good spirits, colour coming back." - - - -TELEGRAM, SEWARD, LONDON, TO VAN HELSING, AMSTERDAM - -"6 September.--Terrible change for the worse. Come at once. -Do not lose an hour. I hold over telegram to Holmwood till -have seen you." - - - - -CHAPTER 10 - - -LETTER, DR. SEWARD TO HON. ARTHUR HOLMWOOD - - -6 September - -"My dear Art, - -"My news today is not so good. Lucy this morning had gone back a -bit. There is, however, one good thing which has arisen from it. -Mrs. Westenra was naturally anxious concerning Lucy, and has -consulted me professionally about her. I took advantage of the -opportunity, and told her that my old master, Van Helsing, the great -specialist, was coming to stay with me, and that I would put her in -his charge conjointly with myself. So now we can come and go -without alarming her unduly, for a shock to her would mean sudden -death, and this, in Lucy's weak condition, might be disastrous to -her. We are hedged in with difficulties, all of us, my poor fellow, -but, please God, we shall come through them all right. If any need -I shall write, so that, if you do not hear from me, take it for -granted that I am simply waiting for news, In haste, - -"Yours ever," - -John Seward - - - -DR. SEWARD'S DIARY - -7 September.--The first thing Van Helsing said to me when we met at -Liverpool Street was, "Have you said anything to our young friend, to -lover of her?" - -"No," I said. "I waited till I had seen you, as I said in my -telegram. I wrote him a letter simply telling him that you were -coming, as Miss Westenra was not so well, and that I should let him -know if need be." - -"Right, my friend," he said. "Quite right! Better he not know as -yet. Perhaps he will never know. I pray so, but if it be needed, -then he shall know all. And, my good friend John, let me caution you. -You deal with the madmen. All men are mad in some way or the other, -and inasmuch as you deal discreetly with your madmen, so deal with -God's madmen too, the rest of the world. You tell not your madmen -what you do nor why you do it. You tell them not what you think. So -you shall keep knowledge in its place, where it may rest, where it may -gather its kind around it and breed. You and I shall keep as yet what -we know here, and here." He touched me on the heart and on the -forehead, and then touched himself the same way. "I have for myself -thoughts at the present. Later I shall unfold to you." - -"Why not now?" I asked. "It may do some good. We may arrive at some -decision." He looked at me and said, "My friend John, when the corn is -grown, even before it has ripened, while the milk of its mother earth -is in him, and the sunshine has not yet begun to paint him with his -gold, the husbandman he pull the ear and rub him between his rough -hands, and blow away the green chaff, and say to you, 'Look! He's -good corn, he will make a good crop when the time comes.'" - -I did not see the application and told him so. For reply he reached -over and took my ear in his hand and pulled it playfully, as he used -long ago to do at lectures, and said, "The good husbandman tell you so -then because he knows, but not till then. But you do not find the -good husbandman dig up his planted corn to see if he grow. That is -for the children who play at husbandry, and not for those who take it -as of the work of their life. See you now, friend John? I have sown -my corn, and Nature has her work to do in making it sprout, if he -sprout at all, there's some promise, and I wait till the ear begins to -swell." He broke off, for he evidently saw that I understood. Then he -went on gravely, "You were always a careful student, and your case -book was ever more full than the rest. And I trust that good habit -have not fail. Remember, my friend, that knowledge is stronger than -memory, and we should not trust the weaker. Even if you have not kept -the good practice, let me tell you that this case of our dear miss is -one that may be, mind, I say may be, of such interest to us and others -that all the rest may not make him kick the beam, as your people say. -Take then good note of it. Nothing is too small. I counsel you, put -down in record even your doubts and surmises. Hereafter it may be of -interest to you to see how true you guess. We learn from failure, not -from success!" - -When I described Lucy's symptoms, the same as before, but infinitely -more marked, he looked very grave, but said nothing. He took with him -a bag in which were many instruments and drugs, "the ghastly -paraphernalia of our beneficial trade," as he once called, in one of -his lectures, the equipment of a professor of the healing craft. - -When we were shown in, Mrs. Westenra met us. She was alarmed, but not -nearly so much as I expected to find her. Nature in one of her -beneficient moods has ordained that even death has some antidote to -its own terrors. Here, in a case where any shock may prove fatal, -matters are so ordered that, from some cause or other, the things not -personal, even the terrible change in her daughter to whom she is so -attached, do not seem to reach her. It is something like the way dame -Nature gathers round a foreign body an envelope of some insensitive -tissue which can protect from evil that which it would otherwise harm -by contact. If this be an ordered selfishness, then we should pause -before we condemn any one for the vice of egoism, for there may be -deeper root for its causes than we have knowledge of. - -I used my knowledge of this phase of spiritual pathology, and set down -a rule that she should not be present with Lucy, or think of her -illness more than was absolutely required. She assented readily, so -readily that I saw again the hand of Nature fighting for life. Van -Helsing and I were shown up to Lucy's room. If I was shocked when I -saw her yesterday, I was horrified when I saw her today. - -She was ghastly, chalkily pale. The red seemed to have gone even from -her lips and gums, and the bones of her face stood out prominently. -Her breathing was painful to see or hear. Van Helsing's face grew set -as marble, and his eyebrows converged till they almost touched over his -nose. Lucy lay motionless, and did not seem to have strength to -speak, so for a while we were all silent. Then Van Helsing beckoned -to me, and we went gently out of the room. The instant we had closed -the door he stepped quickly along the passage to the next door, which -was open. Then he pulled me quickly in with him and closed the door. -"My god!" he said. "This is dreadful. There is not time to be lost. -She will die for sheer want of blood to keep the heart's action as it -should be. There must be a transfusion of blood at once. Is it you -or me?" - -"I am younger and stronger, Professor. It must be me." - -"Then get ready at once. I will bring up my bag. I am prepared." - -I went downstairs with him, and as we were going there was a knock at -the hall door. When we reached the hall, the maid had just opened the -door, and Arthur was stepping quickly in. He rushed up to me, saying -in an eager whisper, - -"Jack, I was so anxious. I read between the lines of your letter, and -have been in an agony. The dad was better, so I ran down here to see -for myself. Is not that gentleman Dr. Van Helsing? I am so thankful -to you, sir, for coming." - -When first the Professor's eye had lit upon him, he had been angry at -his interruption at such a time, but now, as he took in his stalwart -proportions and recognized the strong young manhood which seemed to -emanate from him, his eyes gleamed. Without a pause he said to him as -he held out his hand, - -"Sir, you have come in time. You are the lover of our dear miss. She -is bad, very, very bad. Nay, my child, do not go like that." For he -suddenly grew pale and sat down in a chair almost fainting. "You are -to help her. You can do more than any that live, and your courage is -your best help." - -"What can I do?" asked Arthur hoarsely. "Tell me, and I shall do it. -My life is hers, and I would give the last drop of blood in my body for -her." - -The Professor has a strongly humorous side, and I could from old -knowledge detect a trace of its origin in his answer. - -"My young sir, I do not ask so much as that, not the last!" - -"What shall I do?" There was fire in his eyes, and his open nostrils -quivered with intent. Van Helsing slapped him on the shoulder. - -"Come!" he said. "You are a man, and it is a man we want. You are -better than me, better than my friend John." Arthur looked bewildered, -and the Professor went on by explaining in a kindly way. - -"Young miss is bad, very bad. She wants blood, and blood she must -have or die. My friend John and I have consulted, and we are about to -perform what we call transfusion of blood, to transfer from full veins -of one to the empty veins which pine for him. John was to give his -blood, as he is the more young and strong than me."--Here Arthur took -my hand and wrung it hard in silence.--"But now you are here, you are -more good than us, old or young, who toil much in the world of -thought. Our nerves are not so calm and our blood so bright than -yours!" - -Arthur turned to him and said, "If you only knew how gladly I would -die for her you would understand . . ." He stopped with a sort of -choke in his voice. - -"Good boy!" said Van Helsing. "In the not-so-far-off you will be -happy that you have done all for her you love. Come now and be -silent. You shall kiss her once before it is done, but then you must -go, and you must leave at my sign. Say no word to Madame. You know -how it is with her. There must be no shock, any knowledge of this -would be one. Come!" - -We all went up to Lucy's room. Arthur by direction remained outside. -Lucy turned her head and looked at us, but said nothing. She was not -asleep, but she was simply too weak to make the effort. Her eyes -spoke to us, that was all. - -Van Helsing took some things from his bag and laid them on a little -table out of sight. Then he mixed a narcotic, and coming over to the -bed, said cheerily, "Now, little miss, here is your medicine. Drink -it off, like a good child. See, I lift you so that to swallow is -easy. Yes." She had made the effort with success. - -It astonished me how long the drug took to act. This, in fact, marked -the extent of her weakness. The time seemed endless until sleep began -to flicker in her eyelids. At last, however, the narcotic began to -manifest its potency, and she fell into a deep sleep. When the -Professor was satisfied, he called Arthur into the room, and bade him -strip off his coat. Then he added, "You may take that one little kiss -whiles I bring over the table. Friend John, help to me!" So neither -of us looked whilst he bent over her. - -Van Helsing, turning to me, said, "He is so young and strong, and of -blood so pure that we need not defibrinate it." - -Then with swiftness, but with absolute method, Van Helsing performed -the operation. As the transfusion went on, something like life seemed -to come back to poor Lucy's cheeks, and through Arthur's growing -pallor the joy of his face seemed absolutely to shine. After a bit I -began to grow anxious, for the loss of blood was telling on Arthur, -strong man as he was. It gave me an idea of what a terrible strain -Lucy's system must have undergone that what weakened Arthur only -partially restored her. - -But the Professor's face was set, and he stood watch in hand, and with -his eyes fixed now on the patient and now on Arthur. I could hear my -own heart beat. Presently, he said in a soft voice, "Do not stir an -instant. It is enough. You attend him. I will look to her." - -When all was over, I could see how much Arthur was weakened. I -dressed the wound and took his arm to bring him away, when Van Helsing -spoke without turning round, the man seems to have eyes in the back of -his head, "The brave lover, I think, deserve another kiss, which he -shall have presently." And as he had now finished his operation, he -adjusted the pillow to the patient's head. As he did so the narrow -black velvet band which she seems always to wear round her throat, -buckled with an old diamond buckle which her lover had given her, was -dragged a little up, and showed a red mark on her throat. - -Arthur did not notice it, but I could hear the deep hiss of indrawn -breath which is one of Van Helsing's ways of betraying emotion. He -said nothing at the moment, but turned to me, saying, "Now take down -our brave young lover, give him of the port wine, and let him lie down -a while. He must then go home and rest, sleep much and eat much, that -he may be recruited of what he has so given to his love. He must not -stay here. Hold a moment! I may take it, sir, that you are anxious -of result. Then bring it with you, that in all ways the operation is -successful. You have saved her life this time, and you can go home -and rest easy in mind that all that can be is. I shall tell her all -when she is well. She shall love you none the less for what you have -done. Goodbye." - -When Arthur had gone I went back to the room. Lucy was sleeping -gently, but her breathing was stronger. I could see the counterpane -move as her breast heaved. By the bedside sat Van Helsing, looking at -her intently. The velvet band again covered the red mark. I asked -the Professor in a whisper, "What do you make of that mark on her -throat?" - -"What do you make of it?" - -"I have not examined it yet," I answered, and then and there proceeded -to loose the band. Just over the external jugular vein there were two -punctures, not large, but not wholesome looking. There was no sign of -disease, but the edges were white and worn looking, as if by some -trituration. It at once occurred to me that that this wound, or -whatever it was, might be the means of that manifest loss of blood. -But I abandoned the idea as soon as it formed, for such a thing could -not be. The whole bed would have been drenched to a scarlet with the -blood which the girl must have lost to leave such a pallor as she had -before the transfusion. - -"Well?" said Van Helsing. - -"Well," said I. "I can make nothing of it." - -The Professor stood up. "I must go back to Amsterdam tonight," he -said "There are books and things there which I want. You must remain -here all night, and you must not let your sight pass from her." - -"Shall I have a nurse?" I asked. - -"We are the best nurses, you and I. You keep watch all night. See -that she is well fed, and that nothing disturbs her. You must not -sleep all the night. Later on we can sleep, you and I. I shall be -back as soon as possible. And then we may begin." - -"May begin?" I said. "What on earth do you mean?" - -"We shall see!" he answered, as he hurried out. He came back a moment -later and put his head inside the door and said with a warning finger -held up, "Remember, she is your charge. If you leave her, and harm -befall, you shall not sleep easy hereafter!" - - - -DR. SEWARD'S DIARY--CONTINUED - -8 September.--I sat up all night with Lucy. The opiate worked itself -off towards dusk, and she waked naturally. She looked a different -being from what she had been before the operation. Her spirits even -were good, and she was full of a happy vivacity, but I could see -evidences of the absolute prostration which she had undergone. When I -told Mrs. Westenra that Dr. Van Helsing had directed that I should sit -up with her, she almost pooh-poohed the idea, pointing out her -daughter's renewed strength and excellent spirits. I was firm, -however, and made preparations for my long vigil. When her maid had -prepared her for the night I came in, having in the meantime had -supper, and took a seat by the bedside. - -She did not in any way make objection, but looked at me gratefully -whenever I caught her eye. After a long spell she seemed sinking off -to sleep, but with an effort seemed to pull herself together and shook -it off. It was apparent that she did not want to sleep, so I tackled -the subject at once. - -"You do not want to sleep?" - -"No. I am afraid." - -"Afraid to go to sleep! Why so? It is the boon we all crave for." - -"Ah, not if you were like me, if sleep was to you a presage of -horror!" - -"A presage of horror! What on earth do you mean?" - -"I don't know. Oh, I don't know. And that is what is so terrible. -All this weakness comes to me in sleep, until I dread the very -thought." - -"But, my dear girl, you may sleep tonight. I am here watching you, -and I can promise that nothing will happen." - -"Ah, I can trust you!" she said. - -I seized the opportunity, and said, "I promise that if I see any -evidence of bad dreams I will wake you at once." - -"You will? Oh, will you really? How good you are to me. Then I will -sleep!" And almost at the word she gave a deep sigh of relief, and -sank back, asleep. - -All night long I watched by her. She never stirred, but slept on and -on in a deep, tranquil, life-giving, health-giving sleep. Her lips -were slightly parted, and her breast rose and fell with the regularity -of a pendulum. There was a smile on her face, and it was evident that -no bad dreams had come to disturb her peace of mind. - -In the early morning her maid came, and I left her in her care and took -myself back home, for I was anxious about many things. I sent a short -wire to Van Helsing and to Arthur, telling them of the excellent -result of the operation. My own work, with its manifold arrears, took -me all day to clear off. It was dark when I was able to inquire about -my zoophagous patient. The report was good. He had been quite quiet -for the past day and night. A telegram came from Van Helsing at -Amsterdam whilst I was at dinner, suggesting that I should be at -Hillingham tonight, as it might be well to be at hand, and stating -that he was leaving by the night mail and would join me early in the -morning. - - -9 September.--I was pretty tired and worn out when I got to -Hillingham. For two nights I had hardly had a wink of sleep, and my -brain was beginning to feel that numbness which marks cerebral -exhaustion. Lucy was up and in cheerful spirits. When she shook -hands with me she looked sharply in my face and said, - -"No sitting up tonight for you. You are worn out. I am quite well -again. Indeed, I am, and if there is to be any sitting up, it is I -who will sit up with you." - -I would not argue the point, but went and had my supper. Lucy came -with me, and, enlivened by her charming presence, I made an excellent -meal, and had a couple of glasses of the more than excellent port. -Then Lucy took me upstairs, and showed me a room next her own, where a -cozy fire was burning. - -"Now," she said. "You must stay here. I shall leave this door open -and my door too. You can lie on the sofa for I know that nothing -would induce any of you doctors to go to bed whilst there is a patient -above the horizon. If I want anything I shall call out, and you can -come to me at once." - -I could not but acquiesce, for I was dog tired, and could not have sat -up had I tried. So, on her renewing her promise to call me if she -should want anything, I lay on the sofa, and forgot all about -everything. - - - -LUCY WESTENRA'S DIARY - -9 September.--I feel so happy tonight. I have been so miserably weak, -that to be able to think and move about is like feeling sunshine after -a long spell of east wind out of a steel sky. Somehow Arthur feels -very, very close to me. I seem to feel his presence warm about me. I -suppose it is that sickness and weakness are selfish things and turn -our inner eyes and sympathy on ourselves, whilst health and strength -give love rein, and in thought and feeling he can wander where he -wills. I know where my thoughts are. If only Arthur knew! My dear, -my dear, your ears must tingle as you sleep, as mine do waking. Oh, -the blissful rest of last night! How I slept, with that dear, good -Dr. Seward watching me. And tonight I shall not fear to sleep, since -he is close at hand and within call. Thank everybody for being so -good to me. Thank God! Goodnight Arthur. - - - -DR. SEWARD'S DIARY - -10 September.--I was conscious of the Professor's hand on my head, and -started awake all in a second. That is one of the things that we -learn in an asylum, at any rate. - -"And how is our patient?" - -"Well, when I left her, or rather when she left me," I answered. - -"Come, let us see," he said. And together we went into the room. - -The blind was down, and I went over to raise it gently, whilst Van -Helsing stepped, with his soft, cat-like tread, over to the bed. - -As I raised the blind, and the morning sunlight flooded the room, I -heard the Professor's low hiss of inspiration, and knowing its rarity, -a deadly fear shot through my heart. As I passed over he moved back, -and his exclamation of horror, "Gott in Himmel!" needed no enforcement -from his agonized face. He raised his hand and pointed to the bed, -and his iron face was drawn and ashen white. I felt my knees begin to -tremble. - -There on the bed, seemingly in a swoon, lay poor Lucy, more horribly -white and wan-looking than ever. Even the lips were white, and the -gums seemed to have shrunken back from the teeth, as we sometimes see -in a corpse after a prolonged illness. - -Van Helsing raised his foot to stamp in anger, but the instinct of his -life and all the long years of habit stood to him, and he put it down -again softly. - -"Quick!" he said. "Bring the brandy." - -I flew to the dining room, and returned with the decanter. He wetted -the poor white lips with it, and together we rubbed palm and wrist and -heart. He felt her heart, and after a few moments of agonizing -suspense said, - -"It is not too late. It beats, though but feebly. All our work is -undone. We must begin again. There is no young Arthur here now. I -have to call on you yourself this time, friend John." As he spoke, he -was dipping into his bag, and producing the instruments of -transfusion. I had taken off my coat and rolled up my shirt sleeve. -There was no possibility of an opiate just at present, and no need of -one; and so, without a moment's delay, we began the operation. - -After a time, it did not seem a short time either, for the draining -away of one's blood, no matter how willingly it be given, is a -terrible feeling, Van Helsing held up a warning finger. "Do not -stir," he said. "But I fear that with growing strength she may wake, -and that would make danger, oh, so much danger. But I shall -precaution take. I shall give hypodermic injection of morphia." He -proceeded then, swiftly and deftly, to carry out his intent. - -The effect on Lucy was not bad, for the faint seemed to merge subtly -into the narcotic sleep. It was with a feeling of personal pride that -I could see a faint tinge of colour steal back into the pallid cheeks -and lips. No man knows, till he experiences it, what it is to feel -his own lifeblood drawn away into the veins of the woman he loves. - -The Professor watched me critically. "That will do," he said. -"Already?" I remonstrated. "You took a great deal more from Art." To -which he smiled a sad sort of smile as he replied, - -"He is her lover, her fiance. You have work, much work to do for her -and for others, and the present will suffice." - -When we stopped the operation, he attended to Lucy, whilst I applied -digital pressure to my own incision. I laid down, while I waited his -leisure to attend to me, for I felt faint and a little sick. By and -by he bound up my wound, and sent me downstairs to get a glass of wine -for myself. As I was leaving the room, he came after me, and half -whispered. - -"Mind, nothing must be said of this. If our young lover should turn -up unexpected, as before, no word to him. It would at once frighten -him and enjealous him, too. There must be none. So!" - -When I came back he looked at me carefully, and then said, "You are -not much the worse. Go into the room, and lie on your sofa, and rest -awhile, then have much breakfast and come here to me." - -I followed out his orders, for I knew how right and wise they were. I -had done my part, and now my next duty was to keep up my strength. I -felt very weak, and in the weakness lost something of the amazement at -what had occurred. I fell asleep on the sofa, however, wondering over -and over again how Lucy had made such a retrograde movement, and how -she could have been drained of so much blood with no sign any where to -show for it. I think I must have continued my wonder in my dreams, -for, sleeping and waking my thoughts always came back to the little -punctures in her throat and the ragged, exhausted appearance of their -edges, tiny though they were. - -Lucy slept well into the day, and when she woke she was fairly well -and strong, though not nearly so much so as the day before. When Van -Helsing had seen her, he went out for a walk, leaving me in charge, -with strict injunctions that I was not to leave her for a moment. I -could hear his voice in the hall, asking the way to the nearest -telegraph office. - -Lucy chatted with me freely, and seemed quite unconscious that -anything had happened. I tried to keep her amused and interested. -When her mother came up to see her, she did not seem to notice any -change whatever, but said to me gratefully, - -"We owe you so much, Dr. Seward, for all you have done, but you really -must now take care not to overwork yourself. You are looking pale -yourself. You want a wife to nurse and look after you a bit, that you -do!" As she spoke, Lucy turned crimson, though it was only -momentarily, for her poor wasted veins could not stand for long an -unwonted drain to the head. The reaction came in excessive pallor as -she turned imploring eyes on me. I smiled and nodded, and laid my -finger on my lips. With a sigh, she sank back amid her pillows. - -Van Helsing returned in a couple of hours, and presently said to me: -"Now you go home, and eat much and drink enough. Make yourself -strong. I stay here tonight, and I shall sit up with little miss -myself. You and I must watch the case, and we must have none other to -know. I have grave reasons. No, do not ask me. Think what you will. -Do not fear to think even the most not-improbable. Goodnight." - -In the hall two of the maids came to me, and asked if they or either -of them might not sit up with Miss Lucy. They implored me to let -them, and when I said it was Dr. Van Helsing's wish that either he or -I should sit up, they asked me quite piteously to intercede with -the 'foreign gentleman'. I was much touched by their kindness. Perhaps -it is because I am weak at present, and perhaps because it was on -Lucy's account, that their devotion was manifested. For over and over -again have I seen similar instances of woman's kindness. I got back -here in time for a late dinner, went my rounds, all well, and set this -down whilst waiting for sleep. It is coming. - - -11 September.--This afternoon I went over to Hillingham. Found Van -Helsing in excellent spirits, and Lucy much better. Shortly after I -had arrived, a big parcel from abroad came for the Professor. He -opened it with much impressment, assumed, of course, and showed a -great bundle of white flowers. - -"These are for you, Miss Lucy," he said. - -"For me? Oh, Dr. Van Helsing!" - -"Yes, my dear, but not for you to play with. These are medicines." -Here Lucy made a wry face. "Nay, but they are not to take in a -decoction or in nauseous form, so you need not snub that so charming -nose, or I shall point out to my friend Arthur what woes he may have -to endure in seeing so much beauty that he so loves so much distort. -Aha, my pretty miss, that bring the so nice nose all straight again. -This is medicinal, but you do not know how. I put him in your window, -I make pretty wreath, and hang him round your neck, so you sleep well. -Oh, yes! They, like the lotus flower, make your trouble forgotten. -It smell so like the waters of Lethe, and of that fountain of youth -that the Conquistadores sought for in the Floridas, and find him all -too late." - -Whilst he was speaking, Lucy had been examining the flowers and -smelling them. Now she threw them down saying, with half laughter, -and half disgust, - -"Oh, Professor, I believe you are only putting up a joke on me. Why, -these flowers are only common garlic." - -To my surprise, Van Helsing rose up and said with all his sternness, -his iron jaw set and his bushy eyebrows meeting, - -"No trifling with me! I never jest! There is grim purpose in what I -do, and I warn you that you do not thwart me. Take care, for the sake -of others if not for your own." Then seeing poor Lucy scared, as she -might well be, he went on more gently, "Oh, little miss, my dear, do -not fear me. I only do for your good, but there is much virtue to you -in those so common flowers. See, I place them myself in your room. I -make myself the wreath that you are to wear. But hush! No telling to -others that make so inquisitive questions. We must obey, and silence -is a part of obedience, and obedience is to bring you strong and well -into loving arms that wait for you. Now sit still a while. Come with -me, friend John, and you shall help me deck the room with my garlic, -which is all the way from Haarlem, where my friend Vanderpool raise -herb in his glass houses all the year. I had to telegraph yesterday, -or they would not have been here." - -We went into the room, taking the flowers with us. The Professor's -actions were certainly odd and not to be found in any pharmacopeia -that I ever heard of. First he fastened up the windows and latched -them securely. Next, taking a handful of the flowers, he rubbed them -all over the sashes, as though to ensure that every whiff of air that -might get in would be laden with the garlic smell. Then with the wisp -he rubbed all over the jamb of the door, above, below, and at each -side, and round the fireplace in the same way. It all seemed -grotesque to me, and presently I said, "Well, Professor, I know you -always have a reason for what you do, but this certainly puzzles me. -It is well we have no sceptic here, or he would say that you were -working some spell to keep out an evil spirit." - -"Perhaps I am!" he answered quietly as he began to make the wreath -which Lucy was to wear round her neck. - -We then waited whilst Lucy made her toilet for the night, and when she -was in bed he came and himself fixed the wreath of garlic round her -neck. The last words he said to her were, - -"Take care you do not disturb it, and even if the room feel close, do -not tonight open the window or the door." - -"I promise," said Lucy. "And thank you both a thousand times for all -your kindness to me! Oh, what have I done to be blessed with such -friends?" - -As we left the house in my fly, which was waiting, Van Helsing said, -"Tonight I can sleep in peace, and sleep I want, two nights of travel, -much reading in the day between, and much anxiety on the day to -follow, and a night to sit up, without to wink. Tomorrow in the -morning early you call for me, and we come together to see our pretty -miss, so much more strong for my 'spell' which I have work. Ho, ho!" - -He seemed so confident that I, remembering my own confidence two -nights before and with the baneful result, felt awe and vague terror. -It must have been my weakness that made me hesitate to tell it to my -friend, but I felt it all the more, like unshed tears. - - - - -CHAPTER 11 - - -LUCY WESTENRA'S DIARY - -12 September.--How good they all are to me. I quite love that dear -Dr. Van Helsing. I wonder why he was so anxious about these flowers. -He positively frightened me, he was so fierce. And yet he must have -been right, for I feel comfort from them already. Somehow, I do not -dread being alone tonight, and I can go to sleep without fear. I -shall not mind any flapping outside the window. Oh, the terrible -struggle that I have had against sleep so often of late, the pain of -sleeplessness, or the pain of the fear of sleep, and with such unknown -horrors as it has for me! How blessed are some people, whose lives -have no fears, no dreads, to whom sleep is a blessing that comes -nightly, and brings nothing but sweet dreams. Well, here I am -tonight, hoping for sleep, and lying like Ophelia in the play, with -'virgin crants and maiden strewments.' I never liked garlic before, -but tonight it is delightful! There is peace in its smell. I feel -sleep coming already. Goodnight, everybody. - - - -DR. SEWARD'S DIARY - -13 September.--Called at the Berkeley and found Van Helsing, as usual, -up to time. The carriage ordered from the hotel was waiting. The -Professor took his bag, which he always brings with him now. - -Let all be put down exactly. Van Helsing and I arrived at Hillingham -at eight o'clock. It was a lovely morning. The bright sunshine and -all the fresh feeling of early autumn seemed like the completion of -nature's annual work. The leaves were turning to all kinds of -beautiful colours, but had not yet begun to drop from the trees. When -we entered we met Mrs. Westenra coming out of the morning room. She -is always an early riser. She greeted us warmly and said, - -"You will be glad to know that Lucy is better. The dear child is -still asleep. I looked into her room and saw her, but did not go in, -lest I should disturb her." The Professor smiled, and looked quite -jubilant. He rubbed his hands together, and said, "Aha! I thought I -had diagnosed the case. My treatment is working." - -To which she replied, "You must not take all the credit to yourself, -doctor. Lucy's state this morning is due in part to me." - -"How do you mean, ma'am?" asked the Professor. - -"Well, I was anxious about the dear child in the night, and went into -her room. She was sleeping soundly, so soundly that even my coming -did not wake her. But the room was awfully stuffy. There were a lot -of those horrible, strong-smelling flowers about everywhere, and she -had actually a bunch of them round her neck. I feared that the heavy -odour would be too much for the dear child in her weak state, so I took -them all away and opened a bit of the window to let in a little fresh -air. You will be pleased with her, I am sure." - -She moved off into her boudoir, where she usually breakfasted early. -As she had spoken, I watched the Professor's face, and saw it turn -ashen gray. He had been able to retain his self-command whilst the -poor lady was present, for he knew her state and how mischievous a -shock would be. He actually smiled on her as he held open the door -for her to pass into her room. But the instant she had disappeared he -pulled me, suddenly and forcibly, into the dining room and closed the -door. - -Then, for the first time in my life, I saw Van Helsing break down. He -raised his hands over his head in a sort of mute despair, and then -beat his palms together in a helpless way. Finally he sat down on a -chair, and putting his hands before his face, began to sob, with loud, -dry sobs that seemed to come from the very racking of his heart. - -Then he raised his arms again, as though appealing to the whole -universe. "God! God! God!" he said. "What have we done, what has -this poor thing done, that we are so sore beset? Is there fate -amongst us still, send down from the pagan world of old, that such -things must be, and in such way? This poor mother, all unknowing, and -all for the best as she think, does such thing as lose her daughter -body and soul, and we must not tell her, we must not even warn her, or -she die, then both die. Oh, how we are beset! How are all the powers -of the devils against us!" - -Suddenly he jumped to his feet. "Come," he said, "come, we must see and -act. Devils or no devils, or all the devils at once, it matters not. -We must fight him all the same." He went to the hall door for his -bag, and together we went up to Lucy's room. - -Once again I drew up the blind, whilst Van Helsing went towards the -bed. This time he did not start as he looked on the poor face with -the same awful, waxen pallor as before. He wore a look of stern -sadness and infinite pity. - -"As I expected," he murmured, with that hissing inspiration of his -which meant so much. Without a word he went and locked the door, and -then began to set out on the little table the instruments for yet -another operation of transfusion of blood. I had long ago recognized -the necessity, and begun to take off my coat, but he stopped me with a -warning hand. "No!" he said. "Today you must operate. I shall -provide. You are weakened already." As he spoke he took off his coat -and rolled up his shirtsleeve. - -Again the operation. Again the narcotic. Again some return of colour -to the ashy cheeks, and the regular breathing of healthy sleep. This -time I watched whilst Van Helsing recruited himself and rested. - -Presently he took an opportunity of telling Mrs. Westenra that she -must not remove anything from Lucy's room without consulting him. -That the flowers were of medicinal value, and that the breathing of -their odour was a part of the system of cure. Then he took over the -care of the case himself, saying that he would watch this night and -the next, and would send me word when to come. - -After another hour Lucy waked from her sleep, fresh and bright and -seemingly not much the worse for her terrible ordeal. - -What does it all mean? I am beginning to wonder if my long habit of -life amongst the insane is beginning to tell upon my own brain. - - - -LUCY WESTENRA'S DIARY - -17 September.--Four days and nights of peace. I am getting so strong -again that I hardly know myself. It is as if I had passed through -some long nightmare, and had just awakened to see the beautiful -sunshine and feel the fresh air of the morning around me. I have a -dim half remembrance of long, anxious times of waiting and fearing, -darkness in which there was not even the pain of hope to make present -distress more poignant. And then long spells of oblivion, and the -rising back to life as a diver coming up through a great press of -water. Since, however, Dr. Van Helsing has been with me, all this bad -dreaming seems to have passed away. The noises that used to frighten -me out of my wits, the flapping against the windows, the distant -voices which seemed so close to me, the harsh sounds that came from I -know not where and commanded me to do I know not what, have all -ceased. I go to bed now without any fear of sleep. I do not even try -to keep awake. I have grown quite fond of the garlic, and a boxful -arrives for me every day from Haarlem. Tonight Dr. Van Helsing is -going away, as he has to be for a day in Amsterdam. But I need not be -watched. I am well enough to be left alone. - -Thank God for Mother's sake, and dear Arthur's, and for all our -friends who have been so kind! I shall not even feel the change, for -last night Dr. Van Helsing slept in his chair a lot of the time. I -found him asleep twice when I awoke. But I did not fear to go to -sleep again, although the boughs or bats or something flapped almost -angrily against the window panes. - - - - -THE PALL MALL GAZETTE 18 September. - -THE ESCAPED WOLF PERILOUS ADVENTURE OF OUR INTERVIEWER - -INTERVIEW WITH THE KEEPER IN THE ZOOLOGICAL GARDENS - -After many inquiries and almost as many refusals, and perpetually -using the words 'PALL MALL GAZETTE' as a sort of talisman, I managed -to find the keeper of the section of the Zoological Gardens in which -the wolf department is included. Thomas Bilder lives in one of the -cottages in the enclosure behind the elephant house, and was just -sitting down to his tea when I found him. Thomas and his wife are -hospitable folk, elderly, and without children, and if the specimen -I enjoyed of their hospitality be of the average kind, their lives -must be pretty comfortable. The keeper would not enter on what he -called business until the supper was over, and we were all -satisfied. Then when the table was cleared, and he had lit his -pipe, he said, - -"Now, Sir, you can go on and arsk me what you want. You'll excoose -me refoosin' to talk of perfeshunal subjucts afore meals. I gives -the wolves and the jackals and the hyenas in all our section their -tea afore I begins to arsk them questions." - -"How do you mean, ask them questions?" I queried, wishful to get him -into a talkative humor. - -"'Ittin' of them over the 'ead with a pole is one way. Scratchin' of -their ears in another, when gents as is flush wants a bit of a show-orf -to their gals. I don't so much mind the fust, the 'ittin of the -pole part afore I chucks in their dinner, but I waits till they've -'ad their sherry and kawffee, so to speak, afore I tries on with the -ear scratchin'. Mind you," he added philosophically, "there's a -deal of the same nature in us as in them theer animiles. Here's you -a-comin' and arskin' of me questions about my business, and I that -grump-like that only for your bloomin' 'arf-quid I'd 'a' seen you -blowed fust 'fore I'd answer. Not even when you arsked me sarcastic -like if I'd like you to arsk the Superintendent if you might arsk me -questions. Without offence did I tell yer to go to 'ell?" - -"You did." - -"An' when you said you'd report me for usin' obscene language that -was 'ittin' me over the 'ead. But the 'arf-quid made that all -right. I weren't a-goin' to fight, so I waited for the food, and -did with my 'owl as the wolves and lions and tigers does. But, lor' -love yer 'art, now that the old 'ooman has stuck a chunk of her -tea-cake in me, an' rinsed me out with her bloomin' old teapot, and I've -lit hup, you may scratch my ears for all you're worth, and won't -even get a growl out of me. Drive along with your questions. I -know what yer a-comin' at, that 'ere escaped wolf." - -"Exactly. I want you to give me your view of it. Just tell me how -it happened, and when I know the facts I'll get you to say what you -consider was the cause of it, and how you think the whole affair -will end." - -"All right, guv'nor. This 'ere is about the 'ole story. -That 'ere wolf what we called Bersicker was one of three gray -ones that came from Norway to Jamrach's, which we bought -off him four years ago. He was a nice well-behaved wolf, -that never gave no trouble to talk of. I'm more surprised -at 'im for wantin' to get out nor any other animile in the -place. But, there, you can't trust wolves no more nor women." - -"Don't you mind him, Sir!" broke in Mrs. Tom, with a cheery -laugh. "'E's got mindin' the animiles so long that blest -if he ain't like a old wolf 'isself! But there ain't no -'arm in 'im." - -"Well, Sir, it was about two hours after feedin' yesterday when I -first hear my disturbance. I was makin' up a litter in the monkey -house for a young puma which is ill. But when I heard the yelpin' -and 'owlin' I kem away straight. There was Bersicker a-tearin' like -a mad thing at the bars as if he wanted to get out. There wasn't -much people about that day, and close at hand was only one man, a -tall, thin chap, with a 'ook nose and a pointed beard, with a few -white hairs runnin' through it. He had a 'ard, cold look and red -eyes, and I took a sort of mislike to him, for it seemed as if it -was 'im as they was hirritated at. He 'ad white kid gloves on 'is -'ands, and he pointed out the animiles to me and says, 'Keeper, -these wolves seem upset at something.' - -"'Maybe it's you,' says I, for I did not like the airs as he -give 'isself. He didn't get angry, as I 'oped he would, but -he smiled a kind of insolent smile, with a mouth full of white, -sharp teeth. 'Oh no, they wouldn't like me,' 'e says. - -"'Ow yes, they would,' says I, a-imitatin' of him. 'They -always like a bone or two to clean their teeth on about tea -time, which you 'as a bagful.' - -"Well, it was a odd thing, but when the animiles see us -a-talkin' they lay down, and when I went over to Bersicker -he let me stroke his ears same as ever. That there man kem -over, and blessed but if he didn't put in his hand and stroke -the old wolf's ears too! - -"'Tyke care,' says I. 'Bersicker is quick.' - -"'Never mind,' he says. I'm used to 'em!' - -"'Are you in the business yourself?' I says, tyking off my -'at, for a man what trades in wolves, anceterer, is a good -friend to keepers. - -"'Nom,' says he, 'not exactly in the business, but I 'ave made pets -of several.' And with that he lifts his 'at as perlite as a lord, -and walks away. Old Bersicker kep' a-lookin' arter 'im till 'e was -out of sight, and then went and lay down in a corner and wouldn't -come hout the 'ole hevening. Well, larst night, so soon as the moon -was hup, the wolves here all began a-'owling. There warn't nothing -for them to 'owl at. There warn't no one near, except some one that -was evidently a-callin' a dog somewheres out back of the gardings in -the Park road. Once or twice I went out to see that all was right, -and it was, and then the 'owling stopped. Just before twelve -o'clock I just took a look round afore turnin' in, an', bust me, but -when I kem opposite to old Bersicker's cage I see the rails broken -and twisted about and the cage empty. And that's all I know for -certing." - -"Did any one else see anything?" - -"One of our gard'ners was a-comin' 'ome about that time from a -'armony, when he sees a big gray dog comin' out through the garding -'edges. At least, so he says, but I don't give much for it myself, -for if he did 'e never said a word about it to his missis when 'e -got 'ome, and it was only after the escape of the wolf was made -known, and we had been up all night a-huntin' of the Park for -Bersicker, that he remembered seein' anything. My own belief was -that the 'armony 'ad got into his 'ead." - -"Now, Mr. Bilder, can you account in any way for the escape -of the wolf?" - -"Well, Sir," he said, with a suspicious sort of modesty, "I think I -can, but I don't know as 'ow you'd be satisfied with the theory." - -"Certainly I shall. If a man like you, who knows the animals from -experience, can't hazard a good guess at any rate, who is even to -try?" - -"Well then, Sir, I accounts for it this way. It seems to me that -'ere wolf escaped--simply because he wanted to get out." - -From the hearty way that both Thomas and his wife laughed at the -joke I could see that it had done service before, and that the whole -explanation was simply an elaborate sell. I couldn't cope in -badinage with the worthy Thomas, but I thought I knew a surer way to -his heart, so I said, "Now, Mr. Bilder, we'll consider that first -half-sovereign worked off, and this brother of his is waiting to be -claimed when you've told me what you think will happen." - -"Right y'are, Sir," he said briskly. "Ye'll excoose me, I -know, for a-chaffin' of ye, but the old woman here winked at -me, which was as much as telling me to go on." - -"Well, I never!" said the old lady. - -"My opinion is this: that 'ere wolf is a'idin' of, somewheres. The -gard'ner wot didn't remember said he was a-gallopin' northward -faster than a horse could go, but I don't believe him, for, yer see, -Sir, wolves don't gallop no more nor dogs does, they not bein' built -that way. Wolves is fine things in a storybook, and I dessay when -they gets in packs and does be chivyin' somethin' that's more -afeared than they is they can make a devil of a noise and chop it -up, whatever it is. But, Lor' bless you, in real life a wolf is -only a low creature, not half so clever or bold as a good dog, and -not half a quarter so much fight in 'im. This one ain't been used -to fightin' or even to providin' for hisself, and more like he's -somewhere round the Park a'hidin' an' a'shiverin' of, and if he -thinks at all, wonderin' where he is to get his breakfast from. Or -maybe he's got down some area and is in a coal cellar. My eye, -won't some cook get a rum start when she sees his green eyes -a-shinin' at her out of the dark! If he can't get food he's bound to -look for it, and mayhap he may chance to light on a butcher's shop -in time. If he doesn't, and some nursemaid goes out walkin' or orf -with a soldier, leavin' of the hinfant in the perambulator--well, -then I shouldn't be surprised if the census is one babby the less. -That's all." - -I was handing him the half-sovereign, when something came bobbing up -against the window, and Mr. Bilder's face doubled its natural length -with surprise. - -"God bless me!" he said. "If there ain't old Bersicker come back by -'isself!" - -He went to the door and opened it, a most unnecessary proceeding it -seemed to me. I have always thought that a wild animal never looks -so well as when some obstacle of pronounced durability is between -us. A personal experience has intensified rather than diminished -that idea. - -After all, however, there is nothing like custom, for neither Bilder -nor his wife thought any more of the wolf than I should of a dog. -The animal itself was a peaceful and well-behaved as that father of -all picture-wolves, Red Riding Hood's quondam friend, whilst moving -her confidence in masquerade. - -The whole scene was a unutterable mixture of comedy and -pathos. The wicked wolf that for a half a day had -paralyzed London and set all the children in town shivering -in their shoes, was there in a sort of penitent mood, and -was received and petted like a sort of vulpine prodigal -son. Old Bilder examined him all over with most tender -solicitude, and when he had finished with his penitent -said, - -"There, I knew the poor old chap would get into some kind of -trouble. Didn't I say it all along? Here's his head all -cut and full of broken glass. 'E's been a-gettin' over -some bloomin' wall or other. It's a shyme that people are -allowed to top their walls with broken bottles. This 'ere's -what comes of it. Come along, Bersicker." - -He took the wolf and locked him up in a cage, with a piece -of meat that satisfied, in quantity at any rate, the elementary -conditions of the fatted calf, and went off to report. - -I came off too, to report the only exclusive information -that is given today regarding the strange escapade at the -Zoo. - - - -DR. SEWARD'S DIARY - -17 September.--I was engaged after dinner in my study posting up my -books, which, through press of other work and the many visits to Lucy, -had fallen sadly into arrear. Suddenly the door was burst open, and -in rushed my patient, with his face distorted with passion. I was -thunderstruck, for such a thing as a patient getting of his own accord -into the Superintendent's study is almost unknown. - -Without an instant's notice he made straight at me. He had a dinner -knife in his hand, and as I saw he was dangerous, I tried to keep the -table between us. He was too quick and too strong for me, however, -for before I could get my balance he had struck at me and cut my left -wrist rather severely. - -Before he could strike again, however, I got in my right hand and he -was sprawling on his back on the floor. My wrist bled freely, and -quite a little pool trickled on to the carpet. I saw that my friend -was not intent on further effort, and occupied myself binding up my -wrist, keeping a wary eye on the prostrate figure all the time. When -the attendants rushed in, and we turned our attention to him, his -employment positively sickened me. He was lying on his belly on the -floor licking up, like a dog, the blood which had fallen from my -wounded wrist. He was easily secured, and to my surprise, went with -the attendants quite placidly, simply repeating over and over again, -"The blood is the life! The blood is the life!" - -I cannot afford to lose blood just at present. I have lost too much -of late for my physical good, and then the prolonged strain of Lucy's -illness and its horrible phases is telling on me. I am over excited -and weary, and I need rest, rest, rest. Happily Van Helsing has not -summoned me, so I need not forego my sleep. Tonight I could not well -do without it. - - - -TELEGRAM, VAN HELSING, ANTWERP, TO SEWARD, CARFAX - -(Sent to Carfax, Sussex, as no county given, delivered late -by twenty-two hours.) - -17 September.--Do not fail to be at Hilllingham tonight. -If not watching all the time, frequently visit and see that -flowers are as placed, very important, do not fail. Shall -be with you as soon as possible after arrival. - - - -DR. SEWARD'S DIARY - -18 September.--Just off train to London. The arrival of Van -Helsing's telegram filled me with dismay. A whole night lost, -and I know by bitter experience what may happen in a night. -Of course it is possible that all may be well, but what may -have happened? Surely there is some horrible doom hanging over us -that every possible accident should thwart us in all we try to do. -I shall take this cylinder with me, and then I can complete -my entry on Lucy's phonograph. - - - - -MEMORANDUM LEFT BY LUCY WESTENRA - -17 September, Night.--I write this and leave it to be seen, -so that no one may by any chance get into trouble through -me. This is an exact record of what took place tonight. I -feel I am dying of weakness, and have barely strength to -write, but it must be done if I die in the doing. - -I went to bed as usual, taking care that the flowers were -placed as Dr. Van Helsing directed, and soon fell asleep. - -I was waked by the flapping at the window, which had begun after -that sleep-walking on the cliff at Whitby when Mina saved me, and -which now I know so well. I was not afraid, but I did wish that -Dr. Seward was in the next room, as Dr. Van Helsing said he would -be, so that I might have called him. I tried to sleep, but I -could not. Then there came to me the old fear of sleep, and I -determined to keep awake. Perversely sleep would try to come then -when I did not want it. So, as I feared to be alone, I opened my -door and called out, "Is there anybody there?" There was no -answer. I was afraid to wake mother, and so closed my door -again. Then outside in the shrubbery I heard a sort of howl like -a dog's, but more fierce and deeper. I went to the window and -looked out, but could see nothing, except a big bat, which had -evidently been buffeting its wings against the window. So I went -back to bed again, but determined not to go to sleep. Presently -the door opened, and mother looked in. Seeing by my moving that -I was not asleep, she came in and sat by me. She said to me even -more sweetly and softly than her wont, - -"I was uneasy about you, darling, and came in to see that -you were all right." - -I feared she might catch cold sitting there, and asked her -to come in and sleep with me, so she came into bed, and lay -down beside me. She did not take off her dressing gown, -for she said she would only stay a while and then go back -to her own bed. As she lay there in my arms, and I in hers -the flapping and buffeting came to the window again. She -was startled and a little frightened, and cried out, "What -is that?" - -I tried to pacify her, and at last succeeded, and she lay -quiet. But I could hear her poor dear heart still beating -terribly. After a while there was the howl again out in -the shrubbery, and shortly after there was a crash at the -window, and a lot of broken glass was hurled on the floor. -The window blind blew back with the wind that rushed in, -and in the aperture of the broken panes there was the head -of a great, gaunt gray wolf. - -Mother cried out in a fright, and struggled up into a -sitting posture, and clutched wildly at anything that would -help her. Amongst other things, she clutched the wreath of -flowers that Dr. Van Helsing insisted on my wearing round -my neck, and tore it away from me. For a second or two she -sat up, pointing at the wolf, and there was a strange and -horrible gurgling in her throat. Then she fell over, as if -struck with lightning, and her head hit my forehead and -made me dizzy for a moment or two. - -The room and all round seemed to spin round. I kept my eyes -fixed on the window, but the wolf drew his head back, and a whole -myriad of little specks seems to come blowing in through the -broken window, and wheeling and circling round like the pillar of -dust that travellers describe when there is a simoon in the -desert. I tried to stir, but there was some spell upon me, and -dear Mother's poor body, which seemed to grow cold already, for -her dear heart had ceased to beat, weighed me down, and I -remembered no more for a while. - -The time did not seem long, but very, very awful, till I -recovered consciousness again. Somewhere near, a passing -bell was tolling. The dogs all round the neighbourhood were -howling, and in our shrubbery, seemingly just outside, a -nightingale was singing. I was dazed and stupid with pain -and terror and weakness, but the sound of the nightingale -seemed like the voice of my dead mother come back to comfort me. -The sounds seemed to have awakened the maids, too, for I could -hear their bare feet pattering outside my door. I called to -them, and they came in, and when they saw what had happened, and -what it was that lay over me on the bed, they screamed out. The -wind rushed in through the broken window, and the door slammed -to. They lifted off the body of my dear mother, and laid her, -covered up with a sheet, on the bed after I had got up. They -were all so frightened and nervous that I directed them to go to -the dining room and each have a glass of wine. The door flew -open for an instant and closed again. The maids shrieked, and -then went in a body to the dining room, and I laid what flowers I -had on my dear mother's breast. When they were there I -remembered what Dr. Van Helsing had told me, but I didn't like to -remove them, and besides, I would have some of the servants to -sit up with me now. I was surprised that the maids did not come -back. I called them, but got no answer, so I went to the dining -room to look for them. - -My heart sank when I saw what had happened. They all four -lay helpless on the floor, breathing heavily. The decanter -of sherry was on the table half full, but there was a queer, -acrid smell about. I was suspicious, and examined the decanter. -It smelt of laudanum, and looking on the sideboard, I found that -the bottle which Mother's doctor uses for her--oh! did use--was -empty. What am I to do? What am I to do? I am back in the room -with Mother. I cannot leave her, and I am alone, save for the -sleeping servants, whom some one has drugged. Alone with the -dead! I dare not go out, for I can hear the low howl of the wolf -through the broken window. - -The air seems full of specks, floating and circling in the -draught from the window, and the lights burn blue and dim. -What am I to do? God shield me from harm this night! I -shall hide this paper in my breast, where they shall find -it when they come to lay me out. My dear mother gone! It -is time that I go too. Goodbye, dear Arthur, if I should -not survive this night. God keep you, dear, and God help -me! - - - - -CHAPTER 12 - - -DR. SEWARD'S DIARY - -18 September.--I drove at once to Hillingham and arrived early. -Keeping my cab at the gate, I went up the avenue alone. I knocked -gently and rang as quietly as possible, for I feared to disturb Lucy -or her mother, and hoped to only bring a servant to the door. After a -while, finding no response, I knocked and rang again, still no -answer. I cursed the laziness of the servants that they should lie -abed at such an hour, for it was now ten o'clock, and so rang and -knocked again, but more impatiently, but still without response. -Hitherto I had blamed only the servants, but now a terrible fear began -to assail me. Was this desolation but another link in the chain of -doom which seemed drawing tight round us? Was it indeed a house of -death to which I had come, too late? I know that minutes, even -seconds of delay, might mean hours of danger to Lucy, if she had had -again one of those frightful relapses, and I went round the house to -try if I could find by chance an entry anywhere. - -I could find no means of ingress. Every window and door was fastened -and locked, and I returned baffled to the porch. As I did so, I heard -the rapid pit-pat of a swiftly driven horse's feet. They stopped at -the gate, and a few seconds later I met Van Helsing running up the -avenue. When he saw me, he gasped out, "Then it was you, and just -arrived. How is she? Are we too late? Did you not get my telegram?" - -I answered as quickly and coherently as I could that I had only got -his telegram early in the morning, and had not a minute in coming -here, and that I could not make any one in the house hear me. He -paused and raised his hat as he said solemnly, "Then I fear we are too -late. God's will be done!" - -With his usual recuperative energy, he went on, "Come. If there be no -way open to get in, we must make one. Time is all in all to us now." - -We went round to the back of the house, where there was a kitchen -window. The Professor took a small surgical saw from his case, and -handing it to me, pointed to the iron bars which guarded the window. -I attacked them at once and had very soon cut through three of them. -Then with a long, thin knife we pushed back the fastening of the -sashes and opened the window. I helped the Professor in, and followed -him. There was no one in the kitchen or in the servants' rooms, which -were close at hand. We tried all the rooms as we went along, and in -the dining room, dimly lit by rays of light through the shutters, -found four servant women lying on the floor. There was no need to -think them dead, for their stertorous breathing and the acrid smell of -laudanum in the room left no doubt as to their condition. - -Van Helsing and I looked at each other, and as we moved away he said, -"We can attend to them later." Then we ascended to Lucy's room. For an -instant or two we paused at the door to listen, but there was no sound -that we could hear. With white faces and trembling hands, we opened -the door gently, and entered the room. - -How shall I describe what we saw? On the bed lay two women, Lucy and -her mother. The latter lay farthest in, and she was covered with a -white sheet, the edge of which had been blown back by the drought -through the broken window, showing the drawn, white, face, with a look -of terror fixed upon it. By her side lay Lucy, with face white and -still more drawn. The flowers which had been round her neck we found -upon her mother's bosom, and her throat was bare, showing the two -little wounds which we had noticed before, but looking horribly white -and mangled. Without a word the Professor bent over the bed, his head -almost touching poor Lucy's breast. Then he gave a quick turn of his -head, as of one who listens, and leaping to his feet, he cried out to -me, "It is not yet too late! Quick! Quick! Bring the brandy!" - -I flew downstairs and returned with it, taking care to smell and taste -it, lest it, too, were drugged like the decanter of sherry which I -found on the table. The maids were still breathing, but more -restlessly, and I fancied that the narcotic was wearing off. I did -not stay to make sure, but returned to Van Helsing. He rubbed the -brandy, as on another occasion, on her lips and gums and on her wrists -and the palms of her hands. He said to me, "I can do this, all that -can be at the present. You go wake those maids. Flick them in the -face with a wet towel, and flick them hard. Make them get heat and -fire and a warm bath. This poor soul is nearly as cold as that beside -her. She will need be heated before we can do anything more." - -I went at once, and found little difficulty in waking three of the -women. The fourth was only a young girl, and the drug had evidently -affected her more strongly so I lifted her on the sofa and let her -sleep. - -The others were dazed at first, but as remembrance came back to them -they cried and sobbed in a hysterical manner. I was stern with them, -however, and would not let them talk. I told them that one life was -bad enough to lose, and if they delayed they would sacrifice Miss -Lucy. So, sobbing and crying they went about their way, half clad as -they were, and prepared fire and water. Fortunately, the kitchen and -boiler fires were still alive, and there was no lack of hot water. We -got a bath and carried Lucy out as she was and placed her in it. -Whilst we were busy chafing her limbs there was a knock at the hall -door. One of the maids ran off, hurried on some more clothes, and -opened it. Then she returned and whispered to us that there was a -gentleman who had come with a message from Mr. Holmwood. I bade her -simply tell him that he must wait, for we could see no one now. She -went away with the message, and, engrossed with our work, I clean -forgot all about him. - -I never saw in all my experience the Professor work in such deadly -earnest. I knew, as he knew, that it was a stand-up fight with death, -and in a pause told him so. He answered me in a way that I did not -understand, but with the sternest look that his face could wear. - -"If that were all, I would stop here where we are now, and let her -fade away into peace, for I see no light in life over her horizon." He -went on with his work with, if possible, renewed and more frenzied -vigour. - -Presently we both began to be conscious that the heat was beginning to -be of some effect. Lucy's heart beat a trifle more audibly to the -stethoscope, and her lungs had a perceptible movement. Van Helsing's -face almost beamed, and as we lifted her from the bath and rolled her -in a hot sheet to dry her he said to me, "The first gain is ours! -Check to the King!" - -We took Lucy into another room, which had by now been prepared, and -laid her in bed and forced a few drops of brandy down her throat. I -noticed that Van Helsing tied a soft silk handkerchief round her -throat. She was still unconscious, and was quite as bad as, if not -worse than, we had ever seen her. - -Van Helsing called in one of the women, and told her to stay with her -and not to take her eyes off her till we returned, and then beckoned -me out of the room. - -"We must consult as to what is to be done," he said as we descended -the stairs. In the hall he opened the dining room door, and we passed -in, he closing the door carefully behind him. The shutters had been -opened, but the blinds were already down, with that obedience to the -etiquette of death which the British woman of the lower classes always -rigidly observes. The room was, therefore, dimly dark. It was, -however, light enough for our purposes. Van Helsing's sternness was -somewhat relieved by a look of perplexity. He was evidently torturing -his mind about something, so I waited for an instant, and he spoke. - -"What are we to do now? Where are we to turn for help? We must have -another transfusion of blood, and that soon, or that poor girl's life -won't be worth an hour's purchase. You are exhausted already. I am -exhausted too. I fear to trust those women, even if they would have -courage to submit. What are we to do for some one who will open his -veins for her?" - -"What's the matter with me, anyhow?" - -The voice came from the sofa across the room, and its tones brought -relief and joy to my heart, for they were those of Quincey Morris. - -Van Helsing started angrily at the first sound, but his face softened -and a glad look came into his eyes as I cried out, "Quincey Morris!" -and rushed towards him with outstretched hands. - -"What brought you here?" I cried as our hands met. - -"I guess Art is the cause." - -He handed me a telegram.--'Have not heard from Seward for three days, -and am terribly anxious. Cannot leave. Father still in same -condition. Send me word how Lucy is. Do not delay.--Holmwood.' - -"I think I came just in the nick of time. You know you have only to -tell me what to do." - -Van Helsing strode forward, and took his hand, looking him straight in -the eyes as he said, "A brave man's blood is the best thing on this -earth when a woman is in trouble. You're a man and no mistake. Well, -the devil may work against us for all he's worth, but God sends us men -when we want them." - -Once again we went through that ghastly operation. I have not the -heart to go through with the details. Lucy had got a terrible shock -and it told on her more than before, for though plenty of blood went -into her veins, her body did not respond to the treatment as well as -on the other occasions. Her struggle back into life was something -frightful to see and hear. However, the action of both heart and -lungs improved, and Van Helsing made a sub-cutaneous injection of -morphia, as before, and with good effect. Her faint became a profound -slumber. The Professor watched whilst I went downstairs with Quincey -Morris, and sent one of the maids to pay off one of the cabmen who -were waiting. - -I left Quincey lying down after having a glass of wine, and told the -cook to get ready a good breakfast. Then a thought struck me, and I -went back to the room where Lucy now was. When I came softly in, I -found Van Helsing with a sheet or two of note paper in his hand. He -had evidently read it, and was thinking it over as he sat with his -hand to his brow. There was a look of grim satisfaction in his face, -as of one who has had a doubt solved. He handed me the paper saying -only, "It dropped from Lucy's breast when we carried her to the bath." - -When I had read it, I stood looking at the Professor, and after a -pause asked him, "In God's name, what does it all mean? Was she, or -is she, mad, or what sort of horrible danger is it?" I was so -bewildered that I did not know what to say more. Van Helsing put out -his hand and took the paper, saying, - -"Do not trouble about it now. Forget it for the present. You shall -know and understand it all in good time, but it will be later. And -now what is it that you came to me to say?" This brought me back to -fact, and I was all myself again. - -"I came to speak about the certificate of death. If we do not act -properly and wisely, there may be an inquest, and that paper would -have to be produced. I am in hopes that we need have no inquest, for -if we had it would surely kill poor Lucy, if nothing else did. I -know, and you know, and the other doctor who attended her knows, that -Mrs. Westenra had disease of the heart, and we can certify that she -died of it. Let us fill up the certificate at once, and I shall take -it myself to the registrar and go on to the undertaker." - -"Good, oh my friend John! Well thought of! Truly Miss Lucy, if she -be sad in the foes that beset her, is at least happy in the friends -that love her. One, two, three, all open their veins for her, besides -one old man. Ah, yes, I know, friend John. I am not blind! I love -you all the more for it! Now go." - -In the hall I met Quincey Morris, with a telegram for Arthur telling -him that Mrs. Westenra was dead, that Lucy also had been ill, but was -now going on better, and that Van Helsing and I were with her. I told -him where I was going, and he hurried me out, but as I was going said, - -"When you come back, Jack, may I have two words with you all to -ourselves?" I nodded in reply and went out. I found no difficulty -about the registration, and arranged with the local undertaker to come -up in the evening to measure for the coffin and to make arrangements. - -When I got back Quincey was waiting for me. I told him I would see -him as soon as I knew about Lucy, and went up to her room. She was -still sleeping, and the Professor seemingly had not moved from his -seat at her side. From his putting his finger to his lips, I gathered -that he expected her to wake before long and was afraid of -fore-stalling nature. So I went down to Quincey and took him into the -breakfast room, where the blinds were not drawn down, and which was a -little more cheerful, or rather less cheerless, than the other rooms. - -When we were alone, he said to me, "Jack Seward, I don't want to shove -myself in anywhere where I've no right to be, but this is no ordinary -case. You know I loved that girl and wanted to marry her, but -although that's all past and gone, I can't help feeling anxious about -her all the same. What is it that's wrong with her? The Dutchman, -and a fine old fellow he is, I can see that, said that time you two -came into the room, that you must have another transfusion of blood, -and that both you and he were exhausted. Now I know well that you -medical men speak in camera, and that a man must not expect to know -what they consult about in private. But this is no common matter, and -whatever it is, I have done my part. Is not that so?" - -"That's so," I said, and he went on. - -"I take it that both you and Van Helsing had done already what I did -today. Is not that so?" - -"That's so." - -"And I guess Art was in it too. When I saw him four days ago down at -his own place he looked queer. I have not seen anything pulled down -so quick since I was on the Pampas and had a mare that I was fond of -go to grass all in a night. One of those big bats that they call -vampires had got at her in the night, and what with his gorge and the -vein left open, there wasn't enough blood in her to let her stand up, -and I had to put a bullet through her as she lay. Jack, if you may -tell me without betraying confidence, Arthur was the first, is not -that so?" - -As he spoke the poor fellow looked terribly anxious. He was in a -torture of suspense regarding the woman he loved, and his utter -ignorance of the terrible mystery which seemed to surround her -intensified his pain. His very heart was bleeding, and it took all -the manhood of him, and there was a royal lot of it, too, to keep him -from breaking down. I paused before answering, for I felt that I must -not betray anything which the Professor wished kept secret, but -already he knew so much, and guessed so much, that there could be no -reason for not answering, so I answered in the same phrase. - -"That's so." - -"And how long has this been going on?" - -"About ten days." - -"Ten days! Then I guess, Jack Seward, that that poor pretty creature -that we all love has had put into her veins within that time the blood -of four strong men. Man alive, her whole body wouldn't hold it." Then -coming close to me, he spoke in a fierce half-whisper. "What took it -out?" - -I shook my head. "That," I said, "is the crux. Van Helsing is simply -frantic about it, and I am at my wits' end. I can't even hazard a -guess. There has been a series of little circumstances which have -thrown out all our calculations as to Lucy being properly watched. -But these shall not occur again. Here we stay until all be well, or -ill." - -Quincey held out his hand. "Count me in," he said. "You and the -Dutchman will tell me what to do, and I'll do it." - -When she woke late in the afternoon, Lucy's first movement was to feel -in her breast, and to my surprise, produced the paper which Van -Helsing had given me to read. The careful Professor had replaced it -where it had come from, lest on waking she should be alarmed. Her -eyes then lit on Van Helsing and on me too, and gladdened. Then she -looked round the room, and seeing where she was, shuddered. She gave -a loud cry, and put her poor thin hands before her pale face. - -We both understood what was meant, that she had realized to the full -her mother's death. So we tried what we could to comfort her. -Doubtless sympathy eased her somewhat, but she was very low in thought -and spirit, and wept silently and weakly for a long time. We told her -that either or both of us would now remain with her all the time, and -that seemed to comfort her. Towards dusk she fell into a doze. Here -a very odd thing occurred. Whilst still asleep she took the paper -from her breast and tore it in two. Van Helsing stepped over and took -the pieces from her. All the same, however, she went on with the -action of tearing, as though the material were still in her hands. -Finally she lifted her hands and opened them as though scattering the -fragments. Van Helsing seemed surprised, and his brows gathered as if -in thought, but he said nothing. - - -19 September.--All last night she slept fitfully, being always afraid -to sleep, and something weaker when she woke from it. The Professor -and I took in turns to watch, and we never left her for a moment -unattended. Quincey Morris said nothing about his intention, but I -knew that all night long he patrolled round and round the house. - -When the day came, its searching light showed the ravages in poor -Lucy's strength. She was hardly able to turn her head, and the little -nourishment which she could take seemed to do her no good. At times -she slept, and both Van Helsing and I noticed the difference in her, -between sleeping and waking. Whilst asleep she looked stronger, -although more haggard, and her breathing was softer. Her open mouth -showed the pale gums drawn back from the teeth, which looked -positively longer and sharper than usual. When she woke the softness -of her eyes evidently changed the expression, for she looked her own -self, although a dying one. In the afternoon she asked for Arthur, -and we telegraphed for him. Quincey went off to meet him at the -station. - -When he arrived it was nearly six o'clock, and the sun was setting -full and warm, and the red light streamed in through the window and -gave more colour to the pale cheeks. When he saw her, Arthur was -simply choking with emotion, and none of us could speak. In the hours -that had passed, the fits of sleep, or the comatose condition that -passed for it, had grown more frequent, so that the pauses when -conversation was possible were shortened. Arthur's presence, however, -seemed to act as a stimulant. She rallied a little, and spoke to him -more brightly than she had done since we arrived. He too pulled -himself together, and spoke as cheerily as he could, so that the best -was made of everything. - -It is now nearly one o'clock, and he and Van Helsing are sitting with -her. I am to relieve them in a quarter of an hour, and I am entering -this on Lucy's phonograph. Until six o'clock they are to try to rest. -I fear that tomorrow will end our watching, for the shock has been too -great. The poor child cannot rally. God help us all. - - - - -LETTER MINA HARKER TO LUCY WESTENRA - -(Unopened by her) - -17 September - -My dearest Lucy, - -"It seems an age since I heard from you, or indeed since I -wrote. You will pardon me, I know, for all my faults when -you have read all my budget of news. Well, I got my husband back -all right. When we arrived at Exeter there was a carriage -waiting for us, and in it, though he had an attack of gout, Mr. -Hawkins. He took us to his house, where there were rooms for us -all nice and comfortable, and we dined together. After dinner -Mr. Hawkins said, - -"'My dears, I want to drink your health and prosperity, and -may every blessing attend you both. I know you both from -children, and have, with love and pride, seen you grow up. -Now I want you to make your home here with me. I have left -to me neither chick nor child. All are gone, and in my -will I have left you everything.' I cried, Lucy dear, as -Jonathan and the old man clasped hands. Our evening was a -very, very happy one. - -"So here we are, installed in this beautiful old house, and -from both my bedroom and the drawing room I can see the -great elms of the cathedral close, with their great black -stems standing out against the old yellow stone of the cathedral, -and I can hear the rooks overhead cawing and cawing and -chattering and chattering and gossiping all day, after the manner -of rooks--and humans. I am busy, I need not tell you, arranging -things and housekeeping. Jonathan and Mr. Hawkins are busy all -day, for now that Jonathan is a partner, Mr. Hawkins wants to -tell him all about the clients. - -"How is your dear mother getting on? I wish I could run up -to town for a day or two to see you, dear, but I dare not -go yet, with so much on my shoulders, and Jonathan wants -looking after still. He is beginning to put some flesh on -his bones again, but he was terribly weakened by the long -illness. Even now he sometimes starts out of his sleep in -a sudden way and awakes all trembling until I can coax him -back to his usual placidity. However, thank God, these -occasions grow less frequent as the days go on, and they -will in time pass away altogether, I trust. And now I have -told you my news, let me ask yours. When are you to be -married, and where, and who is to perform the ceremony, and -what are you to wear, and is it to be a public or private -wedding? Tell me all about it, dear, tell me all about -everything, for there is nothing which interests you which -will not be dear to me. Jonathan asks me to send his 'respectful -duty', but I do not think that is good enough from the junior -partner of the important firm Hawkins & Harker. And so, as you -love me, and he loves me, and I love you with all the moods and -tenses of the verb, I send you simply his 'love' instead. -Goodbye, my dearest Lucy, and blessings on you. - -"Yours, - -"Mina Harker" - - - -REPORT FROM PATRICK HENNESSEY, MD, MRCSLK, QCPI, ETC, ETC, -TO JOHN SEWARD, MD - -20 September - -My dear Sir: - -"In accordance with your wishes, I enclose report of the -conditions of everything left in my charge. With regard to -patient, Renfield, there is more to say. He has had another -outbreak, which might have had a dreadful ending, but which, as -it fortunately happened, was unattended with any unhappy results. -This afternoon a carrier's cart with two men made a call at the -empty house whose grounds abut on ours, the house to which, you -will remember, the patient twice ran away. The men stopped at -our gate to ask the porter their way, as they were strangers. - -"I was myself looking out of the study window, having a -smoke after dinner, and saw one of them come up to the -house. As he passed the window of Renfield's room, the -patient began to rate him from within, and called him all -the foul names he could lay his tongue to. The man, who -seemed a decent fellow enough, contented himself by telling -him to 'shut up for a foul-mouthed beggar', whereon our man -accused him of robbing him and wanting to murder him and -said that he would hinder him if he were to swing for it. -I opened the window and signed to the man not to notice, so -he contented himself after looking the place over and making up -his mind as to what kind of place he had got to by saying, 'Lor' -bless yer, sir, I wouldn't mind what was said to me in a bloomin' -madhouse. I pity ye and the guv'nor for havin' to live in the -house with a wild beast like that.' - -"Then he asked his way civilly enough, and I told him where -the gate of the empty house was. He went away followed by -threats and curses and revilings from our man. I went down -to see if I could make out any cause for his anger, since -he is usually such a well-behaved man, and except his violent -fits nothing of the kind had ever occurred. I found him, to my -astonishment, quite composed and most genial in his manner. I -tried to get him to talk of the incident, but he blandly asked me -questions as to what I meant, and led me to believe that he was -completely oblivious of the affair. It was, I am sorry to say, -however, only another instance of his cunning, for within half an -hour I heard of him again. This time he had broken out through -the window of his room, and was running down the avenue. I -called to the attendants to follow me, and ran after him, for I -feared he was intent on some mischief. My fear was justified -when I saw the same cart which had passed before coming down the -road, having on it some great wooden boxes. The men were wiping -their foreheads, and were flushed in the face, as if with violent -exercise. Before I could get up to him, the patient rushed at -them, and pulling one of them off the cart, began to knock his -head against the ground. If I had not seized him just at the -moment, I believe he would have killed the man there and then. -The other fellow jumped down and struck him over the head with -the butt end of his heavy whip. It was a horrible blow, but he -did not seem to mind it, but seized him also, and struggled with -the three of us, pulling us to and fro as if we were kittens. -You know I am no lightweight, and the others were both burly men. -At first he was silent in his fighting, but as we began to master -him, and the attendants were putting a strait waistcoat on him, -he began to shout, 'I'll frustrate them! They shan't rob me! -They shan't murder me by inches! I'll fight for my Lord and -Master!' and all sorts of similar incoherent ravings. It was -with very considerable difficulty that they got him back to the -house and put him in the padded room. One of the attendants, -Hardy, had a finger broken. However, I set it all right, and he -is going on well. - -"The two carriers were at first loud in their threats of -actions for damages, and promised to rain all the penalties -of the law on us. Their threats were, however, mingled -with some sort of indirect apology for the defeat of the -two of them by a feeble madman. They said that if it had -not been for the way their strength had been spent in carrying -and raising the heavy boxes to the cart they would have made -short work of him. They gave as another reason for their defeat -the extraordinary state of drouth to which they had been reduced -by the dusty nature of their occupation and the reprehensible -distance from the scene of their labors of any place of public -entertainment. I quite understood their drift, and after a stiff -glass of strong grog, or rather more of the same, and with each a -sovereign in hand, they made light of the attack, and swore that -they would encounter a worse madman any day for the pleasure of -meeting so 'bloomin' good a bloke' as your correspondent. I took -their names and addresses, in case they might be needed. They -are as follows: Jack Smollet, of Dudding's Rents, King George's -Road, Great Walworth, and Thomas Snelling, Peter Farley's Row, -Guide Court, Bethnal Green. They are both in the employment of -Harris & Sons, Moving and Shipment Company, Orange Master's Yard, -Soho. - -"I shall report to you any matter of interest occurring here, and -shall wire you at once if there is anything of importance. - -"Believe me, dear Sir, - -"Yours faithfully, - -"Patrick Hennessey." - - - -LETTER, MINA HARKER TO LUCY WESTENRA (Unopened by her) - -18 September - -"My dearest Lucy, - -"Such a sad blow has befallen us. Mr. Hawkins has died very -suddenly. Some may not think it so sad for us, but we had -both come to so love him that it really seems as though we -had lost a father. I never knew either father or mother, -so that the dear old man's death is a real blow to me. Jonathan -is greatly distressed. It is not only that he feels sorrow, deep -sorrow, for the dear, good man who has befriended him all his -life, and now at the end has treated him like his own son and -left him a fortune which to people of our modest bringing up is -wealth beyond the dream of avarice, but Jonathan feels it on -another account. He says the amount of responsibility which it -puts upon him makes him nervous. He begins to doubt himself. I -try to cheer him up, and my belief in him helps him to have a -belief in himself. But it is here that the grave shock that he -experienced tells upon him the most. Oh, it is too hard that a -sweet, simple, noble, strong nature such as his, a nature which -enabled him by our dear, good friend's aid to rise from clerk to -master in a few years, should be so injured that the very essence -of its strength is gone. Forgive me, dear, if I worry you with my -troubles in the midst of your own happiness, but Lucy dear, I -must tell someone, for the strain of keeping up a brave and -cheerful appearance to Jonathan tries me, and I have no one here -that I can confide in. I dread coming up to London, as we must -do that day after tomorrow, for poor Mr. Hawkins left in his will -that he was to be buried in the grave with his father. As there -are no relations at all, Jonathan will have to be chief mourner. -I shall try to run over to see you, dearest, if only for a few -minutes. Forgive me for troubling you. With all blessings, - -"Your loving - -"Mina Harker" - - - -DR. SEWARD'S DIARY - -20 September.--Only resolution and habit can let me make an entry -tonight. I am too miserable, too low spirited, too sick of the world -and all in it, including life itself, that I would not care if I heard -this moment the flapping of the wings of the angel of death. And he -has been flapping those grim wings to some purpose of late, Lucy's -mother and Arthur's father, and now . . . Let me get on with my work. - -I duly relieved Van Helsing in his watch over Lucy. We wanted Arthur -to go to rest also, but he refused at first. It was only when I told -him that we should want him to help us during the day, and that we -must not all break down for want of rest, lest Lucy should suffer, -that he agreed to go. - -Van Helsing was very kind to him. "Come, my child," he said. "Come -with me. You are sick and weak, and have had much sorrow and much -mental pain, as well as that tax on your strength that we know of. -You must not be alone, for to be alone is to be full of fears and -alarms. Come to the drawing room, where there is a big fire, and -there are two sofas. You shall lie on one, and I on the other, and -our sympathy will be comfort to each other, even though we do not -speak, and even if we sleep." - -Arthur went off with him, casting back a longing look on Lucy's face, -which lay in her pillow, almost whiter than the lawn. She lay quite -still, and I looked around the room to see that all was as it should -be. I could see that the Professor had carried out in this room, as -in the other, his purpose of using the garlic. The whole of the -window sashes reeked with it, and round Lucy's neck, over the silk -handkerchief which Van Helsing made her keep on, was a rough chaplet -of the same odorous flowers. - -Lucy was breathing somewhat stertorously, and her face was at its -worst, for the open mouth showed the pale gums. Her teeth, in the -dim, uncertain light, seemed longer and sharper than they had been in -the morning. In particular, by some trick of the light, the canine -teeth looked longer and sharper than the rest. - -I sat down beside her, and presently she moved uneasily. At the same -moment there came a sort of dull flapping or buffeting at the window. -I went over to it softly, and peeped out by the corner of the blind. -There was a full moonlight, and I could see that the noise was made by -a great bat, which wheeled around, doubtless attracted by the light, -although so dim, and every now and again struck the window with its -wings. When I came back to my seat, I found that Lucy had moved -slightly, and had torn away the garlic flowers from her throat. I -replaced them as well as I could, and sat watching her. - -Presently she woke, and I gave her food, as Van Helsing had -prescribed. She took but a little, and that languidly. There did not -seem to be with her now the unconscious struggle for life and strength -that had hitherto so marked her illness. It struck me as curious that -the moment she became conscious she pressed the garlic flowers close -to her. It was certainly odd that whenever she got into that -lethargic state, with the stertorous breathing, she put the flowers -from her, but that when she waked she clutched them close. There was -no possibility of making any mistake about this, for in the long hours -that followed, she had many spells of sleeping and waking and repeated -both actions many times. - -At six o'clock Van Helsing came to relieve me. Arthur had then fallen -into a doze, and he mercifully let him sleep on. When he saw Lucy's -face I could hear the hissing indraw of breath, and he said to me in a -sharp whisper. "Draw up the blind. I want light!" Then he bent down, -and, with his face almost touching Lucy's, examined her carefully. He -removed the flowers and lifted the silk handkerchief from her throat. -As he did so he started back and I could hear his ejaculation, "Mein -Gott!" as it was smothered in his throat. I bent over and looked, -too, and as I noticed some queer chill came over me. The wounds on -the throat had absolutely disappeared. - -For fully five minutes Van Helsing stood looking at her, with his face -at its sternest. Then he turned to me and said calmly, "She is -dying. It will not be long now. It will be much difference, mark me, -whether she dies conscious or in her sleep. Wake that poor boy, and -let him come and see the last. He trusts us, and we have promised -him." - -I went to the dining room and waked him. He was dazed for a moment, -but when he saw the sunlight streaming in through the edges of the -shutters he thought he was late, and expressed his fear. I assured -him that Lucy was still asleep, but told him as gently as I could that -both Van Helsing and I feared that the end was near. He covered his -face with his hands, and slid down on his knees by the sofa, where he -remained, perhaps a minute, with his head buried, praying, whilst his -shoulders shook with grief. I took him by the hand and raised him up. -"Come," I said, "my dear old fellow, summon all your fortitude. It -will be best and easiest for her." - -When we came into Lucy's room I could see that Van Helsing had, with -his usual forethought, been putting matters straight and making -everything look as pleasing as possible. He had even brushed Lucy's -hair, so that it lay on the pillow in its usual sunny ripples. When -we came into the room she opened her eyes, and seeing him, whispered -softly, "Arthur! Oh, my love, I am so glad you have come!" - -He was stooping to kiss her, when Van Helsing motioned him back. -"No," he whispered, "not yet! Hold her hand, it will comfort her -more." - -So Arthur took her hand and knelt beside her, and she looked her best, -with all the soft lines matching the angelic beauty of her eyes. Then -gradually her eyes closed, and she sank to sleep. For a little bit -her breast heaved softly, and her breath came and went like a tired -child's. - -And then insensibly there came the strange change which I had noticed -in the night. Her breathing grew stertorous, the mouth opened, and -the pale gums, drawn back, made the teeth look longer and sharper than -ever. In a sort of sleep-waking, vague, unconscious way she opened -her eyes, which were now dull and hard at once, and said in a soft, -voluptuous voice, such as I had never heard from her lips, "Arthur! -Oh, my love, I am so glad you have come! Kiss me!" - -Arthur bent eagerly over to kiss her, but at that instant Van Helsing, -who, like me, had been startled by her voice, swooped upon him, and -catching him by the neck with both hands, dragged him back with a fury -of strength which I never thought he could have possessed, and -actually hurled him almost across the room. - -"Not on your life!" he said, "not for your living soul and hers!" And -he stood between them like a lion at bay. - -Arthur was so taken aback that he did not for a moment know what to do -or say, and before any impulse of violence could seize him he realized -the place and the occasion, and stood silent, waiting. - -I kept my eyes fixed on Lucy, as did Van Helsing, and we saw a spasm -as of rage flit like a shadow over her face. The sharp teeth clamped -together. Then her eyes closed, and she breathed heavily. - -Very shortly after she opened her eyes in all their softness, and -putting out her poor, pale, thin hand, took Van Helsing's great brown -one, drawing it close to her, she kissed it. "My true friend," she -said, in a faint voice, but with untellable pathos, "My true friend, -and his! Oh, guard him, and give me peace!" - -"I swear it!" he said solemnly, kneeling beside her and holding up his -hand, as one who registers an oath. Then he turned to Arthur, and -said to him, "Come, my child, take her hand in yours, and kiss her on -the forehead, and only once." - -Their eyes met instead of their lips, and so they parted. Lucy's eyes -closed, and Van Helsing, who had been watching closely, took Arthur's -arm, and drew him away. - -And then Lucy's breathing became stertorous again, and all at once it -ceased. - -"It is all over," said Van Helsing. "She is dead!" - -I took Arthur by the arm, and led him away to the drawing room, where -he sat down, and covered his face with his hands, sobbing in a way -that nearly broke me down to see. - -I went back to the room, and found Van Helsing looking at poor Lucy, -and his face was sterner than ever. Some change had come over her -body. Death had given back part of her beauty, for her brow and -cheeks had recovered some of their flowing lines. Even the lips had -lost their deadly pallor. It was as if the blood, no longer needed -for the working of the heart, had gone to make the harshness of death -as little rude as might be. - -"We thought her dying whilst she slept, and sleeping when she died." - - -I stood beside Van Helsing, and said, "Ah well, poor girl, there is -peace for her at last. It is the end!" - -He turned to me, and said with grave solemnity, "Not so, alas! Not -so. It is only the beginning!" - -When I asked him what he meant, he only shook his head and answered, -"We can do nothing as yet. Wait and see." - - - - -CHAPTER 13 - - -DR. SEWARD'S DIARY--cont. - -The funeral was arranged for the next succeeding day, so that Lucy and -her mother might be buried together. I attended to all the ghastly -formalities, and the urbane undertaker proved that his staff was -afflicted, or blessed, with something of his own obsequious suavity. -Even the woman who performed the last offices for the dead remarked to -me, in a confidential, brother-professional way, when she had come out -from the death chamber, - -"She makes a very beautiful corpse, sir. It's quite a privilege to -attend on her. It's not too much to say that she will do credit to -our establishment!" - -I noticed that Van Helsing never kept far away. This was possible -from the disordered state of things in the household. There were no -relatives at hand, and as Arthur had to be back the next day to attend -at his father's funeral, we were unable to notify any one who should -have been bidden. Under the circumstances, Van Helsing and I took it -upon ourselves to examine papers, etc. He insisted upon looking over -Lucy's papers himself. I asked him why, for I feared that he, being a -foreigner, might not be quite aware of English legal requirements, and -so might in ignorance make some unnecessary trouble. - -He answered me, "I know, I know. You forget that I am a lawyer as -well as a doctor. But this is not altogether for the law. You knew -that, when you avoided the coroner. I have more than him to avoid. -There may be papers more, such as this." - -As he spoke he took from his pocket book the memorandum which had been -in Lucy's breast, and which she had torn in her sleep. - -"When you find anything of the solicitor who is for the late Mrs. -Westenra, seal all her papers, and write him tonight. For me, I watch -here in the room and in Miss Lucy's old room all night, and I myself -search for what may be. It is not well that her very thoughts go into -the hands of strangers." - -I went on with my part of the work, and in another half hour had found -the name and address of Mrs. Westenra's solicitor and had written to -him. All the poor lady's papers were in order. Explicit directions -regarding the place of burial were given. I had hardly sealed the -letter, when, to my surprise, Van Helsing walked into the room, -saying, - -"Can I help you friend John? I am free, and if I may, my service is -to you." - -"Have you got what you looked for?" I asked. - -To which he replied, "I did not look for any specific thing. I only -hoped to find, and find I have, all that there was, only some letters -and a few memoranda, and a diary new begun. But I have them here, and -we shall for the present say nothing of them. I shall see that poor -lad tomorrow evening, and, with his sanction, I shall use some." - -When we had finished the work in hand, he said to me, "And now, friend -John, I think we may to bed. We want sleep, both you and I, and rest -to recuperate. Tomorrow we shall have much to do, but for the tonight -there is no need of us. Alas!" - -Before turning in we went to look at poor Lucy. The undertaker had -certainly done his work well, for the room was turned into a small -chapelle ardente. There was a wilderness of beautiful white flowers, -and death was made as little repulsive as might be. The end of the -winding sheet was laid over the face. When the Professor bent over -and turned it gently back, we both started at the beauty before us. -The tall wax candles showing a sufficient light to note it well. All -Lucy's loveliness had come back to her in death, and the hours that -had passed, instead of leaving traces of 'decay's effacing fingers', -had but restored the beauty of life, till positively I could not -believe my eyes that I was looking at a corpse. - -The Professor looked sternly grave. He had not loved her as I had, -and there was no need for tears in his eyes. He said to me, "Remain -till I return," and left the room. He came back with a handful of -wild garlic from the box waiting in the hall, but which had not been -opened, and placed the flowers amongst the others on and around the -bed. Then he took from his neck, inside his collar, a little gold -crucifix, and placed it over the mouth. He restored the sheet to its -place, and we came away. - -I was undressing in my own room, when, with a premonitory tap at the -door, he entered, and at once began to speak. - -"Tomorrow I want you to bring me, before night, a set of post-mortem -knives." - -"Must we make an autopsy?" I asked. - -"Yes and no. I want to operate, but not what you think. Let me tell -you now, but not a word to another. I want to cut off her head and -take out her heart. Ah! You a surgeon, and so shocked! You, whom I -have seen with no tremble of hand or heart, do operations of life and -death that make the rest shudder. Oh, but I must not forget, my dear -friend John, that you loved her, and I have not forgotten it for is I -that shall operate, and you must not help. I would like to do it -tonight, but for Arthur I must not. He will be free after his -father's funeral tomorrow, and he will want to see her, to see it. -Then, when she is coffined ready for the next day, you and I shall -come when all sleep. We shall unscrew the coffin lid, and shall do -our operation, and then replace all, so that none know, save we -alone." - -"But why do it at all? The girl is dead. Why mutilate her poor body -without need? And if there is no necessity for a post-mortem and -nothing to gain by it, no good to her, to us, to science, to human -knowledge, why do it? Without such it is monstrous." - -For answer he put his hand on my shoulder, and said, with infinite -tenderness, "Friend John, I pity your poor bleeding heart, and I love -you the more because it does so bleed. If I could, I would take on -myself the burden that you do bear. But there are things that you -know not, but that you shall know, and bless me for knowing, though -they are not pleasant things. John, my child, you have been my friend -now many years, and yet did you ever know me to do any without good -cause? I may err, I am but man, but I believe in all I do. Was it -not for these causes that you send for me when the great trouble -came? Yes! Were you not amazed, nay horrified, when I would not let -Arthur kiss his love, though she was dying, and snatched him away by -all my strength? Yes! And yet you saw how she thanked me, with her -so beautiful dying eyes, her voice, too, so weak, and she kiss my -rough old hand and bless me? Yes! And did you not hear me swear -promise to her, that so she closed her eyes grateful? Yes! - -"Well, I have good reason now for all I want to do. You have for many -years trust me. You have believe me weeks past, when there be things -so strange that you might have well doubt. Believe me yet a little, -friend John. If you trust me not, then I must tell what I think, and -that is not perhaps well. And if I work, as work I shall, no matter -trust or no trust, without my friend trust in me, I work with heavy -heart and feel oh so lonely when I want all help and courage that may -be!" He paused a moment and went on solemnly, "Friend John, there are -strange and terrible days before us. Let us not be two, but one, that -so we work to a good end. Will you not have faith in me?" - -I took his hand, and promised him. I held my door open as he went -away, and watched him go to his room and close the door. As I stood -without moving, I saw one of the maids pass silently along the -passage, she had her back to me, so did not see me, and go into the -room where Lucy lay. The sight touched me. Devotion is so rare, and -we are so grateful to those who show it unasked to those we love. Here -was a poor girl putting aside the terrors which she naturally had of -death to go watch alone by the bier of the mistress whom she loved, so -that the poor clay might not be lonely till laid to eternal rest. - -I must have slept long and soundly, for it was broad daylight when Van -Helsing waked me by coming into my room. He came over to my bedside -and said, "You need not trouble about the knives. We shall not do -it." - -"Why not?" I asked. For his solemnity of the night before had -greatly impressed me. - -"Because," he said sternly, "it is too late, or too early. See!" -Here he held up the little golden crucifix. - -"This was stolen in the night." - -"How stolen," I asked in wonder, "since you have it now?" - -"Because I get it back from the worthless wretch who stole it, from -the woman who robbed the dead and the living. Her punishment will -surely come, but not through me. She knew not altogether what she -did, and thus unknowing, she only stole. Now we must wait." He went -away on the word, leaving me with a new mystery to think of, a new -puzzle to grapple with. - -The forenoon was a dreary time, but at noon the solicitor came, Mr. -Marquand, of Wholeman, Sons, Marquand & Lidderdale. He was very -genial and very appreciative of what we had done, and took off our -hands all cares as to details. During lunch he told us that Mrs. -Westenra had for some time expected sudden death from her heart, and -had put her affairs in absolute order. He informed us that, with the -exception of a certain entailed property of Lucy's father which now, -in default of direct issue, went back to a distant branch of the -family, the whole estate, real and personal, was left absolutely to -Arthur Holmwood. When he had told us so much he went on, - -"Frankly we did our best to prevent such a testamentary disposition, -and pointed out certain contingencies that might leave her daughter -either penniless or not so free as she should be to act regarding a -matrimonial alliance. Indeed, we pressed the matter so far that we -almost came into collision, for she asked us if we were or were not -prepared to carry out her wishes. Of course, we had then no -alternative but to accept. We were right in principle, and -ninety-nine times out of a hundred we should have proved, by the logic -of events, the accuracy of our judgment. - -"Frankly, however, I must admit that in this case any other form of -disposition would have rendered impossible the carrying out of her -wishes. For by her predeceasing her daughter the latter would have -come into possession of the property, and, even had she only survived -her mother by five minutes, her property would, in case there were no -will, and a will was a practical impossibility in such a case, have -been treated at her decease as under intestacy. In which case Lord -Godalming, though so dear a friend, would have had no claim in the -world. And the inheritors, being remote, would not be likely to -abandon their just rights, for sentimental reasons regarding an entire -stranger. I assure you, my dear sirs, I am rejoiced at the result, -perfectly rejoiced." - -He was a good fellow, but his rejoicing at the one little part, in -which he was officially interested, of so great a tragedy, was an -object-lesson in the limitations of sympathetic understanding. - -He did not remain long, but said he would look in later in the day and -see Lord Godalming. His coming, however, had been a certain comfort -to us, since it assured us that we should not have to dread hostile -criticism as to any of our acts. Arthur was expected at five o'clock, -so a little before that time we visited the death chamber. It was so -in very truth, for now both mother and daughter lay in it. The -undertaker, true to his craft, had made the best display he could of -his goods, and there was a mortuary air about the place that lowered -our spirits at once. - -Van Helsing ordered the former arrangement to be adhered to, -explaining that, as Lord Godalming was coming very soon, it would be -less harrowing to his feelings to see all that was left of his fiancee -quite alone. - -The undertaker seemed shocked at his own stupidity and exerted himself -to restore things to the condition in which we left them the night -before, so that when Arthur came such shocks to his feelings as we -could avoid were saved. - -Poor fellow! He looked desperately sad and broken. Even his stalwart -manhood seemed to have shrunk somewhat under the strain of his -much-tried emotions. He had, I knew, been very genuinely and -devotedly attached to his father, and to lose him, and at such a time, -was a bitter blow to him. With me he was warm as ever, and to Van -Helsing he was sweetly courteous. But I could not help seeing that -there was some constraint with him. The professor noticed it too, and -motioned me to bring him upstairs. I did so, and left him at the door -of the room, as I felt he would like to be quite alone with her, but -he took my arm and led me in, saying huskily, - -"You loved her too, old fellow. She told me all about it, and there -was no friend had a closer place in her heart than you. I don't know -how to thank you for all you have done for her. I can't think -yet . . ." - -Here he suddenly broke down, and threw his arms round my shoulders and -laid his head on my breast, crying, "Oh, Jack! Jack! What shall I -do? The whole of life seems gone from me all at once, and there is -nothing in the wide world for me to live for." - -I comforted him as well as I could. In such cases men do not need -much expression. A grip of the hand, the tightening of an arm over -the shoulder, a sob in unison, are expressions of sympathy dear to a -man's heart. I stood still and silent till his sobs died away, and -then I said softly to him, "Come and look at her." - -Together we moved over to the bed, and I lifted the lawn from her -face. God! How beautiful she was. Every hour seemed to be enhancing -her loveliness. It frightened and amazed me somewhat. And as for -Arthur, he fell to trembling, and finally was shaken with doubt as -with an ague. At last, after a long pause, he said to me in a faint -whisper, "Jack, is she really dead?" - -I assured him sadly that it was so, and went on to suggest, for I felt -that such a horrible doubt should not have life for a moment longer -than I could help, that it often happened that after death faces -become softened and even resolved into their youthful beauty, that -this was especially so when death had been preceded by any acute or -prolonged suffering. I seemed to quite do away with any doubt, and -after kneeling beside the couch for a while and looking at her -lovingly and long, he turned aside. I told him that that must be -goodbye, as the coffin had to be prepared, so he went back and took -her dead hand in his and kissed it, and bent over and kissed her -forehead. He came away, fondly looking back over his shoulder at her -as he came. - -I left him in the drawing room, and told Van Helsing that he had said -goodbye, so the latter went to the kitchen to tell the undertaker's -men to proceed with the preparations and to screw up the coffin. When -he came out of the room again I told him of Arthur's question, and he -replied, "I am not surprised. Just now I doubted for a moment -myself!" - -We all dined together, and I could see that poor Art was trying to -make the best of things. Van Helsing had been silent all dinner time, -but when we had lit our cigars he said, "Lord . . ." but Arthur -interrupted him. - -"No, no, not that, for God's sake! Not yet at any rate. Forgive me, -sir. I did not mean to speak offensively. It is only because my loss -is so recent." - -The Professor answered very sweetly, "I only used that name because I -was in doubt. I must not call you 'Mr.' and I have grown to love you, -yes, my dear boy, to love you, as Arthur." - -Arthur held out his hand, and took the old man's warmly. "Call me -what you will," he said. "I hope I may always have the title of a -friend. And let me say that I am at a loss for words to thank you for -your goodness to my poor dear." He paused a moment, and went on, "I -know that she understood your goodness even better than I do. And if -I was rude or in any way wanting at that time you acted so, you -remember"--the Professor nodded--"you must forgive me." - -He answered with a grave kindness, "I know it was hard for you to -quite trust me then, for to trust such violence needs to understand, -and I take it that you do not, that you cannot, trust me now, for you -do not yet understand. And there may be more times when I shall want -you to trust when you cannot, and may not, and must not yet -understand. But the time will come when your trust shall be whole and -complete in me, and when you shall understand as though the sunlight -himself shone through. Then you shall bless me from first to last for -your own sake, and for the sake of others, and for her dear sake to -whom I swore to protect." - -"And indeed, indeed, sir," said Arthur warmly. "I shall in all ways -trust you. I know and believe you have a very noble heart, and you -are Jack's friend, and you were hers. You shall do what you like." - -The Professor cleared his throat a couple of times, as though about to -speak, and finally said, "May I ask you something now?" - -"Certainly." - -"You know that Mrs. Westenra left you all her property?" - -"No, poor dear. I never thought of it." - -"And as it is all yours, you have a right to deal with it as you will. -I want you to give me permission to read all Miss Lucy's papers and -letters. Believe me, it is no idle curiosity. I have a motive of -which, be sure, she would have approved. I have them all here. I -took them before we knew that all was yours, so that no strange hand -might touch them, no strange eye look through words into her soul. I -shall keep them, if I may. Even you may not see them yet, but I shall -keep them safe. No word shall be lost, and in the good time I shall -give them back to you. It is a hard thing that I ask, but you will do -it, will you not, for Lucy's sake?" - -Arthur spoke out heartily, like his old self, "Dr. Van Helsing, you -may do what you will. I feel that in saying this I am doing what my -dear one would have approved. I shall not trouble you with questions -till the time comes." - -The old Professor stood up as he said solemnly, "And you are right. -There will be pain for us all, but it will not be all pain, nor will -this pain be the last. We and you too, you most of all, dear boy, -will have to pass through the bitter water before we reach the sweet. -But we must be brave of heart and unselfish, and do our duty, and all -will be well!" - -I slept on a sofa in Arthur's room that night. Van Helsing did not go -to bed at all. He went to and fro, as if patroling the house, and was -never out of sight of the room where Lucy lay in her coffin, strewn -with the wild garlic flowers, which sent through the odour of lily and -rose, a heavy, overpowering smell into the night. - - - - -MINA HARKER'S JOURNAL - -22 September.--In the train to Exeter. Jonathan sleeping. It seems -only yesterday that the last entry was made, and yet how much between -then, in Whitby and all the world before me, Jonathan away and no news -of him, and now, married to Jonathan, Jonathan a solicitor, a partner, -rich, master of his business, Mr. Hawkins dead and buried, and -Jonathan with another attack that may harm him. Some day he may ask -me about it. Down it all goes. I am rusty in my shorthand, see what -unexpected prosperity does for us, so it may be as well to freshen it -up again with an exercise anyhow. - -The service was very simple and very solemn. There were only -ourselves and the servants there, one or two old friends of his from -Exeter, his London agent, and a gentleman representing Sir John -Paxton, the President of the Incorporated Law Society. Jonathan and I -stood hand in hand, and we felt that our best and dearest friend was -gone from us. - -We came back to town quietly, taking a bus to Hyde Park Corner. -Jonathan thought it would interest me to go into the Row for a while, -so we sat down. But there were very few people there, and it was -sad-looking and desolate to see so many empty chairs. It made us -think of the empty chair at home. So we got up and walked down -Piccadilly. Jonathan was holding me by the arm, the way he used to in -the old days before I went to school. I felt it very improper, for -you can't go on for some years teaching etiquette and decorum to other -girls without the pedantry of it biting into yourself a bit. But it -was Jonathan, and he was my husband, and we didn't know anybody who -saw us, and we didn't care if they did, so on we walked. I was -looking at a very beautiful girl, in a big cart-wheel hat, sitting in -a victoria outside Guiliano's, when I felt Jonathan clutch my arm so -tight that he hurt me, and he said under his breath, "My God!" - -I am always anxious about Jonathan, for I fear that some nervous fit -may upset him again. So I turned to him quickly, and asked him what -it was that disturbed him. - -He was very pale, and his eyes seemed bulging out as, half in terror -and half in amazement, he gazed at a tall, thin man, with a beaky nose -and black moustache and pointed beard, who was also observing the -pretty girl. He was looking at her so hard that he did not see either -of us, and so I had a good view of him. His face was not a good -face. It was hard, and cruel, and sensual, and big white teeth, that -looked all the whiter because his lips were so red, were pointed like -an animal's. Jonathan kept staring at him, till I was afraid he would -notice. I feared he might take it ill, he looked so fierce and nasty. -I asked Jonathan why he was disturbed, and he answered, evidently -thinking that I knew as much about it as he did, "Do you see who it -is?" - -"No, dear," I said. "I don't know him, who is it?" His answer seemed -to shock and thrill me, for it was said as if he did not know that it -was me, Mina, to whom he was speaking. "It is the man himself!" - -The poor dear was evidently terrified at something, very greatly -terrified. I do believe that if he had not had me to lean on and to -support him he would have sunk down. He kept staring. A man came out -of the shop with a small parcel, and gave it to the lady, who then -drove off. The dark man kept his eyes fixed on her, and when the -carriage moved up Piccadilly he followed in the same direction, and -hailed a hansom. Jonathan kept looking after him, and said, as if to -himself, - -"I believe it is the Count, but he has grown young. My God, if this -be so! Oh, my God! My God! If only I knew! If only I knew!" He was -distressing himself so much that I feared to keep his mind on the -subject by asking him any questions, so I remained silent. I drew -away quietly, and he, holding my arm, came easily. We walked a little -further, and then went in and sat for a while in the Green Park. It -was a hot day for autumn, and there was a comfortable seat in a shady -place. After a few minutes' staring at nothing, Jonathan's eyes -closed, and he went quickly into a sleep, with his head on my -shoulder. I thought it was the best thing for him, so did not disturb -him. In about twenty minutes he woke up, and said to me quite -cheerfully, - -"Why, Mina, have I been asleep! Oh, do forgive me for being so rude. -Come, and we'll have a cup of tea somewhere." - -He had evidently forgotten all about the dark stranger, as in his -illness he had forgotten all that this episode had reminded him of. I -don't like this lapsing into forgetfulness. It may make or continue -some injury to the brain. I must not ask him, for fear I shall do -more harm than good, but I must somehow learn the facts of his journey -abroad. The time is come, I fear, when I must open the parcel, and -know what is written. Oh, Jonathan, you will, I know, forgive me if I -do wrong, but it is for your own dear sake. - - -Later.--A sad homecoming in every way, the house empty of the dear -soul who was so good to us. Jonathan still pale and dizzy under a -slight relapse of his malady, and now a telegram from Van Helsing, -whoever he may be. "You will be grieved to hear that Mrs. Westenra -died five days ago, and that Lucy died the day before yesterday. They -were both buried today." - -Oh, what a wealth of sorrow in a few words! Poor Mrs. Westenra! Poor -Lucy! Gone, gone, never to return to us! And poor, poor Arthur, to -have lost such a sweetness out of his life! God help us all to bear -our troubles. - - - -DR. SEWARD'S DIARY-CONT. - -22 September.--It is all over. Arthur has gone back to Ring, and has -taken Quincey Morris with him. What a fine fellow is Quincey! I -believe in my heart of hearts that he suffered as much about Lucy's -death as any of us, but he bore himself through it like a moral -Viking. If America can go on breeding men like that, she will be a -power in the world indeed. Van Helsing is lying down, having a rest -preparatory to his journey. He goes to Amsterdam tonight, but says he -returns tomorrow night, that he only wants to make some arrangements -which can only be made personally. He is to stop with me then, if he -can. He says he has work to do in London which may take him some -time. Poor old fellow! I fear that the strain of the past week has -broken down even his iron strength. All the time of the burial he -was, I could see, putting some terrible restraint on himself. When it -was all over, we were standing beside Arthur, who, poor fellow, was -speaking of his part in the operation where his blood had been -transfused to his Lucy's veins. I could see Van Helsing's face grow -white and purple by turns. Arthur was saying that he felt since then -as if they two had been really married, and that she was his wife in -the sight of God. None of us said a word of the other operations, and -none of us ever shall. Arthur and Quincey went away together to the -station, and Van Helsing and I came on here. The moment we were alone -in the carriage he gave way to a regular fit of hysterics. He has -denied to me since that it was hysterics, and insisted that it was -only his sense of humor asserting itself under very terrible -conditions. He laughed till he cried, and I had to draw down the -blinds lest any one should see us and misjudge. And then he cried, -till he laughed again, and laughed and cried together, just as a woman -does. I tried to be stern with him, as one is to a woman under the -circumstances, but it had no effect. Men and women are so different -in manifestations of nervous strength or weakness! Then when his face -grew grave and stern again I asked him why his mirth, and why at such -a time. His reply was in a way characteristic of him, for it was -logical and forceful and mysterious. He said, - -"Ah, you don't comprehend, friend John. Do not think that I am not -sad, though I laugh. See, I have cried even when the laugh did choke -me. But no more think that I am all sorry when I cry, for the laugh -he come just the same. Keep it always with you that laughter who -knock at your door and say, 'May I come in?' is not true laughter. -No! He is a king, and he come when and how he like. He ask no -person, he choose no time of suitability. He say, 'I am here.' -Behold, in example I grieve my heart out for that so sweet young -girl. I give my blood for her, though I am old and worn. I give my -time, my skill, my sleep. I let my other sufferers want that she may -have all. And yet I can laugh at her very grave, laugh when the clay -from the spade of the sexton drop upon her coffin and say 'Thud, -thud!' to my heart, till it send back the blood from my cheek. My -heart bleed for that poor boy, that dear boy, so of the age of mine -own boy had I been so blessed that he live, and with his hair and eyes -the same. - -"There, you know now why I love him so. And yet when he say things -that touch my husband-heart to the quick, and make my father-heart -yearn to him as to no other man, not even you, friend John, for we are -more level in experiences than father and son, yet even at such a -moment King Laugh he come to me and shout and bellow in my ear, 'Here I -am! Here I am!' till the blood come dance back and bring some of the -sunshine that he carry with him to my cheek. Oh, friend John, it is a -strange world, a sad world, a world full of miseries, and woes, and -troubles. And yet when King Laugh come, he make them all dance to the -tune he play. Bleeding hearts, and dry bones of the churchyard, and -tears that burn as they fall, all dance together to the music that he -make with that smileless mouth of him. And believe me, friend John, -that he is good to come, and kind. Ah, we men and women are like -ropes drawn tight with strain that pull us different ways. Then tears -come, and like the rain on the ropes, they brace us up, until perhaps -the strain become too great, and we break. But King Laugh he come -like the sunshine, and he ease off the strain again, and we bear to go -on with our labor, what it may be." - -I did not like to wound him by pretending not to see his idea, but as -I did not yet understand the cause of his laughter, I asked him. As -he answered me his face grew stern, and he said in quite a different -tone, - -"Oh, it was the grim irony of it all, this so lovely lady garlanded -with flowers, that looked so fair as life, till one by one we wondered -if she were truly dead, she laid in that so fine marble house in that -lonely churchyard, where rest so many of her kin, laid there with the -mother who loved her, and whom she loved, and that sacred bell going -'Toll! Toll! Toll!' so sad and slow, and those holy men, with the -white garments of the angel, pretending to read books, and yet all the -time their eyes never on the page, and all of us with the bowed head. -And all for what? She is dead, so! Is it not?" - -"Well, for the life of me, Professor," I said, "I can't see anything -to laugh at in all that. Why, your expression makes it a harder -puzzle than before. But even if the burial service was comic, what -about poor Art and his trouble? Why his heart was simply breaking." - -"Just so. Said he not that the transfusion of his blood to her veins -had made her truly his bride?" - -"Yes, and it was a sweet and comforting idea for him." - -"Quite so. But there was a difficulty, friend John. If so that, then -what about the others? Ho, ho! Then this so sweet maid is a -polyandrist, and me, with my poor wife dead to me, but alive by -Church's law, though no wits, all gone, even I, who am faithful -husband to this now-no-wife, am bigamist." - -"I don't see where the joke comes in there either!" I said, and I did -not feel particularly pleased with him for saying such things. He -laid his hand on my arm, and said, - -"Friend John, forgive me if I pain. I showed not my feeling to others -when it would wound, but only to you, my old friend, whom I can trust. -If you could have looked into my heart then when I want to laugh, if -you could have done so when the laugh arrived, if you could do so now, -when King Laugh have pack up his crown, and all that is to him, for he -go far, far away from me, and for a long, long time, maybe you would -perhaps pity me the most of all." - -I was touched by the tenderness of his tone, and asked why. - -"Because I know!" - -And now we are all scattered, and for many a long day loneliness will -sit over our roofs with brooding wings. Lucy lies in the tomb of her -kin, a lordly death house in a lonely churchyard, away from teeming -London, where the air is fresh, and the sun rises over Hampstead Hill, -and where wild flowers grow of their own accord. - -So I can finish this diary, and God only knows if I shall ever begin -another. If I do, or if I even open this again, it will be to deal -with different people and different themes, for here at the end, where -the romance of my life is told, ere I go back to take up the thread of -my life-work, I say sadly and without hope, "FINIS". - - - - -THE WESTMINSTER GAZETTE, 25 SEPTEMBER A HAMPSTEAD MYSTERY - -The neighborhood of Hampstead is just at present exercised -with a series of events which seem to run on lines parallel -to those of what was known to the writers of headlines as -"The Kensington Horror," or "The Stabbing Woman," or "The -Woman in Black." During the past two or three days several -cases have occurred of young children straying from home or -neglecting to return from their playing on the Heath. In -all these cases the children were too young to give any -properly intelligible account of themselves, but the -consensus of their excuses is that they had been with a -"bloofer lady." It has always been late in the evening when -they have been missed, and on two occasions the children -have not been found until early in the following morning. -It is generally supposed in the neighborhood that, as the -first child missed gave as his reason for being away that a -"bloofer lady" had asked him to come for a walk, the others -had picked up the phrase and used it as occasion served. This -is the more natural as the favourite game of the little ones -at present is luring each other away by wiles. A correspondent -writes us that to see some of the tiny tots pretending to be the -"bloofer lady" is supremely funny. Some of our caricaturists -might, he says, take a lesson in the irony of grotesque by -comparing the reality and the picture. It is only in accordance -with general principles of human nature that the "bloofer lady" -should be the popular role at these al fresco performances. Our -correspondent naively says that even Ellen Terry could not be so -winningly attractive as some of these grubby-faced little -children pretend, and even imagine themselves, to be. - -There is, however, possibly a serious side to the question, -for some of the children, indeed all who have been missed -at night, have been slightly torn or wounded in the throat. -The wounds seem such as might be made by a rat or a small -dog, and although of not much importance individually, would tend -to show that whatever animal inflicts them has a system or method -of its own. The police of the division have been instructed to -keep a sharp lookout for straying children, especially when very -young, in and around Hampstead Heath, and for any stray dog which -may be about. - - - - -THE WESTMINSTER GAZETTE, 25 SEPTEMBER EXTRA SPECIAL - -THE HAMPSTEAD HORROR - - -ANOTHER CHILD INJURED - -THE "BLOOFER LADY" - -We have just received intelligence that another child, -missed last night, was only discovered late in the morning -under a furze bush at the Shooter's Hill side of Hampstead -Heath, which is perhaps, less frequented than the other -parts. It has the same tiny wound in the throat as has -been noticed in other cases. It was terribly weak, and -looked quite emaciated. It too, when partially restored, -had the common story to tell of being lured away by the -"bloofer lady". - - - - -CHAPTER 14 - - -MINA HARKER'S JOURNAL - -23 September.--Jonathan is better after a bad night. I am so glad -that he has plenty of work to do, for that keeps his mind off the -terrible things, and oh, I am rejoiced that he is not now weighed down -with the responsibility of his new position. I knew he would be true -to himself, and now how proud I am to see my Jonathan rising to the -height of his advancement and keeping pace in all ways with the duties -that come upon him. He will be away all day till late, for he said he -could not lunch at home. My household work is done, so I shall take -his foreign journal, and lock myself up in my room and read it. - - -24 September.--I hadn't the heart to write last night, that terrible -record of Jonathan's upset me so. Poor dear! How he must have -suffered, whether it be true or only imagination. I wonder if there -is any truth in it at all. Did he get his brain fever, and then write -all those terrible things, or had he some cause for it all? I suppose -I shall never know, for I dare not open the subject to him. And yet -that man we saw yesterday! He seemed quite certain of him, poor -fellow! I suppose it was the funeral upset him and sent his mind back -on some train of thought. - -He believes it all himself. I remember how on our wedding day he said -"Unless some solemn duty come upon me to go back to the bitter hours, -asleep or awake, mad or sane . . ." There seems to be through it all -some thread of continuity. That fearful Count was coming to London. -If it should be, and he came to London, with its teeming millions . . . -There may be a solemn duty, and if it come we must not shrink from -it. I shall be prepared. I shall get my typewriter this very hour -and begin transcribing. Then we shall be ready for other eyes if -required. And if it be wanted, then, perhaps, if I am ready, poor -Jonathan may not be upset, for I can speak for him and never let him -be troubled or worried with it at all. If ever Jonathan quite gets -over the nervousness he may want to tell me of it all, and I can ask -him questions and find out things, and see how I may comfort him. - - - - -LETTER, VAN HELSING TO MRS. HARKER - -24 September - -(Confidence) - -"Dear Madam, - -"I pray you to pardon my writing, in that I am so far -friend as that I sent to you sad news of Miss Lucy -Westenra's death. By the kindness of Lord Godalming, I am -empowered to read her letters and papers, for I am deeply -concerned about certain matters vitally important. In them -I find some letters from you, which show how great friends -you were and how you love her. Oh, Madam Mina, by that -love, I implore you, help me. It is for others' good that -I ask, to redress great wrong, and to lift much and terrible -troubles, that may be more great than you can know. May it be -that I see you? You can trust me. I am friend of Dr. John -Seward and of Lord Godalming (that was Arthur of Miss Lucy). I -must keep it private for the present from all. I should come to -Exeter to see you at once if you tell me I am privilege to come, -and where and when. I implore your pardon, Madam. I have read -your letters to poor Lucy, and know how good you are and how your -husband suffer. So I pray you, if it may be, enlighten him not, -least it may harm. Again your pardon, and forgive me. - -"VAN HELSING" - - - - -TELEGRAM, MRS. HARKER TO VAN HELSING - -25 September.--Come today by quarter past ten train if you -can catch it. Can see you any time you call. - -"WILHELMINA HARKER" - - - - -MINA HARKER'S JOURNAL - -25 September.--I cannot help feeling terribly excited as the time -draws near for the visit of Dr. Van Helsing, for somehow I expect that -it will throw some light upon Jonathan's sad experience, and as he -attended poor dear Lucy in her last illness, he can tell me all about -her. That is the reason of his coming. It is concerning Lucy and her -sleep-walking, and not about Jonathan. Then I shall never know the -real truth now! How silly I am. That awful journal gets hold of my -imagination and tinges everything with something of its own colour. Of -course it is about Lucy. That habit came back to the poor dear, and -that awful night on the cliff must have made her ill. I had almost -forgotten in my own affairs how ill she was afterwards. She must have -told him of her sleep-walking adventure on the cliff, and that I knew -all about it, and now he wants me to tell him what I know, so that he -may understand. I hope I did right in not saying anything of it to -Mrs. Westenra. I should never forgive myself if any act of mine, were -it even a negative one, brought harm on poor dear Lucy. I hope too, -Dr. Van Helsing will not blame me. I have had so much trouble and -anxiety of late that I feel I cannot bear more just at present. - -I suppose a cry does us all good at times, clears the air as other -rain does. Perhaps it was reading the journal yesterday that upset -me, and then Jonathan went away this morning to stay away from me a -whole day and night, the first time we have been parted since our -marriage. I do hope the dear fellow will take care of himself, and -that nothing will occur to upset him. It is two o'clock, and the -doctor will be here soon now. I shall say nothing of Jonathan's -journal unless he asks me. I am so glad I have typewritten out my own -journal, so that, in case he asks about Lucy, I can hand it to him. -It will save much questioning. - -Later.--He has come and gone. Oh, what a strange meeting, and how it -all makes my head whirl round. I feel like one in a dream. Can it be -all possible, or even a part of it? If I had not read Jonathan's -journal first, I should never have accepted even a possibility. Poor, -poor, dear Jonathan! How he must have suffered. Please the good God, -all this may not upset him again. I shall try to save him from it. -But it may be even a consolation and a help to him, terrible though it -be and awful in its consequences, to know for certain that his eyes -and ears and brain did not deceive him, and that it is all true. It -may be that it is the doubt which haunts him, that when the doubt is -removed, no matter which, waking or dreaming, may prove the truth, he -will be more satisfied and better able to bear the shock. Dr. Van -Helsing must be a good man as well as a clever one if he is Arthur's -friend and Dr. Seward's, and if they brought him all the way from -Holland to look after Lucy. I feel from having seen him that he is -good and kind and of a noble nature. When he comes tomorrow I shall -ask him about Jonathan. And then, please God, all this sorrow and -anxiety may lead to a good end. I used to think I would like to -practice interviewing. Jonathan's friend on "The Exeter News" told -him that memory is everything in such work, that you must be able to -put down exactly almost every word spoken, even if you had to refine -some of it afterwards. Here was a rare interview. I shall try to -record it verbatim. - -It was half-past two o'clock when the knock came. I took my courage a -deux mains and waited. In a few minutes Mary opened the door, and -announced "Dr. Van Helsing". - -I rose and bowed, and he came towards me, a man of medium weight, -strongly built, with his shoulders set back over a broad, deep chest -and a neck well balanced on the trunk as the head is on the neck. The -poise of the head strikes me at once as indicative of thought and -power. The head is noble, well-sized, broad, and large behind the -ears. The face, clean-shaven, shows a hard, square chin, a large -resolute, mobile mouth, a good-sized nose, rather straight, but with -quick, sensitive nostrils, that seem to broaden as the big bushy brows -come down and the mouth tightens. The forehead is broad and fine, -rising at first almost straight and then sloping back above two bumps -or ridges wide apart, such a forehead that the reddish hair cannot -possibly tumble over it, but falls naturally back and to the sides. -Big, dark blue eyes are set widely apart, and are quick and tender or -stern with the man's moods. He said to me, - -"Mrs. Harker, is it not?" I bowed assent. - -"That was Miss Mina Murray?" Again I assented. - -"It is Mina Murray that I came to see that was friend of that poor dear -child Lucy Westenra. Madam Mina, it is on account of the dead that I -come." - -"Sir," I said, "you could have no better claim on me than that you -were a friend and helper of Lucy Westenra." And I held out my hand. -He took it and said tenderly, - -"Oh, Madam Mina, I know that the friend of that poor little girl must -be good, but I had yet to learn . . ." He finished his speech with a -courtly bow. I asked him what it was that he wanted to see me about, -so he at once began. - -"I have read your letters to Miss Lucy. Forgive me, but I had to -begin to inquire somewhere, and there was none to ask. I know that -you were with her at Whitby. She sometimes kept a diary, you need not -look surprised, Madam Mina. It was begun after you had left, and was -an imitation of you, and in that diary she traces by inference certain -things to a sleep-walking in which she puts down that you saved her. -In great perplexity then I come to you, and ask you out of your so -much kindness to tell me all of it that you can remember." - -"I can tell you, I think, Dr. Van Helsing, all about it." - -"Ah, then you have good memory for facts, for details? It is not -always so with young ladies." - -"No, doctor, but I wrote it all down at the time. I can show it to -you if you like." - -"Oh, Madam Mina, I well be grateful. You will do me much favour." - -I could not resist the temptation of mystifying him a bit, I suppose -it is some taste of the original apple that remains still in our -mouths, so I handed him the shorthand diary. He took it with a -grateful bow, and said, "May I read it?" - -"If you wish," I answered as demurely as I could. He opened it, and -for an instant his face fell. Then he stood up and bowed. - -"Oh, you so clever woman!" he said. "I knew long that Mr. Jonathan -was a man of much thankfulness, but see, his wife have all the good -things. And will you not so much honour me and so help me as to read -it for me? Alas! I know not the shorthand." - -By this time my little joke was over, and I was almost ashamed. So I -took the typewritten copy from my work basket and handed it to him. - -"Forgive me," I said. "I could not help it, but I had been thinking -that it was of dear Lucy that you wished to ask, and so that you might -not have time to wait, not on my account, but because I know your time -must be precious, I have written it out on the typewriter for you." - -He took it and his eyes glistened. "You are so good," he said. "And -may I read it now? I may want to ask you some things when I have -read." - -"By all means," I said, "read it over whilst I order lunch, and then -you can ask me questions whilst we eat." - -He bowed and settled himself in a chair with his back to the light, -and became so absorbed in the papers, whilst I went to see after lunch -chiefly in order that he might not be disturbed. When I came back, I -found him walking hurriedly up and down the room, his face all ablaze -with excitement. He rushed up to me and took me by both hands. - -"Oh, Madam Mina," he said, "how can I say what I owe to you? This -paper is as sunshine. It opens the gate to me. I am dazed, I am -dazzled, with so much light, and yet clouds roll in behind the light -every time. But that you do not, cannot comprehend. Oh, but I am -grateful to you, you so clever woman. Madame," he said this very -solemnly, "if ever Abraham Van Helsing can do anything for you or -yours, I trust you will let me know. It will be pleasure and delight -if I may serve you as a friend, as a friend, but all I have ever -learned, all I can ever do, shall be for you and those you love. There -are darknesses in life, and there are lights. You are one of the -lights. You will have a happy life and a good life, and your husband -will be blessed in you." - -"But, doctor, you praise me too much, and you do not know me." - -"Not know you, I, who am old, and who have studied all my life men and -women, I who have made my specialty the brain and all that belongs to -him and all that follow from him! And I have read your diary that you -have so goodly written for me, and which breathes out truth in every -line. I, who have read your so sweet letter to poor Lucy of your -marriage and your trust, not know you! Oh, Madam Mina, good women -tell all their lives, and by day and by hour and by minute, such -things that angels can read. And we men who wish to know have in us -something of angels' eyes. Your husband is noble nature, and you are -noble too, for you trust, and trust cannot be where there is mean -nature. And your husband, tell me of him. Is he quite well? Is all -that fever gone, and is he strong and hearty?" - -I saw here an opening to ask him about Jonathan, so I said, "He was -almost recovered, but he has been greatly upset by Mr. Hawkins death." - -He interrupted, "Oh, yes. I know. I know. I have read your last two -letters." - -I went on, "I suppose this upset him, for when we were in town on -Thursday last he had a sort of shock." - -"A shock, and after brain fever so soon! That is not good. What kind -of shock was it?" - -"He thought he saw some one who recalled something terrible, something -which led to his brain fever." And here the whole thing seemed to -overwhelm me in a rush. The pity for Jonathan, the horror which he -experienced, the whole fearful mystery of his diary, and the fear that -has been brooding over me ever since, all came in a tumult. I suppose -I was hysterical, for I threw myself on my knees and held up my hands -to him, and implored him to make my husband well again. He took my -hands and raised me up, and made me sit on the sofa, and sat by me. He -held my hand in his, and said to me with, oh, such infinite sweetness, - -"My life is a barren and lonely one, and so full of work that I have -not had much time for friendships, but since I have been summoned to -here by my friend John Seward I have known so many good people and -seen such nobility that I feel more than ever, and it has grown with -my advancing years, the loneliness of my life. Believe me, then, that -I come here full of respect for you, and you have given me hope, hope, -not in what I am seeking of, but that there are good women still left -to make life happy, good women, whose lives and whose truths may make -good lesson for the children that are to be. I am glad, glad, that I -may here be of some use to you. For if your husband suffer, he suffer -within the range of my study and experience. I promise you that I -will gladly do all for him that I can, all to make his life strong and -manly, and your life a happy one. Now you must eat. You are -overwrought and perhaps over-anxious. Husband Jonathan would not like -to see you so pale, and what he like not where he love, is not to his -good. Therefore for his sake you must eat and smile. You have told -me about Lucy, and so now we shall not speak of it, lest it distress. -I shall stay in Exeter tonight, for I want to think much over what you -have told me, and when I have thought I will ask you questions, if I -may. And then too, you will tell me of husband Jonathan's trouble so -far as you can, but not yet. You must eat now, afterwards you shall -tell me all." - -After lunch, when we went back to the drawing room, he said to me, -"And now tell me all about him." - -When it came to speaking to this great learned man, I began to fear -that he would think me a weak fool, and Jonathan a madman, that -journal is all so strange, and I hesitated to go on. But he was so -sweet and kind, and he had promised to help, and I trusted him, so I -said, - -"Dr. Van Helsing, what I have to tell you is so queer that you must -not laugh at me or at my husband. I have been since yesterday in a -sort of fever of doubt. You must be kind to me, and not think me -foolish that I have even half believed some very strange things." - -He reassured me by his manner as well as his words when he said, "Oh, -my dear, if you only know how strange is the matter regarding which I -am here, it is you who would laugh. I have learned not to think -little of any one's belief, no matter how strange it may be. I have -tried to keep an open mind, and it is not the ordinary things of life -that could close it, but the strange things, the extraordinary things, -the things that make one doubt if they be mad or sane." - -"Thank you, thank you a thousand times! You have taken a weight off my -mind. If you will let me, I shall give you a paper to read. It is -long, but I have typewritten it out. It will tell you my trouble and -Jonathan's. It is the copy of his journal when abroad, and all that -happened. I dare not say anything of it. You will read for yourself -and judge. And then when I see you, perhaps, you will be very kind -and tell me what you think." - -"I promise," he said as I gave him the papers. "I shall in the -morning, as soon as I can, come to see you and your husband, if I -may." - -"Jonathan will be here at half-past eleven, and you must come to lunch -with us and see him then. You could catch the quick 3:34 train, which -will leave you at Paddington before eight." He was surprised at my -knowledge of the trains offhand, but he does not know that I have made -up all the trains to and from Exeter, so that I may help Jonathan in -case he is in a hurry. - -So he took the papers with him and went away, and I sit here thinking, -thinking I don't know what. - - - - -LETTER (by hand), VAN HELSING TO MRS. HARKER - -25 September, 6 o'clock - -"Dear Madam Mina, - -"I have read your husband's so wonderful diary. You may -sleep without doubt. Strange and terrible as it is, it is -true! I will pledge my life on it. It may be worse for -others, but for him and you there is no dread. He is a -noble fellow, and let me tell you from experience of men, -that one who would do as he did in going down that wall and -to that room, aye, and going a second time, is not one to -be injured in permanence by a shock. His brain and his -heart are all right, this I swear, before I have even seen -him, so be at rest. I shall have much to ask him of other -things. I am blessed that today I come to see you, for I -have learn all at once so much that again I am dazzled, -dazzled more than ever, and I must think. - -"Yours the most faithful, - -"Abraham Van Helsing." - - -LETTER, MRS. HARKER TO VAN HELSING - -25 September, 6:30 P.M. - -"My dear Dr. Van Helsing, - -"A thousand thanks for your kind letter, which has taken a -great weight off my mind. And yet, if it be true, what -terrible things there are in the world, and what an awful -thing if that man, that monster, be really in London! I -fear to think. I have this moment, whilst writing, had a -wire from Jonathan, saying that he leaves by the 6:25 tonight -from Launceston and will be here at 10:18, so that I shall have -no fear tonight. Will you, therefore, instead of lunching with -us, please come to breakfast at eight o'clock, if this be not too -early for you? You can get away, if you are in a hurry, by the -10:30 train, which will bring you to Paddington by 2:35. Do not -answer this, as I shall take it that, if I do not hear, you will -come to breakfast. - -"Believe me, - -"Your faithful and grateful friend, - -"Mina Harker." - - - - - -JONATHAN HARKER'S JOURNAL - -26 September.--I thought never to write in this diary again, but the -time has come. When I got home last night Mina had supper ready, and -when we had supped she told me of Van Helsing's visit, and of her -having given him the two diaries copied out, and of how anxious she -has been about me. She showed me in the doctor's letter that all I -wrote down was true. It seems to have made a new man of me. It was -the doubt as to the reality of the whole thing that knocked me over. -I felt impotent, and in the dark, and distrustful. But, now that I -know, I am not afraid, even of the Count. He has succeeded after all, -then, in his design in getting to London, and it was he I saw. He has -got younger, and how? Van Helsing is the man to unmask him and hunt -him out, if he is anything like what Mina says. We sat late, and -talked it over. Mina is dressing, and I shall call at the hotel in a -few minutes and bring him over. - - -He was, I think, surprised to see me. When I came into the room where -he was, and introduced myself, he took me by the shoulder, and turned -my face round to the light, and said, after a sharp scrutiny, - -"But Madam Mina told me you were ill, that you had had a shock." - -It was so funny to hear my wife called 'Madam Mina' by this kindly, -strong-faced old man. I smiled, and said, "I was ill, I have had a -shock, but you have cured me already." - -"And how?" - -"By your letter to Mina last night. I was in doubt, and then -everything took a hue of unreality, and I did not know what to trust, -even the evidence of my own senses. Not knowing what to trust, I did -not know what to do, and so had only to keep on working in what had -hitherto been the groove of my life. The groove ceased to avail me, -and I mistrusted myself. Doctor, you don't know what it is to doubt -everything, even yourself. No, you don't, you couldn't with eyebrows -like yours." - -He seemed pleased, and laughed as he said, "So! You are a -physiognomist. I learn more here with each hour. I am with so much -pleasure coming to you to breakfast, and, oh, sir, you will pardon -praise from an old man, but you are blessed in your wife." - -I would listen to him go on praising Mina for a day, so I simply -nodded and stood silent. - -"She is one of God's women, fashioned by His own hand to show us men -and other women that there is a heaven where we can enter, and that -its light can be here on earth. So true, so sweet, so noble, so -little an egoist, and that, let me tell you, is much in this age, so -sceptical and selfish. And you, sir . . . I have read all the letters -to poor Miss Lucy, and some of them speak of you, so I know you since -some days from the knowing of others, but I have seen your true self -since last night. You will give me your hand, will you not? And let -us be friends for all our lives." - -We shook hands, and he was so earnest and so kind that it made me -quite choky. - -"And now," he said, "may I ask you for some more help? I have a great -task to do, and at the beginning it is to know. You can help me -here. Can you tell me what went before your going to Transylvania? -Later on I may ask more help, and of a different kind, but at first -this will do." - -"Look here, Sir," I said, "does what you have to do concern the -Count?" - -"It does," he said solemnly. - -"Then I am with you heart and soul. As you go by the 10:30 train, you -will not have time to read them, but I shall get the bundle of papers. -You can take them with you and read them in the train." - -After breakfast I saw him to the station. When we were parting he -said, "Perhaps you will come to town if I send for you, and take Madam -Mina too." - -"We shall both come when you will," I said. - -I had got him the morning papers and the London papers of the previous -night, and while we were talking at the carriage window, waiting for -the train to start, he was turning them over. His eyes suddenly -seemed to catch something in one of them, "The Westminster Gazette", I -knew it by the colour, and he grew quite white. He read something -intently, groaning to himself, "Mein Gott! Mein Gott! So soon! So -soon!" I do not think he remembered me at the moment. Just then the -whistle blew, and the train moved off. This recalled him to himself, -and he leaned out of the window and waved his hand, calling out, "Love -to Madam Mina. I shall write so soon as ever I can." - - - - -DR. SEWARD'S DIARY - -26 September.--Truly there is no such thing as finality. Not a week -since I said "Finis," and yet here I am starting fresh again, or -rather going on with the record. Until this afternoon I had no cause -to think of what is done. Renfield had become, to all intents, as -sane as he ever was. He was already well ahead with his fly business, -and he had just started in the spider line also, so he had not been of -any trouble to me. I had a letter from Arthur, written on Sunday, and -from it I gather that he is bearing up wonderfully well. Quincey -Morris is with him, and that is much of a help, for he himself is a -bubbling well of good spirits. Quincey wrote me a line too, and from -him I hear that Arthur is beginning to recover something of his old -buoyancy, so as to them all my mind is at rest. As for myself, I was -settling down to my work with the enthusiasm which I used to have for -it, so that I might fairly have said that the wound which poor Lucy -left on me was becoming cicatrised. - -Everything is, however, now reopened, and what is to be the end God -only knows. I have an idea that Van Helsing thinks he knows, too, but -he will only let out enough at a time to whet curiosity. He went to -Exeter yesterday, and stayed there all night. Today he came back, and -almost bounded into the room at about half-past five o'clock, and -thrust last night's "Westminster Gazette" into my hand. - -"What do you think of that?" he asked as he stood back and folded his -arms. - -I looked over the paper, for I really did not know what he meant, but -he took it from me and pointed out a paragraph about children being -decoyed away at Hampstead. It did not convey much to me, until I -reached a passage where it described small puncture wounds on their -throats. An idea struck me, and I looked up. - -"Well?" he said. - -"It is like poor Lucy's." - -"And what do you make of it?" - -"Simply that there is some cause in common. Whatever it was that -injured her has injured them." I did not quite understand his answer. - -"That is true indirectly, but not directly." - -"How do you mean, Professor?" I asked. I was a little inclined to -take his seriousness lightly, for, after all, four days of rest and -freedom from burning, harrowing, anxiety does help to restore one's -spirits, but when I saw his face, it sobered me. Never, even in the -midst of our despair about poor Lucy, had he looked more stern. - -"Tell me!" I said. "I can hazard no opinion. I do not know what to -think, and I have no data on which to found a conjecture." - -"Do you mean to tell me, friend John, that you have no suspicion as to -what poor Lucy died of, not after all the hints given, not only by -events, but by me?" - -"Of nervous prostration following a great loss or waste of blood." - -"And how was the blood lost or wasted?" I shook my head. - -He stepped over and sat down beside me, and went on, "You are a clever -man, friend John. You reason well, and your wit is bold, but you are -too prejudiced. You do not let your eyes see nor your ears hear, and -that which is outside your daily life is not of account to you. Do -you not think that there are things which you cannot understand, and -yet which are, that some people see things that others cannot? But -there are things old and new which must not be contemplated by men's -eyes, because they know, or think they know, some things which other -men have told them. Ah, it is the fault of our science that it wants -to explain all, and if it explain not, then it says there is nothing -to explain. But yet we see around us every day the growth of new -beliefs, which think themselves new, and which are yet but the old, -which pretend to be young, like the fine ladies at the opera. I -suppose now you do not believe in corporeal transference. No? Nor in -materialization. No? Nor in astral bodies. No? Nor in the reading -of thought. No? Nor in hypnotism . . ." - -"Yes," I said. "Charcot has proved that pretty well." - -He smiled as he went on, "Then you are satisfied as to it. Yes? And -of course then you understand how it act, and can follow the mind of -the great Charcot, alas that he is no more, into the very soul of the -patient that he influence. No? Then, friend John, am I to take it -that you simply accept fact, and are satisfied to let from premise to -conclusion be a blank? No? Then tell me, for I am a student of the -brain, how you accept hypnotism and reject the thought reading. Let -me tell you, my friend, that there are things done today in electrical -science which would have been deemed unholy by the very man who -discovered electricity, who would themselves not so long before been -burned as wizards. There are always mysteries in life. Why was it -that Methuselah lived nine hundred years, and 'Old Parr' one hundred -and sixty-nine, and yet that poor Lucy, with four men's blood in her -poor veins, could not live even one day? For, had she live one more -day, we could save her. Do you know all the mystery of life and -death? Do you know the altogether of comparative anatomy and can say -wherefore the qualities of brutes are in some men, and not in others? -Can you tell me why, when other spiders die small and soon, that one -great spider lived for centuries in the tower of the old Spanish -church and grew and grew, till, on descending, he could drink the oil -of all the church lamps? Can you tell me why in the Pampas, ay and -elsewhere, there are bats that come out at night and open the veins of -cattle and horses and suck dry their veins, how in some islands of the -Western seas there are bats which hang on the trees all day, and those -who have seen describe as like giant nuts or pods, and that when the -sailors sleep on the deck, because that it is hot, flit down on them -and then, and then in the morning are found dead men, white as even -Miss Lucy was?" - -"Good God, Professor!" I said, starting up. "Do you mean to tell me -that Lucy was bitten by such a bat, and that such a thing is here in -London in the nineteenth century?" - -He waved his hand for silence, and went on, "Can you tell me why the -tortoise lives more long than generations of men, why the elephant -goes on and on till he have sees dynasties, and why the parrot never -die only of bite of cat of dog or other complaint? Can you tell me -why men believe in all ages and places that there are men and women -who cannot die? We all know, because science has vouched for the -fact, that there have been toads shut up in rocks for thousands of -years, shut in one so small hole that only hold him since the youth of -the world. Can you tell me how the Indian fakir can make himself to -die and have been buried, and his grave sealed and corn sowed on it, -and the corn reaped and be cut and sown and reaped and cut again, and -then men come and take away the unbroken seal and that there lie the -Indian fakir, not dead, but that rise up and walk amongst them as -before?" - -Here I interrupted him. I was getting bewildered. He so crowded on -my mind his list of nature's eccentricities and possible -impossibilities that my imagination was getting fired. I had a dim -idea that he was teaching me some lesson, as long ago he used to do in -his study at Amsterdam. But he used them to tell me the thing, so -that I could have the object of thought in mind all the time. But now -I was without his help, yet I wanted to follow him, so I said, - -"Professor, let me be your pet student again. Tell me the thesis, so -that I may apply your knowledge as you go on. At present I am going -in my mind from point to point as a madman, and not a sane one, -follows an idea. I feel like a novice lumbering through a bog in a -midst, jumping from one tussock to another in the mere blind effort to -move on without knowing where I am going." - -"That is a good image," he said. "Well, I shall tell you. My thesis -is this, I want you to believe." - -"To believe what?" - -"To believe in things that you cannot. Let me illustrate. I heard -once of an American who so defined faith, 'that faculty which enables -us to believe things which we know to be untrue.' For one, I follow -that man. He meant that we shall have an open mind, and not let a -little bit of truth check the rush of the big truth, like a small rock -does a railway truck. We get the small truth first. Good! We keep -him, and we value him, but all the same we must not let him think -himself all the truth in the universe." - -"Then you want me not to let some previous conviction inure the -receptivity of my mind with regard to some strange matter. Do I read -your lesson aright?" - -"Ah, you are my favourite pupil still. It is worth to teach you. Now -that you are willing to understand, you have taken the first step to -understand. You think then that those so small holes in the -children's throats were made by the same that made the holes in Miss -Lucy?" - -"I suppose so." - -He stood up and said solemnly, "Then you are wrong. Oh, would it were -so! But alas! No. It is worse, far, far worse." - -"In God's name, Professor Van Helsing, what do you mean?" I cried. - -He threw himself with a despairing gesture into a chair, and placed -his elbows on the table, covering his face with his hands as he spoke. - -"They were made by Miss Lucy!" - - - - -CHAPTER 15 - - -DR. SEWARD'S DIARY--cont. - -For a while sheer anger mastered me. It was as if he had during her -life struck Lucy on the face. I smote the table hard and rose up as I -said to him, "Dr. Van Helsing, are you mad?" - -He raised his head and looked at me, and somehow the tenderness of his -face calmed me at once. "Would I were!" he said. "Madness were easy -to bear compared with truth like this. Oh, my friend, why, think -you, did I go so far round, why take so long to tell so simple a -thing? Was it because I hate you and have hated you all my life? Was -it because I wished to give you pain? Was it that I wanted, now so -late, revenge for that time when you saved my life, and from a fearful -death? Ah no!" - -"Forgive me," said I. - -He went on, "My friend, it was because I wished to be gentle in the -breaking to you, for I know you have loved that so sweet lady. But -even yet I do not expect you to believe. It is so hard to accept at -once any abstract truth, that we may doubt such to be possible when we -have always believed the 'no' of it. It is more hard still to accept -so sad a concrete truth, and of such a one as Miss Lucy. Tonight I go -to prove it. Dare you come with me?" - -This staggered me. A man does not like to prove such a truth, Byron -excepted from the category, jealousy. - - "And prove the very truth he most abhorred." - -He saw my hesitation, and spoke, "The logic is simple, no madman's -logic this time, jumping from tussock to tussock in a misty bog. If -it not be true, then proof will be relief. At worst it will not harm. -If it be true! Ah, there is the dread. Yet every dread should help my -cause, for in it is some need of belief. Come, I tell you what I -propose. First, that we go off now and see that child in the -hospital. Dr. Vincent, of the North Hospital, where the papers say -the child is, is a friend of mine, and I think of yours since you were -in class at Amsterdam. He will let two scientists see his case, if he -will not let two friends. We shall tell him nothing, but only that we -wish to learn. And then . . ." - -"And then?" - -He took a key from his pocket and held it up. "And then we spend the -night, you and I, in the churchyard where Lucy lies. This is the key -that lock the tomb. I had it from the coffin man to give to Arthur." - -My heart sank within me, for I felt that there was some fearful ordeal -before us. I could do nothing, however, so I plucked up what heart I -could and said that we had better hasten, as the afternoon was -passing. - -We found the child awake. It had had a sleep and taken some food, and -altogether was going on well. Dr. Vincent took the bandage from its -throat, and showed us the punctures. There was no mistaking the -similarity to those which had been on Lucy's throat. They were -smaller, and the edges looked fresher, that was all. We asked Vincent -to what he attributed them, and he replied that it must have been a -bite of some animal, perhaps a rat, but for his own part, he was -inclined to think it was one of the bats which are so numerous on the -northern heights of London. "Out of so many harmless ones," he said, -"there may be some wild specimen from the South of a more malignant -species. Some sailor may have brought one home, and it managed to -escape, or even from the Zoological Gardens a young one may have got -loose, or one be bred there from a vampire. These things do occur, -you, know. Only ten days ago a wolf got out, and was, I believe, -traced up in this direction. For a week after, the children were -playing nothing but Red Riding Hood on the Heath and in every alley in -the place until this 'bloofer lady' scare came along, since then it -has been quite a gala time with them. Even this poor little mite, -when he woke up today, asked the nurse if he might go away. When she -asked him why he wanted to go, he said he wanted to play with the -'bloofer lady'." - -"I hope," said Van Helsing, "that when you are sending the child home -you will caution its parents to keep strict watch over it. These -fancies to stray are most dangerous, and if the child were to remain -out another night, it would probably be fatal. But in any case I -suppose you will not let it away for some days?" - -"Certainly not, not for a week at least, longer if the wound is not -healed." - -Our visit to the hospital took more time than we had reckoned on, and -the sun had dipped before we came out. When Van Helsing saw how dark -it was, he said, - -"There is not hurry. It is more late than I thought. Come, let us -seek somewhere that we may eat, and then we shall go on our way." - -We dined at 'Jack Straw's Castle' along with a little crowd of -bicyclists and others who were genially noisy. About ten o'clock we -started from the inn. It was then very dark, and the scattered lamps -made the darkness greater when we were once outside their individual -radius. The Professor had evidently noted the road we were to go, for -he went on unhesitatingly, but, as for me, I was in quite a mixup as -to locality. As we went further, we met fewer and fewer people, till -at last we were somewhat surprised when we met even the patrol of -horse police going their usual suburban round. At last we reached the -wall of the churchyard, which we climbed over. With some little -difficulty, for it was very dark, and the whole place seemed so -strange to us, we found the Westenra tomb. The Professor took the -key, opened the creaky door, and standing back, politely, but quite -unconsciously, motioned me to precede him. There was a delicious -irony in the offer, in the courtliness of giving preference on such a -ghastly occasion. My companion followed me quickly, and cautiously -drew the door to, after carefully ascertaining that the lock was a -falling, and not a spring one. In the latter case we should have been -in a bad plight. Then he fumbled in his bag, and taking out a -matchbox and a piece of candle, proceeded to make a light. The tomb -in the daytime, and when wreathed with fresh flowers, had looked grim -and gruesome enough, but now, some days afterwards, when the flowers -hung lank and dead, their whites turning to rust and their greens to -browns, when the spider and the beetle had resumed their accustomed -dominance, when the time-discoloured stone, and dust-encrusted mortar, -and rusty, dank iron, and tarnished brass, and clouded silver-plating -gave back the feeble glimmer of a candle, the effect was more -miserable and sordid than could have been imagined. It conveyed -irresistibly the idea that life, animal life, was not the only thing -which could pass away. - -Van Helsing went about his work systematically. Holding his candle so -that he could read the coffin plates, and so holding it that the sperm -dropped in white patches which congealed as they touched the metal, he -made assurance of Lucy's coffin. Another search in his bag, and he -took out a turnscrew. - -"What are you going to do?" I asked. - -"To open the coffin. You shall yet be convinced." - -Straightway he began taking out the screws, and finally lifted off the -lid, showing the casing of lead beneath. The sight was almost too -much for me. It seemed to be as much an affront to the dead as it -would have been to have stripped off her clothing in her sleep whilst -living. I actually took hold of his hand to stop him. - -He only said, "You shall see," and again fumbling in his bag took out -a tiny fret saw. Striking the turnscrew through the lead with a swift -downward stab, which made me wince, he made a small hole, which was, -however, big enough to admit the point of the saw. I had expected a -rush of gas from the week-old corpse. We doctors, who have had to -study our dangers, have to become accustomed to such things, and I -drew back towards the door. But the Professor never stopped for a -moment. He sawed down a couple of feet along one side of the lead -coffin, and then across, and down the other side. Taking the edge of -the loose flange, he bent it back towards the foot of the coffin, and -holding up the candle into the aperture, motioned to me to look. - -I drew near and looked. The coffin was empty. It was certainly a -surprise to me, and gave me a considerable shock, but Van Helsing was -unmoved. He was now more sure than ever of his ground, and so -emboldened to proceed in his task. "Are you satisfied now, friend -John?" he asked. - -I felt all the dogged argumentativeness of my nature awake within me as -I answered him, "I am satisfied that Lucy's body is not in that -coffin, but that only proves one thing." - -"And what is that, friend John?" - -"That it is not there." - -"That is good logic," he said, "so far as it goes. But how do you, -how can you, account for it not being there?" - -"Perhaps a body-snatcher," I suggested. "Some of the undertaker's -people may have stolen it." I felt that I was speaking folly, and yet -it was the only real cause which I could suggest. - -The Professor sighed. "Ah well!" he said, "we must have more proof. -Come with me." - -He put on the coffin lid again, gathered up all his things and placed -them in the bag, blew out the light, and placed the candle also in the -bag. We opened the door, and went out. Behind us he closed the door -and locked it. He handed me the key, saying, "Will you keep it? You -had better be assured." - -I laughed, it was not a very cheerful laugh, I am bound to say, as I -motioned him to keep it. "A key is nothing," I said, "there are many -duplicates, and anyhow it is not difficult to pick a lock of this -kind." - -He said nothing, but put the key in his pocket. Then he told me to -watch at one side of the churchyard whilst he would watch at the -other. - -I took up my place behind a yew tree, and I saw his dark figure move -until the intervening headstones and trees hid it from my sight. - -It was a lonely vigil. Just after I had taken my place I heard a -distant clock strike twelve, and in time came one and two. I was -chilled and unnerved, and angry with the Professor for taking me on -such an errand and with myself for coming. I was too cold and too -sleepy to be keenly observant, and not sleepy enough to betray my -trust, so altogether I had a dreary, miserable time. - -Suddenly, as I turned round, I thought I saw something like a white -streak, moving between two dark yew trees at the side of the -churchyard farthest from the tomb. At the same time a dark mass moved -from the Professor's side of the ground, and hurriedly went towards -it. Then I too moved, but I had to go round headstones and railed-off -tombs, and I stumbled over graves. The sky was overcast, and -somewhere far off an early cock crew. A little ways off, beyond a -line of scattered juniper trees, which marked the pathway to the -church, a white dim figure flitted in the direction of the tomb. The -tomb itself was hidden by trees, and I could not see where the figure -had disappeared. I heard the rustle of actual movement where I had -first seen the white figure, and coming over, found the Professor -holding in his arms a tiny child. When he saw me he held it out to -me, and said, "Are you satisfied now?" - -"No," I said, in a way that I felt was aggressive. - -"Do you not see the child?" - -"Yes, it is a child, but who brought it here? And is it wounded?" - -"We shall see," said the Professor, and with one impulse we took our -way out of the churchyard, he carrying the sleeping child. - -When we had got some little distance away, we went into a clump of -trees, and struck a match, and looked at the child's throat. It was -without a scratch or scar of any kind. - -"Was I right?" I asked triumphantly. - -"We were just in time," said the Professor thankfully. - -We had now to decide what we were to do with the child, and so -consulted about it. If we were to take it to a police station we -should have to give some account of our movements during the night. -At least, we should have had to make some statement as to how we had -come to find the child. So finally we decided that we would take it -to the Heath, and when we heard a policeman coming, would leave it -where he could not fail to find it. We would then seek our way home -as quickly as we could. All fell out well. At the edge of Hampstead -Heath we heard a policeman's heavy tramp, and laying the child on the -pathway, we waited and watched until he saw it as he flashed his -lantern to and fro. We heard his exclamation of astonishment, and -then we went away silently. By good chance we got a cab near the -'Spainiards,' and drove to town. - -I cannot sleep, so I make this entry. But I must try to get a few -hours' sleep, as Van Helsing is to call for me at noon. He insists -that I go with him on another expedition. - - -27 September.--It was two o'clock before we found a suitable -opportunity for our attempt. The funeral held at noon was all -completed, and the last stragglers of the mourners had taken -themselves lazily away, when, looking carefully from behind a clump of -alder trees, we saw the sexton lock the gate after him. We knew that -we were safe till morning did we desire it, but the Professor told me -that we should not want more than an hour at most. Again I felt that -horrid sense of the reality of things, in which any effort of -imagination seemed out of place, and I realized distinctly the perils -of the law which we were incurring in our unhallowed work. Besides, I -felt it was all so useless. Outrageous as it was to open a leaden -coffin, to see if a woman dead nearly a week were really dead, it now -seemed the height of folly to open the tomb again, when we knew, from -the evidence of our own eyesight, that the coffin was empty. I -shrugged my shoulders, however, and rested silent, for Van Helsing had -a way of going on his own road, no matter who remonstrated. He took -the key, opened the vault, and again courteously motioned me to -precede. The place was not so gruesome as last night, but oh, how -unutterably mean looking when the sunshine streamed in. Van Helsing -walked over to Lucy's coffin, and I followed. He bent over and again -forced back the leaden flange, and a shock of surprise and dismay shot -through me. - -There lay Lucy, seemingly just as we had seen her the night before her -funeral. She was, if possible, more radiantly beautiful than ever, -and I could not believe that she was dead. The lips were red, nay -redder than before, and on the cheeks was a delicate bloom. - -"Is this a juggle?" I said to him. - -"Are you convinced now?" said the Professor, in response, and as he -spoke he put over his hand, and in a way that made me shudder, pulled -back the dead lips and showed the white teeth. "See," he went on, -"they are even sharper than before. With this and this," and he -touched one of the canine teeth and that below it, "the little -children can be bitten. Are you of belief now, friend John?" - -Once more argumentative hostility woke within me. I could not accept -such an overwhelming idea as he suggested. So, with an attempt to -argue of which I was even at the moment ashamed, I said, "She may have -been placed here since last night." - -"Indeed? That is so, and by whom?" - -"I do not know. Someone has done it." - -"And yet she has been dead one week. Most peoples in that time would -not look so." - -I had no answer for this, so was silent. Van Helsing did not seem to -notice my silence. At any rate, he showed neither chagrin nor -triumph. He was looking intently at the face of the dead woman, -raising the eyelids and looking at the eyes, and once more opening the -lips and examining the teeth. Then he turned to me and said, - -"Here, there is one thing which is different from all recorded. Here -is some dual life that is not as the common. She was bitten by the -vampire when she was in a trance, sleep-walking, oh, you start. You -do not know that, friend John, but you shall know it later, and in -trance could he best come to take more blood. In trance she dies, and -in trance she is UnDead, too. So it is that she differ from all -other. Usually when the UnDead sleep at home," as he spoke he made a -comprehensive sweep of his arm to designate what to a vampire was -'home', "their face show what they are, but this so sweet that was -when she not UnDead she go back to the nothings of the common dead. -There is no malign there, see, and so it make hard that I must kill -her in her sleep." - -This turned my blood cold, and it began to dawn upon me that I was -accepting Van Helsing's theories. But if she were really dead, what -was there of terror in the idea of killing her? - -He looked up at me, and evidently saw the change in my face, for he -said almost joyously, "Ah, you believe now?" - -I answered, "Do not press me too hard all at once. I am willing to -accept. How will you do this bloody work?" - -"I shall cut off her head and fill her mouth with garlic, and I shall -drive a stake through her body." - -It made me shudder to think of so mutilating the body of the woman -whom I had loved. And yet the feeling was not so strong as I had -expected. I was, in fact, beginning to shudder at the presence of -this being, this UnDead, as Van Helsing called it, and to loathe it. -Is it possible that love is all subjective, or all objective? - -I waited a considerable time for Van Helsing to begin, but he stood as -if wrapped in thought. Presently he closed the catch of his bag with -a snap, and said, - -"I have been thinking, and have made up my mind as to what is best. -If I did simply follow my inclining I would do now, at this moment, -what is to be done. But there are other things to follow, and things -that are thousand times more difficult in that them we do not know. -This is simple. She have yet no life taken, though that is of time, -and to act now would be to take danger from her forever. But then we -may have to want Arthur, and how shall we tell him of this? If you, -who saw the wounds on Lucy's throat, and saw the wounds so similar on -the child's at the hospital, if you, who saw the coffin empty last -night and full today with a woman who have not change only to be more -rose and more beautiful in a whole week, after she die, if you know of -this and know of the white figure last night that brought the child to -the churchyard, and yet of your own senses you did not believe, how -then, can I expect Arthur, who know none of those things, to believe? - -"He doubted me when I took him from her kiss when she was dying. I -know he has forgiven me because in some mistaken idea I have done -things that prevent him say goodbye as he ought, and he may think that -in some more mistaken idea this woman was buried alive, and that in -most mistake of all we have killed her. He will then argue back that -it is we, mistaken ones, that have killed her by our ideas, and so he -will be much unhappy always. Yet he never can be sure, and that is -the worst of all. And he will sometimes think that she he loved was -buried alive, and that will paint his dreams with horrors of what she -must have suffered, and again, he will think that we may be right, and -that his so beloved was, after all, an UnDead. No! I told him once, -and since then I learn much. Now, since I know it is all true, a -hundred thousand times more do I know that he must pass through the -bitter waters to reach the sweet. He, poor fellow, must have one hour -that will make the very face of heaven grow black to him, then we can -act for good all round and send him peace. My mind is made up. Let -us go. You return home for tonight to your asylum, and see that all -be well. As for me, I shall spend the night here in this churchyard -in my own way. Tomorrow night you will come to me to the Berkeley -Hotel at ten of the clock. I shall send for Arthur to come too, and -also that so fine young man of America that gave his blood. Later we -shall all have work to do. I come with you so far as Piccadilly and -there dine, for I must be back here before the sun set." - -So we locked the tomb and came away, and got over the wall of the -churchyard, which was not much of a task, and drove back to -Piccadilly. - - - - -NOTE LEFT BY VAN HELSING IN HIS PORTMANTEAU, BERKELEY HOTEL DIRECTED TO -JOHN SEWARD, M. D. (Not Delivered) - -27 September - -"Friend John, - -"I write this in case anything should happen. I go alone to -watch in that churchyard. It pleases me that the UnDead, -Miss Lucy, shall not leave tonight, that so on the morrow -night she may be more eager. Therefore I shall fix some -things she like not, garlic and a crucifix, and so seal up -the door of the tomb. She is young as UnDead, and will -heed. Moreover, these are only to prevent her coming out. -They may not prevail on her wanting to get in, for then the -UnDead is desperate, and must find the line of least resistance, -whatsoever it may be. I shall be at hand all the night from -sunset till after sunrise, and if there be aught that may be -learned I shall learn it. For Miss Lucy or from her, I have no -fear, but that other to whom is there that she is UnDead, he have -not the power to seek her tomb and find shelter. He is cunning, -as I know from Mr. Jonathan and from the way that all along he -have fooled us when he played with us for Miss Lucy's life, and -we lost, and in many ways the UnDead are strong. He have always -the strength in his hand of twenty men, even we four who gave our -strength to Miss Lucy it also is all to him. Besides, he can -summon his wolf and I know not what. So if it be that he came -thither on this night he shall find me. But none other shall, -until it be too late. But it may be that he will not attempt the -place. There is no reason why he should. His hunting ground is -more full of game than the churchyard where the UnDead woman -sleeps, and the one old man watch. - -"Therefore I write this in case . . . Take the papers that -are with this, the diaries of Harker and the rest, and read -them, and then find this great UnDead, and cut off his head -and burn his heart or drive a stake through it, so that the -world may rest from him. - -"If it be so, farewell. - -"VAN HELSING." - - - - -DR. SEWARD'S DIARY - -28 September.--It is wonderful what a good night's sleep will do for -one. Yesterday I was almost willing to accept Van Helsing's monstrous -ideas, but now they seem to start out lurid before me as outrages on -common sense. I have no doubt that he believes it all. I wonder if -his mind can have become in any way unhinged. Surely there must be -some rational explanation of all these mysterious things. Is it -possible that the Professor can have done it himself? He is so -abnormally clever that if he went off his head he would carry out his -intent with regard to some fixed idea in a wonderful way. I am loathe -to think it, and indeed it would be almost as great a marvel as the -other to find that Van Helsing was mad, but anyhow I shall watch him -carefully. I may get some light on the mystery. - - -29 September.--Last night, at a little before ten o'clock, Arthur and -Quincey came into Van Helsing's room. He told us all what he wanted -us to do, but especially addressing himself to Arthur, as if all our -wills were centred in his. He began by saying that he hoped we would -all come with him too, "for," he said, "there is a grave duty to be -done there. You were doubtless surprised at my letter?" This query -was directly addressed to Lord Godalming. - -"I was. It rather upset me for a bit. There has been so much trouble -around my house of late that I could do without any more. I have been -curious, too, as to what you mean. - -"Quincey and I talked it over, but the more we talked, the more -puzzled we got, till now I can say for myself that I'm about up a tree -as to any meaning about anything." - -"Me too," said Quincey Morris laconically. - -"Oh," said the Professor, "then you are nearer the beginning, both of -you, than friend John here, who has to go a long way back before he -can even get so far as to begin." - -It was evident that he recognized my return to my old doubting frame -of mind without my saying a word. Then, turning to the other two, he -said with intense gravity, - -"I want your permission to do what I think good this night. It is, I -know, much to ask, and when you know what it is I propose to do you -will know, and only then how much. Therefore may I ask that you -promise me in the dark, so that afterwards, though you may be angry -with me for a time, I must not disguise from myself the possibility -that such may be, you shall not blame yourselves for anything." - -"That's frank anyhow," broke in Quincey. "I'll answer for the -Professor. I don't quite see his drift, but I swear he's honest, and -that's good enough for me." - -"I thank you, Sir," said Van Helsing proudly. "I have done myself the -honour of counting you one trusting friend, and such endorsement is -dear to me." He held out a hand, which Quincey took. - -Then Arthur spoke out, "Dr. Van Helsing, I don't quite like to 'buy a -pig in a poke', as they say in Scotland, and if it be anything in -which my honour as a gentleman or my faith as a Christian is -concerned, I cannot make such a promise. If you can assure me that -what you intend does not violate either of these two, then I give my -consent at once, though for the life of me, I cannot understand what -you are driving at." - -"I accept your limitation," said Van Helsing, "and all I ask of you is -that if you feel it necessary to condemn any act of mine, you will -first consider it well and be satisfied that it does not violate your -reservations." - -"Agreed!" said Arthur. "That is only fair. And now that the -pourparlers are over, may I ask what it is we are to do?" - -"I want you to come with me, and to come in secret, to the churchyard -at Kingstead." - -Arthur's face fell as he said in an amazed sort of way, - -"Where poor Lucy is buried?" - -The Professor bowed. - -Arthur went on, "And when there?" - -"To enter the tomb!" - -Arthur stood up. "Professor, are you in earnest, or is it some -monstrous joke? Pardon me, I see that you are in earnest." He sat -down again, but I could see that he sat firmly and proudly, as one who -is on his dignity. There was silence until he asked again, "And when -in the tomb?" - -"To open the coffin." - -"This is too much!" he said, angrily rising again. "I am willing to -be patient in all things that are reasonable, but in this, this -desecration of the grave, of one who . . ." He fairly choked with -indignation. - -The Professor looked pityingly at him. "If I could spare you one pang, -my poor friend," he said, "God knows I would. But this night our feet -must tread in thorny paths, or later, and for ever, the feet you love -must walk in paths of flame!" - -Arthur looked up with set white face and said, "Take care, sir, take -care!" - -"Would it not be well to hear what I have to say?" said Van Helsing. -"And then you will at least know the limit of my purpose. Shall I go -on?" - -"That's fair enough," broke in Morris. - -After a pause Van Helsing went on, evidently with an effort, "Miss -Lucy is dead, is it not so? Yes! Then there can be no wrong to her. -But if she be not dead . . ." - -Arthur jumped to his feet, "Good God!" he cried. "What do you mean? -Has there been any mistake, has she been buried alive?" He groaned in -anguish that not even hope could soften. - -"I did not say she was alive, my child. I did not think it. I go no -further than to say that she might be UnDead." - -"UnDead! Not alive! What do you mean? Is this all a nightmare, or -what is it?" - -"There are mysteries which men can only guess at, which age by age -they may solve only in part. Believe me, we are now on the verge of -one. But I have not done. May I cut off the head of dead Miss Lucy?" - -"Heavens and earth, no!" cried Arthur in a storm of passion. "Not for -the wide world will I consent to any mutilation of her dead body. Dr. -Van Helsing, you try me too far. What have I done to you that you -should torture me so? What did that poor, sweet girl do that you -should want to cast such dishonour on her grave? Are you mad, that you -speak of such things, or am I mad to listen to them? Don't dare think -more of such a desecration. I shall not give my consent to anything -you do. I have a duty to do in protecting her grave from outrage, and -by God, I shall do it!" - -Van Helsing rose up from where he had all the time been seated, and -said, gravely and sternly, "My Lord Godalming, I too, have a duty to -do, a duty to others, a duty to you, a duty to the dead, and by God, I -shall do it! All I ask you now is that you come with me, that you -look and listen, and if when later I make the same request you do not -be more eager for its fulfillment even than I am, then, I shall do my -duty, whatever it may seem to me. And then, to follow your Lordship's -wishes I shall hold myself at your disposal to render an account to -you, when and where you will." His voice broke a little, and he went -on with a voice full of pity. - -"But I beseech you, do not go forth in anger with me. In a long life -of acts which were often not pleasant to do, and which sometimes did -wring my heart, I have never had so heavy a task as now. Believe me -that if the time comes for you to change your mind towards me, one -look from you will wipe away all this so sad hour, for I would do what -a man can to save you from sorrow. Just think. For why should I give -myself so much labor and so much of sorrow? I have come here from my -own land to do what I can of good, at the first to please my friend -John, and then to help a sweet young lady, whom too, I come to love. -For her, I am ashamed to say so much, but I say it in kindness, I gave -what you gave, the blood of my veins. I gave it, I who was not, like -you, her lover, but only her physician and her friend. I gave her my -nights and days, before death, after death, and if my death can do her -good even now, when she is the dead UnDead, she shall have it freely." -He said this with a very grave, sweet pride, and Arthur was much -affected by it. - -He took the old man's hand and said in a broken voice, "Oh, it is hard -to think of it, and I cannot understand, but at least I shall go with -you and wait." - - - - -CHAPTER 16 - - -DR. SEWARD'S DIARY--cont. - -It was just a quarter before twelve o'clock when we got into the -churchyard over the low wall. The night was dark with occasional -gleams of moonlight between the dents of the heavy clouds that scudded -across the sky. We all kept somehow close together, with Van Helsing -slightly in front as he led the way. When we had come close to the -tomb I looked well at Arthur, for I feared the proximity to a place -laden with so sorrowful a memory would upset him, but he bore himself -well. I took it that the very mystery of the proceeding was in some -way a counteractant to his grief. The Professor unlocked the door, -and seeing a natural hesitation amongst us for various reasons, solved -the difficulty by entering first himself. The rest of us followed, -and he closed the door. He then lit a dark lantern and pointed to a -coffin. Arthur stepped forward hesitatingly. Van Helsing said to me, -"You were with me here yesterday. Was the body of Miss Lucy in that -coffin?" - -"It was." - -The Professor turned to the rest saying, "You hear, and yet there is -no one who does not believe with me." - -He took his screwdriver and again took off the lid of the coffin. -Arthur looked on, very pale but silent. When the lid was removed he -stepped forward. He evidently did not know that there was a leaden -coffin, or at any rate, had not thought of it. When he saw the rent -in the lead, the blood rushed to his face for an instant, but as -quickly fell away again, so that he remained of a ghastly whiteness. -He was still silent. Van Helsing forced back the leaden flange, and -we all looked in and recoiled. - -The coffin was empty! - -For several minutes no one spoke a word. The silence was broken by -Quincey Morris, "Professor, I answered for you. Your word is all I -want. I wouldn't ask such a thing ordinarily, I wouldn't so dishonour -you as to imply a doubt, but this is a mystery that goes beyond any -honour or dishonour. Is this your doing?" - -"I swear to you by all that I hold sacred that I have not removed or -touched her. What happened was this. Two nights ago my friend Seward -and I came here, with good purpose, believe me. I opened that coffin, -which was then sealed up, and we found it as now, empty. We then -waited, and saw something white come through the trees. The next day -we came here in daytime and she lay there. Did she not, friend John? - -"Yes." - -"That night we were just in time. One more so small child was -missing, and we find it, thank God, unharmed amongst the graves. -Yesterday I came here before sundown, for at sundown the UnDead can -move. I waited here all night till the sun rose, but I saw nothing. -It was most probable that it was because I had laid over the clamps of -those doors garlic, which the UnDead cannot bear, and other things -which they shun. Last night there was no exodus, so tonight before -the sundown I took away my garlic and other things. And so it is we -find this coffin empty. But bear with me. So far there is much that -is strange. Wait you with me outside, unseen and unheard, and things -much stranger are yet to be. So," here he shut the dark slide of his -lantern, "now to the outside." He opened the door, and we filed out, -he coming last and locking the door behind him. - -Oh! But it seemed fresh and pure in the night air after the terror of -that vault. How sweet it was to see the clouds race by, and the -passing gleams of the moonlight between the scudding clouds crossing -and passing, like the gladness and sorrow of a man's life. How sweet -it was to breathe the fresh air, that had no taint of death and decay. -How humanizing to see the red lighting of the sky beyond the hill, and -to hear far away the muffled roar that marks the life of a great -city. Each in his own way was solemn and overcome. Arthur was -silent, and was, I could see, striving to grasp the purpose and the -inner meaning of the mystery. I was myself tolerably patient, and -half inclined again to throw aside doubt and to accept Van Helsing's -conclusions. Quincey Morris was phlegmatic in the way of a man who -accepts all things, and accepts them in the spirit of cool bravery, -with hazard of all he has at stake. Not being able to smoke, he cut -himself a good-sized plug of tobacco and began to chew. As to Van -Helsing, he was employed in a definite way. First he took from his -bag a mass of what looked like thin, wafer-like biscuit, which was -carefully rolled up in a white napkin. Next he took out a double -handful of some whitish stuff, like dough or putty. He crumbled the -wafer up fine and worked it into the mass between his hands. This he -then took, and rolling it into thin strips, began to lay them into the -crevices between the door and its setting in the tomb. I was somewhat -puzzled at this, and being close, asked him what it was that he was -doing. Arthur and Quincey drew near also, as they too were curious. - -He answered, "I am closing the tomb so that the UnDead may not enter." - -"And is that stuff you have there going to do it?" - -"It is." - -"What is that which you are using?" This time the question was by -Arthur. Van Helsing reverently lifted his hat as he answered. - -"The Host. I brought it from Amsterdam. I have an Indulgence." - -It was an answer that appalled the most sceptical of us, and we felt -individually that in the presence of such earnest purpose as the -Professor's, a purpose which could thus use the to him most sacred of -things, it was impossible to distrust. In respectful silence we took -the places assigned to us close round the tomb, but hidden from the -sight of any one approaching. I pitied the others, especially Arthur. -I had myself been apprenticed by my former visits to this watching -horror, and yet I, who had up to an hour ago repudiated the proofs, -felt my heart sink within me. Never did tombs look so ghastly white. -Never did cypress, or yew, or juniper so seem the embodiment of -funeral gloom. Never did tree or grass wave or rustle so ominously. -Never did bough creak so mysteriously, and never did the far-away -howling of dogs send such a woeful presage through the night. - -There was a long spell of silence, big, aching, void, and then from -the Professor a keen "S-s-s-s!" He pointed, and far down the avenue of -yews we saw a white figure advance, a dim white figure, which held -something dark at its breast. The figure stopped, and at the moment a -ray of moonlight fell upon the masses of driving clouds, and showed in -startling prominence a dark-haired woman, dressed in the cerements of -the grave. We could not see the face, for it was bent down over what -we saw to be a fair-haired child. There was a pause and a sharp -little cry, such as a child gives in sleep, or a dog as it lies before -the fire and dreams. We were starting forward, but the Professor's -warning hand, seen by us as he stood behind a yew tree, kept us back. -And then as we looked the white figure moved forwards again. It was -now near enough for us to see clearly, and the moonlight still held. -My own heart grew cold as ice, and I could hear the gasp of Arthur, as -we recognized the features of Lucy Westenra. Lucy Westenra, but yet -how changed. The sweetness was turned to adamantine, heartless -cruelty, and the purity to voluptuous wantonness. - -Van Helsing stepped out, and obedient to his gesture, we all advanced -too. The four of us ranged in a line before the door of the tomb. Van -Helsing raised his lantern and drew the slide. By the concentrated -light that fell on Lucy's face we could see that the lips were crimson -with fresh blood, and that the stream had trickled over her chin and -stained the purity of her lawn death-robe. - -We shuddered with horror. I could see by the tremulous light that -even Van Helsing's iron nerve had failed. Arthur was next to me, and -if I had not seized his arm and held him up, he would have fallen. - -When Lucy, I call the thing that was before us Lucy because it bore -her shape, saw us she drew back with an angry snarl, such as a cat -gives when taken unawares, then her eyes ranged over us. Lucy's eyes -in form and colour, but Lucy's eyes unclean and full of hell fire, -instead of the pure, gentle orbs we knew. At that moment the remnant -of my love passed into hate and loathing. Had she then to be killed, -I could have done it with savage delight. As she looked, her eyes -blazed with unholy light, and the face became wreathed with a -voluptuous smile. Oh, God, how it made me shudder to see it! With a -careless motion, she flung to the ground, callous as a devil, the -child that up to now she had clutched strenuously to her breast, -growling over it as a dog growls over a bone. The child gave a sharp -cry, and lay there moaning. There was a cold-bloodedness in the act -which wrung a groan from Arthur. When she advanced to him with -outstretched arms and a wanton smile he fell back and hid his face in -his hands. - -She still advanced, however, and with a languorous, voluptuous grace, -said, "Come to me, Arthur. Leave these others and come to me. My -arms are hungry for you. Come, and we can rest together. Come, my -husband, come!" - -There was something diabolically sweet in her tones, something of the -tinkling of glass when struck, which rang through the brains even of -us who heard the words addressed to another. - -As for Arthur, he seemed under a spell, moving his hands from his -face, he opened wide his arms. She was leaping for them, when Van -Helsing sprang forward and held between them his little golden -crucifix. She recoiled from it, and, with a suddenly distorted face, -full of rage, dashed past him as if to enter the tomb. - -When within a foot or two of the door, however, she stopped, as if -arrested by some irresistible force. Then she turned, and her face -was shown in the clear burst of moonlight and by the lamp, which had -now no quiver from Van Helsing's nerves. Never did I see such baffled -malice on a face, and never, I trust, shall such ever be seen again by -mortal eyes. The beautiful colour became livid, the eyes seemed to -throw out sparks of hell fire, the brows were wrinkled as though the -folds of flesh were the coils of Medusa's snakes, and the lovely, -blood-stained mouth grew to an open square, as in the passion masks of -the Greeks and Japanese. If ever a face meant death, if looks could -kill, we saw it at that moment. - -And so for full half a minute, which seemed an eternity, she remained -between the lifted crucifix and the sacred closing of her means of -entry. - -Van Helsing broke the silence by asking Arthur, "Answer me, oh my -friend! Am I to proceed in my work?" - -"Do as you will, friend. Do as you will. There can be no horror like -this ever any more." And he groaned in spirit. - -Quincey and I simultaneously moved towards him, and took his arms. We -could hear the click of the closing lantern as Van Helsing held it -down. Coming close to the tomb, he began to remove from the chinks -some of the sacred emblem which he had placed there. We all looked on -with horrified amazement as we saw, when he stood back, the woman, -with a corporeal body as real at that moment as our own, pass through -the interstice where scarce a knife blade could have gone. We all -felt a glad sense of relief when we saw the Professor calmly restoring -the strings of putty to the edges of the door. - -When this was done, he lifted the child and said, "Come now, my -friends. We can do no more till tomorrow. There is a funeral at -noon, so here we shall all come before long after that. The friends -of the dead will all be gone by two, and when the sexton locks the -gate we shall remain. Then there is more to do, but not like this of -tonight. As for this little one, he is not much harmed, and by -tomorrow night he shall be well. We shall leave him where the police -will find him, as on the other night, and then to home." - -Coming close to Arthur, he said, "My friend Arthur, you have had a sore -trial, but after, when you look back, you will see how it was -necessary. You are now in the bitter waters, my child. By this time -tomorrow you will, please God, have passed them, and have drunk of the -sweet waters. So do not mourn over-much. Till then I shall not ask -you to forgive me." - -Arthur and Quincey came home with me, and we tried to cheer each other -on the way. We had left behind the child in safety, and were tired. -So we all slept with more or less reality of sleep. - - -29 September, night.--A little before twelve o'clock we three, Arthur, -Quincey Morris, and myself, called for the Professor. It was odd to -notice that by common consent we had all put on black clothes. Of -course, Arthur wore black, for he was in deep mourning, but the rest -of us wore it by instinct. We got to the graveyard by half-past one, -and strolled about, keeping out of official observation, so that when -the gravediggers had completed their task and the sexton, under the -belief that every one had gone, had locked the gate, we had the place -all to ourselves. Van Helsing, instead of his little black bag, had -with him a long leather one, something like a cricketing bag. It was -manifestly of fair weight. - -When we were alone and had heard the last of the footsteps die out up -the road, we silently, and as if by ordered intention, followed the -Professor to the tomb. He unlocked the door, and we entered, closing -it behind us. Then he took from his bag the lantern, which he lit, -and also two wax candles, which, when lighted, he stuck by melting -their own ends, on other coffins, so that they might give light -sufficient to work by. When he again lifted the lid off Lucy's coffin -we all looked, Arthur trembling like an aspen, and saw that the corpse -lay there in all its death beauty. But there was no love in my own -heart, nothing but loathing for the foul Thing which had taken Lucy's -shape without her soul. I could see even Arthur's face grow hard as -he looked. Presently he said to Van Helsing, "Is this really Lucy's -body, or only a demon in her shape?" - -"It is her body, and yet not it. But wait a while, and you shall see -her as she was, and is." - -She seemed like a nightmare of Lucy as she lay there, the pointed -teeth, the blood stained, voluptuous mouth, which made one shudder to -see, the whole carnal and unspirited appearance, seeming like a -devilish mockery of Lucy's sweet purity. Van Helsing, with his usual -methodicalness, began taking the various contents from his bag and -placing them ready for use. First he took out a soldering iron and -some plumbing solder, and then small oil lamp, which gave out, when -lit in a corner of the tomb, gas which burned at a fierce heat with a -blue flame, then his operating knives, which he placed to hand, and -last a round wooden stake, some two and a half or three inches thick -and about three feet long. One end of it was hardened by charring in -the fire, and was sharpened to a fine point. With this stake came a -heavy hammer, such as in households is used in the coal cellar for -breaking the lumps. To me, a doctor's preparations for work of any -kind are stimulating and bracing, but the effect of these things on -both Arthur and Quincey was to cause them a sort of consternation. -They both, however, kept their courage, and remained silent and quiet. - -When all was ready, Van Helsing said, "Before we do anything, let me -tell you this. It is out of the lore and experience of the ancients -and of all those who have studied the powers of the UnDead. When they -become such, there comes with the change the curse of immortality. -They cannot die, but must go on age after age adding new victims and -multiplying the evils of the world. For all that die from the preying -of the Undead become themselves Undead, and prey on their kind. And -so the circle goes on ever widening, like as the ripples from a stone -thrown in the water. Friend Arthur, if you had met that kiss which -you know of before poor Lucy die, or again, last night when you open -your arms to her, you would in time, when you had died, have become -nosferatu, as they call it in Eastern Europe, and would for all time -make more of those Un-Deads that so have filled us with horror. The -career of this so unhappy dear lady is but just begun. Those children -whose blood she sucked are not as yet so much the worse, but if she -lives on, UnDead, more and more they lose their blood and by her power -over them they come to her, and so she draw their blood with that so -wicked mouth. But if she die in truth, then all cease. The tiny -wounds of the throats disappear, and they go back to their play -unknowing ever of what has been. But of the most blessed of all, when -this now UnDead be made to rest as true dead, then the soul of the -poor lady whom we love shall again be free. Instead of working -wickedness by night and growing more debased in the assimilating of it -by day, she shall take her place with the other Angels. So that, my -friend, it will be a blessed hand for her that shall strike the blow -that sets her free. To this I am willing, but is there none amongst -us who has a better right? Will it be no joy to think of hereafter in -the silence of the night when sleep is not, 'It was my hand that sent -her to the stars. It was the hand of him that loved her best, the -hand that of all she would herself have chosen, had it been to her to -choose?' Tell me if there be such a one amongst us?" - -We all looked at Arthur. He saw too, what we all did, the infinite -kindness which suggested that his should be the hand which would -restore Lucy to us as a holy, and not an unholy, memory. He stepped -forward and said bravely, though his hand trembled, and his face was -as pale as snow, "My true friend, from the bottom of my broken heart I -thank you. Tell me what I am to do, and I shall not falter!" - -Van Helsing laid a hand on his shoulder, and said, "Brave lad! A -moment's courage, and it is done. This stake must be driven through -her. It well be a fearful ordeal, be not deceived in that, but it -will be only a short time, and you will then rejoice more than your -pain was great. From this grim tomb you will emerge as though you -tread on air. But you must not falter when once you have begun. Only -think that we, your true friends, are round you, and that we pray for -you all the time." - -"Go on," said Arthur hoarsely. "Tell me what I am to do." - -"Take this stake in your left hand, ready to place to the point over -the heart, and the hammer in your right. Then when we begin our -prayer for the dead, I shall read him, I have here the book, and the -others shall follow, strike in God's name, that so all may be well -with the dead that we love and that the UnDead pass away." - -Arthur took the stake and the hammer, and when once his mind was set -on action his hands never trembled nor even quivered. Van Helsing -opened his missal and began to read, and Quincey and I followed as -well as we could. - -Arthur placed the point over the heart, and as I looked I could see its -dint in the white flesh. Then he struck with all his might. - -The thing in the coffin writhed, and a hideous, blood-curdling screech -came from the opened red lips. The body shook and quivered and -twisted in wild contortions. The sharp white teeth champed together till -the lips were cut, and the mouth was smeared with a crimson foam. But -Arthur never faltered. He looked like a figure of Thor as his -untrembling arm rose and fell, driving deeper and deeper the -mercy-bearing stake, whilst the blood from the pierced heart welled -and spurted up around it. His face was set, and high duty seemed to -shine through it. The sight of it gave us courage so that our voices -seemed to ring through the little vault. - -And then the writhing and quivering of the body became less, and the -teeth seemed to champ, and the face to quiver. Finally it lay still. -The terrible task was over. - -The hammer fell from Arthur's hand. He reeled and would have fallen -had we not caught him. The great drops of sweat sprang from his -forehead, and his breath came in broken gasps. It had indeed been an -awful strain on him, and had he not been forced to his task by more -than human considerations he could never have gone through with it. -For a few minutes we were so taken up with him that we did not look -towards the coffin. When we did, however, a murmur of startled -surprise ran from one to the other of us. We gazed so eagerly that -Arthur rose, for he had been seated on the ground, and came and looked -too, and then a glad strange light broke over his face and dispelled -altogether the gloom of horror that lay upon it. - -There, in the coffin lay no longer the foul Thing that we had so -dreaded and grown to hate that the work of her destruction was yielded -as a privilege to the one best entitled to it, but Lucy as we had seen -her in life, with her face of unequalled sweetness and purity. True -that there were there, as we had seen them in life, the traces of care -and pain and waste. But these were all dear to us, for they marked -her truth to what we knew. One and all we felt that the holy calm -that lay like sunshine over the wasted face and form was only an -earthly token and symbol of the calm that was to reign for ever. - -Van Helsing came and laid his hand on Arthur's shoulder, and said to -him, "And now, Arthur my friend, dear lad, am I not forgiven?" - -The reaction of the terrible strain came as he took the old man's hand -in his, and raising it to his lips, pressed it, and said, "Forgiven! -God bless you that you have given my dear one her soul again, and me -peace." He put his hands on the Professor's shoulder, and laying his -head on his breast, cried for a while silently, whilst we stood -unmoving. - -When he raised his head Van Helsing said to him, "And now, my child, -you may kiss her. Kiss her dead lips if you will, as she would have -you to, if for her to choose. For she is not a grinning devil now, -not any more a foul Thing for all eternity. No longer she is the -devil's UnDead. She is God's true dead, whose soul is with Him!" - -Arthur bent and kissed her, and then we sent him and Quincey out of the -tomb. The Professor and I sawed the top off the stake, leaving the -point of it in the body. Then we cut off the head and filled the -mouth with garlic. We soldered up the leaden coffin, screwed on the -coffin lid, and gathering up our belongings, came away. When the -Professor locked the door he gave the key to Arthur. - -Outside the air was sweet, the sun shone, and the birds sang, and it -seemed as if all nature were tuned to a different pitch. There was -gladness and mirth and peace everywhere, for we were at rest ourselves -on one account, and we were glad, though it was with a tempered joy. - -Before we moved away Van Helsing said, "Now, my friends, one step of -our work is done, one the most harrowing to ourselves. But there -remains a greater task: to find out the author of all this our sorrow -and to stamp him out. I have clues which we can follow, but it is a -long task, and a difficult one, and there is danger in it, and pain. -Shall you not all help me? We have learned to believe, all of us, is -it not so? And since so, do we not see our duty? Yes! And do we not -promise to go on to the bitter end?" - -Each in turn, we took his hand, and the promise was made. Then said -the Professor as we moved off, "Two nights hence you shall meet with -me and dine together at seven of the clock with friend John. I shall -entreat two others, two that you know not as yet, and I shall be ready -to all our work show and our plans unfold. Friend John, you come with -me home, for I have much to consult you about, and you can help me. -Tonight I leave for Amsterdam, but shall return tomorrow night. And -then begins our great quest. But first I shall have much to say, so -that you may know what to do and to dread. Then our promise shall be -made to each other anew. For there is a terrible task before us, and -once our feet are on the ploughshare we must not draw back." - - - - -CHAPTER 17 - - -DR. SEWARD'S DIARY--cont. - -When we arrived at the Berkely Hotel, Van Helsing found a telegram -waiting for him. - -"Am coming up by train. Jonathan at Whitby. Important news. Mina -Harker." - - -The Professor was delighted. "Ah, that wonderful Madam Mina," he -said, "pearl among women! She arrive, but I cannot stay. She must go -to your house, friend John. You must meet her at the station. -Telegraph her en route so that she may be prepared." - -When the wire was dispatched he had a cup of tea. Over it he told me -of a diary kept by Jonathan Harker when abroad, and gave me a -typewritten copy of it, as also of Mrs. Harker's diary at Whitby. -"Take these," he said, "and study them well. When I have returned you -will be master of all the facts, and we can then better enter on our -inquisition. Keep them safe, for there is in them much of treasure. -You will need all your faith, even you who have had such an experience -as that of today. What is here told," he laid his hand heavily and -gravely on the packet of papers as he spoke, "may be the beginning of -the end to you and me and many another, or it may sound the knell of -the UnDead who walk the earth. Read all, I pray you, with the open -mind, and if you can add in any way to the story here told do so, for -it is all important. You have kept a diary of all these so strange -things, is it not so? Yes! Then we shall go through all these -together when we meet." He then made ready for his departure and -shortly drove off to Liverpool Street. I took my way to Paddington, -where I arrived about fifteen minutes before the train came in. - -The crowd melted away, after the bustling fashion common to arrival -platforms, and I was beginning to feel uneasy, lest I might miss my -guest, when a sweet-faced, dainty looking girl stepped up to me, and -after a quick glance said, "Dr. Seward, is it not?" - -"And you are Mrs. Harker!" I answered at once, whereupon she held out -her hand. - -"I knew you from the description of poor dear Lucy, but . . ." She -stopped suddenly, and a quick blush overspread her face. - -The blush that rose to my own cheeks somehow set us both at ease, for -it was a tacit answer to her own. I got her luggage, which included a -typewriter, and we took the Underground to Fenchurch Street, after I -had sent a wire to my housekeeper to have a sitting room and a bedroom -prepared at once for Mrs. Harker. - -In due time we arrived. She knew, of course, that the place was a -lunatic asylum, but I could see that she was unable to repress a -shudder when we entered. - -She told me that, if she might, she would come presently to my study, -as she had much to say. So here I am finishing my entry in my -phonograph diary whilst I await her. As yet I have not had the chance -of looking at the papers which Van Helsing left with me, though they -lie open before me. I must get her interested in something, so that I -may have an opportunity of reading them. She does not know how -precious time is, or what a task we have in hand. I must be careful -not to frighten her. Here she is! - - - - -MINA HARKER'S JOURNAL - -29 September.--After I had tidied myself, I went down to Dr. Seward's -study. At the door I paused a moment, for I thought I heard him -talking with some one. As, however, he had pressed me to be quick, I -knocked at the door, and on his calling out, "Come in," I entered. - -To my intense surprise, there was no one with him. He was quite -alone, and on the table opposite him was what I knew at once from the -description to be a phonograph. I had never seen one, and was much -interested. - -"I hope I did not keep you waiting," I said, "but I stayed at the door -as I heard you talking, and thought there was someone with you." - -"Oh," he replied with a smile, "I was only entering my diary." - -"Your diary?" I asked him in surprise. - -"Yes," he answered. "I keep it in this." As he spoke he laid his -hand on the phonograph. I felt quite excited over it, and blurted -out, "Why, this beats even shorthand! May I hear it say something?" - -"Certainly," he replied with alacrity, and stood up to put it in train -for speaking. Then he paused, and a troubled look overspread his -face. - -"The fact is," he began awkwardly, "I only keep my diary in it, and as -it is entirely, almost entirely, about my cases it may be awkward, -that is, I mean . . ." He stopped, and I tried to help him out of his -embarrassment. - -"You helped to attend dear Lucy at the end. Let me hear how she died, -for all that I know of her, I shall be very grateful. She was very, -very dear to me." - -To my surprise, he answered, with a horrorstruck look in his face, -"Tell you of her death? Not for the wide world!" - -"Why not?" I asked, for some grave, terrible feeling was coming over me. - -Again he paused, and I could see that he was trying to invent an -excuse. At length, he stammered out, "You see, I do not know how to -pick out any particular part of the diary." - -Even while he was speaking an idea dawned upon him, and he said with -unconscious simplicity, in a different voice, and with the naivete of -a child, "that's quite true, upon my honour. Honest Indian!" - -I could not but smile, at which he grimaced. "I gave myself away that -time!" he said. "But do you know that, although I have kept the diary -for months past, it never once struck me how I was going to find any -particular part of it in case I wanted to look it up?" - -By this time my mind was made up that the diary of a doctor who -attended Lucy might have something to add to the sum of our knowledge -of that terrible Being, and I said boldly, "Then, Dr. Seward, you had -better let me copy it out for you on my typewriter." - -He grew to a positively deathly pallor as he said, "No! No! No! For -all the world. I wouldn't let you know that terrible story!" - -Then it was terrible. My intuition was right! For a moment, I -thought, and as my eyes ranged the room, unconsciously looking for -something or some opportunity to aid me, they lit on a great batch of -typewriting on the table. His eyes caught the look in mine, and -without his thinking, followed their direction. As they saw the -parcel he realized my meaning. - -"You do not know me," I said. "When you have read those papers, my -own diary and my husband's also, which I have typed, you will know me -better. I have not faltered in giving every thought of my own heart -in this cause. But, of course, you do not know me, yet, and I must -not expect you to trust me so far." - -He is certainly a man of noble nature. Poor dear Lucy was right about -him. He stood up and opened a large drawer, in which were arranged in -order a number of hollow cylinders of metal covered with dark wax, and -said, - -"You are quite right. I did not trust you because I did not know -you. But I know you now, and let me say that I should have known you -long ago. I know that Lucy told you of me. She told me of you too. -May I make the only atonement in my power? Take the cylinders and -hear them. The first half-dozen of them are personal to me, and they -will not horrify you. Then you will know me better. Dinner will by -then be ready. In the meantime I shall read over some of these -documents, and shall be better able to understand certain things." - -He carried the phonograph himself up to my sitting room and adjusted -it for me. Now I shall learn something pleasant, I am sure. For it -will tell me the other side of a true love episode of which I know one -side already. - - - - -DR. SEWARD'S DIARY - -29 September.--I was so absorbed in that wonderful diary of Jonathan -Harker and that other of his wife that I let the time run on without -thinking. Mrs. Harker was not down when the maid came to announce -dinner, so I said, "She is possibly tired. Let dinner wait an hour," -and I went on with my work. I had just finished Mrs. Harker's diary, -when she came in. She looked sweetly pretty, but very sad, and her -eyes were flushed with crying. This somehow moved me much. Of late I -have had cause for tears, God knows! But the relief of them was -denied me, and now the sight of those sweet eyes, brightened by recent -tears, went straight to my heart. So I said as gently as I could, "I -greatly fear I have distressed you." - -"Oh, no, not distressed me," she replied. "But I have been more -touched than I can say by your grief. That is a wonderful machine, -but it is cruelly true. It told me, in its very tones, the anguish of -your heart. It was like a soul crying out to Almighty God. No one -must hear them spoken ever again! See, I have tried to be useful. I -have copied out the words on my typewriter, and none other need now -hear your heart beat, as I did." - -"No one need ever know, shall ever know," I said in a low voice. She -laid her hand on mine and said very gravely, "Ah, but they must!" - -"Must! But why?" I asked. - -"Because it is a part of the terrible story, a part of poor Lucy's -death and all that led to it. Because in the struggle which we have -before us to rid the earth of this terrible monster we must have all -the knowledge and all the help which we can get. I think that the -cylinders which you gave me contained more than you intended me to -know. But I can see that there are in your record many lights to this -dark mystery. You will let me help, will you not? I know all up to a -certain point, and I see already, though your diary only took me to 7 -September, how poor Lucy was beset, and how her terrible doom was -being wrought out. Jonathan and I have been working day and night -since Professor Van Helsing saw us. He is gone to Whitby to get more -information, and he will be here tomorrow to help us. We need have no -secrets amongst us. Working together and with absolute trust, we can -surely be stronger than if some of us were in the dark." - -She looked at me so appealingly, and at the same time manifested such -courage and resolution in her bearing, that I gave in at once to her -wishes. "You shall," I said, "do as you like in the matter. God -forgive me if I do wrong! There are terrible things yet to learn of, -but if you have so far traveled on the road to poor Lucy's death, you -will not be content, I know, to remain in the dark. Nay, the end, the -very end, may give you a gleam of peace. Come, there is dinner. We -must keep one another strong for what is before us. We have a cruel -and dreadful task. When you have eaten you shall learn the rest, and -I shall answer any questions you ask, if there be anything which you -do not understand, though it was apparent to us who were present." - - - -MINA HARKER'S JOURNAL - -29 September.--After dinner I came with Dr. Seward to his study. He -brought back the phonograph from my room, and I took a chair, and -arranged the phonograph so that I could touch it without getting up, -and showed me how to stop it in case I should want to pause. Then he -very thoughtfully took a chair, with his back to me, so that I might -be as free as possible, and began to read. I put the forked metal to -my ears and listened. - -When the terrible story of Lucy's death, and all that followed, was -done, I lay back in my chair powerless. Fortunately I am not of a -fainting disposition. When Dr. Seward saw me he jumped up with a -horrified exclamation, and hurriedly taking a case bottle from the -cupboard, gave me some brandy, which in a few minutes somewhat -restored me. My brain was all in a whirl, and only that there came -through all the multitude of horrors, the holy ray of light that my -dear Lucy was at last at peace, I do not think I could have borne it -without making a scene. It is all so wild and mysterious, and strange -that if I had not known Jonathan's experience in Transylvania I could -not have believed. As it was, I didn't know what to believe, and so -got out of my difficulty by attending to something else. I took the -cover off my typewriter, and said to Dr. Seward, - -"Let me write this all out now. We must be ready for Dr. Van Helsing -when he comes. I have sent a telegram to Jonathan to come on here -when he arrives in London from Whitby. In this matter dates are -everything, and I think that if we get all of our material ready, and -have every item put in chronological order, we shall have done much. - -"You tell me that Lord Godalming and Mr. Morris are coming too. Let -us be able to tell them when they come." - -He accordingly set the phonograph at a slow pace, and I began to -typewrite from the beginning of the seventeenth cylinder. I used -manifold, and so took three copies of the diary, just as I had done -with the rest. It was late when I got through, but Dr. Seward went -about his work of going his round of the patients. When he had -finished he came back and sat near me, reading, so that I did not feel -too lonely whilst I worked. How good and thoughtful he is. The world -seems full of good men, even if there are monsters in it. - -Before I left him I remembered what Jonathan put in his diary of the -Professor's perturbation at reading something in an evening paper at -the station at Exeter, so, seeing that Dr. Seward keeps his -newspapers, I borrowed the files of 'The Westminster Gazette' and 'The -Pall Mall Gazette' and took them to my room. I remember how much the -'Dailygraph' and 'The Whitby Gazette', of which I had made cuttings, -had helped us to understand the terrible events at Whitby when Count -Dracula landed, so I shall look through the evening papers since then, -and perhaps I shall get some new light. I am not sleepy, and the work -will help to keep me quiet. - - - - -DR. SEWARD'S DIARY - -30 September.--Mr. Harker arrived at nine o'clock. He got his wife's -wire just before starting. He is uncommonly clever, if one can judge -from his face, and full of energy. If this journal be true, and -judging by one's own wonderful experiences, it must be, he is also a -man of great nerve. That going down to the vault a second time was a -remarkable piece of daring. After reading his account of it I was -prepared to meet a good specimen of manhood, but hardly the quiet, -businesslike gentleman who came here today. - - -LATER.--After lunch Harker and his wife went back to their own room, -and as I passed a while ago I heard the click of the typewriter. They -are hard at it. Mrs. Harker says that they are knitting together in -chronological order every scrap of evidence they have. Harker has got -the letters between the consignee of the boxes at Whitby and the -carriers in London who took charge of them. He is now reading his -wife's transcript of my diary. I wonder what they make out of it. -Here it is . . . - -Strange that it never struck me that the very next house might be the -Count's hiding place! Goodness knows that we had enough clues from -the conduct of the patient Renfield! The bundle of letters relating -to the purchase of the house were with the transcript. Oh, if we had -only had them earlier we might have saved poor Lucy! Stop! That way -madness lies! Harker has gone back, and is again collecting material. -He says that by dinner time they will be able to show a whole -connected narrative. He thinks that in the meantime I should see -Renfield, as hitherto he has been a sort of index to the coming and -going of the Count. I hardly see this yet, but when I get at the -dates I suppose I shall. What a good thing that Mrs. Harker put my -cylinders into type! We never could have found the dates otherwise. - -I found Renfield sitting placidly in his room with his hands folded, -smiling benignly. At the moment he seemed as sane as any one I ever -saw. I sat down and talked with him on a lot of subjects, all of -which he treated naturally. He then, of his own accord, spoke of -going home, a subject he has never mentioned to my knowledge during -his sojourn here. In fact, he spoke quite confidently of getting his -discharge at once. I believe that, had I not had the chat with Harker -and read the letters and the dates of his outbursts, I should have -been prepared to sign for him after a brief time of observation. As -it is, I am darkly suspicious. All those out-breaks were in some way -linked with the proximity of the Count. What then does this absolute -content mean? Can it be that his instinct is satisfied as to the -vampire's ultimate triumph? Stay. He is himself zoophagous, and in -his wild ravings outside the chapel door of the deserted house he -always spoke of 'master'. This all seems confirmation of our idea. -However, after a while I came away. My friend is just a little too -sane at present to make it safe to probe him too deep with questions. -He might begin to think, and then . . . So I came away. I mistrust -these quiet moods of his, so I have given the attendant a hint to -look closely after him, and to have a strait waistcoat ready in case -of need. - - - - - -JOHNATHAN HARKER'S JOURNAL - -29 September, in train to London.--When I received Mr. Billington's -courteous message that he would give me any information in his power I -thought it best to go down to Whitby and make, on the spot, such -inquiries as I wanted. It was now my object to trace that horrid -cargo of the Count's to its place in London. Later, we may be able to -deal with it. Billington junior, a nice lad, met me at the station, -and brought me to his father's house, where they had decided that I -must spend the night. They are hospitable, with true Yorkshire -hospitality, give a guest everything and leave him to do as he likes. -They all knew that I was busy, and that my stay was short, and Mr. -Billington had ready in his office all the papers concerning the -consignment of boxes. It gave me almost a turn to see again one of -the letters which I had seen on the Count's table before I knew of his -diabolical plans. Everything had been carefully thought out, and done -systematically and with precision. He seemed to have been prepared -for every obstacle which might be placed by accident in the way of his -intentions being carried out. To use an Americanism, he had 'taken no -chances', and the absolute accuracy with which his instructions were -fulfilled was simply the logical result of his care. I saw the -invoice, and took note of it. 'Fifty cases of common earth, to be used -for experimental purposes'. Also the copy of the letter to Carter -Paterson, and their reply. Of both these I got copies. This was all -the information Mr. Billington could give me, so I went down to the -port and saw the coastguards, the Customs Officers and the harbour -master, who kindly put me in communication with the men who had -actually received the boxes. Their tally was exact with the list, and -they had nothing to add to the simple description 'fifty cases of -common earth', except that the boxes were 'main and mortal heavy', and -that shifting them was dry work. One of them added that it was hard -lines that there wasn't any gentleman 'such like as like yourself, -squire', to show some sort of appreciation of their efforts in a -liquid form. Another put in a rider that the thirst then generated -was such that even the time which had elapsed had not completely -allayed it. Needless to add, I took care before leaving to lift, -forever and adequately, this source of reproach. - -30 September.--The station master was good enough to give me a line to -his old companion the station master at King's Cross, so that when I -arrived there in the morning I was able to ask him about the arrival -of the boxes. He, too put me at once in communication with the proper -officials, and I saw that their tally was correct with the original -invoice. The opportunities of acquiring an abnormal thirst had been -here limited. A noble use of them had, however, been made, and again -I was compelled to deal with the result in ex post facto manner. - -From thence I went to Carter Paterson's central office, where I met -with the utmost courtesy. They looked up the transaction in their day -book and letter book, and at once telephoned to their King's Cross -office for more details. By good fortune, the men who did the teaming -were waiting for work, and the official at once sent them over, -sending also by one of them the way-bill and all the papers connected -with the delivery of the boxes at Carfax. Here again I found the -tally agreeing exactly. The carriers' men were able to supplement the -paucity of the written words with a few more details. These were, I -shortly found, connected almost solely with the dusty nature of the -job, and the consequent thirst engendered in the operators. On my -affording an opportunity, through the medium of the currency of the -realm, of the allaying, at a later period, this beneficial evil, one -of the men remarked, - -"That 'ere 'ouse, guv'nor, is the rummiest I ever was in. Blyme! But -it ain't been touched sence a hundred years. There was dust that -thick in the place that you might have slep' on it without 'urtin' of -yer bones. An' the place was that neglected that yer might 'ave -smelled ole Jerusalem in it. But the old chapel, that took the cike, -that did! Me and my mate, we thort we wouldn't never git out quick -enough. Lor', I wouldn't take less nor a quid a moment to stay there -arter dark." - -Having been in the house, I could well believe him, but if he knew -what I know, he would, I think have raised his terms. - -Of one thing I am now satisfied. That all those boxes which arrived at -Whitby from Varna in the Demeter were safely deposited in the old -chapel at Carfax. There should be fifty of them there, unless any -have since been removed, as from Dr. Seward's diary I fear. - - -Later.--Mina and I have worked all day, and we have put all the papers -into order. - - - - -MINA HARKER'S JOURNAL - -30 September.--I am so glad that I hardly know how to contain myself. -It is, I suppose, the reaction from the haunting fear which I have -had, that this terrible affair and the reopening of his old wound -might act detrimentally on Jonathan. I saw him leave for Whitby with -as brave a face as could, but I was sick with apprehension. The -effort has, however, done him good. He was never so resolute, never -so strong, never so full of volcanic energy, as at present. It is -just as that dear, good Professor Van Helsing said, he is true grit, -and he improves under strain that would kill a weaker nature. He came -back full of life and hope and determination. We have got everything -in order for tonight. I feel myself quite wild with excitement. I -suppose one ought to pity anything so hunted as the Count. That is -just it. This thing is not human, not even a beast. To read Dr. -Seward's account of poor Lucy's death, and what followed, is enough to -dry up the springs of pity in one's heart. - - -Later.--Lord Godalming and Mr. Morris arrived earlier than we -expected. Dr. Seward was out on business, and had taken Jonathan with -him, so I had to see them. It was to me a painful meeting, for it -brought back all poor dear Lucy's hopes of only a few months ago. Of -course they had heard Lucy speak of me, and it seemed that Dr. Van -Helsing, too, had been quite 'blowing my trumpet', as Mr. Morris -expressed it. Poor fellows, neither of them is aware that I know all -about the proposals they made to Lucy. They did not quite know what -to say or do, as they were ignorant of the amount of my knowledge. So -they had to keep on neutral subjects. However, I thought the matter -over, and came to the conclusion that the best thing I could do would -be to post them on affairs right up to date. I knew from Dr. Seward's -diary that they had been at Lucy's death, her real death, and that I -need not fear to betray any secret before the time. So I told them, -as well as I could, that I had read all the papers and diaries, and -that my husband and I, having typewritten them, had just finished -putting them in order. I gave them each a copy to read in the -library. When Lord Godalming got his and turned it over, it does make -a pretty good pile, he said, "Did you write all this, Mrs. Harker?" - -I nodded, and he went on. - -"I don't quite see the drift of it, but you people are all so good and -kind, and have been working so earnestly and so energetically, that -all I can do is to accept your ideas blindfold and try to help you. I -have had one lesson already in accepting facts that should make a man -humble to the last hour of his life. Besides, I know you loved my -Lucy . . ." - -Here he turned away and covered his face with his hands. I could hear -the tears in his voice. Mr. Morris, with instinctive delicacy, just -laid a hand for a moment on his shoulder, and then walked quietly out -of the room. I suppose there is something in a woman's nature that -makes a man free to break down before her and express his feelings on -the tender or emotional side without feeling it derogatory to his -manhood. For when Lord Godalming found himself alone with me he sat -down on the sofa and gave way utterly and openly. I sat down beside -him and took his hand. I hope he didn't think it forward of me, and -that if he ever thinks of it afterwards he never will have such a -thought. There I wrong him. I know he never will. He is too true a -gentleman. I said to him, for I could see that his heart was -breaking, "I loved dear Lucy, and I know what she was to you, and what -you were to her. She and I were like sisters, and now she is gone, -will you not let me be like a sister to you in your trouble? I know -what sorrows you have had, though I cannot measure the depth of them. -If sympathy and pity can help in your affliction, won't you let me be -of some little service, for Lucy's sake?" - -In an instant the poor dear fellow was overwhelmed with grief. It -seemed to me that all that he had of late been suffering in silence -found a vent at once. He grew quite hysterical, and raising his open -hands, beat his palms together in a perfect agony of grief. He stood -up and then sat down again, and the tears rained down his cheeks. I -felt an infinite pity for him, and opened my arms unthinkingly. With -a sob he laid his head on my shoulder and cried like a wearied child, -whilst he shook with emotion. - -We women have something of the mother in us that makes us rise above -smaller matters when the mother spirit is invoked. I felt this big -sorrowing man's head resting on me, as though it were that of a baby -that some day may lie on my bosom, and I stroked his hair as though he -were my own child. I never thought at the time how strange it all -was. - -After a little bit his sobs ceased, and he raised himself with an -apology, though he made no disguise of his emotion. He told me that -for days and nights past, weary days and sleepless nights, he had been -unable to speak with any one, as a man must speak in his time of -sorrow. There was no woman whose sympathy could be given to him, or -with whom, owing to the terrible circumstance with which his sorrow -was surrounded, he could speak freely. - -"I know now how I suffered," he said, as he dried his eyes, "but I do -not know even yet, and none other can ever know, how much your sweet -sympathy has been to me today. I shall know better in time, and -believe me that, though I am not ungrateful now, my gratitude will -grow with my understanding. You will let me be like a brother, will -you not, for all our lives, for dear Lucy's sake?" - -"For dear Lucy's sake," I said as we clasped hands. "Ay, and for your -own sake," he added, "for if a man's esteem and gratitude are ever -worth the winning, you have won mine today. If ever the future should -bring to you a time when you need a man's help, believe me, you will -not call in vain. God grant that no such time may ever come to you to -break the sunshine of your life, but if it should ever come, promise -me that you will let me know." - -He was so earnest, and his sorrow was so fresh, that I felt it would -comfort him, so I said, "I promise." - -As I came along the corridor I saw Mr. Morris looking out of a window. -He turned as he heard my footsteps. "How is Art?" he said. Then -noticing my red eyes, he went on, "Ah, I see you have been comforting -him. Poor old fellow! He needs it. No one but a woman can help a -man when he is in trouble of the heart, and he had no one to comfort -him." - -He bore his own trouble so bravely that my heart bled for him. I saw -the manuscript in his hand, and I knew that when he read it he would -realize how much I knew, so I said to him, "I wish I could comfort all -who suffer from the heart. Will you let me be your friend, and will -you come to me for comfort if you need it? You will know later why I -speak." - -He saw that I was in earnest, and stooping, took my hand, and raising -it to his lips, kissed it. It seemed but poor comfort to so brave and -unselfish a soul, and impulsively I bent over and kissed him. The -tears rose in his eyes, and there was a momentary choking in his -throat. He said quite calmly, "Little girl, you will never forget -that true hearted kindness, so long as ever you live!" Then he went -into the study to his friend. - -"Little girl!" The very words he had used to Lucy, and, oh, but he -proved himself a friend. - - - - -CHAPTER 18 - - -DR. SEWARD'S DIARY - -30 September.--I got home at five o'clock, and found that Godalming -and Morris had not only arrived, but had already studied the -transcript of the various diaries and letters which Harker had not yet -returned from his visit to the carriers' men, of whom Dr. Hennessey -had written to me. Mrs. Harker gave us a cup of tea, and I can -honestly say that, for the first time since I have lived in it, this -old house seemed like home. When we had finished, Mrs. Harker said, - -"Dr. Seward, may I ask a favour? I want to see your patient, Mr. -Renfield. Do let me see him. What you have said of him in your diary -interests me so much!" - -She looked so appealing and so pretty that I could not refuse her, and -there was no possible reason why I should, so I took her with me. -When I went into the room, I told the man that a lady would like to see -him, to which he simply answered, "Why?" - -"She is going through the house, and wants to see every one in it," I -answered. - -"Oh, very well," he said, "let her come in, by all means, but just -wait a minute till I tidy up the place." - -His method of tidying was peculiar, he simply swallowed all the flies -and spiders in the boxes before I could stop him. It was quite -evident that he feared, or was jealous of, some interference. When he -had got through his disgusting task, he said cheerfully, "Let the lady -come in," and sat down on the edge of his bed with his head down, but -with his eyelids raised so that he could see her as she entered. For -a moment I thought that he might have some homicidal intent. I -remembered how quiet he had been just before he attacked me in my own -study, and I took care to stand where I could seize him at once if he -attempted to make a spring at her. - -She came into the room with an easy gracefulness which would at once -command the respect of any lunatic, for easiness is one of the -qualities mad people most respect. She walked over to him, smiling -pleasantly, and held out her hand. - -"Good evening, Mr. Renfield," said she. "You see, I know you, for Dr. -Seward has told me of you." He made no immediate reply, but eyed her -all over intently with a set frown on his face. This look gave way to -one of wonder, which merged in doubt, then to my intense astonishment -he said, "You're not the girl the doctor wanted to marry, are you? You -can't be, you know, for she's dead." - -Mrs. Harker smiled sweetly as she replied, "Oh no! I have a husband -of my own, to whom I was married before I ever saw Dr. Seward, or he -me. I am Mrs. Harker." - -"Then what are you doing here?" - -"My husband and I are staying on a visit with Dr. Seward." - -"Then don't stay." - -"But why not?" - -I thought that this style of conversation might not be pleasant to -Mrs. Harker, any more than it was to me, so I joined in, "How did you -know I wanted to marry anyone?" - -His reply was simply contemptuous, given in a pause in which he turned -his eyes from Mrs. Harker to me, instantly turning them back again, -"What an asinine question!" - -"I don't see that at all, Mr. Renfield," said Mrs. Harker, at once -championing me. - -He replied to her with as much courtesy and respect as he had shown -contempt to me, "You will, of course, understand, Mrs. Harker, that -when a man is so loved and honoured as our host is, everything -regarding him is of interest in our little community. Dr. Seward is -loved not only by his household and his friends, but even by his -patients, who, being some of them hardly in mental equilibrium, are -apt to distort causes and effects. Since I myself have been an inmate -of a lunatic asylum, I cannot but notice that the sophistic tendencies -of some of its inmates lean towards the errors of non causa and -ignoratio elenche." - -I positively opened my eyes at this new development. Here was my own -pet lunatic, the most pronounced of his type that I had ever met with, -talking elemental philosophy, and with the manner of a polished -gentleman. I wonder if it was Mrs. Harker's presence which had -touched some chord in his memory. If this new phase was spontaneous, -or in any way due to her unconscious influence, she must have some -rare gift or power. - -We continued to talk for some time, and seeing that he was seemingly -quite reasonable, she ventured, looking at me questioningly as she -began, to lead him to his favourite topic. I was again astonished, -for he addressed himself to the question with the impartiality of -the completest sanity. He even took himself as an example when he -mentioned certain things. - -"Why, I myself am an instance of a man who had a strange belief. -Indeed, it was no wonder that my friends were alarmed, and insisted on -my being put under control. I used to fancy that life was a positive -and perpetual entity, and that by consuming a multitude of live -things, no matter how low in the scale of creation, one might -indefinitely prolong life. At times I held the belief so strongly -that I actually tried to take human life. The doctor here will bear -me out that on one occasion I tried to kill him for the purpose of -strengthening my vital powers by the assimilation with my own body of -his life through the medium of his blood, relying of course, upon the -Scriptural phrase, 'For the blood is the life.' Though, indeed, the -vendor of a certain nostrum has vulgarized the truism to the very -point of contempt. Isn't that true, doctor?" - -I nodded assent, for I was so amazed that I hardly knew what to either -think or say, it was hard to imagine that I had seen him eat up his -spiders and flies not five minutes before. Looking at my watch, I saw -that I should go to the station to meet Van Helsing, so I told Mrs. -Harker that it was time to leave. - -She came at once, after saying pleasantly to Mr. Renfield, "Goodbye, -and I hope I may see you often, under auspices pleasanter to -yourself." - -To which, to my astonishment, he replied, "Goodbye, my dear. I pray -God I may never see your sweet face again. May He bless and keep -you!" - -When I went to the station to meet Van Helsing I left the boys behind -me. Poor Art seemed more cheerful than he has been since Lucy first -took ill, and Quincey is more like his own bright self than he has -been for many a long day. - -Van Helsing stepped from the carriage with the eager nimbleness of a -boy. He saw me at once, and rushed up to me, saying, "Ah, friend -John, how goes all? Well? So! I have been busy, for I come here to -stay if need be. All affairs are settled with me, and I have much to -tell. Madam Mina is with you? Yes. And her so fine husband? And -Arthur and my friend Quincey, they are with you, too? Good!" - -As I drove to the house I told him of what had passed, and of how my -own diary had come to be of some use through Mrs. Harker's suggestion, -at which the Professor interrupted me. - -"Ah, that wonderful Madam Mina! She has man's brain, a brain that a -man should have were he much gifted, and a woman's heart. The good -God fashioned her for a purpose, believe me, when He made that so good -combination. Friend John, up to now fortune has made that woman of -help to us, after tonight she must not have to do with this so -terrible affair. It is not good that she run a risk so great. We men -are determined, nay, are we not pledged, to destroy this monster? But -it is no part for a woman. Even if she be not harmed, her heart may -fail her in so much and so many horrors and hereafter she may suffer, -both in waking, from her nerves, and in sleep, from her dreams. And, -besides, she is young woman and not so long married, there may be -other things to think of some time, if not now. You tell me she has -wrote all, then she must consult with us, but tomorrow she say goodbye -to this work, and we go alone." - -I agreed heartily with him, and then I told him what we had found in -his absence, that the house which Dracula had bought was the very next -one to my own. He was amazed, and a great concern seemed to come on -him. - -"Oh that we had known it before!" he said, "for then we might have -reached him in time to save poor Lucy. However, 'the milk that is -spilt cries not out afterwards,' as you say. We shall not think of -that, but go on our way to the end." Then he fell into a silence that -lasted till we entered my own gateway. Before we went to prepare for -dinner he said to Mrs. Harker, "I am told, Madam Mina, by my friend -John that you and your husband have put up in exact order all things -that have been, up to this moment." - -"Not up to this moment, Professor," she said impulsively, "but up to -this morning." - -"But why not up to now? We have seen hitherto how good light all the -little things have made. We have told our secrets, and yet no one who -has told is the worse for it." - -Mrs. Harker began to blush, and taking a paper from her pockets, she -said, "Dr. Van Helsing, will you read this, and tell me if it must go -in. It is my record of today. I too have seen the need of putting -down at present everything, however trivial, but there is little in -this except what is personal. Must it go in?" - -The Professor read it over gravely, and handed it back, saying, "It -need not go in if you do not wish it, but I pray that it may. It can -but make your husband love you the more, and all us, your friends, -more honour you, as well as more esteem and love." She took it back -with another blush and a bright smile. - -And so now, up to this very hour, all the records we have are complete -and in order. The Professor took away one copy to study after dinner, -and before our meeting, which is fixed for nine o'clock. The rest of -us have already read everything, so when we meet in the study we shall -all be informed as to facts, and can arrange our plan of battle with -this terrible and mysterious enemy. - - - - - -MINA HARKER'S JOURNAL - -30 September.--When we met in Dr. Seward's study two hours after -dinner, which had been at six o'clock, we unconsciously formed a sort -of board or committee. Professor Van Helsing took the head of the -table, to which Dr. Seward motioned him as he came into the room. He -made me sit next to him on his right, and asked me to act as -secretary. Jonathan sat next to me. Opposite us were Lord Godalming, -Dr. Seward, and Mr. Morris, Lord Godalming being next the Professor, -and Dr. Seward in the centre. - -The Professor said, "I may, I suppose, take it that we are all -acquainted with the facts that are in these papers." We all expressed -assent, and he went on, "Then it were, I think, good that I tell you -something of the kind of enemy with which we have to deal. I shall -then make known to you something of the history of this man, which has -been ascertained for me. So we then can discuss how we shall act, and -can take our measure according. - -"There are such beings as vampires, some of us have evidence that they -exist. Even had we not the proof of our own unhappy experience, the -teachings and the records of the past give proof enough for sane -peoples. I admit that at the first I was sceptic. Were it not that -through long years I have trained myself to keep an open mind, I could -not have believed until such time as that fact thunder on my ear. 'See! -See! I prove, I prove.' Alas! Had I known at first what now I know, -nay, had I even guess at him, one so precious life had been spared to -many of us who did love her. But that is gone, and we must so work, -that other poor souls perish not, whilst we can save. The nosferatu -do not die like the bee when he sting once. He is only stronger, and -being stronger, have yet more power to work evil. This vampire which -is amongst us is of himself so strong in person as twenty men, he is -of cunning more than mortal, for his cunning be the growth of ages, he -have still the aids of necromancy, which is, as his etymology imply, -the divination by the dead, and all the dead that he can come nigh to -are for him at command; he is brute, and more than brute; he is devil -in callous, and the heart of him is not; he can, within his range, -direct the elements, the storm, the fog, the thunder; he can command -all the meaner things, the rat, and the owl, and the bat, the moth, -and the fox, and the wolf, he can grow and become small; and he can at -times vanish and come unknown. How then are we to begin our strike to -destroy him? How shall we find his where, and having found it, how -can we destroy? My friends, this is much, it is a terrible task that -we undertake, and there may be consequence to make the brave shudder. -For if we fail in this our fight he must surely win, and then where -end we? Life is nothings, I heed him not. But to fail here, is not -mere life or death. It is that we become as him, that we henceforward -become foul things of the night like him, without heart or conscience, -preying on the bodies and the souls of those we love best. To us -forever are the gates of heaven shut, for who shall open them to us -again? We go on for all time abhorred by all, a blot on the face of -God's sunshine, an arrow in the side of Him who died for man. But we -are face to face with duty, and in such case must we shrink? For me, -I say no, but then I am old, and life, with his sunshine, his fair -places, his song of birds, his music and his love, lie far behind. You -others are young. Some have seen sorrow, but there are fair days yet -in store. What say you?" - -Whilst he was speaking, Jonathan had taken my hand. I feared, oh so -much, that the appalling nature of our danger was overcoming him when -I saw his hand stretch out, but it was life to me to feel its touch, -so strong, so self reliant, so resolute. A brave man's hand can speak -for itself, it does not even need a woman's love to hear its music. - -When the Professor had done speaking my husband looked in my eyes, and -I in his, there was no need for speaking between us. - -"I answer for Mina and myself," he said. - -"Count me in, Professor," said Mr. Quincey Morris, laconically as -usual. - -"I am with you," said Lord Godalming, "for Lucy's sake, if for no -other reason." - -Dr. Seward simply nodded. - -The Professor stood up and, after laying his golden crucifix on the -table, held out his hand on either side. I took his right hand, and -Lord Godalming his left, Jonathan held my right with his left and -stretched across to Mr. Morris. So as we all took hands our solemn -compact was made. I felt my heart icy cold, but it did not even occur -to me to draw back. We resumed our places, and Dr. Van Helsing went -on with a sort of cheerfulness which showed that the serious work had -begun. It was to be taken as gravely, and in as businesslike a way, -as any other transaction of life. - -"Well, you know what we have to contend against, but we too, are not -without strength. We have on our side power of combination, a power -denied to the vampire kind, we have sources of science, we are free to -act and think, and the hours of the day and the night are ours -equally. In fact, so far as our powers extend, they are unfettered, -and we are free to use them. We have self devotion in a cause and an -end to achieve which is not a selfish one. These things are much. - -"Now let us see how far the general powers arrayed against us are -restrict, and how the individual cannot. In fine, let us consider the -limitations of the vampire in general, and of this one in particular. - -"All we have to go upon are traditions and superstitions. These do -not at the first appear much, when the matter is one of life and -death, nay of more than either life or death. Yet must we be -satisfied, in the first place because we have to be, no other means is -at our control, and secondly, because, after all these things, -tradition and superstition, are everything. Does not the belief in -vampires rest for others, though not, alas! for us, on them? A year -ago which of us would have received such a possibility, in the midst -of our scientific, sceptical, matter-of-fact nineteenth century? We -even scouted a belief that we saw justified under our very eyes. Take -it, then, that the vampire, and the belief in his limitations and his -cure, rest for the moment on the same base. For, let me tell you, he -is known everywhere that men have been. In old Greece, in old Rome, -he flourish in Germany all over, in France, in India, even in the -Chermosese, and in China, so far from us in all ways, there even is -he, and the peoples for him at this day. He have follow the wake of -the berserker Icelander, the devil-begotten Hun, the Slav, the Saxon, -the Magyar. - -"So far, then, we have all we may act upon, and let me tell you that -very much of the beliefs are justified by what we have seen in our own -so unhappy experience. The vampire live on, and cannot die by mere -passing of the time, he can flourish when that he can fatten on the -blood of the living. Even more, we have seen amongst us that he can -even grow younger, that his vital faculties grow strenuous, and seem -as though they refresh themselves when his special pabulum is plenty. - -"But he cannot flourish without this diet, he eat not as others. Even -friend Jonathan, who lived with him for weeks, did never see him eat, -never! He throws no shadow, he make in the mirror no reflect, as -again Jonathan observe. He has the strength of many of his hand, -witness again Jonathan when he shut the door against the wolves, and -when he help him from the diligence too. He can transform himself to -wolf, as we gather from the ship arrival in Whitby, when he tear open -the dog, he can be as bat, as Madam Mina saw him on the window at -Whitby, and as friend John saw him fly from this so near house, and as -my friend Quincey saw him at the window of Miss Lucy. - -"He can come in mist which he create, that noble ship's captain proved -him of this, but, from what we know, the distance he can make this -mist is limited, and it can only be round himself. - -"He come on moonlight rays as elemental dust, as again Jonathan saw -those sisters in the castle of Dracula. He become so small, we -ourselves saw Miss Lucy, ere she was at peace, slip through a -hairbreadth space at the tomb door. He can, when once he find his -way, come out from anything or into anything, no matter how close it -be bound or even fused up with fire, solder you call it. He can see -in the dark, no small power this, in a world which is one half shut -from the light. Ah, but hear me through. - -"He can do all these things, yet he is not free. Nay, he is even more -prisoner than the slave of the galley, than the madman in his cell. -He cannot go where he lists, he who is not of nature has yet to obey -some of nature's laws, why we know not. He may not enter anywhere at -the first, unless there be some one of the household who bid him to -come, though afterwards he can come as he please. His power ceases, -as does that of all evil things, at the coming of the day. - -"Only at certain times can he have limited freedom. If he be not at -the place whither he is bound, he can only change himself at noon or -at exact sunrise or sunset. These things we are told, and in this -record of ours we have proof by inference. Thus, whereas he can do as -he will within his limit, when he have his earth-home, his -coffin-home, his hell-home, the place unhallowed, as we saw when he -went to the grave of the suicide at Whitby, still at other time he can -only change when the time come. It is said, too, that he can only -pass running water at the slack or the flood of the tide. Then there -are things which so afflict him that he has no power, as the garlic -that we know of, and as for things sacred, as this symbol, my -crucifix, that was amongst us even now when we resolve, to them he is -nothing, but in their presence he take his place far off and silent -with respect. There are others, too, which I shall tell you of, lest -in our seeking we may need them. - -"The branch of wild rose on his coffin keep him that he move not from -it, a sacred bullet fired into the coffin kill him so that he be true -dead, and as for the stake through him, we know already of its peace, -or the cut off head that giveth rest. We have seen it with our eyes. - -"Thus when we find the habitation of this man-that-was, we can confine -him to his coffin and destroy him, if we obey what we know. But he is -clever. I have asked my friend Arminius, of Buda-Pesth University, to -make his record, and from all the means that are, he tell me of what -he has been. He must, indeed, have been that Voivode Dracula who won -his name against the Turk, over the great river on the very frontier -of Turkeyland. If it be so, then was he no common man, for in that -time, and for centuries after, he was spoken of as the cleverest and -the most cunning, as well as the bravest of the sons of the 'land -beyond the forest.' That mighty brain and that iron resolution went -with him to his grave, and are even now arrayed against us. The -Draculas were, says Arminius, a great and noble race, though now and -again were scions who were held by their coevals to have had dealings -with the Evil One. They learned his secrets in the Scholomance, -amongst the mountains over Lake Hermanstadt, where the devil claims -the tenth scholar as his due. In the records are such words as -'stregoica' witch, 'ordog' and 'pokol' Satan and hell, and in one -manuscript this very Dracula is spoken of as 'wampyr,' which we all -understand too well. There have been from the loins of this very one -great men and good women, and their graves make sacred the earth where -alone this foulness can dwell. For it is not the least of its terrors -that this evil thing is rooted deep in all good, in soil barren of -holy memories it cannot rest." - -Whilst they were talking Mr. Morris was looking steadily at the -window, and he now got up quietly, and went out of the room. There -was a little pause, and then the Professor went on. - -"And now we must settle what we do. We have here much data, and we -must proceed to lay out our campaign. We know from the inquiry of -Jonathan that from the castle to Whitby came fifty boxes of earth, all -of which were delivered at Carfax, we also know that at least some of -these boxes have been removed. It seems to me, that our first step -should be to ascertain whether all the rest remain in the house beyond -that wall where we look today, or whether any more have been removed. -If the latter, we must trace . . ." - -Here we were interrupted in a very startling way. Outside the house -came the sound of a pistol shot, the glass of the window was shattered -with a bullet, which ricochetting from the top of the embrasure, -struck the far wall of the room. I am afraid I am at heart a coward, -for I shrieked out. The men all jumped to their feet, Lord Godalming -flew over to the window and threw up the sash. As he did so we heard -Mr. Morris' voice without, "Sorry! I fear I have alarmed you. I -shall come in and tell you about it." - -A minute later he came in and said, "It was an idiotic thing of me to -do, and I ask your pardon, Mrs. Harker, most sincerely, I fear I must -have frightened you terribly. But the fact is that whilst the -Professor was talking there came a big bat and sat on the window sill. -I have got such a horror of the damned brutes from recent events that -I cannot stand them, and I went out to have a shot, as I have been -doing of late of evenings, whenever I have seen one. You used to -laugh at me for it then, Art." - -"Did you hit it?" asked Dr. Van Helsing. - -"I don't know, I fancy not, for it flew away into the wood." Without -saying any more he took his seat, and the Professor began to resume -his statement. - -"We must trace each of these boxes, and when we are ready, we must -either capture or kill this monster in his lair, or we must, so to -speak, sterilize the earth, so that no more he can seek safety in it. -Thus in the end we may find him in his form of man between the hours -of noon and sunset, and so engage with him when he is at his most -weak. - -"And now for you, Madam Mina, this night is the end until all be well. -You are too precious to us to have such risk. When we part tonight, -you no more must question. We shall tell you all in good time. We -are men and are able to bear, but you must be our star and our hope, -and we shall act all the more free that you are not in the danger, -such as we are." - -All the men, even Jonathan, seemed relieved, but it did not seem to me -good that they should brave danger and, perhaps lessen their safety, -strength being the best safety, through care of me, but their minds -were made up, and though it was a bitter pill for me to swallow, I -could say nothing, save to accept their chivalrous care of me. - -Mr. Morris resumed the discussion, "As there is no time to lose, I -vote we have a look at his house right now. Time is everything with -him, and swift action on our part may save another victim." - -I own that my heart began to fail me when the time for action came so -close, but I did not say anything, for I had a greater fear that if I -appeared as a drag or a hindrance to their work, they might even leave -me out of their counsels altogether. They have now gone off to -Carfax, with means to get into the house. - -Manlike, they had told me to go to bed and sleep, as if a woman can -sleep when those she loves are in danger! I shall lie down, and -pretend to sleep, lest Jonathan have added anxiety about me when he -returns. - - - - -DR. SEWARD'S DIARY - -1 October, 4 A.M.--Just as we were about to leave the house, an urgent -message was brought to me from Renfield to know if I would see him at -once, as he had something of the utmost importance to say to me. I -told the messenger to say that I would attend to his wishes in the -morning, I was busy just at the moment. - -The attendant added, "He seems very importunate, sir. I have never -seen him so eager. I don't know but what, if you don't see him soon, -he will have one of his violent fits." I knew the man would not have -said this without some cause, so I said, "All right, I'll go now," and -I asked the others to wait a few minutes for me, as I had to go and -see my patient. - -"Take me with you, friend John," said the Professor. "His case in your -diary interest me much, and it had bearing, too, now and again on our -case. I should much like to see him, and especial when his mind is -disturbed." - -"May I come also?" asked Lord Godalming. - -"Me too?" said Quincey Morris. "May I come?" said Harker. I nodded, -and we all went down the passage together. - -We found him in a state of considerable excitement, but far more -rational in his speech and manner than I had ever seen him. There was -an unusual understanding of himself, which was unlike anything I had -ever met with in a lunatic, and he took it for granted that his -reasons would prevail with others entirely sane. We all five went -into the room, but none of the others at first said anything. His -request was that I would at once release him from the asylum and send -him home. This he backed up with arguments regarding his complete -recovery, and adduced his own existing sanity. - -"I appeal to your friends," he said, "they will, perhaps, not mind -sitting in judgement on my case. By the way, you have not introduced -me." - -I was so much astonished, that the oddness of introducing a madman in -an asylum did not strike me at the moment, and besides, there was a -certain dignity in the man's manner, so much of the habit of equality, -that I at once made the introduction, "Lord Godalming, Professor Van -Helsing, Mr. Quincey Morris, of Texas, Mr. Jonathan Harker, Mr. -Renfield." - -He shook hands with each of them, saying in turn, "Lord Godalming, I -had the honour of seconding your father at the Windham; I grieve to -know, by your holding the title, that he is no more. He was a man -loved and honoured by all who knew him, and in his youth was, I have -heard, the inventor of a burnt rum punch, much patronized on Derby -night. Mr. Morris, you should be proud of your great state. Its -reception into the Union was a precedent which may have far-reaching -effects hereafter, when the Pole and the Tropics may hold alliance to -the Stars and Stripes. The power of Treaty may yet prove a vast -engine of enlargement, when the Monroe doctrine takes its true place -as a political fable. What shall any man say of his pleasure at -meeting Van Helsing? Sir, I make no apology for dropping all forms of -conventional prefix. When an individual has revolutionized -therapeutics by his discovery of the continuous evolution of brain -matter, conventional forms are unfitting, since they would seem to -limit him to one of a class. You, gentlemen, who by nationality, by -heredity, or by the possession of natural gifts, are fitted to hold -your respective places in the moving world, I take to witness that I -am as sane as at least the majority of men who are in full possession -of their liberties. And I am sure that you, Dr. Seward, humanitarian -and medico-jurist as well as scientist, will deem it a moral duty to -deal with me as one to be considered as under exceptional -circumstances." He made this last appeal with a courtly air of -conviction which was not without its own charm. - -I think we were all staggered. For my own part, I was under the -conviction, despite my knowledge of the man's character and history, -that his reason had been restored, and I felt under a strong impulse -to tell him that I was satisfied as to his sanity, and would see about -the necessary formalities for his release in the morning. I thought -it better to wait, however, before making so grave a statement, for of -old I knew the sudden changes to which this particular patient was -liable. So I contented myself with making a general statement that he -appeared to be improving very rapidly, that I would have a longer chat -with him in the morning, and would then see what I could do in the -direction of meeting his wishes. - -This did not at all satisfy him, for he said quickly, "But I fear, Dr. -Seward, that you hardly apprehend my wish. I desire to go at once, -here, now, this very hour, this very moment, if I may. Time presses, -and in our implied agreement with the old scytheman it is of the -essence of the contract. I am sure it is only necessary to put before -so admirable a practitioner as Dr. Seward so simple, yet so momentous -a wish, to ensure its fulfilment." - -He looked at me keenly, and seeing the negative in my face, turned to -the others, and scrutinized them closely. Not meeting any sufficient -response, he went on, "Is it possible that I have erred in my -supposition?" - -"You have," I said frankly, but at the same time, as I felt, brutally. - -There was a considerable pause, and then he said slowly, "Then I -suppose I must only shift my ground of request. Let me ask for this -concession, boon, privilege, what you will. I am content to implore -in such a case, not on personal grounds, but for the sake of others. I -am not at liberty to give you the whole of my reasons, but you may, I -assure you, take it from me that they are good ones, sound and -unselfish, and spring from the highest sense of duty. - -"Could you look, sir, into my heart, you would approve to the full the -sentiments which animate me. Nay, more, you would count me amongst -the best and truest of your friends." - -Again he looked at us all keenly. I had a growing conviction that -this sudden change of his entire intellectual method was but yet -another phase of his madness, and so determined to let him go on a -little longer, knowing from experience that he would, like all -lunatics, give himself away in the end. Van Helsing was gazing at him -with a look of utmost intensity, his bushy eyebrows almost meeting -with the fixed concentration of his look. He said to Renfield in a -tone which did not surprise me at the time, but only when I thought of -it afterwards, for it was as of one addressing an equal, "Can you not -tell frankly your real reason for wishing to be free tonight? I will -undertake that if you will satisfy even me, a stranger, without -prejudice, and with the habit of keeping an open mind, Dr. Seward will -give you, at his own risk and on his own responsibility, the privilege -you seek." - -He shook his head sadly, and with a look of poignant regret on his -face. The Professor went on, "Come, sir, bethink yourself. You claim -the privilege of reason in the highest degree, since you seek to -impress us with your complete reasonableness. You do this, whose -sanity we have reason to doubt, since you are not yet released from -medical treatment for this very defect. If you will not help us in -our effort to choose the wisest course, how can we perform the duty -which you yourself put upon us? Be wise, and help us, and if we can -we shall aid you to achieve your wish." - -He still shook his head as he said, "Dr. Van Helsing, I have nothing to -say. Your argument is complete, and if I were free to speak I should -not hesitate a moment, but I am not my own master in the matter. I -can only ask you to trust me. If I am refused, the responsibility -does not rest with me." - -I thought it was now time to end the scene, which was becoming too -comically grave, so I went towards the door, simply saying, "Come, my -friends, we have work to do. Goodnight." - -As, however, I got near the door, a new change came over the patient. -He moved towards me so quickly that for the moment I feared that he -was about to make another homicidal attack. My fears, however, were -groundless, for he held up his two hands imploringly, and made his -petition in a moving manner. As he saw that the very excess of his -emotion was militating against him, by restoring us more to our old -relations, he became still more demonstrative. I glanced at Van -Helsing, and saw my conviction reflected in his eyes, so I became a -little more fixed in my manner, if not more stern, and motioned to him -that his efforts were unavailing. I had previously seen something of -the same constantly growing excitement in him when he had to make some -request of which at the time he had thought much, such for instance, -as when he wanted a cat, and I was prepared to see the collapse into -the same sullen acquiescence on this occasion. - -My expectation was not realized, for when he found that his appeal -would not be successful, he got into quite a frantic condition. He -threw himself on his knees, and held up his hands, wringing them in -plaintive supplication, and poured forth a torrent of entreaty, with -the tears rolling down his cheeks, and his whole face and form -expressive of the deepest emotion. - -"Let me entreat you, Dr. Seward, oh, let me implore you, to let me out -of this house at once. Send me away how you will and where you will, -send keepers with me with whips and chains, let them take me in a -strait waistcoat, manacled and leg-ironed, even to gaol, but let me go -out of this. You don't know what you do by keeping me here. I am -speaking from the depths of my heart, of my very soul. You don't know -whom you wrong, or how, and I may not tell. Woe is me! I may not -tell. By all you hold sacred, by all you hold dear, by your love that -is lost, by your hope that lives, for the sake of the Almighty, take -me out of this and save my soul from guilt! Can't you hear me, man? -Can't you understand? Will you never learn? Don't you know that I am -sane and earnest now, that I am no lunatic in a mad fit, but a sane -man fighting for his soul? Oh, hear me! Hear me! Let me go, let me -go, let me go!" - -I thought that the longer this went on the wilder he would get, and so -would bring on a fit, so I took him by the hand and raised him up. - -"Come," I said sternly, "no more of this, we have had quite enough -already. Get to your bed and try to behave more discreetly." - -He suddenly stopped and looked at me intently for several moments. -Then, without a word, he rose and moving over, sat down on the side of -the bed. The collapse had come, as on former occasions, just as I had -expected. - -When I was leaving the room, last of our party, he said to me in a -quiet, well-bred voice, "You will, I trust, Dr. Seward, do me the -justice to bear in mind, later on, that I did what I could to convince -you tonight." - - - - -CHAPTER 19 - - -JONATHAN HARKER'S JOURNAL - -1 October, 5 A.M.--I went with the party to the search with an easy -mind, for I think I never saw Mina so absolutely strong and well. I -am so glad that she consented to hold back and let us men do the work. -Somehow, it was a dread to me that she was in this fearful business at -all, but now that her work is done, and that it is due to her energy -and brains and foresight that the whole story is put together in such -a way that every point tells, she may well feel that her part is -finished, and that she can henceforth leave the rest to us. We were, -I think, all a little upset by the scene with Mr. Renfield. When we -came away from his room we were silent till we got back to the study. - -Then Mr. Morris said to Dr. Seward, "Say, Jack, if that man wasn't -attempting a bluff, he is about the sanest lunatic I ever saw. I'm -not sure, but I believe that he had some serious purpose, and if he -had, it was pretty rough on him not to get a chance." - -Lord Godalming and I were silent, but Dr. Van Helsing added, "Friend -John, you know more lunatics than I do, and I'm glad of it, for I fear -that if it had been to me to decide I would before that last -hysterical outburst have given him free. But we live and learn, and -in our present task we must take no chance, as my friend Quincey would -say. All is best as they are." - -Dr. Seward seemed to answer them both in a dreamy kind of way, "I -don't know but that I agree with you. If that man had been an -ordinary lunatic I would have taken my chance of trusting him, but he -seems so mixed up with the Count in an indexy kind of way that I am -afraid of doing anything wrong by helping his fads. I can't forget -how he prayed with almost equal fervor for a cat, and then tried to -tear my throat out with his teeth. Besides, he called the Count 'lord -and master', and he may want to get out to help him in some diabolical -way. That horrid thing has the wolves and the rats and his own kind -to help him, so I suppose he isn't above trying to use a respectable -lunatic. He certainly did seem earnest, though. I only hope we have -done what is best. These things, in conjunction with the wild work we -have in hand, help to unnerve a man." - -The Professor stepped over, and laying his hand on his shoulder, said -in his grave, kindly way, "Friend John, have no fear. We are trying -to do our duty in a very sad and terrible case, we can only do as we -deem best. What else have we to hope for, except the pity of the good -God?" - -Lord Godalming had slipped away for a few minutes, but now he -returned. He held up a little silver whistle as he remarked, "That -old place may be full of rats, and if so, I've got an antidote on -call." - -Having passed the wall, we took our way to the house, taking care to -keep in the shadows of the trees on the lawn when the moonlight shone -out. When we got to the porch the Professor opened his bag and took -out a lot of things, which he laid on the step, sorting them into four -little groups, evidently one for each. Then he spoke. - -"My friends, we are going into a terrible danger, and we need arms of -many kinds. Our enemy is not merely spiritual. Remember that he has -the strength of twenty men, and that, though our necks or our -windpipes are of the common kind, and therefore breakable or -crushable, his are not amenable to mere strength. A stronger man, or -a body of men more strong in all than him, can at certain times hold -him, but they cannot hurt him as we can be hurt by him. We must, -therefore, guard ourselves from his touch. Keep this near your -heart." As he spoke he lifted a little silver crucifix and held it -out to me, I being nearest to him, "put these flowers round your -neck," here he handed to me a wreath of withered garlic blossoms, "for -other enemies more mundane, this revolver and this knife, and for aid -in all, these so small electric lamps, which you can fasten to your -breast, and for all, and above all at the last, this, which we must -not desecrate needless." - -This was a portion of Sacred Wafer, which he put in an envelope and -handed to me. Each of the others was similarly equipped. - -"Now," he said, "friend John, where are the skeleton keys? If so that -we can open the door, we need not break house by the window, as before -at Miss Lucy's." - -Dr. Seward tried one or two skeleton keys, his mechanical dexterity as -a surgeon standing him in good stead. Presently he got one to suit, -after a little play back and forward the bolt yielded, and with a -rusty clang, shot back. We pressed on the door, the rusty hinges -creaked, and it slowly opened. It was startlingly like the image -conveyed to me in Dr. Seward's diary of the opening of Miss Westenra's -tomb, I fancy that the same idea seemed to strike the others, for with -one accord they shrank back. The Professor was the first to move -forward, and stepped into the open door. - -"In manus tuas, Domine!" he said, crossing himself as he passed over -the threshold. We closed the door behind us, lest when we should have -lit our lamps we should possibly attract attention from the road. The -Professor carefully tried the lock, lest we might not be able to open -it from within should we be in a hurry making our exit. Then we all -lit our lamps and proceeded on our search. - -The light from the tiny lamps fell in all sorts of odd forms, as the -rays crossed each other, or the opacity of our bodies threw great -shadows. I could not for my life get away from the feeling that there -was someone else amongst us. I suppose it was the recollection, so -powerfully brought home to me by the grim surroundings, of that -terrible experience in Transylvania. I think the feeling was common -to us all, for I noticed that the others kept looking over their -shoulders at every sound and every new shadow, just as I felt myself -doing. - -The whole place was thick with dust. The floor was seemingly inches -deep, except where there were recent footsteps, in which on holding -down my lamp I could see marks of hobnails where the dust was cracked. -The walls were fluffy and heavy with dust, and in the corners were -masses of spider's webs, whereon the dust had gathered till they -looked like old tattered rags as the weight had torn them partly down. -On a table in the hall was a great bunch of keys, with a time-yellowed -label on each. They had been used several times, for on the table -were several similar rents in the blanket of dust, similar to that -exposed when the Professor lifted them. - -He turned to me and said, "You know this place, Jonathan. You have -copied maps of it, and you know it at least more than we do. Which is -the way to the chapel?" - -I had an idea of its direction, though on my former visit I had not -been able to get admission to it, so I led the way, and after a few -wrong turnings found myself opposite a low, arched oaken door, ribbed -with iron bands. - -"This is the spot," said the Professor as he turned his lamp on a -small map of the house, copied from the file of my original -correspondence regarding the purchase. With a little trouble we found -the key on the bunch and opened the door. We were prepared for some -unpleasantness, for as we were opening the door a faint, malodorous -air seemed to exhale through the gaps, but none of us ever expected -such an odour as we encountered. None of the others had met the Count -at all at close quarters, and when I had seen him he was either in the -fasting stage of his existence in his rooms or, when he was bloated -with fresh blood, in a ruined building open to the air, but here the -place was small and close, and the long disuse had made the air -stagnant and foul. There was an earthy smell, as of some dry miasma, -which came through the fouler air. But as to the odour itself, how -shall I describe it? It was not alone that it was composed of all the -ills of mortality and with the pungent, acrid smell of blood, but it -seemed as though corruption had become itself corrupt. Faugh! It -sickens me to think of it. Every breath exhaled by that monster -seemed to have clung to the place and intensified its loathsomeness. - -Under ordinary circumstances such a stench would have brought our -enterprise to an end, but this was no ordinary case, and the high and -terrible purpose in which we were involved gave us a strength which -rose above merely physical considerations. After the involuntary -shrinking consequent on the first nauseous whiff, we one and all set -about our work as though that loathsome place were a garden of roses. - -We made an accurate examination of the place, the Professor saying as -we began, "The first thing is to see how many of the boxes are left, -we must then examine every hole and corner and cranny and see if we -cannot get some clue as to what has become of the rest." - -A glance was sufficient to show how many remained, for the great earth -chests were bulky, and there was no mistaking them. - -There were only twenty-nine left out of the fifty! Once I got a -fright, for, seeing Lord Godalming suddenly turn and look out of the -vaulted door into the dark passage beyond, I looked too, and for an -instant my heart stood still. Somewhere, looking out from the shadow, -I seemed to see the high lights of the Count's evil face, the ridge of -the nose, the red eyes, the red lips, the awful pallor. It was only -for a moment, for, as Lord Godalming said, "I thought I saw a face, -but it was only the shadows," and resumed his inquiry, I turned my -lamp in the direction, and stepped into the passage. There was no -sign of anyone, and as there were no corners, no doors, no aperture of -any kind, but only the solid walls of the passage, there could be no -hiding place even for him. I took it that fear had helped -imagination, and said nothing. - -A few minutes later I saw Morris step suddenly back from a corner, -which he was examining. We all followed his movements with our eyes, -for undoubtedly some nervousness was growing on us, and we saw a whole -mass of phosphorescence, which twinkled like stars. We all -instinctively drew back. The whole place was becoming alive with -rats. - -For a moment or two we stood appalled, all save Lord Godalming, who -was seemingly prepared for such an emergency. Rushing over to the -great iron-bound oaken door, which Dr. Seward had described from the -outside, and which I had seen myself, he turned the key in the lock, -drew the huge bolts, and swung the door open. Then, taking his little -silver whistle from his pocket, he blew a low, shrill call. It was -answered from behind Dr. Seward's house by the yelping of dogs, and -after about a minute three terriers came dashing round the corner of -the house. Unconsciously we had all moved towards the door, and as we -moved I noticed that the dust had been much disturbed. The boxes -which had been taken out had been brought this way. But even in the -minute that had elapsed the number of the rats had vastly increased. -They seemed to swarm over the place all at once, till the lamplight, -shining on their moving dark bodies and glittering, baleful eyes, made -the place look like a bank of earth set with fireflies. The dogs -dashed on, but at the threshold suddenly stopped and snarled, and -then, simultaneously lifting their noses, began to howl in most -lugubrious fashion. The rats were multiplying in thousands, and we -moved out. - -Lord Godalming lifted one of the dogs, and carrying him in, placed him -on the floor. The instant his feet touched the ground he seemed to -recover his courage, and rushed at his natural enemies. They fled -before him so fast that before he had shaken the life out of a score, -the other dogs, who had by now been lifted in the same manner, had but -small prey ere the whole mass had vanished. - -With their going it seemed as if some evil presence had departed, for -the dogs frisked about and barked merrily as they made sudden darts at -their prostrate foes, and turned them over and over and tossed them in -the air with vicious shakes. We all seemed to find our spirits rise. -Whether it was the purifying of the deadly atmosphere by the opening -of the chapel door, or the relief which we experienced by finding -ourselves in the open I know not, but most certainly the shadow of -dread seemed to slip from us like a robe, and the occasion of our -coming lost something of its grim significance, though we did not -slacken a whit in our resolution. We closed the outer door and barred -and locked it, and bringing the dogs with us, began our search of the -house. We found nothing throughout except dust in extraordinary -proportions, and all untouched save for my own footsteps when I had -made my first visit. Never once did the dogs exhibit any symptom of -uneasiness, and even when we returned to the chapel they frisked about -as though they had been rabbit hunting in a summer wood. - -The morning was quickening in the east when we emerged from the front. -Dr. Van Helsing had taken the key of the hall door from the bunch, and -locked the door in orthodox fashion, putting the key into his pocket -when he had done. - -"So far," he said, "our night has been eminently successful. No harm -has come to us such as I feared might be and yet we have ascertained -how many boxes are missing. More than all do I rejoice that this, our -first, and perhaps our most difficult and dangerous, step has been -accomplished without the bringing thereinto our most sweet Madam Mina -or troubling her waking or sleeping thoughts with sights and sounds -and smells of horror which she might never forget. One lesson, too, -we have learned, if it be allowable to argue a particulari, that the -brute beasts which are to the Count's command are yet themselves not -amenable to his spiritual power, for look, these rats that would come -to his call, just as from his castle top he summon the wolves to your -going and to that poor mother's cry, though they come to him, they run -pell-mell from the so little dogs of my friend Arthur. We have other -matters before us, other dangers, other fears, and that monster . . . -He has not used his power over the brute world for the only or the -last time tonight. So be it that he has gone elsewhere. Good! It -has given us opportunity to cry 'check' in some ways in this chess -game, which we play for the stake of human souls. And now let us go -home. The dawn is close at hand, and we have reason to be content -with our first night's work. It may be ordained that we have many -nights and days to follow, if full of peril, but we must go on, and -from no danger shall we shrink." - -The house was silent when we got back, save for some poor creature who -was screaming away in one of the distant wards, and a low, moaning -sound from Renfield's room. The poor wretch was doubtless torturing -himself, after the manner of the insane, with needless thoughts of -pain. - -I came tiptoe into our own room, and found Mina asleep, breathing so -softly that I had to put my ear down to hear it. She looks paler than -usual. I hope the meeting tonight has not upset her. I am truly -thankful that she is to be left out of our future work, and even of -our deliberations. It is too great a strain for a woman to bear. I -did not think so at first, but I know better now. Therefore I am glad -that it is settled. There may be things which would frighten her to -hear, and yet to conceal them from her might be worse than to tell her -if once she suspected that there was any concealment. Henceforth our -work is to be a sealed book to her, till at least such time as we can -tell her that all is finished, and the earth free from a monster of -the nether world. I daresay it will be difficult to begin to keep -silence after such confidence as ours, but I must be resolute, and -tomorrow I shall keep dark over tonight's doings, and shall refuse to -speak of anything that has happened. I rest on the sofa, so as not to -disturb her. - - -1 October, later.--I suppose it was natural that we should have all -overslept ourselves, for the day was a busy one, and the night had no -rest at all. Even Mina must have felt its exhaustion, for though I -slept till the sun was high, I was awake before her, and had to call -two or three times before she awoke. Indeed, she was so sound asleep -that for a few seconds she did not recognize me, but looked at me with -a sort of blank terror, as one looks who has been waked out of a bad -dream. She complained a little of being tired, and I let her rest -till later in the day. We now know of twenty-one boxes having been -removed, and if it be that several were taken in any of these removals -we may be able to trace them all. Such will, of course, immensely -simplify our labor, and the sooner the matter is attended to the -better. I shall look up Thomas Snelling today. - - - -DR. SEWARD'S DIARY - -1 October.--It was towards noon when I was awakened by the Professor -walking into my room. He was more jolly and cheerful than usual, and -it is quite evident that last night's work has helped to take some of -the brooding weight off his mind. - -After going over the adventure of the night he suddenly said, "Your -patient interests me much. May it be that with you I visit him this -morning? Or if that you are too occupy, I can go alone if it may be. -It is a new experience to me to find a lunatic who talk philosophy, -and reason so sound." - -I had some work to do which pressed, so I told him that if he would go -alone I would be glad, as then I should not have to keep him waiting, -so I called an attendant and gave him the necessary instructions. -Before the Professor left the room I cautioned him against getting any -false impression from my patient. - -"But," he answered, "I want him to talk of himself and of his delusion -as to consuming live things. He said to Madam Mina, as I see in your -diary of yesterday, that he had once had such a belief. Why do you -smile, friend John?" - -"Excuse me," I said, "but the answer is here." I laid my hand on the -typewritten matter. "When our sane and learned lunatic made that very -statement of how he used to consume life, his mouth was actually -nauseous with the flies and spiders which he had eaten just before -Mrs. Harker entered the room." - -Van Helsing smiled in turn. "Good!" he said. "Your memory is true, -friend John. I should have remembered. And yet it is this very -obliquity of thought and memory which makes mental disease such a -fascinating study. Perhaps I may gain more knowledge out of the folly -of this madman than I shall from the teaching of the most wise. Who -knows?" - -I went on with my work, and before long was through that in hand. It -seemed that the time had been very short indeed, but there was Van -Helsing back in the study. - -"Do I interrupt?" he asked politely as he stood at the door. - -"Not at all," I answered. "Come in. My work is finished, and I am -free. I can go with you now, if you like." - -"It is needless, I have seen him!" - -"Well?" - -"I fear that he does not appraise me at much. Our interview was -short. When I entered his room he was sitting on a stool in the -centre, with his elbows on his knees, and his face was the picture of -sullen discontent. I spoke to him as cheerfully as I could, and with -such a measure of respect as I could assume. He made no reply -whatever. 'Don't you know me?' I asked. His answer was not -reassuring: 'I know you well enough; you are the old fool Van -Helsing. I wish you would take yourself and your idiotic brain -theories somewhere else. Damn all thick-headed Dutchmen!' Not a word -more would he say, but sat in his implacable sullenness as indifferent -to me as though I had not been in the room at all. Thus departed for -this time my chance of much learning from this so clever lunatic, so I -shall go, if I may, and cheer myself with a few happy words with that -sweet soul Madam Mina. Friend John, it does rejoice me unspeakable -that she is no more to be pained, no more to be worried with our -terrible things. Though we shall much miss her help, it is better -so." - -"I agree with you with all my heart," I answered earnestly, for I did -not want him to weaken in this matter. "Mrs. Harker is better out of -it. Things are quite bad enough for us, all men of the world, and who -have been in many tight places in our time, but it is no place for a -woman, and if she had remained in touch with the affair, it would in -time infallibly have wrecked her." - -So Van Helsing has gone to confer with Mrs. Harker and Harker, Quincey -and Art are all out following up the clues as to the earth boxes. I -shall finish my round of work and we shall meet tonight. - - - - - -MINA HARKER'S JOURNAL - -1 October.--It is strange to me to be kept in the dark as I am today, -after Jonathan's full confidence for so many years, to see him -manifestly avoid certain matters, and those the most vital of all. -This morning I slept late after the fatigues of yesterday, and though -Jonathan was late too, he was the earlier. He spoke to me before he -went out, never more sweetly or tenderly, but he never mentioned a -word of what had happened in the visit to the Count's house. And yet -he must have known how terribly anxious I was. Poor dear fellow! I -suppose it must have distressed him even more than it did me. They -all agreed that it was best that I should not be drawn further into -this awful work, and I acquiesced. But to think that he keeps -anything from me! And now I am crying like a silly fool, when I know -it comes from my husband's great love and from the good, good wishes -of those other strong men. - -That has done me good. Well, some day Jonathan will tell me all. And -lest it should ever be that he should think for a moment that I kept -anything from him, I still keep my journal as usual. Then if he has -feared of my trust I shall show it to him, with every thought of my -heart put down for his dear eyes to read. I feel strangely sad and -low-spirited today. I suppose it is the reaction from the terrible -excitement. - -Last night I went to bed when the men had gone, simply because they -told me to. I didn't feel sleepy, and I did feel full of devouring -anxiety. I kept thinking over everything that has been ever since -Jonathan came to see me in London, and it all seems like a horrible -tragedy, with fate pressing on relentlessly to some destined end. -Everything that one does seems, no matter how right it may be, to bring -on the very thing which is most to be deplored. If I hadn't gone to -Whitby, perhaps poor dear Lucy would be with us now. She hadn't taken -to visiting the churchyard till I came, and if she hadn't come there -in the day time with me she wouldn't have walked in her sleep. And if -she hadn't gone there at night and asleep, that monster couldn't have -destroyed her as he did. Oh, why did I ever go to Whitby? There now, -crying again! I wonder what has come over me today. I must hide it -from Jonathan, for if he knew that I had been crying twice in one -morning . . . I, who never cried on my own account, and whom he has -never caused to shed a tear, the dear fellow would fret his heart out. -I shall put a bold face on, and if I do feel weepy, he shall never see -it. I suppose it is just one of the lessons that we poor women have -to learn . . . - -I can't quite remember how I fell asleep last night. I remember -hearing the sudden barking of the dogs and a lot of queer sounds, like -praying on a very tumultuous scale, from Mr. Renfield's room, which is -somewhere under this. And then there was silence over everything, -silence so profound that it startled me, and I got up and looked out -of the window. All was dark and silent, the black shadows thrown by -the moonlight seeming full of a silent mystery of their own. Not a -thing seemed to be stirring, but all to be grim and fixed as death or -fate, so that a thin streak of white mist, that crept with almost -imperceptible slowness across the grass towards the house, seemed to -have a sentience and a vitality of its own. I think that the -digression of my thoughts must have done me good, for when I got back -to bed I found a lethargy creeping over me. I lay a while, but could -not quite sleep, so I got out and looked out of the window again. The -mist was spreading, and was now close up to the house, so that I could -see it lying thick against the wall, as though it were stealing up to -the windows. The poor man was more loud than ever, and though I could -not distinguish a word he said, I could in some way recognize in his -tones some passionate entreaty on his part. Then there was the sound -of a struggle, and I knew that the attendants were dealing with him. -I was so frightened that I crept into bed, and pulled the clothes over -my head, putting my fingers in my ears. I was not then a bit sleepy, -at least so I thought, but I must have fallen asleep, for except -dreams, I do not remember anything until the morning, when Jonathan -woke me. I think that it took me an effort and a little time to -realize where I was, and that it was Jonathan who was bending over me. -My dream was very peculiar, and was almost typical of the way that -waking thoughts become merged in, or continued in, dreams. - -I thought that I was asleep, and waiting for Jonathan to come back. I -was very anxious about him, and I was powerless to act, my feet, and -my hands, and my brain were weighted, so that nothing could proceed at -the usual pace. And so I slept uneasily and thought. Then it began -to dawn upon me that the air was heavy, and dank, and cold. I put -back the clothes from my face, and found, to my surprise, that all was -dim around. The gaslight which I had left lit for Jonathan, but -turned down, came only like a tiny red spark through the fog, which -had evidently grown thicker and poured into the room. Then it -occurred to me that I had shut the window before I had come to bed. I -would have got out to make certain on the point, but some leaden -lethargy seemed to chain my limbs and even my will. I lay still and -endured, that was all. I closed my eyes, but could still see through -my eyelids. (It is wonderful what tricks our dreams play us, and how -conveniently we can imagine.) The mist grew thicker and thicker and I -could see now how it came in, for I could see it like smoke, or with -the white energy of boiling water, pouring in, not through the window, -but through the joinings of the door. It got thicker and thicker, -till it seemed as if it became concentrated into a sort of pillar of -cloud in the room, through the top of which I could see the light of -the gas shining like a red eye. Things began to whirl through my -brain just as the cloudy column was now whirling in the room, and -through it all came the scriptural words "a pillar of cloud by day and -of fire by night." Was it indeed such spiritual guidance that was -coming to me in my sleep? But the pillar was composed of both the day -and the night guiding, for the fire was in the red eye, which at the -thought got a new fascination for me, till, as I looked, the fire -divided, and seemed to shine on me through the fog like two red eyes, -such as Lucy told me of in her momentary mental wandering when, on the -cliff, the dying sunlight struck the windows of St. Mary's Church. -Suddenly the horror burst upon me that it was thus that Jonathan had -seen those awful women growing into reality through the whirling mist -in the moonlight, and in my dream I must have fainted, for all became -black darkness. The last conscious effort which imagination made was -to show me a livid white face bending over me out of the mist. - -I must be careful of such dreams, for they would unseat one's reason if -there were too much of them. I would get Dr. Van Helsing or Dr. -Seward to prescribe something for me which would make me sleep, only -that I fear to alarm them. Such a dream at the present time would -become woven into their fears for me. Tonight I shall strive hard to -sleep naturally. If I do not, I shall tomorrow night get them to give -me a dose of chloral, that cannot hurt me for once, and it will give -me a good night's sleep. Last night tired me more than if I had not -slept at all. - - -2 October 10 P.M.--Last night I slept, but did not dream. I must have -slept soundly, for I was not waked by Jonathan coming to bed, but the -sleep has not refreshed me, for today I feel terribly weak and -spiritless. I spent all yesterday trying to read, or lying down -dozing. In the afternoon, Mr. Renfield asked if he might see me. Poor -man, he was very gentle, and when I came away he kissed my hand and -bade God bless me. Some way it affected me much. I am crying when I -think of him. This is a new weakness, of which I must be careful. -Jonathan would be miserable if he knew I had been crying. He and the -others were out till dinner time, and they all came in tired. I did -what I could to brighten them up, and I suppose that the effort did me -good, for I forgot how tired I was. After dinner they sent me to bed, -and all went off to smoke together, as they said, but I knew that they -wanted to tell each other of what had occurred to each during the day. -I could see from Jonathan's manner that he had something important to -communicate. I was not so sleepy as I should have been, so before -they went I asked Dr. Seward to give me a little opiate of some kind, -as I had not slept well the night before. He very kindly made me up a -sleeping draught, which he gave to me, telling me that it would do me -no harm, as it was very mild . . . I have taken it, and am waiting for -sleep, which still keeps aloof. I hope I have not done wrong, for as -sleep begins to flirt with me, a new fear comes: that I may have been -foolish in thus depriving myself of the power of waking. I might want -it. Here comes sleep. Goodnight. - - - - -CHAPTER 20 - - -JONATHAN HARKER'S JOURNAL - -1 October, evening.--I found Thomas Snelling in his house at Bethnal -Green, but unhappily he was not in a condition to remember anything. -The very prospect of beer which my expected coming had opened to him -had proved too much, and he had begun too early on his expected -debauch. I learned, however, from his wife, who seemed a decent, poor -soul, that he was only the assistant of Smollet, who of the two mates -was the responsible person. So off I drove to Walworth, and found Mr. -Joseph Smollet at home and in his shirtsleeves, taking a late tea out -of a saucer. He is a decent, intelligent fellow, distinctly a good, -reliable type of workman, and with a headpiece of his own. He -remembered all about the incident of the boxes, and from a wonderful -dog-eared notebook, which he produced from some mysterious receptacle -about the seat of his trousers, and which had hieroglyphical entries -in thick, half-obliterated pencil, he gave me the destinations of the -boxes. There were, he said, six in the cartload which he took from -Carfax and left at 197 Chicksand Street, Mile End New Town, and -another six which he deposited at Jamaica Lane, Bermondsey. If then -the Count meant to scatter these ghastly refuges of his over London, -these places were chosen as the first of delivery, so that later he -might distribute more fully. The systematic manner in which this was -done made me think that he could not mean to confine himself to two -sides of London. He was now fixed on the far east on the northern -shore, on the east of the southern shore, and on the south. The north -and west were surely never meant to be left out of his diabolical -scheme, let alone the City itself and the very heart of fashionable -London in the south-west and west. I went back to Smollet, and asked -him if he could tell us if any other boxes had been taken from Carfax. - -He replied, "Well guv'nor, you've treated me very 'an'some", I had -given him half a sovereign, "an I'll tell yer all I know. I heard a -man by the name of Bloxam say four nights ago in the 'Are an' 'Ounds, -in Pincher's Alley, as 'ow he an' his mate 'ad 'ad a rare dusty job in -a old 'ouse at Purfleet. There ain't a many such jobs as this 'ere, -an' I'm thinkin' that maybe Sam Bloxam could tell ye summut." - -I asked if he could tell me where to find him. I told him that if he -could get me the address it would be worth another half sovereign to -him. So he gulped down the rest of his tea and stood up, saying that -he was going to begin the search then and there. - -At the door he stopped, and said, "Look 'ere, guv'nor, there ain't no -sense in me a keepin' you 'ere. I may find Sam soon, or I mayn't, but -anyhow he ain't like to be in a way to tell ye much tonight. Sam is a -rare one when he starts on the booze. If you can give me a envelope -with a stamp on it, and put yer address on it, I'll find out where Sam -is to be found and post it ye tonight. But ye'd better be up arter -'im soon in the mornin', never mind the booze the night afore." - -This was all practical, so one of the children went off with a penny -to buy an envelope and a sheet of paper, and to keep the change. When -she came back, I addressed the envelope and stamped it, and when -Smollet had again faithfully promised to post the address when found, -I took my way to home. We're on the track anyhow. I am tired -tonight, and I want to sleep. Mina is fast asleep, and looks a little -too pale. Her eyes look as though she had been crying. Poor dear, -I've no doubt it frets her to be kept in the dark, and it may make her -doubly anxious about me and the others. But it is best as it is. It -is better to be disappointed and worried in such a way now than to -have her nerve broken. The doctors were quite right to insist on her -being kept out of this dreadful business. I must be firm, for on me -this particular burden of silence must rest. I shall not ever enter -on the subject with her under any circumstances. Indeed, It may not -be a hard task, after all, for she herself has become reticent on the -subject, and has not spoken of the Count or his doings ever since we -told her of our decision. - - -2 October, evening--A long and trying and exciting day. By the first -post I got my directed envelope with a dirty scrap of paper enclosed, -on which was written with a carpenter's pencil in a sprawling hand, -"Sam Bloxam, Korkrans, 4 Poters Cort, Bartel Street, Walworth. Arsk -for the depite." - -I got the letter in bed, and rose without waking Mina. She looked -heavy and sleepy and pale, and far from well. I determined not to -wake her, but that when I should return from this new search, I would -arrange for her going back to Exeter. I think she would be happier in -our own home, with her daily tasks to interest her, than in being here -amongst us and in ignorance. I only saw Dr. Seward for a moment, and -told him where I was off to, promising to come back and tell the rest -so soon as I should have found out anything. I drove to Walworth and -found, with some difficulty, Potter's Court. Mr. Smollet's spelling -misled me, as I asked for Poter's Court instead of Potter's Court. -However, when I had found the court, I had no difficulty in -discovering Corcoran's lodging house. - -When I asked the man who came to the door for the "depite," he shook -his head, and said, "I dunno 'im. There ain't no such a person 'ere. -I never 'eard of 'im in all my bloomin' days. Don't believe there -ain't nobody of that kind livin' 'ere or anywheres." - -I took out Smollet's letter, and as I read it it seemed to me that the -lesson of the spelling of the name of the court might guide me. "What -are you?" I asked. - -"I'm the depity," he answered. - -I saw at once that I was on the right track. Phonetic spelling had -again misled me. A half crown tip put the deputy's knowledge at my -disposal, and I learned that Mr. Bloxam, who had slept off the remains -of his beer on the previous night at Corcoran's, had left for his work -at Poplar at five o'clock that morning. He could not tell me where -the place of work was situated, but he had a vague idea that it was -some kind of a "new-fangled ware'us," and with this slender clue I had -to start for Poplar. It was twelve o'clock before I got any -satisfactory hint of such a building, and this I got at a coffee shop, -where some workmen were having their dinner. One of them suggested -that there was being erected at Cross Angel Street a new "cold -storage" building, and as this suited the condition of a "new-fangled -ware'us," I at once drove to it. An interview with a surly gatekeeper -and a surlier foreman, both of whom were appeased with the coin of the -realm, put me on the track of Bloxam. He was sent for on my -suggestion that I was willing to pay his days wages to his foreman for -the privilege of asking him a few questions on a private matter. He -was a smart enough fellow, though rough of speech and bearing. When I -had promised to pay for his information and given him an earnest, he -told me that he had made two journeys between Carfax and a house in -Piccadilly, and had taken from this house to the latter nine great -boxes, "main heavy ones," with a horse and cart hired by him for this -purpose. - -I asked him if he could tell me the number of the house in Piccadilly, -to which he replied, "Well, guv'nor, I forgits the number, but it was -only a few door from a big white church, or somethink of the kind, not -long built. It was a dusty old 'ouse, too, though nothin' to the -dustiness of the 'ouse we tooked the bloomin' boxes from." - -"How did you get in if both houses were empty?" - -"There was the old party what engaged me a waitin' in the 'ouse at -Purfleet. He 'elped me to lift the boxes and put them in the dray. -Curse me, but he was the strongest chap I ever struck, an' him a old -feller, with a white moustache, one that thin you would think he -couldn't throw a shadder." - -How this phrase thrilled through me! - -"Why, 'e took up 'is end o' the boxes like they was pounds of tea, and -me a puffin' an' a blowin' afore I could upend mine anyhow, an' I'm no -chicken, neither." - -"How did you get into the house in Piccadilly?" I asked. - -"He was there too. He must 'a started off and got there afore me, for -when I rung of the bell he kem an' opened the door 'isself an' 'elped -me carry the boxes into the 'all." - -"The whole nine?" I asked. - -"Yus, there was five in the first load an' four in the second. It was -main dry work, an' I don't so well remember 'ow I got 'ome." - -I interrupted him, "Were the boxes left in the hall?" - -"Yus, it was a big 'all, an' there was nothin' else in it." - -I made one more attempt to further matters. "You didn't have any -key?" - -"Never used no key nor nothink. The old gent, he opened the door -'isself an' shut it again when I druv off. I don't remember the last -time, but that was the beer." - -"And you can't remember the number of the house?" - -"No, sir. But ye needn't have no difficulty about that. It's a 'igh -'un with a stone front with a bow on it, an' 'igh steps up to the -door. I know them steps, 'avin' 'ad to carry the boxes up with three -loafers what come round to earn a copper. The old gent give them -shillin's, an' they seein' they got so much, they wanted more. But 'e -took one of them by the shoulder and was like to throw 'im down the -steps, till the lot of them went away cussin'." - -I thought that with this description I could find the house, so having -paid my friend for his information, I started off for Piccadilly. I -had gained a new painful experience. The Count could, it was evident, -handle the earth boxes himself. If so, time was precious, for now -that he had achieved a certain amount of distribution, he could, by -choosing his own time, complete the task unobserved. At Piccadilly -Circus I discharged my cab, and walked westward. Beyond the Junior -Constitutional I came across the house described and was satisfied -that this was the next of the lairs arranged by Dracula. The house -looked as though it had been long untenanted. The windows were -encrusted with dust, and the shutters were up. All the framework was -black with time, and from the iron the paint had mostly scaled away. -It was evident that up to lately there had been a large notice board -in front of the balcony. It had, however, been roughly torn away, the -uprights which had supported it still remaining. Behind the rails of -the balcony I saw there were some loose boards, whose raw edges looked -white. I would have given a good deal to have been able to see the -notice board intact, as it would, perhaps, have given some clue to the -ownership of the house. I remembered my experience of the investigation -and purchase of Carfax, and I could not but feel that if I could find -the former owner there might be some means discovered of gaining access -to the house. - -There was at present nothing to be learned from the Piccadilly side, -and nothing could be done, so I went around to the back to see if -anything could be gathered from this quarter. The mews were active, -the Piccadilly houses being mostly in occupation. I asked one or two -of the grooms and helpers whom I saw around if they could tell me -anything about the empty house. One of them said that he heard it had -lately been taken, but he couldn't say from whom. He told me, -however, that up to very lately there had been a notice board of "For -Sale" up, and that perhaps Mitchell, Sons, & Candy the house agents -could tell me something, as he thought he remembered seeing the name -of that firm on the board. I did not wish to seem too eager, or to -let my informant know or guess too much, so thanking him in the usual -manner, I strolled away. It was now growing dusk, and the autumn -night was closing in, so I did not lose any time. Having learned the -address of Mitchell, Sons, & Candy from a directory at the Berkeley, I -was soon at their office in Sackville Street. - -The gentleman who saw me was particularly suave in manner, but -uncommunicative in equal proportion. Having once told me that the -Piccadilly house, which throughout our interview he called a -"mansion," was sold, he considered my business as concluded. When I -asked who had purchased it, he opened his eyes a thought wider, and -paused a few seconds before replying, "It is sold, sir." - -"Pardon me," I said, with equal politeness, "but I have a special -reason for wishing to know who purchased it." - -Again he paused longer, and raised his eyebrows still more. "It is -sold, sir," was again his laconic reply. - -"Surely," I said, "you do not mind letting me know so much." - -"But I do mind," he answered. "The affairs of their clients are -absolutely safe in the hands of Mitchell, Sons, & Candy." - -This was manifestly a prig of the first water, and there was no use -arguing with him. I thought I had best meet him on his own ground, so -I said, "Your clients, sir, are happy in having so resolute a guardian -of their confidence. I am myself a professional man." - -Here I handed him my card. "In this instance I am not prompted by -curiosity, I act on the part of Lord Godalming, who wishes to know -something of the property which was, he understood, lately for sale." - -These words put a different complexion on affairs. He said, "I would -like to oblige you if I could, Mr. Harker, and especially would I like -to oblige his lordship. We once carried out a small matter of renting -some chambers for him when he was the honourable Arthur Holmwood. If -you will let me have his lordship's address I will consult the House -on the subject, and will, in any case, communicate with his lordship -by tonight's post. It will be a pleasure if we can so far deviate -from our rules as to give the required information to his lordship." - -I wanted to secure a friend, and not to make an enemy, so I thanked -him, gave the address at Dr. Seward's and came away. It was now dark, -and I was tired and hungry. I got a cup of tea at the Aerated Bread -Company and came down to Purfleet by the next train. - -I found all the others at home. Mina was looking tired and pale, but -she made a gallant effort to be bright and cheerful. It wrung my -heart to think that I had had to keep anything from her and so caused -her inquietude. Thank God, this will be the last night of her looking -on at our conferences, and feeling the sting of our not showing our -confidence. It took all my courage to hold to the wise resolution of -keeping her out of our grim task. She seems somehow more reconciled, -or else the very subject seems to have become repugnant to her, for -when any accidental allusion is made she actually shudders. I am glad -we made our resolution in time, as with such a feeling as this, our -growing knowledge would be torture to her. - -I could not tell the others of the day's discovery till we were alone, -so after dinner, followed by a little music to save appearances even -amongst ourselves, I took Mina to her room and left her to go to bed. -The dear girl was more affectionate with me than ever, and clung to me -as though she would detain me, but there was much to be talked of and -I came away. Thank God, the ceasing of telling things has made no -difference between us. - -When I came down again I found the others all gathered round the fire -in the study. In the train I had written my diary so far, and simply -read it off to them as the best means of letting them get abreast of -my own information. - -When I had finished Van Helsing said, "This has been a great day's -work, friend Jonathan. Doubtless we are on the track of the missing -boxes. If we find them all in that house, then our work is near the -end. But if there be some missing, we must search until we find them. -Then shall we make our final coup, and hunt the wretch to his real -death." - -We all sat silent awhile and all at once Mr. Morris spoke, "Say! How -are we going to get into that house?" - -"We got into the other," answered Lord Godalming quickly. - -"But, Art, this is different. We broke house at Carfax, but we had -night and a walled park to protect us. It will be a mighty different -thing to commit burglary in Piccadilly, either by day or night. I -confess I don't see how we are going to get in unless that agency duck -can find us a key of some sort." - -Lord Godalming's brows contracted, and he stood up and walked about the -room. By-and-by he stopped and said, turning from one to another of -us, "Quincey's head is level. This burglary business is getting -serious. We got off once all right, but we have now a rare job on -hand. Unless we can find the Count's key basket." - -As nothing could well be done before morning, and as it would be at -least advisable to wait till Lord Godalming should hear from -Mitchell's, we decided not to take any active step before breakfast -time. For a good while we sat and smoked, discussing the matter in -its various lights and bearings. I took the opportunity of bringing -this diary right up to the moment. I am very sleepy and shall go to -bed . . . - -Just a line. Mina sleeps soundly and her breathing is regular. Her -forehead is puckered up into little wrinkles, as though she thinks -even in her sleep. She is still too pale, but does not look so -haggard as she did this morning. Tomorrow will, I hope, mend all -this. She will be herself at home in Exeter. Oh, but I am sleepy! - - - - -DR. SEWARD'S DIARY - -1 October.--I am puzzled afresh about Renfield. His moods change so -rapidly that I find it difficult to keep touch of them, and as they -always mean something more than his own well-being, they form a more -than interesting study. This morning, when I went to see him after -his repulse of Van Helsing, his manner was that of a man commanding -destiny. He was, in fact, commanding destiny, subjectively. He did -not really care for any of the things of mere earth, he was in the -clouds and looked down on all the weaknesses and wants of us poor -mortals. - -I thought I would improve the occasion and learn something, so I asked -him, "What about the flies these times?" - -He smiled on me in quite a superior sort of way, such a smile as would -have become the face of Malvolio, as he answered me, "The fly, my dear -sir, has one striking feature. It's wings are typical of the aerial -powers of the psychic faculties. The ancients did well when they -typified the soul as a butterfly!" - -I thought I would push his analogy to its utmost logically, so I said -quickly, "Oh, it is a soul you are after now, is it?" - -His madness foiled his reason, and a puzzled look spread over his face -as, shaking his head with a decision which I had but seldom seen in -him. - -He said, "Oh, no, oh no! I want no souls. Life is all I want." Here -he brightened up. "I am pretty indifferent about it at present. Life -is all right. I have all I want. You must get a new patient, doctor, -if you wish to study zoophagy!" - -This puzzled me a little, so I drew him on. "Then you command life. -You are a god, I suppose?" - -He smiled with an ineffably benign superiority. "Oh no! Far be it -from me to arrogate to myself the attributes of the Deity. I am not -even concerned in His especially spiritual doings. If I may state my -intellectual position I am, so far as concerns things purely -terrestrial, somewhat in the position which Enoch occupied -spiritually!" - -This was a poser to me. I could not at the moment recall Enoch's -appositeness, so I had to ask a simple question, though I felt that by -so doing I was lowering myself in the eyes of the lunatic. "And why -with Enoch?" - -"Because he walked with God." - -I could not see the analogy, but did not like to admit it, so I harked -back to what he had denied. "So you don't care about life and you -don't want souls. Why not?" I put my question quickly and somewhat -sternly, on purpose to disconcert him. - -The effort succeeded, for an instant he unconsciously relapsed into -his old servile manner, bent low before me, and actually fawned upon -me as he replied. "I don't want any souls, indeed, indeed! I don't. -I couldn't use them if I had them. They would be no manner of use to -me. I couldn't eat them or . . ." - -He suddenly stopped and the old cunning look spread over his face, -like a wind sweep on the surface of the water. - -"And doctor, as to life, what is it after all? When you've got all -you require, and you know that you will never want, that is all. I -have friends, good friends, like you, Dr. Seward." This was said with -a leer of inexpressible cunning. "I know that I shall never lack the -means of life!" - -I think that through the cloudiness of his insanity he saw some -antagonism in me, for he at once fell back on the last refuge of such -as he, a dogged silence. After a short time I saw that for the -present it was useless to speak to him. He was sulky, and so I came -away. - -Later in the day he sent for me. Ordinarily I would not have come -without special reason, but just at present I am so interested in him -that I would gladly make an effort. Besides, I am glad to have -anything to help pass the time. Harker is out, following up clues, -and so are Lord Godalming and Quincey. Van Helsing sits in my study -poring over the record prepared by the Harkers. He seems to think -that by accurate knowledge of all details he will light up on some -clue. He does not wish to be disturbed in the work, without cause. I -would have taken him with me to see the patient, only I thought that -after his last repulse he might not care to go again. There was also -another reason. Renfield might not speak so freely before a third -person as when he and I were alone. - -I found him sitting in the middle of the floor on his stool, a pose -which is generally indicative of some mental energy on his part. When -I came in, he said at once, as though the question had been waiting on -his lips. "What about souls?" - -It was evident then that my surmise had been correct. Unconscious -cerebration was doing its work, even with the lunatic. I determined -to have the matter out. - -"What about them yourself?" I asked. - -He did not reply for a moment but looked all around him, and up and -down, as though he expected to find some inspiration for an answer. - -"I don't want any souls!" he said in a feeble, apologetic way. The -matter seemed preying on his mind, and so I determined to use it, to -"be cruel only to be kind." So I said, "You like life, and you want -life?" - -"Oh yes! But that is all right. You needn't worry about that!" - -"But," I asked, "how are we to get the life without getting the soul -also?" - -This seemed to puzzle him, so I followed it up, "A nice time you'll -have some time when you're flying out here, with the souls of -thousands of flies and spiders and birds and cats buzzing and -twittering and moaning all around you. You've got their lives, you -know, and you must put up with their souls!" - -Something seemed to affect his imagination, for he put his fingers to -his ears and shut his eyes, screwing them up tightly just as a small -boy does when his face is being soaped. There was something pathetic -in it that touched me. It also gave me a lesson, for it seemed that -before me was a child, only a child, though the features were worn, -and the stubble on the jaws was white. It was evident that he was -undergoing some process of mental disturbance, and knowing how his -past moods had interpreted things seemingly foreign to himself, I -thought I would enter into his mind as well as I could and go with him. - -The first step was to restore confidence, so I asked him, speaking -pretty loud so that he would hear me through his closed ears, "Would -you like some sugar to get your flies around again?" - -He seemed to wake up all at once, and shook his head. With a laugh he -replied, "Not much! Flies are poor things, after all!" After a pause -he added, "But I don't want their souls buzzing round me, all the -same." - -"Or spiders?" I went on. - -"Blow spiders! What's the use of spiders? There isn't anything in -them to eat or . . ." He stopped suddenly as though reminded of a -forbidden topic. - -"So, so!" I thought to myself, "this is the second time he has -suddenly stopped at the word 'drink'. What does it mean?" - -Renfield seemed himself aware of having made a lapse, for he hurried -on, as though to distract my attention from it, "I don't take any -stock at all in such matters. 'Rats and mice and such small deer,' as -Shakespeare has it, 'chicken feed of the larder' they might be called. -I'm past all that sort of nonsense. You might as well ask a man to -eat molecules with a pair of chopsticks, as to try to interest me -about the less carnivora, when I know of what is before me." - -"I see," I said. "You want big things that you can make your teeth -meet in? How would you like to breakfast on an elephant?" - -"What ridiculous nonsense you are talking?" He was getting too wide -awake, so I thought I would press him hard. - -"I wonder," I said reflectively, "what an elephant's soul is like!" - -The effect I desired was obtained, for he at once fell from his -high-horse and became a child again. - -"I don't want an elephant's soul, or any soul at all!" he said. For a -few moments he sat despondently. Suddenly he jumped to his feet, with -his eyes blazing and all the signs of intense cerebral excitement. -"To hell with you and your souls!" he shouted. "Why do you plague me -about souls? Haven't I got enough to worry, and pain, to distract me -already, without thinking of souls?" - -He looked so hostile that I thought he was in for another homicidal -fit, so I blew my whistle. - -The instant, however, that I did so he became calm, and said -apologetically, "Forgive me, Doctor. I forgot myself. You do not -need any help. I am so worried in my mind that I am apt to be -irritable. If you only knew the problem I have to face, and that I am -working out, you would pity, and tolerate, and pardon me. Pray do not -put me in a strait waistcoat. I want to think and I cannot think -freely when my body is confined. I am sure you will understand!" - -He had evidently self-control, so when the attendants came I told them -not to mind, and they withdrew. Renfield watched them go. When the -door was closed he said with considerable dignity and sweetness, "Dr. -Seward, you have been very considerate towards me. Believe me that I -am very, very grateful to you!" - -I thought it well to leave him in this mood, and so I came away. -There is certainly something to ponder over in this man's state. -Several points seem to make what the American interviewer calls "a -story," if one could only get them in proper order. Here they are: - - Will not mention "drinking." - - Fears the thought of being burdened with the "soul" of anything. - - Has no dread of wanting "life" in the future. - - Despises the meaner forms of life altogether, though he dreads - being haunted by their souls. - - Logically all these things point one way! He has assurance of - some kind that he will acquire some higher life. - - He dreads the consequence, the burden of a soul. Then it is a - human life he looks to! - - And the assurance . . .? - -Merciful God! The Count has been to him, and there is some new scheme -of terror afoot! - - -Later.--I went after my round to Van Helsing and told him my -suspicion. He grew very grave, and after thinking the matter over for -a while asked me to take him to Renfield. I did so. As we came to -the door we heard the lunatic within singing gaily, as he used to do -in the time which now seems so long ago. - -When we entered we saw with amazement that he had spread out his sugar -as of old. The flies, lethargic with the autumn, were beginning to -buzz into the room. We tried to make him talk of the subject of our -previous conversation, but he would not attend. He went on with his -singing, just as though we had not been present. He had got a scrap -of paper and was folding it into a notebook. We had to come away as -ignorant as we went in. - -His is a curious case indeed. We must watch him tonight. - - - - - -LETTER, MITCHELL, SONS & CANDY TO LORD GODALMING. - -"1 October. - -"My Lord, - -"We are at all times only too happy to meet your wishes. We beg, -with regard to the desire of your Lordship, expressed by Mr. -Harker on your behalf, to supply the following information -concerning the sale and purchase of No. 347, Piccadilly. The -original vendors are the executors of the late Mr. Archibald -Winter-Suffield. The purchaser is a foreign nobleman, Count de -Ville, who effected the purchase himself paying the purchase -money in notes 'over the counter,' if your Lordship will pardon -us using so vulgar an expression. Beyond this we know nothing -whatever of him. - -"We are, my Lord, - -"Your Lordship's humble servants, - -"MITCHELL, SONS & CANDY." - - - - -DR. SEWARD'S DIARY - -2 October.--I placed a man in the corridor last night, and told him to -make an accurate note of any sound he might hear from Renfield's room, -and gave him instructions that if there should be anything strange he -was to call me. After dinner, when we had all gathered round the fire -in the study, Mrs. Harker having gone to bed, we discussed the -attempts and discoveries of the day. Harker was the only one who had -any result, and we are in great hopes that his clue may be an -important one. - -Before going to bed I went round to the patient's room and looked in -through the observation trap. He was sleeping soundly, his heart rose -and fell with regular respiration. - -This morning the man on duty reported to me that a little after -midnight he was restless and kept saying his prayers somewhat loudly. -I asked him if that was all. He replied that it was all he heard. -There was something about his manner, so suspicious that I asked him -point blank if he had been asleep. He denied sleep, but admitted to -having "dozed" for a while. It is too bad that men cannot be trusted -unless they are watched. - -Today Harker is out following up his clue, and Art and Quincey are -looking after horses. Godalming thinks that it will be well to have -horses always in readiness, for when we get the information which we -seek there will be no time to lose. We must sterilize all the -imported earth between sunrise and sunset. We shall thus catch the -Count at his weakest, and without a refuge to fly to. Van Helsing is -off to the British Museum looking up some authorities on ancient -medicine. The old physicians took account of things which their -followers do not accept, and the Professor is searching for witch and -demon cures which may be useful to us later. - -I sometimes think we must be all mad and that we shall wake to sanity -in strait waistcoats. - -Later.--We have met again. We seem at last to be on the track, and -our work of tomorrow may be the beginning of the end. I wonder if -Renfield's quiet has anything to do with this. His moods have so -followed the doings of the Count, that the coming destruction of the -monster may be carried to him some subtle way. If we could only get -some hint as to what passed in his mind, between the time of my -argument with him today and his resumption of fly-catching, it might -afford us a valuable clue. He is now seemingly quiet for a spell . . . -Is he? That wild yell seemed to come from his room . . . - -The attendant came bursting into my room and told me that Renfield had -somehow met with some accident. He had heard him yell, and when he -went to him found him lying on his face on the floor, all covered with -blood. I must go at once . . . - - - - -CHAPTER 21 - - -DR. SEWARD'S DIARY - -3 October.--Let me put down with exactness all that happened, as well -as I can remember, since last I made an entry. Not a detail that I -can recall must be forgotten. In all calmness I must proceed. - -When I came to Renfield's room I found him lying on the floor on his -left side in a glittering pool of blood. When I went to move him, it -became at once apparent that he had received some terrible injuries. -There seemed none of the unity of purpose between the parts of the -body which marks even lethargic sanity. As the face was exposed I -could see that it was horribly bruised, as though it had been beaten -against the floor. Indeed it was from the face wounds that the pool -of blood originated. - -The attendant who was kneeling beside the body said to me as we turned -him over, "I think, sir, his back is broken. See, both his right arm -and leg and the whole side of his face are paralysed." How such a -thing could have happened puzzled the attendant beyond measure. He -seemed quite bewildered, and his brows were gathered in as he said, "I -can't understand the two things. He could mark his face like that by -beating his own head on the floor. I saw a young woman do it once at -the Eversfield Asylum before anyone could lay hands on her. And I -suppose he might have broken his neck by falling out of bed, if he got -in an awkward kink. But for the life of me I can't imagine how the -two things occurred. If his back was broke, he couldn't beat his -head, and if his face was like that before the fall out of bed, there -would be marks of it." - -I said to him, "Go to Dr. Van Helsing, and ask him to kindly come here -at once. I want him without an instant's delay." - -The man ran off, and within a few minutes the Professor, in his -dressing gown and slippers, appeared. When he saw Renfield on the -ground, he looked keenly at him a moment, and then turned to me. I -think he recognized my thought in my eyes, for he said very quietly, -manifestly for the ears of the attendant, "Ah, a sad accident! He -will need very careful watching, and much attention. I shall stay -with you myself, but I shall first dress myself. If you will remain I -shall in a few minutes join you." - -The patient was now breathing stertorously and it was easy to see that -he had suffered some terrible injury. - -Van Helsing returned with extraordinary celerity, bearing with him a -surgical case. He had evidently been thinking and had his mind made -up, for almost before he looked at the patient, he whispered to me, -"Send the attendant away. We must be alone with him when he becomes -conscious, after the operation." - -I said, "I think that will do now, Simmons. We have done all that we -can at present. You had better go your round, and Dr. Van Helsing -will operate. Let me know instantly if there be anything unusual -anywhere." - -The man withdrew, and we went into a strict examination of the -patient. The wounds of the face were superficial. The real injury -was a depressed fracture of the skull, extending right up through the -motor area. - -The Professor thought a moment and said, "We must reduce the pressure -and get back to normal conditions, as far as can be. The rapidity of -the suffusion shows the terrible nature of his injury. The whole -motor area seems affected. The suffusion of the brain will increase -quickly, so we must trephine at once or it may be too late." - -As he was speaking there was a soft tapping at the door. I went over -and opened it and found in the corridor without, Arthur and Quincey in -pajamas and slippers; the former spoke, "I heard your man call up Dr. -Van Helsing and tell him of an accident. So I woke Quincey or rather -called for him as he was not asleep. Things are moving too quickly -and too strangely for sound sleep for any of us these times. I've -been thinking that tomorrow night will not see things as they have -been. We'll have to look back, and forward a little more than we have -done. May we come in?" - -I nodded, and held the door open till they had entered, then I closed -it again. When Quincey saw the attitude and state of the patient, and -noted the horrible pool on the floor, he said softly, "My God! What -has happened to him? Poor, poor devil!" - -I told him briefly, and added that we expected he would recover -consciousness after the operation, for a short time, at all events. -He went at once and sat down on the edge of the bed, with Godalming -beside him. We all watched in patience. - -"We shall wait," said Van Helsing, "just long enough to fix the best -spot for trephining, so that we may most quickly and perfectly remove -the blood clot, for it is evident that the haemorrhage is increasing." - -The minutes during which we waited passed with fearful slowness. I -had a horrible sinking in my heart, and from Van Helsing's face I -gathered that he felt some fear or apprehension as to what was to -come. I dreaded the words Renfield might speak. I was positively -afraid to think. But the conviction of what was coming was on me, as -I have read of men who have heard the death watch. The poor man's -breathing came in uncertain gasps. Each instant he seemed as though -he would open his eyes and speak, but then would follow a prolonged -stertorous breath, and he would relapse into a more fixed -insensibility. Inured as I was to sick beds and death, this suspense -grew and grew upon me. I could almost hear the beating of my own -heart, and the blood surging through my temples sounded like blows -from a hammer. The silence finally became agonizing. I looked at my -companions, one after another, and saw from their flushed faces and -damp brows that they were enduring equal torture. There was a nervous -suspense over us all, as though overhead some dread bell would peal -out powerfully when we should least expect it. - -At last there came a time when it was evident that the patient was -sinking fast. He might die at any moment. I looked up at the -Professor and caught his eyes fixed on mine. His face was sternly set -as he spoke, "There is no time to lose. His words may be worth many -lives. I have been thinking so, as I stood here. It may be there is -a soul at stake! We shall operate just above the ear." - -Without another word he made the operation. For a few moments the -breathing continued to be stertorous. Then there came a breath so -prolonged that it seemed as though it would tear open his chest. -Suddenly his eyes opened, and became fixed in a wild, helpless stare. -This was continued for a few moments, then it was softened into a glad -surprise, and from his lips came a sigh of relief. He moved -convulsively, and as he did so, said, "I'll be quiet, Doctor. Tell -them to take off the strait waistcoat. I have had a terrible dream, -and it has left me so weak that I cannot move. What's wrong with my -face? It feels all swollen, and it smarts dreadfully." - -He tried to turn his head, but even with the effort his eyes seemed to -grow glassy again so I gently put it back. Then Van Helsing said in a -quiet grave tone, "Tell us your dream, Mr. Renfield." - -As he heard the voice his face brightened, through its mutilation, and -he said, "That is Dr. Van Helsing. How good it is of you to be here. -Give me some water, my lips are dry, and I shall try to tell you. I -dreamed . . ." - -He stopped and seemed fainting. I called quietly to Quincey, "The -brandy, it is in my study, quick!" He flew and returned with a glass, -the decanter of brandy and a carafe of water. We moistened the -parched lips, and the patient quickly revived. - -It seemed, however, that his poor injured brain had been working in -the interval, for when he was quite conscious, he looked at me -piercingly with an agonized confusion which I shall never forget, and -said, "I must not deceive myself. It was no dream, but all a grim -reality." Then his eyes roved round the room. As they caught sight -of the two figures sitting patiently on the edge of the bed he went -on, "If I were not sure already, I would know from them." - -For an instant his eyes closed, not with pain or sleep but -voluntarily, as though he were bringing all his faculties to bear. -When he opened them he said, hurriedly, and with more energy than he -had yet displayed, "Quick, Doctor, quick, I am dying! I feel that I -have but a few minutes, and then I must go back to death, or worse! -Wet my lips with brandy again. I have something that I must say -before I die. Or before my poor crushed brain dies anyhow. Thank -you! It was that night after you left me, when I implored you to let -me go away. I couldn't speak then, for I felt my tongue was tied. -But I was as sane then, except in that way, as I am now. I was in an -agony of despair for a long time after you left me, it seemed hours. -Then there came a sudden peace to me. My brain seemed to become cool -again, and I realized where I was. I heard the dogs bark behind our -house, but not where He was!" - -As he spoke, Van Helsing's eyes never blinked, but his hand came out -and met mine and gripped it hard. He did not, however, betray -himself. He nodded slightly and said, "Go on," in a low voice. - -Renfield proceeded. "He came up to the window in the mist, as I had -seen him often before, but he was solid then, not a ghost, and his -eyes were fierce like a man's when angry. He was laughing with his -red mouth, the sharp white teeth glinted in the moonlight when he -turned to look back over the belt of trees, to where the dogs were -barking. I wouldn't ask him to come in at first, though I knew he -wanted to, just as he had wanted all along. Then he began promising -me things, not in words but by doing them." - -He was interrupted by a word from the Professor, "How?" - -"By making them happen. Just as he used to send in the flies when the -sun was shining. Great big fat ones with steel and sapphire on their -wings. And big moths, in the night, with skull and cross-bones on -their backs." - -Van Helsing nodded to him as he whispered to me unconsciously, "The -Acherontia Atropos of the Sphinges, what you call the 'Death's-head -Moth'?" - -The patient went on without stopping, "Then he began to whisper. 'Rats, -rats, rats! Hundreds, thousands, millions of them, and every one a -life. And dogs to eat them, and cats too. All lives! All red blood, -with years of life in it, and not merely buzzing flies!' I laughed at -him, for I wanted to see what he could do. Then the dogs howled, away -beyond the dark trees in His house. He beckoned me to the window. I -got up and looked out, and He raised his hands, and seemed to call out -without using any words. A dark mass spread over the grass, coming on -like the shape of a flame of fire. And then He moved the mist to the -right and left, and I could see that there were thousands of rats with -their eyes blazing red, like His only smaller. He held up his hand, -and they all stopped, and I thought he seemed to be saying, 'All these -lives will I give you, ay, and many more and greater, through -countless ages, if you will fall down and worship me!' And then a red -cloud, like the colour of blood, seemed to close over my eyes, and -before I knew what I was doing, I found myself opening the sash and -saying to Him, 'Come in, Lord and Master!' The rats were all gone, but -He slid into the room through the sash, though it was only open an -inch wide, just as the Moon herself has often come in through the -tiniest crack and has stood before me in all her size and splendour." - -His voice was weaker, so I moistened his lips with the brandy again, -and he continued, but it seemed as though his memory had gone on -working in the interval for his story was further advanced. I was -about to call him back to the point, but Van Helsing whispered to me, -"Let him go on. Do not interrupt him. He cannot go back, and maybe -could not proceed at all if once he lost the thread of his thought." - -He proceeded, "All day I waited to hear from him, but he did not send -me anything, not even a blowfly, and when the moon got up I was pretty -angry with him. When he did slide in through the window, though it -was shut, and did not even knock, I got mad with him. He sneered at -me, and his white face looked out of the mist with his red eyes -gleaming, and he went on as though he owned the whole place, and I was -no one. He didn't even smell the same as he went by me. I couldn't -hold him. I thought that, somehow, Mrs. Harker had come into the -room." - -The two men sitting on the bed stood up and came over, standing behind -him so that he could not see them, but where they could hear better. -They were both silent, but the Professor started and quivered. His -face, however, grew grimmer and sterner still. Renfield went on -without noticing, "When Mrs. Harker came in to see me this afternoon -she wasn't the same. It was like tea after the teapot has been -watered." Here we all moved, but no one said a word. - -He went on, "I didn't know that she was here till she spoke, and she -didn't look the same. I don't care for the pale people. I like them -with lots of blood in them, and hers all seemed to have run out. I -didn't think of it at the time, but when she went away I began to -think, and it made me mad to know that He had been taking the life out -of her." I could feel that the rest quivered, as I did; but we -remained otherwise still. "So when He came tonight I was ready for -Him. I saw the mist stealing in, and I grabbed it tight. I had heard -that madmen have unnatural strength. And as I knew I was a madman, at -times anyhow, I resolved to use my power. Ay, and He felt it too, for -He had to come out of the mist to struggle with me. I held tight, and -I thought I was going to win, for I didn't mean Him to take any more -of her life, till I saw His eyes. They burned into me, and my -strength became like water. He slipped through it, and when I tried -to cling to Him, He raised me up and flung me down. There was a red -cloud before me, and a noise like thunder, and the mist seemed to -steal away under the door." - -His voice was becoming fainter and his breath more stertorous. Van -Helsing stood up instinctively. - -"We know the worst now," he said. "He is here, and we know his -purpose. It may not be too late. Let us be armed, the same as we -were the other night, but lose no time, there is not an instant to -spare." - -There was no need to put our fear, nay our conviction, into words, we -shared them in common. We all hurried and took from our rooms the -same things that we had when we entered the Count's house. The -Professor had his ready, and as we met in the corridor he pointed to -them significantly as he said, "They never leave me, and they shall -not till this unhappy business is over. Be wise also, my friends. It -is no common enemy that we deal with Alas! Alas! That dear Madam -Mina should suffer!" He stopped, his voice was breaking, and I do not -know if rage or terror predominated in my own heart. - -Outside the Harkers' door we paused. Art and Quincey held back, and -the latter said, "Should we disturb her?" - -"We must," said Van Helsing grimly. "If the door be locked, I shall -break it in." - -"May it not frighten her terribly? It is unusual to break into a -lady's room!" - -Van Helsing said solemnly, "You are always right. But this is life -and death. All chambers are alike to the doctor. And even were they -not they are all as one to me tonight. Friend John, when I turn the -handle, if the door does not open, do you put your shoulder down and -shove; and you too, my friends. Now!" - -He turned the handle as he spoke, but the door did not yield. We -threw ourselves against it. With a crash it burst open, and we almost -fell headlong into the room. The Professor did actually fall, and I -saw across him as he gathered himself up from hands and knees. What I -saw appalled me. I felt my hair rise like bristles on the back of my -neck, and my heart seemed to stand still. - -The moonlight was so bright that through the thick yellow blind the -room was light enough to see. On the bed beside the window lay -Jonathan Harker, his face flushed and breathing heavily as though in a -stupor. Kneeling on the near edge of the bed facing outwards was the -white-clad figure of his wife. By her side stood a tall, thin man, -clad in black. His face was turned from us, but the instant we saw we -all recognized the Count, in every way, even to the scar on his -forehead. With his left hand he held both Mrs. Harker's hands, -keeping them away with her arms at full tension. His right hand -gripped her by the back of the neck, forcing her face down on his -bosom. Her white nightdress was smeared with blood, and a thin stream -trickled down the man's bare chest which was shown by his torn-open -dress. The attitude of the two had a terrible resemblance to a child -forcing a kitten's nose into a saucer of milk to compel it to drink. -As we burst into the room, the Count turned his face, and the hellish -look that I had heard described seemed to leap into it. His eyes -flamed red with devilish passion. The great nostrils of the white -aquiline nose opened wide and quivered at the edge, and the white -sharp teeth, behind the full lips of the blood dripping mouth, clamped -together like those of a wild beast. With a wrench, which threw his -victim back upon the bed as though hurled from a height, he turned and -sprang at us. But by this time the Professor had gained his feet, and -was holding towards him the envelope which contained the Sacred Wafer. -The Count suddenly stopped, just as poor Lucy had done outside the -tomb, and cowered back. Further and further back he cowered, as we, -lifting our crucifixes, advanced. The moonlight suddenly failed, as a -great black cloud sailed across the sky. And when the gaslight sprang -up under Quincey's match, we saw nothing but a faint vapour. This, as -we looked, trailed under the door, which with the recoil from its -bursting open, had swung back to its old position. Van Helsing, Art, -and I moved forward to Mrs. Harker, who by this time had drawn her -breath and with it had given a scream so wild, so ear-piercing, so -despairing that it seems to me now that it will ring in my ears till -my dying day. For a few seconds she lay in her helpless attitude and -disarray. Her face was ghastly, with a pallor which was accentuated -by the blood which smeared her lips and cheeks and chin. From her -throat trickled a thin stream of blood. Her eyes were mad with -terror. Then she put before her face her poor crushed hands, which -bore on their whiteness the red mark of the Count's terrible grip, and -from behind them came a low desolate wail which made the terrible -scream seem only the quick expression of an endless grief. Van -Helsing stepped forward and drew the coverlet gently over her body, -whilst Art, after looking at her face for an instant despairingly, ran -out of the room. - -Van Helsing whispered to me, "Jonathan is in a stupor such as we know -the Vampire can produce. We can do nothing with poor Madam Mina for a -few moments till she recovers herself. I must wake him!" - -He dipped the end of a towel in cold water and with it began to flick -him on the face, his wife all the while holding her face between her -hands and sobbing in a way that was heart breaking to hear. I raised -the blind, and looked out of the window. There was much moonshine, -and as I looked I could see Quincey Morris run across the lawn and -hide himself in the shadow of a great yew tree. It puzzled me to -think why he was doing this. But at the instant I heard Harker's -quick exclamation as he woke to partial consciousness, and turned to -the bed. On his face, as there might well be, was a look of wild -amazement. He seemed dazed for a few seconds, and then full -consciousness seemed to burst upon him all at once, and he started up. - -His wife was aroused by the quick movement, and turned to him with her -arms stretched out, as though to embrace him. Instantly, however, she -drew them in again, and putting her elbows together, held her hands -before her face, and shuddered till the bed beneath her shook. - -"In God's name what does this mean?" Harker cried out. "Dr. Seward, -Dr. Van Helsing, what is it? What has happened? What is wrong? Mina, -dear what is it? What does that blood mean? My God, my God! Has it -come to this!" And, raising himself to his knees, he beat his hands -wildly together. "Good God help us! Help her! Oh, help her!" - -With a quick movement he jumped from bed, and began to pull on his -clothes, all the man in him awake at the need for instant exertion. -"What has happened? Tell me all about it!" he cried without pausing. -"Dr. Van Helsing, you love Mina, I know. Oh, do something to save her. -It cannot have gone too far yet. Guard her while I look for him!" - -His wife, through her terror and horror and distress, saw some sure -danger to him. Instantly forgetting her own grief, she seized hold of -him and cried out. - -"No! No! Jonathan, you must not leave me. I have suffered enough -tonight, God knows, without the dread of his harming you. You must -stay with me. Stay with these friends who will watch over you!" Her -expression became frantic as she spoke. And, he yielding to her, she -pulled him down sitting on the bedside, and clung to him fiercely. - -Van Helsing and I tried to calm them both. The Professor held up his -golden crucifix, and said with wonderful calmness, "Do not fear, my -dear. We are here, and whilst this is close to you no foul thing can -approach. You are safe for tonight, and we must be calm and take -counsel together." - -She shuddered and was silent, holding down her head on her husband's -breast. When she raised it, his white nightrobe was stained with -blood where her lips had touched, and where the thin open wound in the -neck had sent forth drops. The instant she saw it she drew back, with -a low wail, and whispered, amidst choking sobs. - -"Unclean, unclean! I must touch him or kiss him no more. Oh, that it -should be that it is I who am now his worst enemy, and whom he may -have most cause to fear." - -To this he spoke out resolutely, "Nonsense, Mina. It is a shame to me -to hear such a word. I would not hear it of you. And I shall not -hear it from you. May God judge me by my deserts, and punish me with -more bitter suffering than even this hour, if by any act or will of -mine anything ever come between us!" - -He put out his arms and folded her to his breast. And for a while she -lay there sobbing. He looked at us over her bowed head, with eyes -that blinked damply above his quivering nostrils. His mouth was set -as steel. - -After a while her sobs became less frequent and more faint, and then -he said to me, speaking with a studied calmness which I felt tried his -nervous power to the utmost. - -"And now, Dr. Seward, tell me all about it. Too well I know the broad -fact. Tell me all that has been." - -I told him exactly what had happened and he listened with seeming -impassiveness, but his nostrils twitched and his eyes blazed as I told -how the ruthless hands of the Count had held his wife in that terrible -and horrid position, with her mouth to the open wound in his breast. -It interested me, even at that moment, to see that whilst the face of -white set passion worked convulsively over the bowed head, the hands -tenderly and lovingly stroked the ruffled hair. Just as I had -finished, Quincey and Godalming knocked at the door. They entered in -obedience to our summons. Van Helsing looked at me questioningly. I -understood him to mean if we were to take advantage of their coming to -divert if possible the thoughts of the unhappy husband and wife from -each other and from themselves. So on nodding acquiescence to him he -asked them what they had seen or done. To which Lord Godalming -answered. - -"I could not see him anywhere in the passage, or in any of our rooms. -I looked in the study but, though he had been there, he had gone. He -had, however . . ." He stopped suddenly, looking at the poor drooping -figure on the bed. - -Van Helsing said gravely, "Go on, friend Arthur. We want here no more -concealments. Our hope now is in knowing all. Tell freely!" - -So Art went on, "He had been there, and though it could only have been -for a few seconds, he made rare hay of the place. All the manuscript -had been burned, and the blue flames were flickering amongst the white -ashes. The cylinders of your phonograph too were thrown on the fire, -and the wax had helped the flames." - -Here I interrupted. "Thank God there is the other copy in the safe!" - -His face lit for a moment, but fell again as he went on. "I ran -downstairs then, but could see no sign of him. I looked into -Renfield's room, but there was no trace there except . . ." Again he -paused. - -"Go on," said Harker hoarsely. So he bowed his head and moistening his -lips with his tongue, added, "except that the poor fellow is dead." - -Mrs. Harker raised her head, looking from one to the other of us she -said solemnly, "God's will be done!" - -I could not but feel that Art was keeping back something. But, as I -took it that it was with a purpose, I said nothing. - -Van Helsing turned to Morris and asked, "And you, friend Quincey, have -you any to tell?" - -"A little," he answered. "It may be much eventually, but at present I -can't say. I thought it well to know if possible where the Count -would go when he left the house. I did not see him, but I saw a bat -rise from Renfield's window, and flap westward. I expected to see him -in some shape go back to Carfax, but he evidently sought some other -lair. He will not be back tonight, for the sky is reddening in the -east, and the dawn is close. We must work tomorrow!" - -He said the latter words through his shut teeth. For a space of -perhaps a couple of minutes there was silence, and I could fancy that -I could hear the sound of our hearts beating. - -Then Van Helsing said, placing his hand tenderly on Mrs. Harker's -head, "And now, Madam Mina, poor dear, dear, Madam Mina, tell us -exactly what happened. God knows that I do not want that you be -pained, but it is need that we know all. For now more than ever has -all work to be done quick and sharp, and in deadly earnest. The day -is close to us that must end all, if it may be so, and now is the -chance that we may live and learn." - -The poor dear lady shivered, and I could see the tension of her nerves -as she clasped her husband closer to her and bent her head lower and -lower still on his breast. Then she raised her head proudly, and held -out one hand to Van Helsing who took it in his, and after stooping and -kissing it reverently, held it fast. The other hand was locked in -that of her husband, who held his other arm thrown round her -protectingly. After a pause in which she was evidently ordering her -thoughts, she began. - -"I took the sleeping draught which you had so kindly given me, but for -a long time it did not act. I seemed to become more wakeful, and -myriads of horrible fancies began to crowd in upon my mind. All of -them connected with death, and vampires, with blood, and pain, and -trouble." Her husband involuntarily groaned as she turned to him and -said lovingly, "Do not fret, dear. You must be brave and strong, and -help me through the horrible task. If you only knew what an effort it -is to me to tell of this fearful thing at all, you would understand -how much I need your help. Well, I saw I must try to help the -medicine to its work with my will, if it was to do me any good, so I -resolutely set myself to sleep. Sure enough sleep must soon have come -to me, for I remember no more. Jonathan coming in had not waked me, -for he lay by my side when next I remember. There was in the room the -same thin white mist that I had before noticed. But I forget now if -you know of this. You will find it in my diary which I shall show you -later. I felt the same vague terror which had come to me before and -the same sense of some presence. I turned to wake Jonathan, but found -that he slept so soundly that it seemed as if it was he who had taken -the sleeping draught, and not I. I tried, but I could not wake him. -This caused me a great fear, and I looked around terrified. Then -indeed, my heart sank within me. Beside the bed, as if he had stepped -out of the mist, or rather as if the mist had turned into his figure, -for it had entirely disappeared, stood a tall, thin man, all in -black. I knew him at once from the description of the others. The -waxen face, the high aquiline nose, on which the light fell in a thin -white line, the parted red lips, with the sharp white teeth showing -between, and the red eyes that I had seemed to see in the sunset on -the windows of St. Mary's Church at Whitby. I knew, too, the red scar -on his forehead where Jonathan had struck him. For an instant my -heart stood still, and I would have screamed out, only that I was -paralyzed. In the pause he spoke in a sort of keen, cutting whisper, -pointing as he spoke to Jonathan. - -"'Silence! If you make a sound I shall take him and dash his brains -out before your very eyes.' I was appalled and was too bewildered to -do or say anything. With a mocking smile, he placed one hand upon my -shoulder and, holding me tight, bared my throat with the other, saying -as he did so, 'First, a little refreshment to reward my exertions. -You may as well be quiet. It is not the first time, or the second, -that your veins have appeased my thirst!' I was bewildered, and -strangely enough, I did not want to hinder him. I suppose it is a -part of the horrible curse that such is, when his touch is on his -victim. And oh, my God, my God, pity me! He placed his reeking lips -upon my throat!" Her husband groaned again. She clasped his hand -harder, and looked at him pityingly, as if he were the injured one, -and went on. - -"I felt my strength fading away, and I was in a half swoon. How long -this horrible thing lasted I know not, but it seemed that a long time -must have passed before he took his foul, awful, sneering mouth away. -I saw it drip with the fresh blood!" The remembrance seemed for a while -to overpower her, and she drooped and would have sunk down but for her -husband's sustaining arm. With a great effort she recovered herself -and went on. - -"Then he spoke to me mockingly, 'And so you, like the others, would -play your brains against mine. You would help these men to hunt me -and frustrate me in my design! You know now, and they know in part -already, and will know in full before long, what it is to cross my -path. They should have kept their energies for use closer to home. -Whilst they played wits against me, against me who commanded nations, -and intrigued for them, and fought for them, hundreds of years before -they were born, I was countermining them. And you, their best beloved -one, are now to me, flesh of my flesh, blood of my blood, kin of my -kin, my bountiful wine-press for a while, and shall be later on my -companion and my helper. You shall be avenged in turn, for not one of -them but shall minister to your needs. But as yet you are to be -punished for what you have done. You have aided in thwarting me. Now -you shall come to my call. When my brain says "Come!" to you, you -shall cross land or sea to do my bidding. And to that end this!' - -"With that he pulled open his shirt, and with his long sharp nails -opened a vein in his breast. When the blood began to spurt out, he -took my hands in one of his, holding them tight, and with the other -seized my neck and pressed my mouth to the wound, so that I must -either suffocate or swallow some to the . . . Oh, my God! My God! -What have I done? What have I done to deserve such a fate, I who have -tried to walk in meekness and righteousness all my days. God pity -me! Look down on a poor soul in worse than mortal peril. And in -mercy pity those to whom she is dear!" Then she began to rub her lips -as though to cleanse them from pollution. - -As she was telling her terrible story, the eastern sky began to -quicken, and everything became more and more clear. Harker was still -and quiet; but over his face, as the awful narrative went on, came a -grey look which deepened and deepened in the morning light, till when -the first red streak of the coming dawn shot up, the flesh stood -darkly out against the whitening hair. - -We have arranged that one of us is to stay within call of the unhappy -pair till we can meet together and arrange about taking action. - -Of this I am sure. The sun rises today on no more miserable house in -all the great round of its daily course. - - - - -CHAPTER 22 - - -JONATHAN HARKER'S JOURNAL - -3 October.--As I must do something or go mad, I write this diary. It -is now six o'clock, and we are to meet in the study in half an hour -and take something to eat, for Dr. Van Helsing and Dr. Seward are -agreed that if we do not eat we cannot work our best. Our best will -be, God knows, required today. I must keep writing at every chance, -for I dare not stop to think. All, big and little, must go down. -Perhaps at the end the little things may teach us most. The teaching, -big or little, could not have landed Mina or me anywhere worse than we -are today. However, we must trust and hope. Poor Mina told me just -now, with the tears running down her dear cheeks, that it is in -trouble and trial that our faith is tested. That we must keep on -trusting, and that God will aid us up to the end. The end! Oh my -God! What end? . . . To work! To work! - -When Dr. Van Helsing and Dr. Seward had come back from seeing poor -Renfield, we went gravely into what was to be done. First, Dr. Seward -told us that when he and Dr. Van Helsing had gone down to the room -below they had found Renfield lying on the floor, all in a heap. His -face was all bruised and crushed in, and the bones of the neck were -broken. - -Dr. Seward asked the attendant who was on duty in the passage if he -had heard anything. He said that he had been sitting down, he -confessed to half dozing, when he heard loud voices in the room, and -then Renfield had called out loudly several times, "God! God! God!" -After that there was a sound of falling, and when he entered the room -he found him lying on the floor, face down, just as the doctors had -seen him. Van Helsing asked if he had heard "voices" or "a voice," -and he said he could not say. That at first it had seemed to him as -if there were two, but as there was no one in the room it could have -been only one. He could swear to it, if required, that the word "God" -was spoken by the patient. - -Dr. Seward said to us, when we were alone, that he did not wish to go -into the matter. The question of an inquest had to be considered, and -it would never do to put forward the truth, as no one would believe -it. As it was, he thought that on the attendant's evidence he could -give a certificate of death by misadventure in falling from bed. In -case the coroner should demand it, there would be a formal inquest, -necessarily to the same result. - -When the question began to be discussed as to what should be our next -step, the very first thing we decided was that Mina should be in full -confidence. That nothing of any sort, no matter how painful, should -be kept from her. She herself agreed as to its wisdom, and it was -pitiful to see her so brave and yet so sorrowful, and in such a depth -of despair. - -"There must be no concealment," she said. "Alas! We have had too -much already. And besides there is nothing in all the world that can -give me more pain than I have already endured, than I suffer now! -Whatever may happen, it must be of new hope or of new courage to me!" - -Van Helsing was looking at her fixedly as she spoke, and said, -suddenly but quietly, "But dear Madam Mina, are you not afraid. Not -for yourself, but for others from yourself, after what has happened?" - -Her face grew set in its lines, but her eyes shone with the devotion -of a martyr as she answered, "Ah no! For my mind is made up!" - -"To what?" he asked gently, whilst we were all very still, for each in -our own way we had a sort of vague idea of what she meant. - -Her answer came with direct simplicity, as though she was simply -stating a fact, "Because if I find in myself, and I shall watch keenly -for it, a sign of harm to any that I love, I shall die!" - -"You would not kill yourself?" he asked, hoarsely. - -"I would. If there were no friend who loved me, who would save me -such a pain, and so desperate an effort!" She looked at him meaningly -as she spoke. - -He was sitting down, but now he rose and came close to her and put his -hand on her head as he said solemnly. "My child, there is such an one -if it were for your good. For myself I could hold it in my account -with God to find such an euthanasia for you, even at this moment if it -were best. Nay, were it safe! But my child . . ." - -For a moment he seemed choked, and a great sob rose in his throat. He -gulped it down and went on, "There are here some who would stand -between you and death. You must not die. You must not die by any -hand, but least of all your own. Until the other, who has fouled your -sweet life, is true dead you must not die. For if he is still with -the quick Undead, your death would make you even as he is. No, you -must live! You must struggle and strive to live, though death would -seem a boon unspeakable. You must fight Death himself, though he come -to you in pain or in joy. By the day, or the night, in safety or in -peril! On your living soul I charge you that you do not die. Nay, -nor think of death, till this great evil be past." - -The poor dear grew white as death, and shook and shivered, as I have -seen a quicksand shake and shiver at the incoming of the tide. We -were all silent. We could do nothing. At length she grew more calm -and turning to him said sweetly, but oh so sorrowfully, as she held -out her hand, "I promise you, my dear friend, that if God will let me -live, I shall strive to do so. Till, if it may be in His good time, -this horror may have passed away from me." - -She was so good and brave that we all felt that our hearts were -strengthened to work and endure for her, and we began to discuss what -we were to do. I told her that she was to have all the papers in the -safe, and all the papers or diaries and phonographs we might hereafter -use, and was to keep the record as she had done before. She was -pleased with the prospect of anything to do, if "pleased" could be -used in connection with so grim an interest. - -As usual Van Helsing had thought ahead of everyone else, and was -prepared with an exact ordering of our work. - -"It is perhaps well," he said, "that at our meeting after our visit to -Carfax we decided not to do anything with the earth boxes that lay -there. Had we done so, the Count must have guessed our purpose, and -would doubtless have taken measures in advance to frustrate such an -effort with regard to the others. But now he does not know our -intentions. Nay, more, in all probability, he does not know that such -a power exists to us as can sterilize his lairs, so that he cannot use -them as of old. - -"We are now so much further advanced in our knowledge as to their -disposition that, when we have examined the house in Piccadilly, we may -track the very last of them. Today then, is ours, and in it rests our -hope. The sun that rose on our sorrow this morning guards us in its -course. Until it sets tonight, that monster must retain whatever form -he now has. He is confined within the limitations of his earthly -envelope. He cannot melt into thin air nor disappear through cracks -or chinks or crannies. If he go through a doorway, he must open the -door like a mortal. And so we have this day to hunt out all his lairs -and sterilize them. So we shall, if we have not yet catch him and -destroy him, drive him to bay in some place where the catching and the -destroying shall be, in time, sure." - -Here I started up for I could not contain myself at the thought that -the minutes and seconds so preciously laden with Mina's life and -happiness were flying from us, since whilst we talked action was -impossible. But Van Helsing held up his hand warningly. - -"Nay, friend Jonathan," he said, "in this, the quickest way home is -the longest way, so your proverb say. We shall all act and act with -desperate quick, when the time has come. But think, in all probable -the key of the situation is in that house in Piccadilly. The Count -may have many houses which he has bought. Of them he will have deeds -of purchase, keys and other things. He will have paper that he write -on. He will have his book of cheques. There are many belongings that -he must have somewhere. Why not in this place so central, so quiet, -where he come and go by the front or the back at all hours, when in -the very vast of the traffic there is none to notice. We shall go -there and search that house. And when we learn what it holds, then we -do what our friend Arthur call, in his phrases of hunt 'stop the -earths' and so we run down our old fox, so? Is it not?" - -"Then let us come at once," I cried, "we are wasting the precious, -precious time!" - -The Professor did not move, but simply said, "And how are we to get -into that house in Piccadilly?" - -"Any way!" I cried. "We shall break in if need be." - -"And your police? Where will they be, and what will they say?" - -I was staggered, but I knew that if he wished to delay he had a good -reason for it. So I said, as quietly as I could, "Don't wait more -than need be. You know, I am sure, what torture I am in." - -"Ah, my child, that I do. And indeed there is no wish of me to add to -your anguish. But just think, what can we do, until all the world be -at movement. Then will come our time. I have thought and thought, -and it seems to me that the simplest way is the best of all. Now we -wish to get into the house, but we have no key. Is it not so?" I -nodded. - -"Now suppose that you were, in truth, the owner of that house, and -could not still get in. And think there was to you no conscience of -the housebreaker, what would you do?" - -"I should get a respectable locksmith, and set him to work to pick the -lock for me." - -"And your police, they would interfere, would they not?" - -"Oh no! Not if they knew the man was properly employed." - -"Then," he looked at me as keenly as he spoke, "all that is in doubt -is the conscience of the employer, and the belief of your policemen as -to whether or not that employer has a good conscience or a bad one. -Your police must indeed be zealous men and clever, oh so clever, in -reading the heart, that they trouble themselves in such matter. No, -no, my friend Jonathan, you go take the lock off a hundred empty -houses in this your London, or of any city in the world, and if you do -it as such things are rightly done, and at the time such things are -rightly done, no one will interfere. I have read of a gentleman who -owned a so fine house in London, and when he went for months of summer -to Switzerland and lock up his house, some burglar come and broke -window at back and got in. Then he went and made open the shutters in -front and walk out and in through the door, before the very eyes of -the police. Then he have an auction in that house, and advertise it, -and put up big notice. And when the day come he sell off by a great -auctioneer all the goods of that other man who own them. Then he go -to a builder, and he sell him that house, making an agreement that he -pull it down and take all away within a certain time. And your police -and other authority help him all they can. And when that owner come -back from his holiday in Switzerland he find only an empty hole where -his house had been. This was all done en regle, and in our work we -shall be en regle too. We shall not go so early that the policemen -who have then little to think of, shall deem it strange. But we shall -go after ten o'clock, when there are many about, and such things would -be done were we indeed owners of the house." - -I could not but see how right he was and the terrible despair of -Mina's face became relaxed in thought. There was hope in such good -counsel. - -Van Helsing went on, "When once within that house we may find more -clues. At any rate some of us can remain there whilst the rest find -the other places where there be more earth boxes, at Bermondsey and -Mile End." - -Lord Godalming stood up. "I can be of some use here," he said. "I -shall wire to my people to have horses and carriages where they will -be most convenient." - -"Look here, old fellow," said Morris, "it is a capital idea to have -all ready in case we want to go horse backing, but don't you think -that one of your snappy carriages with its heraldic adornments in a -byway of Walworth or Mile End would attract too much attention for our -purpose? It seems to me that we ought to take cabs when we go south -or east. And even leave them somewhere near the neighbourhood we are -going to." - -"Friend Quincey is right!" said the Professor. "His head is what you -call in plane with the horizon. It is a difficult thing that we go to -do, and we do not want no peoples to watch us if so it may." - -Mina took a growing interest in everything and I was rejoiced to see -that the exigency of affairs was helping her to forget for a time the -terrible experience of the night. She was very, very pale, almost -ghastly, and so thin that her lips were drawn away, showing her teeth -in somewhat of prominence. I did not mention this last, lest it -should give her needless pain, but it made my blood run cold in my -veins to think of what had occurred with poor Lucy when the Count had -sucked her blood. As yet there was no sign of the teeth growing -sharper, but the time as yet was short, and there was time for fear. - -When we came to the discussion of the sequence of our efforts and of -the disposition of our forces, there were new sources of doubt. It -was finally agreed that before starting for Piccadilly we should -destroy the Count's lair close at hand. In case he should find it out -too soon, we should thus be still ahead of him in our work of -destruction. And his presence in his purely material shape, and at -his weakest, might give us some new clue. - -As to the disposal of forces, it was suggested by the Professor that, -after our visit to Carfax, we should all enter the house in -Piccadilly. That the two doctors and I should remain there, whilst -Lord Godalming and Quincey found the lairs at Walworth and Mile End -and destroyed them. It was possible, if not likely, the Professor -urged, that the Count might appear in Piccadilly during the day, and -that if so we might be able to cope with him then and there. At any -rate, we might be able to follow him in force. To this plan I -strenuously objected, and so far as my going was concerned, for I said -that I intended to stay and protect Mina. I thought that my mind was -made up on the subject, but Mina would not listen to my objection. She -said that there might be some law matter in which I could be useful. -That amongst the Count's papers might be some clue which I could -understand out of my experience in Transylvania. And that, as it was, -all the strength we could muster was required to cope with the Count's -extraordinary power. I had to give in, for Mina's resolution was -fixed. She said that it was the last hope for her that we should all -work together. - -"As for me," she said, "I have no fear. Things have been as bad as -they can be. And whatever may happen must have in it some element of -hope or comfort. Go, my husband! God can, if He wishes it, guard me -as well alone as with any one present." - -So I started up crying out, "Then in God's name let us come at once, -for we are losing time. The Count may come to Piccadilly earlier than -we think." - -"Not so!" said Van Helsing, holding up his hand. - -"But why?" I asked. - -"Do you forget," he said, with actually a smile, "that last night he -banqueted heavily, and will sleep late?" - -Did I forget! Shall I ever . . . can I ever! Can any of us ever -forget that terrible scene! Mina struggled hard to keep her brave -countenance, but the pain overmastered her and she put her hands -before her face, and shuddered whilst she moaned. Van Helsing had not -intended to recall her frightful experience. He had simply lost sight -of her and her part in the affair in his intellectual effort. - -When it struck him what he said, he was horrified at his -thoughtlessness and tried to comfort her. - -"Oh, Madam Mina," he said, "dear, dear, Madam Mina, alas! That I of -all who so reverence you should have said anything so forgetful. These -stupid old lips of mine and this stupid old head do not deserve so, -but you will forget it, will you not?" He bent low beside her as he -spoke. - -She took his hand, and looking at him through her tears, said -hoarsely, "No, I shall not forget, for it is well that I remember. -And with it I have so much in memory of you that is sweet, that I take -it all together. Now, you must all be going soon. Breakfast is -ready, and we must all eat that we may be strong." - -Breakfast was a strange meal to us all. We tried to be cheerful and -encourage each other, and Mina was the brightest and most cheerful of -us. When it was over, Van Helsing stood up and said, "Now, my dear -friends, we go forth to our terrible enterprise. Are we all armed, as -we were on that night when first we visited our enemy's lair. Armed -against ghostly as well as carnal attack?" - -We all assured him. - -"Then it is well. Now, Madam Mina, you are in any case quite safe -here until the sunset. And before then we shall return . . . if . . . -We shall return! But before we go let me see you armed against personal -attack. I have myself, since you came down, prepared your chamber by -the placing of things of which we know, so that He may not enter. Now -let me guard yourself. On your forehead I touch this piece of Sacred -Wafer in the name of the Father, the Son, and . . ." - -There was a fearful scream which almost froze our hearts to hear. As -he had placed the Wafer on Mina's forehead, it had seared it . . . had -burned into the flesh as though it had been a piece of white-hot metal. -My poor darling's brain had told her the significance of the fact as -quickly as her nerves received the pain of it, and the two so -overwhelmed her that her overwrought nature had its voice in that -dreadful scream. - -But the words to her thought came quickly. The echo of the scream had -not ceased to ring on the air when there came the reaction, and she -sank on her knees on the floor in an agony of abasement. Pulling her -beautiful hair over her face, as the leper of old his mantle, she -wailed out. - -"Unclean! Unclean! Even the Almighty shuns my polluted flesh! I -must bear this mark of shame upon my forehead until the Judgement -Day." - -They all paused. I had thrown myself beside her in an agony of -helpless grief, and putting my arms around held her tight. For a few -minutes our sorrowful hearts beat together, whilst the friends around -us turned away their eyes that ran tears silently. Then Van Helsing -turned and said gravely. So gravely that I could not help feeling -that he was in some way inspired, and was stating things outside -himself. - -"It may be that you may have to bear that mark till God himself see -fit, as He most surely shall, on the Judgement Day, to redress all -wrongs of the earth and of His children that He has placed thereon. -And oh, Madam Mina, my dear, my dear, may we who love you be there to -see, when that red scar, the sign of God's knowledge of what has been, -shall pass away, and leave your forehead as pure as the heart we know. -For so surely as we live, that scar shall pass away when God sees -right to lift the burden that is hard upon us. Till then we bear our -Cross, as His Son did in obedience to His Will. It may be that we are -chosen instruments of His good pleasure, and that we ascend to His -bidding as that other through stripes and shame. Through tears and -blood. Through doubts and fear, and all that makes the difference -between God and man." - -There was hope in his words, and comfort. And they made for -resignation. Mina and I both felt so, and simultaneously we each took -one of the old man's hands and bent over and kissed it. Then without -a word we all knelt down together, and all holding hands, swore to be -true to each other. We men pledged ourselves to raise the veil of -sorrow from the head of her whom, each in his own way, we loved. And -we prayed for help and guidance in the terrible task which lay before -us. It was then time to start. So I said farewell to Mina, a parting -which neither of us shall forget to our dying day, and we set out. - -To one thing I have made up my mind. If we find out that Mina must be -a vampire in the end, then she shall not go into that unknown and -terrible land alone. I suppose it is thus that in old times one -vampire meant many. Just as their hideous bodies could only rest in -sacred earth, so the holiest love was the recruiting sergeant for -their ghastly ranks. - -We entered Carfax without trouble and found all things the same as on -the first occasion. It was hard to believe that amongst so prosaic -surroundings of neglect and dust and decay there was any ground for -such fear as already we knew. Had not our minds been made up, and had -there not been terrible memories to spur us on, we could hardly have -proceeded with our task. We found no papers, or any sign of use in -the house. And in the old chapel the great boxes looked just as we -had seen them last. - -Dr. Van Helsing said to us solemnly as we stood before him, "And now, -my friends, we have a duty here to do. We must sterilize this earth, -so sacred of holy memories, that he has brought from a far distant -land for such fell use. He has chosen this earth because it has been -holy. Thus we defeat him with his own weapon, for we make it more -holy still. It was sanctified to such use of man, now we sanctify it -to God." - -As he spoke he took from his bag a screwdriver and a wrench, and very -soon the top of one of the cases was thrown open. The earth smelled -musty and close, but we did not somehow seem to mind, for our -attention was concentrated on the Professor. Taking from his box a -piece of the Sacred Wafer he laid it reverently on the earth, and then -shutting down the lid began to screw it home, we aiding him as he -worked. - -One by one we treated in the same way each of the great boxes, and -left them as we had found them to all appearance. But in each was a -portion of the Host. When we closed the door behind us, the Professor -said solemnly, "So much is already done. It may be that with all the -others we can be so successful, then the sunset of this evening may -shine of Madam Mina's forehead all white as ivory and with no stain!" - -As we passed across the lawn on our way to the station to catch our -train we could see the front of the asylum. I looked eagerly, and in -the window of my own room saw Mina. I waved my hand to her, and -nodded to tell that our work there was successfully accomplished. She -nodded in reply to show that she understood. The last I saw, she was -waving her hand in farewell. It was with a heavy heart that we sought -the station and just caught the train, which was steaming in as we -reached the platform. I have written this in the train. - - -Piccadilly, 12:30 o'clock.--Just before we reached Fenchurch Street -Lord Godalming said to me, "Quincey and I will find a locksmith. You -had better not come with us in case there should be any difficulty. -For under the circumstances it wouldn't seem so bad for us to break -into an empty house. But you are a solicitor and the Incorporated Law -Society might tell you that you should have known better." - -I demurred as to my not sharing any danger even of odium, but he went -on, "Besides, it will attract less attention if there are not too many -of us. My title will make it all right with the locksmith, and with -any policeman that may come along. You had better go with Jack and -the Professor and stay in the Green Park. Somewhere in sight of the -house, and when you see the door opened and the smith has gone away, -do you all come across. We shall be on the lookout for you, and shall -let you in." - -"The advice is good!" said Van Helsing, so we said no more. Godalming -and Morris hurried off in a cab, we following in another. At the -corner of Arlington Street our contingent got out and strolled into -the Green Park. My heart beat as I saw the house on which so much of -our hope was centred, looming up grim and silent in its deserted -condition amongst its more lively and spruce-looking neighbours. We -sat down on a bench within good view, and began to smoke cigars so as -to attract as little attention as possible. The minutes seemed to -pass with leaden feet as we waited for the coming of the others. - -At length we saw a four-wheeler drive up. Out of it, in leisurely -fashion, got Lord Godalming and Morris. And down from the box -descended a thick-set working man with his rush-woven basket of tools. -Morris paid the cabman, who touched his hat and drove away. Together -the two ascended the steps, and Lord Godalming pointed out what he -wanted done. The workman took off his coat leisurely and hung it on -one of the spikes of the rail, saying something to a policeman who -just then sauntered along. The policeman nodded acquiescence, and the -man kneeling down placed his bag beside him. After searching through -it, he took out a selection of tools which he proceeded to lay beside -him in orderly fashion. Then he stood up, looked in the keyhole, blew -into it, and turning to his employers, made some remark. Lord -Godalming smiled, and the man lifted a good sized bunch of keys. -Selecting one of them, he began to probe the lock, as if feeling his -way with it. After fumbling about for a bit he tried a second, and -then a third. All at once the door opened under a slight push from -him, and he and the two others entered the hall. We sat still. My -own cigar burnt furiously, but Van Helsing's went cold altogether. We -waited patiently as we saw the workman come out and bring his bag. -Then he held the door partly open, steadying it with his knees, whilst -he fitted a key to the lock. This he finally handed to Lord -Godalming, who took out his purse and gave him something. The man -touched his hat, took his bag, put on his coat and departed. Not a -soul took the slightest notice of the whole transaction. - -When the man had fairly gone, we three crossed the street and knocked -at the door. It was immediately opened by Quincey Morris, beside whom -stood Lord Godalming lighting a cigar. - -"The place smells so vilely," said the latter as we came in. It did -indeed smell vilely. Like the old chapel at Carfax. And with our -previous experience it was plain to us that the Count had been using -the place pretty freely. We moved to explore the house, all keeping -together in case of attack, for we knew we had a strong and wily enemy -to deal with, and as yet we did not know whether the Count might not -be in the house. - -In the dining room, which lay at the back of the hall, we found eight -boxes of earth. Eight boxes only out of the nine which we sought! -Our work was not over, and would never be until we should have found -the missing box. - -First we opened the shutters of the window which looked out across a -narrow stone flagged yard at the blank face of a stable, pointed to -look like the front of a miniature house. There were no windows in -it, so we were not afraid of being overlooked. We did not lose any -time in examining the chests. With the tools which we had brought -with us we opened them, one by one, and treated them as we had treated -those others in the old chapel. It was evident to us that the Count -was not at present in the house, and we proceeded to search for any of -his effects. - -After a cursory glance at the rest of the rooms, from basement to -attic, we came to the conclusion that the dining room contained any -effects which might belong to the Count. And so we proceeded to -minutely examine them. They lay in a sort of orderly disorder on the -great dining room table. - -There were title deeds of the Piccadilly house in a great bundle, -deeds of the purchase of the houses at Mile End and Bermondsey, -notepaper, envelopes, and pens and ink. All were covered up in thin -wrapping paper to keep them from the dust. There were also a clothes -brush, a brush and comb, and a jug and basin. The latter containing -dirty water which was reddened as if with blood. Last of all was a -little heap of keys of all sorts and sizes, probably those belonging -to the other houses. - -When we had examined this last find, Lord Godalming and Quincey Morris -taking accurate notes of the various addresses of the houses in the -East and the South, took with them the keys in a great bunch, and set -out to destroy the boxes in these places. The rest of us are, with -what patience we can, waiting their return, or the coming of the -Count. - - - - -CHAPTER 23 - - -DR. SEWARD'S DIARY - -3 October.--The time seemed terribly long whilst we were waiting for -the coming of Godalming and Quincey Morris. The Professor tried to -keep our minds active by using them all the time. I could see his -beneficent purpose, by the side glances which he threw from time to -time at Harker. The poor fellow is overwhelmed in a misery that is -appalling to see. Last night he was a frank, happy-looking man, with -strong, youthful face, full of energy, and with dark brown hair. -Today he is a drawn, haggard old man, whose white hair matches well -with the hollow burning eyes and grief-written lines of his face. His -energy is still intact. In fact, he is like a living flame. This may -yet be his salvation, for if all go well, it will tide him over the -despairing period. He will then, in a kind of way, wake again to the -realities of life. Poor fellow, I thought my own trouble was bad -enough, but his . . . ! - -The Professor knows this well enough, and is doing his best to keep -his mind active. What he has been saying was, under the -circumstances, of absorbing interest. So well as I can remember, here -it is: - -"I have studied, over and over again since they came into my hands, -all the papers relating to this monster, and the more I have studied, -the greater seems the necessity to utterly stamp him out. All through -there are signs of his advance. Not only of his power, but of his -knowledge of it. As I learned from the researches of my friend -Arminius of Buda-Pesth, he was in life a most wonderful man. Soldier, -statesman, and alchemist--which latter was the highest development of -the science knowledge of his time. He had a mighty brain, a learning -beyond compare, and a heart that knew no fear and no remorse. He -dared even to attend the Scholomance, and there was no branch of -knowledge of his time that he did not essay. - -"Well, in him the brain powers survived the physical death. Though it -would seem that memory was not all complete. In some faculties of -mind he has been, and is, only a child. But he is growing, and some -things that were childish at the first are now of man's stature. He -is experimenting, and doing it well. And if it had not been that we -have crossed his path he would be yet, he may be yet if we fail, the -father or furtherer of a new order of beings, whose road must lead -through Death, not Life." - -Harker groaned and said, "And this is all arrayed against my darling! -But how is he experimenting? The knowledge may help us to defeat -him!" - -"He has all along, since his coming, been trying his power, slowly but -surely. That big child-brain of his is working. Well for us, it is -as yet a child-brain. For had he dared, at the first, to attempt -certain things he would long ago have been beyond our power. However, -he means to succeed, and a man who has centuries before him can afford -to wait and to go slow. Festina lente may well be his motto." - -"I fail to understand," said Harker wearily. "Oh, do be more plain to -me! Perhaps grief and trouble are dulling my brain." - -The Professor laid his hand tenderly on his shoulder as he spoke, "Ah, -my child, I will be plain. Do you not see how, of late, this monster -has been creeping into knowledge experimentally. How he has been -making use of the zoophagous patient to effect his entry into friend -John's home. For your Vampire, though in all afterwards he can come -when and how he will, must at the first make entry only when asked -thereto by an inmate. But these are not his most important -experiments. Do we not see how at the first all these so great boxes -were moved by others. He knew not then but that must be so. But all -the time that so great child-brain of his was growing, and he began to -consider whether he might not himself move the box. So he began to -help. And then, when he found that this be all right, he try to move -them all alone. And so he progress, and he scatter these graves of -him. And none but he know where they are hidden. - -"He may have intend to bury them deep in the ground. So that only he -use them in the night, or at such time as he can change his form, they -do him equal well, and none may know these are his hiding place! But, -my child, do not despair, this knowledge came to him just too late! -Already all of his lairs but one be sterilize as for him. And before -the sunset this shall be so. Then he have no place where he can move -and hide. I delayed this morning that so we might be sure. Is there -not more at stake for us than for him? Then why not be more careful -than him? By my clock it is one hour and already, if all be well, -friend Arthur and Quincey are on their way to us. Today is our day, -and we must go sure, if slow, and lose no chance. See! There are -five of us when those absent ones return." - -Whilst we were speaking we were startled by a knock at the hall door, -the double postman's knock of the telegraph boy. We all moved out to -the hall with one impulse, and Van Helsing, holding up his hand to us -to keep silence, stepped to the door and opened it. The boy handed in -a dispatch. The Professor closed the door again, and after looking at -the direction, opened it and read aloud. - -"Look out for D. He has just now, 12:45, come from Carfax -hurriedly and hastened towards the South. He seems to be -going the round and may want to see you: Mina." - -There was a pause, broken by Jonathan Harker's voice, "Now, God be -thanked, we shall soon meet!" - -Van Helsing turned to him quickly and said, "God will act in His own -way and time. Do not fear, and do not rejoice as yet. For what we -wish for at the moment may be our own undoings." - -"I care for nothing now," he answered hotly, "except to wipe out this -brute from the face of creation. I would sell my soul to do it!" - -"Oh, hush, hush, my child!" said Van Helsing. "God does not purchase -souls in this wise, and the Devil, though he may purchase, does not -keep faith. But God is merciful and just, and knows your pain and -your devotion to that dear Madam Mina. Think you, how her pain would -be doubled, did she but hear your wild words. Do not fear any of us, -we are all devoted to this cause, and today shall see the end. The -time is coming for action. Today this Vampire is limit to the powers -of man, and till sunset he may not change. It will take him time to -arrive here, see it is twenty minutes past one, and there are yet some -times before he can hither come, be he never so quick. What we must -hope for is that my Lord Arthur and Quincey arrive first." - -About half an hour after we had received Mrs. Harker's telegram, there -came a quiet, resolute knock at the hall door. It was just an -ordinary knock, such as is given hourly by thousands of gentlemen, but -it made the Professor's heart and mine beat loudly. We looked at each -other, and together moved out into the hall. We each held ready to -use our various armaments, the spiritual in the left hand, the mortal -in the right. Van Helsing pulled back the latch, and holding the door -half open, stood back, having both hands ready for action. The -gladness of our hearts must have shown upon our faces when on the -step, close to the door, we saw Lord Godalming and Quincey Morris. -They came quickly in and closed the door behind them, the former -saying, as they moved along the hall: - -"It is all right. We found both places. Six boxes in each and we -destroyed them all." - -"Destroyed?" asked the Professor. - -"For him!" We were silent for a minute, and then Quincey said, -"There's nothing to do but to wait here. If, however, he doesn't turn -up by five o'clock, we must start off. For it won't do to leave Mrs. -Harker alone after sunset." - -"He will be here before long now," said Van Helsing, who had been -consulting his pocketbook. "Nota bene, in Madam's telegram he went -south from Carfax. That means he went to cross the river, and he -could only do so at slack of tide, which should be something before -one o'clock. That he went south has a meaning for us. He is as yet -only suspicious, and he went from Carfax first to the place where he -would suspect interference least. You must have been at Bermondsey -only a short time before him. That he is not here already shows that -he went to Mile End next. This took him some time, for he would then -have to be carried over the river in some way. Believe me, my -friends, we shall not have long to wait now. We should have ready -some plan of attack, so that we may throw away no chance. Hush, there -is no time now. Have all your arms! Be ready!" He held up a warning -hand as he spoke, for we all could hear a key softly inserted in the -lock of the hall door. - -I could not but admire, even at such a moment, the way in which a -dominant spirit asserted itself. In all our hunting parties and -adventures in different parts of the world, Quincey Morris had always -been the one to arrange the plan of action, and Arthur and I had been -accustomed to obey him implicitly. Now, the old habit seemed to be -renewed instinctively. With a swift glance around the room, he at -once laid out our plan of attack, and without speaking a word, with a -gesture, placed us each in position. Van Helsing, Harker, and I were -just behind the door, so that when it was opened the Professor could -guard it whilst we two stepped between the incomer and the door. -Godalming behind and Quincey in front stood just out of sight ready to -move in front of the window. We waited in a suspense that made the -seconds pass with nightmare slowness. The slow, careful steps came -along the hall. The Count was evidently prepared for some surprise, -at least he feared it. - -Suddenly with a single bound he leaped into the room. Winning a way -past us before any of us could raise a hand to stay him. There was -something so pantherlike in the movement, something so unhuman, that -it seemed to sober us all from the shock of his coming. The first to -act was Harker, who with a quick movement, threw himself before the -door leading into the room in the front of the house. As the Count -saw us, a horrible sort of snarl passed over his face, showing the -eyeteeth long and pointed. But the evil smile as quickly passed into -a cold stare of lion-like disdain. His expression again changed as, -with a single impulse, we all advanced upon him. It was a pity that -we had not some better organized plan of attack, for even at the -moment I wondered what we were to do. I did not myself know whether -our lethal weapons would avail us anything. - -Harker evidently meant to try the matter, for he had ready his great -Kukri knife and made a fierce and sudden cut at him. The blow was a -powerful one; only the diabolical quickness of the Count's leap back -saved him. A second less and the trenchant blade had shorn through -his heart. As it was, the point just cut the cloth of his coat, -making a wide gap whence a bundle of bank notes and a stream -of gold fell out. The expression of the Count's face was so hellish, -that for a moment I feared for Harker, though I saw him throw the -terrible knife aloft again for another stroke. Instinctively I moved -forward with a protective impulse, holding the Crucifix and Wafer in -my left hand. I felt a mighty power fly along my arm, and it was -without surprise that I saw the monster cower back before a similar -movement made spontaneously by each one of us. It would be impossible -to describe the expression of hate and baffled malignity, of anger and -hellish rage, which came over the Count's face. His waxen hue became -greenish-yellow by the contrast of his burning eyes, and the red scar -on the forehead showed on the pallid skin like a palpitating wound. -The next instant, with a sinuous dive he swept under Harker's arm, ere -his blow could fall, and grasping a handful of the money from the -floor, dashed across the room, threw himself at the window. Amid the -crash and glitter of the falling glass, he tumbled into the flagged -area below. Through the sound of the shivering glass I could hear the -"ting" of the gold, as some of the sovereigns fell on the flagging. - -We ran over and saw him spring unhurt from the ground. He, rushing up -the steps, crossed the flagged yard, and pushed open the stable door. -There he turned and spoke to us. - -"You think to baffle me, you with your pale faces all in a row, like -sheep in a butcher's. You shall be sorry yet, each one of you! You -think you have left me without a place to rest, but I have more. My -revenge is just begun! I spread it over centuries, and time is on my -side. Your girls that you all love are mine already. And through -them you and others shall yet be mine, my creatures, to do my bidding -and to be my jackals when I want to feed. Bah!" - -With a contemptuous sneer, he passed quickly through the door, and we -heard the rusty bolt creak as he fastened it behind him. A door -beyond opened and shut. The first of us to speak was the Professor. -Realizing the difficulty of following him through the stable, we moved -toward the hall. - -"We have learnt something . . . much! Notwithstanding his brave words, -he fears us. He fears time, he fears want! For if not, why he hurry -so? His very tone betray him, or my ears deceive. Why take that -money? You follow quick. You are hunters of the wild beast, and -understand it so. For me, I make sure that nothing here may be of use -to him, if so that he returns." - -As he spoke he put the money remaining in his pocket, took the title -deeds in the bundle as Harker had left them, and swept the remaining -things into the open fireplace, where he set fire to them with a -match. - -Godalming and Morris had rushed out into the yard, and Harker had -lowered himself from the window to follow the Count. He had, however, -bolted the stable door, and by the time they had forced it open there -was no sign of him. Van Helsing and I tried to make inquiry at the -back of the house. But the mews was deserted and no one had seen him -depart. - -It was now late in the afternoon, and sunset was not far off. We had -to recognize that our game was up. With heavy hearts we agreed with -the Professor when he said, "Let us go back to Madam Mina. Poor, poor -dear Madam Mina. All we can do just now is done, and we can there, at -least, protect her. But we need not despair. There is but one more -earth box, and we must try to find it. When that is done all may yet -be well." - -I could see that he spoke as bravely as he could to comfort Harker. -The poor fellow was quite broken down, now and again he gave a low -groan which he could not suppress. He was thinking of his wife. - -With sad hearts we came back to my house, where we found Mrs. Harker -waiting us, with an appearance of cheerfulness which did honour to her -bravery and unselfishness. When she saw our faces, her own became as -pale as death. For a second or two her eyes were closed as if she -were in secret prayer. - -And then she said cheerfully, "I can never thank you all enough. Oh, -my poor darling!" - -As she spoke, she took her husband's grey head in her hands and kissed -it. - -"Lay your poor head here and rest it. All will yet be well, dear! God -will protect us if He so will it in His good intent." The poor fellow -groaned. There was no place for words in his sublime misery. - -We had a sort of perfunctory supper together, and I think it cheered -us all up somewhat. It was, perhaps, the mere animal heat of food to -hungry people, for none of us had eaten anything since breakfast, or -the sense of companionship may have helped us, but anyhow we were all -less miserable, and saw the morrow as not altogether without hope. - -True to our promise, we told Mrs. Harker everything which had passed. -And although she grew snowy white at times when danger had seemed to -threaten her husband, and red at others when his devotion to her was -manifested, she listened bravely and with calmness. When we came to -the part where Harker had rushed at the Count so recklessly, she clung -to her husband's arm, and held it tight as though her clinging could -protect him from any harm that might come. She said nothing, however, -till the narration was all done, and matters had been brought up to -the present time. - -Then without letting go her husband's hand she stood up amongst us and -spoke. Oh, that I could give any idea of the scene. Of that sweet, -sweet, good, good woman in all the radiant beauty of her youth and -animation, with the red scar on her forehead, of which she was -conscious, and which we saw with grinding of our teeth, remembering -whence and how it came. Her loving kindness against our grim hate. -Her tender faith against all our fears and doubting. And we, knowing -that so far as symbols went, she with all her goodness and purity and -faith, was outcast from God. - -"Jonathan," she said, and the word sounded like music on her lips it -was so full of love and tenderness, "Jonathan dear, and you all my -true, true friends, I want you to bear something in mind through all -this dreadful time. I know that you must fight. That you must -destroy even as you destroyed the false Lucy so that the true Lucy -might live hereafter. But it is not a work of hate. That poor soul -who has wrought all this misery is the saddest case of all. Just -think what will be his joy when he, too, is destroyed in his worser -part that his better part may have spiritual immortality. You must be -pitiful to him, too, though it may not hold your hands from his -destruction." - -As she spoke I could see her husband's face darken and draw together, -as though the passion in him were shriveling his being to its core. -Instinctively the clasp on his wife's hand grew closer, till his -knuckles looked white. She did not flinch from the pain which I knew -she must have suffered, but looked at him with eyes that were more -appealing than ever. - -As she stopped speaking he leaped to his feet, almost tearing his hand -from hers as he spoke. - -"May God give him into my hand just for long enough to destroy that -earthly life of him which we are aiming at. If beyond it I could send -his soul forever and ever to burning hell I would do it!" - -"Oh, hush! Oh, hush in the name of the good God. Don't say such -things, Jonathan, my husband, or you will crush me with fear and -horror. Just think, my dear . . . I have been thinking all this long, -long day of it . . . that . . . perhaps . . . some day . . . I, too, may -need such pity, and that some other like you, and with equal cause for -anger, may deny it to me! Oh, my husband! My husband, indeed I would -have spared you such a thought had there been another way. But I pray -that God may not have treasured your wild words, except as the -heart-broken wail of a very loving and sorely stricken man. Oh, God, -let these poor white hairs go in evidence of what he has suffered, who -all his life has done no wrong, and on whom so many sorrows have -come." - -We men were all in tears now. There was no resisting them, and we -wept openly. She wept, too, to see that her sweeter counsels had -prevailed. Her husband flung himself on his knees beside her, and -putting his arms round her, hid his face in the folds of her dress. -Van Helsing beckoned to us and we stole out of the room, leaving the -two loving hearts alone with their God. - -Before they retired the Professor fixed up the room against any coming -of the Vampire, and assured Mrs. Harker that she might rest in peace. -She tried to school herself to the belief, and manifestly for her -husband's sake, tried to seem content. It was a brave struggle, and -was, I think and believe, not without its reward. Van Helsing had -placed at hand a bell which either of them was to sound in case of any -emergency. When they had retired, Quincey, Godalming, and I arranged -that we should sit up, dividing the night between us, and watch over -the safety of the poor stricken lady. The first watch falls to -Quincey, so the rest of us shall be off to bed as soon as we can. - -Godalming has already turned in, for his is the second watch. Now -that my work is done I, too, shall go to bed. - - - -JONATHAN HARKER'S JOURNAL - -3-4 October, close to midnight.--I thought yesterday would never end. -There was over me a yearning for sleep, in some sort of blind belief -that to wake would be to find things changed, and that any change must -now be for the better. Before we parted, we discussed what our next -step was to be, but we could arrive at no result. All we knew was -that one earth box remained, and that the Count alone knew where it -was. If he chooses to lie hidden, he may baffle us for years. And in -the meantime, the thought is too horrible, I dare not think of it even -now. This I know, that if ever there was a woman who was all -perfection, that one is my poor wronged darling. I loved her a -thousand times more for her sweet pity of last night, a pity that made -my own hate of the monster seem despicable. Surely God will not -permit the world to be the poorer by the loss of such a creature. This -is hope to me. We are all drifting reefwards now, and faith is our -only anchor. Thank God! Mina is sleeping, and sleeping without -dreams. I fear what her dreams might be like, with such terrible -memories to ground them in. She has not been so calm, within my -seeing, since the sunset. Then, for a while, there came over her face -a repose which was like spring after the blasts of March. I thought -at the time that it was the softness of the red sunset on her face, -but somehow now I think it has a deeper meaning. I am not sleepy -myself, though I am weary . . . weary to death. However, I must try -to sleep. For there is tomorrow to think of, and there is no rest for -me until . . . - - -Later--I must have fallen asleep, for I was awakened by Mina, who was -sitting up in bed, with a startled look on her face. I could see -easily, for we did not leave the room in darkness. She had placed a -warning hand over my mouth, and now she whispered in my ear, "Hush! -There is someone in the corridor!" I got up softly, and crossing the -room, gently opened the door. - -Just outside, stretched on a mattress, lay Mr. Morris, wide awake. He -raised a warning hand for silence as he whispered to me, "Hush! Go -back to bed. It is all right. One of us will be here all night. We -don't mean to take any chances!" - -His look and gesture forbade discussion, so I came back and told Mina. -She sighed and positively a shadow of a smile stole over her poor, -pale face as she put her arms round me and said softly, "Oh, thank God -for good brave men!" With a sigh she sank back again to sleep. I -write this now as I am not sleepy, though I must try again. - - -4 October, morning.--Once again during the night I was wakened by -Mina. This time we had all had a good sleep, for the grey of the -coming dawn was making the windows into sharp oblongs, and the gas -flame was like a speck rather than a disc of light. - -She said to me hurriedly, "Go, call the Professor. I want to see him -at once." - -"Why?" I asked. - -"I have an idea. I suppose it must have come in the night, and -matured without my knowing it. He must hypnotize me before the dawn, -and then I shall be able to speak. Go quick, dearest, the time is -getting close." - -I went to the door. Dr. Seward was resting on the mattress, and -seeing me, he sprang to his feet. - -"Is anything wrong?" he asked, in alarm. - -"No," I replied. "But Mina wants to see Dr. Van Helsing at once." - -"I will go," he said, and hurried into the Professor's room. - -Two or three minutes later Van Helsing was in the room in his dressing -gown, and Mr. Morris and Lord Godalming were with Dr. Seward at the -door asking questions. When the Professor saw Mina a smile, a -positive smile ousted the anxiety of his face. - -He rubbed his hands as he said, "Oh, my dear Madam Mina, this is -indeed a change. See! Friend Jonathan, we have got our dear Madam -Mina, as of old, back to us today!" Then turning to her, he said -cheerfully, "And what am I to do for you? For at this hour you do not -want me for nothing." - -"I want you to hypnotize me!" she said. "Do it before the dawn, for I -feel that then I can speak, and speak freely. Be quick, for the time -is short!" Without a word he motioned her to sit up in bed. - -Looking fixedly at her, he commenced to make passes in front of her, -from over the top of her head downward, with each hand in turn. Mina -gazed at him fixedly for a few minutes, during which my own heart beat -like a trip hammer, for I felt that some crisis was at hand. -Gradually her eyes closed, and she sat, stock still. Only by the -gentle heaving of her bosom could one know that she was alive. The -Professor made a few more passes and then stopped, and I could see -that his forehead was covered with great beads of perspiration. Mina -opened her eyes, but she did not seem the same woman. There was a -far-away look in her eyes, and her voice had a sad dreaminess which -was new to me. Raising his hand to impose silence, the Professor -motioned to me to bring the others in. They came on tiptoe, closing -the door behind them, and stood at the foot of the bed, looking on. -Mina appeared not to see them. The stillness was broken by Van -Helsing's voice speaking in a low level tone which would not break the -current of her thoughts. - -"Where are you?" The answer came in a neutral way. - -"I do not know. Sleep has no place it can call its own." For several -minutes there was silence. Mina sat rigid, and the Professor stood -staring at her fixedly. - -The rest of us hardly dared to breathe. The room was growing lighter. -Without taking his eyes from Mina's face, Dr. Van Helsing motioned me -to pull up the blind. I did so, and the day seemed just upon us. A -red streak shot up, and a rosy light seemed to diffuse itself through -the room. On the instant the Professor spoke again. - -"Where are you now?" - -The answer came dreamily, but with intention. It were as though she -were interpreting something. I have heard her use the same tone when -reading her shorthand notes. - -"I do not know. It is all strange to me!" - -"What do you see?" - -"I can see nothing. It is all dark." - -"What do you hear?" I could detect the strain in the Professor's -patient voice. - -"The lapping of water. It is gurgling by, and little waves leap. I -can hear them on the outside." - -"Then you are on a ship?'" - -We all looked at each other, trying to glean something each from the -other. We were afraid to think. - -The answer came quick, "Oh, yes!" - -"What else do you hear?" - -"The sound of men stamping overhead as they run about. There is the -creaking of a chain, and the loud tinkle as the check of the capstan -falls into the ratchet." - -"What are you doing?" - -"I am still, oh so still. It is like death!" The voice faded away -into a deep breath as of one sleeping, and the open eyes closed again. - -By this time the sun had risen, and we were all in the full light of -day. Dr. Van Helsing placed his hands on Mina's shoulders, and laid -her head down softly on her pillow. She lay like a sleeping child for -a few moments, and then, with a long sigh, awoke and stared in wonder -to see us all around her. - -"Have I been talking in my sleep?" was all she said. She seemed, -however, to know the situation without telling, though she was eager -to know what she had told. The Professor repeated the conversation, -and she said, "Then there is not a moment to lose. It may not be yet -too late!" - -Mr. Morris and Lord Godalming started for the door but the Professor's -calm voice called them back. - -"Stay, my friends. That ship, wherever it was, was weighing anchor at -the moment in your so great Port of London. Which of them is it that -you seek? God be thanked that we have once again a clue, though -whither it may lead us we know not. We have been blind somewhat. -Blind after the manner of men, since we can look back we see what we -might have seen looking forward if we had been able to see what we -might have seen! Alas, but that sentence is a puddle, is it not? We -can know now what was in the Count's mind, when he seize that money, -though Jonathan's so fierce knife put him in the danger that even he -dread. He meant escape. Hear me, ESCAPE! He saw that with but one -earth box left, and a pack of men following like dogs after a fox, -this London was no place for him. He have take his last earth box on -board a ship, and he leave the land. He think to escape, but no! We -follow him. Tally Ho! As friend Arthur would say when he put on his -red frock! Our old fox is wily. Oh! So wily, and we must follow -with wile. I, too, am wily and I think his mind in a little while. -In meantime we may rest and in peace, for there are between us which -he do not want to pass, and which he could not if he would. Unless -the ship were to touch the land, and then only at full or slack tide. -See, and the sun is just rose, and all day to sunset is us. Let us -take bath, and dress, and have breakfast which we all need, and which -we can eat comfortably since he be not in the same land with us." - -Mina looked at him appealingly as she asked, "But why need we seek him -further, when he is gone away from us?" - -He took her hand and patted it as he replied, "Ask me nothing as yet. -When we have breakfast, then I answer all questions." He would say no -more, and we separated to dress. - -After breakfast Mina repeated her question. He looked at her gravely -for a minute and then said sorrowfully, "Because my dear, dear Madam -Mina, now more than ever must we find him even if we have to follow -him to the jaws of Hell!" - -She grew paler as she asked faintly, "Why?" - -"Because," he answered solemnly, "he can live for centuries, and you -are but mortal woman. Time is now to be dreaded, since once he put -that mark upon your throat." - -I was just in time to catch her as she fell forward in a faint. - - - - -CHAPTER 24 - - -DR. SEWARD'S PHONOGRAPH DIARY - -SPOKEN BY VAN HELSING - -This to Jonathan Harker. - -You are to stay with your dear Madam Mina. We shall go to make our -search, if I can call it so, for it is not search but knowing, and we -seek confirmation only. But do you stay and take care of her today. -This is your best and most holiest office. This day nothing can find -him here. - -Let me tell you that so you will know what we four know already, for I -have tell them. He, our enemy, have gone away. He have gone back to -his Castle in Transylvania. I know it so well, as if a great hand of -fire wrote it on the wall. He have prepare for this in some way, and -that last earth box was ready to ship somewheres. For this he took -the money. For this he hurry at the last, lest we catch him before -the sun go down. It was his last hope, save that he might hide in the -tomb that he think poor Miss Lucy, being as he thought like him, keep -open to him. But there was not of time. When that fail he make -straight for his last resource, his last earth-work I might say did I -wish double entente. He is clever, oh so clever! He know that his -game here was finish. And so he decide he go back home. He find ship -going by the route he came, and he go in it. - -We go off now to find what ship, and whither bound. When we have -discover that, we come back and tell you all. Then we will comfort -you and poor Madam Mina with new hope. For it will be hope when you -think it over, that all is not lost. This very creature that we -pursue, he take hundreds of years to get so far as London. And yet in -one day, when we know of the disposal of him we drive him out. He is -finite, though he is powerful to do much harm and suffers not as we -do. But we are strong, each in our purpose, and we are all more -strong together. Take heart afresh, dear husband of Madam Mina. This -battle is but begun and in the end we shall win. So sure as that God -sits on high to watch over His children. Therefore be of much comfort -till we return. - -VAN HELSING. - - - - - -JONATHAN HARKER'S JOURNAL - -4 October.--When I read to Mina, Van Helsing's message in the -phonograph, the poor girl brightened up considerably. Already the -certainty that the Count is out of the country has given her comfort. -And comfort is strength to her. For my own part, now that his -horrible danger is not face to face with us, it seems almost -impossible to believe in it. Even my own terrible experiences in -Castle Dracula seem like a long forgotten dream. Here in the crisp -autumn air in the bright sunlight. - -Alas! How can I disbelieve! In the midst of my thought my eye fell -on the red scar on my poor darling's white forehead. Whilst that -lasts, there can be no disbelief. Mina and I fear to be idle, so we -have been over all the diaries again and again. Somehow, although the -reality seem greater each time, the pain and the fear seem less. There -is something of a guiding purpose manifest throughout, which is -comforting. Mina says that perhaps we are the instruments of ultimate -good. It may be! I shall try to think as she does. We have never -spoken to each other yet of the future. It is better to wait till we -see the Professor and the others after their investigations. - -The day is running by more quickly than I ever thought a day could run -for me again. It is now three o'clock. - - - - - -MINA HARKER'S JOURNAL - -5 October, 5 P.M.--Our meeting for report. Present: Professor Van -Helsing, Lord Godalming, Dr. Seward, Mr. Quincey Morris, Jonathan -Harker, Mina Harker. - -Dr. Van Helsing described what steps were taken during the day to -discover on what boat and whither bound Count Dracula made his escape. - -"As I knew that he wanted to get back to Transylvania, I felt sure -that he must go by the Danube mouth, or by somewhere in the Black Sea, -since by that way he come. It was a dreary blank that was before us. -Omme ignotum pro magnifico, and so with heavy hearts we start to find -what ships leave for the Black Sea last night. He was in sailing -ship, since Madam Mina tell of sails being set. These not so -important as to go in your list of the shipping in the Times, and so -we go, by suggestion of Lord Godalming, to your Lloyd's, where are -note of all ships that sail, however so small. There we find that -only one Black Sea bound ship go out with the tide. She is the -Czarina Catherine, and she sail from Doolittle's Wharf for Varna, and -thence to other ports and up the Danube. 'So!' said I, 'this is the -ship whereon is the Count.' So off we go to Doolittle's Wharf, and -there we find a man in an office. From him we inquire of the goings -of the Czarina Catherine. He swear much, and he red face and loud of -voice, but he good fellow all the same. And when Quincey give him -something from his pocket which crackle as he roll it up, and put it -in a so small bag which he have hid deep in his clothing, he still -better fellow and humble servant to us. He come with us, and ask many -men who are rough and hot. These be better fellows too when they have -been no more thirsty. They say much of blood and bloom, and of others -which I comprehend not, though I guess what they mean. But -nevertheless they tell us all things which we want to know. - -"They make known to us among them, how last afternoon at about five -o'clock comes a man so hurry. A tall man, thin and pale, with high -nose and teeth so white, and eyes that seem to be burning. That he be -all in black, except that he have a hat of straw which suit not him or -the time. That he scatter his money in making quick inquiry as to -what ship sails for the Black Sea and for where. Some took him to the -office and then to the ship, where he will not go aboard but halt at -shore end of gangplank, and ask that the captain come to him. The -captain come, when told that he will be pay well, and though he swear -much at the first he agree to term. Then the thin man go and some one -tell him where horse and cart can be hired. He go there and soon he -come again, himself driving cart on which a great box. This he -himself lift down, though it take several to put it on truck for the -ship. He give much talk to captain as to how and where his box is to -be place. But the captain like it not and swear at him in many -tongues, and tell him that if he like he can come and see where it -shall be. But he say 'no,' that he come not yet, for that he have -much to do. Whereupon the captain tell him that he had better be -quick, with blood, for that his ship will leave the place, of blood, -before the turn of the tide, with blood. Then the thin man smile and -say that of course he must go when he think fit, but he will be -surprise if he go quite so soon. The captain swear again, polyglot, -and the thin man make him bow, and thank him, and say that he will so -far intrude on his kindness as to come aboard before the sailing. -Final the captain, more red than ever, and in more tongues, tell him -that he doesn't want no Frenchmen, with bloom upon them and also with -blood, in his ship, with blood on her also. And so, after asking -where he might purchase ship forms, he departed. - -"No one knew where he went 'or bloomin' well cared' as they said, for -they had something else to think of, well with blood again. For it -soon became apparent to all that the Czarina Catherine would not sail -as was expected. A thin mist began to creep up from the river, and it -grew, and grew. Till soon a dense fog enveloped the ship and all -around her. The captain swore polyglot, very polyglot, polyglot with -bloom and blood, but he could do nothing. The water rose and rose, -and he began to fear that he would lose the tide altogether. He was -in no friendly mood, when just at full tide, the thin man came up the -gangplank again and asked to see where his box had been stowed. Then -the captain replied that he wished that he and his box, old and with -much bloom and blood, were in hell. But the thin man did not be -offend, and went down with the mate and saw where it was place, and -came up and stood awhile on deck in fog. He must have come off by -himself, for none notice him. Indeed they thought not of him, for -soon the fog begin to melt away, and all was clear again. My friends -of the thirst and the language that was of bloom and blood laughed, as -they told how the captain's swears exceeded even his usual polyglot, -and was more than ever full of picturesque, when on questioning other -mariners who were on movement up and down the river that hour, he -found that few of them had seen any of fog at all, except where it lay -round the wharf. However, the ship went out on the ebb tide, and was -doubtless by morning far down the river mouth. She was then, when -they told us, well out to sea. - -"And so, my dear Madam Mina, it is that we have to rest for a time, -for our enemy is on the sea, with the fog at his command, on his way -to the Danube mouth. To sail a ship takes time, go she never so -quick. And when we start to go on land more quick, and we meet him -there. Our best hope is to come on him when in the box between -sunrise and sunset. For then he can make no struggle, and we may deal -with him as we should. There are days for us, in which we can make -ready our plan. We know all about where he go. For we have seen the -owner of the ship, who have shown us invoices and all papers that can -be. The box we seek is to be landed in Varna, and to be given to an -agent, one Ristics who will there present his credentials. And so our -merchant friend will have done his part. When he ask if there be any -wrong, for that so, he can telegraph and have inquiry made at Varna, -we say 'no,' for what is to be done is not for police or of the -customs. It must be done by us alone and in our own way." - -When Dr. Van Helsing had done speaking, I asked him if he were certain -that the Count had remained on board the ship. He replied, "We have -the best proof of that, your own evidence, when in the hypnotic trance -this morning." - -I asked him again if it were really necessary that they should pursue -the Count, for oh! I dread Jonathan leaving me, and I know that he -would surely go if the others went. He answered in growing passion, -at first quietly. As he went on, however, he grew more angry and more -forceful, till in the end we could not but see wherein was at least -some of that personal dominance which made him so long a master -amongst men. - -"Yes, it is necessary, necessary, necessary! For your sake in the -first, and then for the sake of humanity. This monster has done much -harm already, in the narrow scope where he find himself, and in the -short time when as yet he was only as a body groping his so small -measure in darkness and not knowing. All this have I told these -others. You, my dear Madam Mina, will learn it in the phonograph of -my friend John, or in that of your husband. I have told them how the -measure of leaving his own barren land, barren of peoples, and coming -to a new land where life of man teems till they are like the multitude -of standing corn, was the work of centuries. Were another of the -Undead, like him, to try to do what he has done, perhaps not all the -centuries of the world that have been, or that will be, could aid him. -With this one, all the forces of nature that are occult and deep and -strong must have worked together in some wonderous way. The very -place, where he have been alive, Undead for all these centuries, is -full of strangeness of the geologic and chemical world. There are -deep caverns and fissures that reach none know whither. There have -been volcanoes, some of whose openings still send out waters of -strange properties, and gases that kill or make to vivify. Doubtless, -there is something magnetic or electric in some of these combinations -of occult forces which work for physical life in strange way, and in -himself were from the first some great qualities. In a hard and -warlike time he was celebrate that he have more iron nerve, more -subtle brain, more braver heart, than any man. In him some vital -principle have in strange way found their utmost. And as his body -keep strong and grow and thrive, so his brain grow too. All this -without that diabolic aid which is surely to him. For it have to -yield to the powers that come from, and are, symbolic of good. And -now this is what he is to us. He have infect you, oh forgive me, my -dear, that I must say such, but it is for good of you that I speak. He -infect you in such wise, that even if he do no more, you have only to -live, to live in your own old, sweet way, and so in time, death, which -is of man's common lot and with God's sanction, shall make you like to -him. This must not be! We have sworn together that it must not. -Thus are we ministers of God's own wish. That the world, and men for -whom His Son die, will not be given over to monsters, whose very -existence would defame Him. He have allowed us to redeem one soul -already, and we go out as the old knights of the Cross to redeem -more. Like them we shall travel towards the sunrise. And like them, -if we fall, we fall in good cause." - -He paused and I said, "But will not the Count take his rebuff wisely? -Since he has been driven from England, will he not avoid it, as a -tiger does the village from which he has been hunted?" - -"Aha!" he said, "your simile of the tiger good, for me, and I shall -adopt him. Your maneater, as they of India call the tiger who has -once tasted blood of the human, care no more for the other prey, but -prowl unceasing till he get him. This that we hunt from our village -is a tiger, too, a maneater, and he never cease to prowl. Nay, in -himself he is not one to retire and stay afar. In his life, his -living life, he go over the Turkey frontier and attack his enemy on -his own ground. He be beaten back, but did he stay? No! He come -again, and again, and again. Look at his persistence and endurance. -With the child-brain that was to him he have long since conceive the -idea of coming to a great city. What does he do? He find out the -place of all the world most of promise for him. Then he deliberately -set himself down to prepare for the task. He find in patience just -how is his strength, and what are his powers. He study new tongues. -He learn new social life, new environment of old ways, the politics, -the law, the finance, the science, the habit of a new land and a new -people who have come to be since he was. His glimpse that he have -had, whet his appetite only and enkeen his desire. Nay, it help him -to grow as to his brain. For it all prove to him how right he was at -the first in his surmises. He have done this alone, all alone! From -a ruin tomb in a forgotten land. What more may he not do when the -greater world of thought is open to him. He that can smile at death, -as we know him. Who can flourish in the midst of diseases that kill -off whole peoples. Oh! If such an one was to come from God, and not -the Devil, what a force for good might he not be in this old world of -ours. But we are pledged to set the world free. Our toil must be in -silence, and our efforts all in secret. For in this enlightened age, -when men believe not even what they see, the doubting of wise men -would be his greatest strength. It would be at once his sheath and -his armor, and his weapons to destroy us, his enemies, who are willing -to peril even our own souls for the safety of one we love. For the -good of mankind, and for the honour and glory of God." - -After a general discussion it was determined that for tonight nothing -be definitely settled. That we should all sleep on the facts, and try -to think out the proper conclusions. Tomorrow, at breakfast, we are -to meet again, and after making our conclusions known to one another, -we shall decide on some definite cause of action . . . - -I feel a wonderful peace and rest tonight. It is as if some haunting -presence were removed from me. Perhaps . . . - -My surmise was not finished, could not be, for I caught sight in the -mirror of the red mark upon my forehead, and I knew that I was still -unclean. - - - - -DR. SEWARD'S DIARY - -5 October.--We all arose early, and I think that sleep did much for -each and all of us. When we met at early breakfast there was more -general cheerfulness than any of us had ever expected to experience -again. - -It is really wonderful how much resilience there is in human nature. -Let any obstructing cause, no matter what, be removed in any way, even -by death, and we fly back to first principles of hope and enjoyment. -More than once as we sat around the table, my eyes opened in wonder -whether the whole of the past days had not been a dream. It was only -when I caught sight of the red blotch on Mrs. Harker's forehead that I -was brought back to reality. Even now, when I am gravely revolving -the matter, it is almost impossible to realize that the cause of all -our trouble is still existent. Even Mrs. Harker seems to lose sight -of her trouble for whole spells. It is only now and again, when -something recalls it to her mind, that she thinks of her terrible -scar. We are to meet here in my study in half an hour and decide on -our course of action. I see only one immediate difficulty, I know it -by instinct rather than reason. We shall all have to speak frankly. -And yet I fear that in some mysterious way poor Mrs. Harker's tongue -is tied. I know that she forms conclusions of her own, and from all -that has been I can guess how brilliant and how true they must be. -But she will not, or cannot, give them utterance. I have mentioned -this to Van Helsing, and he and I are to talk it over when we are -alone. I suppose it is some of that horrid poison which has got into -her veins beginning to work. The Count had his own purposes when he -gave her what Van Helsing called "the Vampire's baptism of blood." -Well, there may be a poison that distills itself out of good things. -In an age when the existence of ptomaines is a mystery we should not -wonder at anything! One thing I know, that if my instinct be true -regarding poor Mrs. Harker's silences, then there is a terrible -difficulty, an unknown danger, in the work before us. The same power -that compels her silence may compel her speech. I dare not think -further, for so I should in my thoughts dishonour a noble woman! - - -Later.--When the Professor came in, we talked over the state of -things. I could see that he had something on his mind, which he -wanted to say, but felt some hesitancy about broaching the subject. -After beating about the bush a little, he said, "Friend John, there is -something that you and I must talk of alone, just at the first at any -rate. Later, we may have to take the others into our confidence." - -Then he stopped, so I waited. He went on, "Madam Mina, our poor, dear -Madam Mina is changing." - -A cold shiver ran through me to find my worst fears thus endorsed. -Van Helsing continued. - -"With the sad experience of Miss Lucy, we must this time be warned -before things go too far. Our task is now in reality more difficult -than ever, and this new trouble makes every hour of the direst -importance. I can see the characteristics of the vampire coming in -her face. It is now but very, very slight. But it is to be seen if -we have eyes to notice without prejudge. Her teeth are sharper, and -at times her eyes are more hard. But these are not all, there is to -her the silence now often, as so it was with Miss Lucy. She did not -speak, even when she wrote that which she wished to be known later. -Now my fear is this. If it be that she can, by our hypnotic trance, -tell what the Count see and hear, is it not more true that he who have -hypnotize her first, and who have drink of her very blood and make her -drink of his, should if he will, compel her mind to disclose to him -that which she know?" - -I nodded acquiescence. He went on, "Then, what we must do is to -prevent this. We must keep her ignorant of our intent, and so she -cannot tell what she know not. This is a painful task! Oh, so -painful that it heartbreak me to think of it, but it must be. When -today we meet, I must tell her that for reason which we will not to -speak she must not more be of our council, but be simply guarded by -us." - -He wiped his forehead, which had broken out in profuse perspiration at -the thought of the pain which he might have to inflict upon the poor -soul already so tortured. I knew that it would be some sort of -comfort to him if I told him that I also had come to the same -conclusion. For at any rate it would take away the pain of doubt. I -told him, and the effect was as I expected. - -It is now close to the time of our general gathering. Van Helsing has -gone away to prepare for the meeting, and his painful part of it. I -really believe his purpose is to be able to pray alone. - - -Later.--At the very outset of our meeting a great personal relief was -experienced by both Van Helsing and myself. Mrs. Harker had sent a -message by her husband to say that she would not join us at present, -as she thought it better that we should be free to discuss our -movements without her presence to embarrass us. The Professor and I -looked at each other for an instant, and somehow we both seemed -relieved. For my own part, I thought that if Mrs. Harker realized the -danger herself, it was much pain as well as much danger averted. -Under the circumstances we agreed, by a questioning look and answer, -with finger on lip, to preserve silence in our suspicions, until we -should have been able to confer alone again. We went at once into our -Plan of Campaign. - -Van Helsing roughly put the facts before us first, "The Czarina -Catherine left the Thames yesterday morning. It will take her at the -quickest speed she has ever made at least three weeks to reach Varna. -But we can travel overland to the same place in three days. Now, if -we allow for two days less for the ship's voyage, owing to such -weather influences as we know that the Count can bring to bear, and if -we allow a whole day and night for any delays which may occur to us, -then we have a margin of nearly two weeks. - -"Thus, in order to be quite safe, we must leave here on 17th at -latest. Then we shall at any rate be in Varna a day before the ship -arrives, and able to make such preparations as may be necessary. Of -course we shall all go armed, armed against evil things, spiritual as -well as physical." - -Here Quincey Morris added, "I understand that the Count comes from a -wolf country, and it may be that he shall get there before us. I -propose that we add Winchesters to our armament. I have a kind of -belief in a Winchester when there is any trouble of that sort around. -Do you remember, Art, when we had the pack after us at Tobolsk? What -wouldn't we have given then for a repeater apiece!" - -"Good!" said Van Helsing, "Winchesters it shall be. Quincey's head is -level at times, but most so when there is to hunt, metaphor be more -dishonour to science than wolves be of danger to man. In the meantime -we can do nothing here. And as I think that Varna is not familiar to -any of us, why not go there more soon? It is as long to wait here as -there. Tonight and tomorrow we can get ready, and then if all be -well, we four can set out on our journey." - -"We four?" said Harker interrogatively, looking from one to another of -us. - -"Of course!" answered the Professor quickly. "You must remain to take -care of your so sweet wife!" - -Harker was silent for awhile and then said in a hollow voice, "Let us -talk of that part of it in the morning. I want to consult with Mina." - -I thought that now was the time for Van Helsing to warn him not to -disclose our plan to her, but he took no notice. I looked at him -significantly and coughed. For answer he put his finger to his lips -and turned away. - - - -JONATHAN HARKER'S JOURNAL - -5 October, afternoon.--For some time after our meeting this morning I -could not think. The new phases of things leave my mind in a state of -wonder which allows no room for active thought. Mina's determination -not to take any part in the discussion set me thinking. And as I -could not argue the matter with her, I could only guess. I am as far -as ever from a solution now. The way the others received it, too -puzzled me. The last time we talked of the subject we agreed that -there was to be no more concealment of anything amongst us. Mina is -sleeping now, calmly and sweetly like a little child. Her lips are -curved and her face beams with happiness. Thank God, there are such -moments still for her. - - -Later.--How strange it all is. I sat watching Mina's happy sleep, and -I came as near to being happy myself as I suppose I shall ever be. As -the evening drew on, and the earth took its shadows from the sun -sinking lower, the silence of the room grew more and more solemn to -me. - -All at once Mina opened her eyes, and looking at me tenderly said, -"Jonathan, I want you to promise me something on your word of honour. -A promise made to me, but made holily in God's hearing, and not to be -broken though I should go down on my knees and implore you with bitter -tears. Quick, you must make it to me at once." - -"Mina," I said, "a promise like that, I cannot make at once. I may -have no right to make it." - -"But, dear one," she said, with such spiritual intensity that her eyes -were like pole stars, "it is I who wish it. And it is not for myself. -You can ask Dr. Van Helsing if I am not right. If he disagrees you -may do as you will. Nay, more if you all agree, later you are -absolved from the promise." - -"I promise!" I said, and for a moment she looked supremely happy. -Though to me all happiness for her was denied by the red scar on her -forehead. - -She said, "Promise me that you will not tell me anything of the plans -formed for the campaign against the Count. Not by word, or inference, -or implication, not at any time whilst this remains to me!" And she -solemnly pointed to the scar. I saw that she was in earnest, and said -solemnly, "I promise!" and as I said it I felt that from that instant -a door had been shut between us. - - -Later, midnight.--Mina has been bright and cheerful all the evening. -So much so that all the rest seemed to take courage, as if infected -somewhat with her gaiety. As a result even I myself felt as if the -pall of gloom which weighs us down were somewhat lifted. We all -retired early. Mina is now sleeping like a little child. It is -wonderful thing that her faculty of sleep remains to her in the midst -of her terrible trouble. Thank God for it, for then at least she can -forget her care. Perhaps her example may affect me as her gaiety did -tonight. I shall try it. Oh! For a dreamless sleep. - -6 October, morning.--Another surprise. Mina woke me early, about the -same time as yesterday, and asked me to bring Dr. Van Helsing. I -thought that it was another occasion for hypnotism, and without -question went for the Professor. He had evidently expected some such -call, for I found him dressed in his room. His door was ajar, so that -he could hear the opening of the door of our room. He came at once. -As he passed into the room, he asked Mina if the others might come, -too. - -"No," she said quite simply, "it will not be necessary. You can tell -them just as well. I must go with you on your journey." - -Dr. Van Helsing was as startled as I was. After a moment's pause he -asked, "But why?" - -"You must take me with you. I am safer with you, and you shall be -safer, too." - -"But why, dear Madam Mina? You know that your safety is our solemnest -duty. We go into danger, to which you are, or may be, more liable -than any of us from . . . from circumstances . . . things that have -been." He paused embarrassed. - -As she replied, she raised her finger and pointed to her forehead. "I -know. That is why I must go. I can tell you now, whilst the sun is -coming up. I may not be able again. I know that when the Count wills -me I must go. I know that if he tells me to come in secret, I must by -wile. By any device to hoodwink, even Jonathan." God saw the look -that she turned on me as she spoke, and if there be indeed a Recording -Angel that look is noted to her ever-lasting honour. I could only -clasp her hand. I could not speak. My emotion was too great for even -the relief of tears. - -She went on. "You men are brave and strong. You are strong in your -numbers, for you can defy that which would break down the human -endurance of one who had to guard alone. Besides, I may be of -service, since you can hypnotize me and so learn that which even I -myself do not know." - -Dr. Van Helsing said gravely, "Madam Mina, you are, as always, most -wise. You shall with us come. And together we shall do that which we -go forth to achieve." - -When he had spoken, Mina's long spell of silence made me look at her. -She had fallen back on her pillow asleep. She did not even wake when -I had pulled up the blind and let in the sunlight which flooded the -room. Van Helsing motioned to me to come with him quietly. We went -to his room, and within a minute Lord Godalming, Dr. Seward, and Mr. -Morris were with us also. - -He told them what Mina had said, and went on. "In the morning we -shall leave for Varna. We have now to deal with a new factor, Madam -Mina. Oh, but her soul is true. It is to her an agony to tell us so -much as she has done. But it is most right, and we are warned in -time. There must be no chance lost, and in Varna we must be ready to -act the instant when that ship arrives." - -"What shall we do exactly?" asked Mr. Morris laconically. - -The Professor paused before replying, "We shall at the first board -that ship. Then, when we have identified the box, we shall place a -branch of the wild rose on it. This we shall fasten, for when it is -there none can emerge, so that at least says the superstition. And to -superstition must we trust at the first. It was man's faith in the -early, and it have its root in faith still. Then, when we get the -opportunity that we seek, when none are near to see, we shall open the -box, and . . . and all will be well." - -"I shall not wait for any opportunity," said Morris. "When I see the -box I shall open it and destroy the monster, though there were a -thousand men looking on, and if I am to be wiped out for it the next -moment!" I grasped his hand instinctively and found it as firm as a -piece of steel. I think he understood my look. I hope he did. - -"Good boy," said Dr. Van Helsing. "Brave boy. Quincey is all man. -God bless him for it. My child, believe me none of us shall lag -behind or pause from any fear. I do but say what we may do . . . what -we must do. But, indeed, indeed we cannot say what we may do. There -are so many things which may happen, and their ways and their ends are -so various that until the moment we may not say. We shall all be -armed, in all ways. And when the time for the end has come, our -effort shall not be lack. Now let us today put all our affairs in -order. Let all things which touch on others dear to us, and who on us -depend, be complete. For none of us can tell what, or when, or how, -the end may be. As for me, my own affairs are regulate, and as I have -nothing else to do, I shall go make arrangements for the travel. I -shall have all tickets and so forth for our journey." - -There was nothing further to be said, and we parted. I shall now -settle up all my affairs of earth, and be ready for whatever may come. - - -Later.--It is done. My will is made, and all complete. Mina if she -survive is my sole heir. If it should not be so, then the others who -have been so good to us shall have remainder. - -It is now drawing towards the sunset. Mina's uneasiness calls my -attention to it. I am sure that there is something on her mind which -the time of exact sunset will reveal. These occasions are becoming -harrowing times for us all. For each sunrise and sunset opens up some -new danger, some new pain, which however, may in God's will be means -to a good end. I write all these things in the diary since my darling -must not hear them now. But if it may be that she can see them again, -they shall be ready. She is calling to me. - - - - -CHAPTER 25 - - -DR. SEWARD'S DIARY - -11 October, Evening.--Jonathan Harker has asked me to note this, as he -says he is hardly equal to the task, and he wants an exact record -kept. - -I think that none of us were surprised when we were asked to see Mrs. -Harker a little before the time of sunset. We have of late come to -understand that sunrise and sunset are to her times of peculiar -freedom. When her old self can be manifest without any controlling -force subduing or restraining her, or inciting her to action. This -mood or condition begins some half hour or more before actual sunrise -or sunset, and lasts till either the sun is high, or whilst the clouds -are still aglow with the rays streaming above the horizon. At first -there is a sort of negative condition, as if some tie were loosened, -and then the absolute freedom quickly follows. When, however, the -freedom ceases the change back or relapse comes quickly, preceded -only by a spell of warning silence. - -Tonight, when we met, she was somewhat constrained, and bore all the -signs of an internal struggle. I put it down myself to her making a -violent effort at the earliest instant she could do so. - -A very few minutes, however, gave her complete control of herself. -Then, motioning her husband to sit beside her on the sofa where she -was half reclining, she made the rest of us bring chairs up close. - -Taking her husband's hand in hers, she began, "We are all here -together in freedom, for perhaps the last time! I know that you will -always be with me to the end." This was to her husband whose hand had, -as we could see, tightened upon her. "In the morning we go out upon -our task, and God alone knows what may be in store for any of us. You -are going to be so good to me to take me with you. I know that all -that brave earnest men can do for a poor weak woman, whose soul -perhaps is lost, no, no, not yet, but is at any rate at stake, you -will do. But you must remember that I am not as you are. There is a -poison in my blood, in my soul, which may destroy me, which must -destroy me, unless some relief comes to us. Oh, my friends, you know -as well as I do, that my soul is at stake. And though I know there is -one way out for me, you must not and I must not take it!" She looked -appealingly to us all in turn, beginning and ending with her husband. - -"What is that way?" asked Van Helsing in a hoarse voice. "What is -that way, which we must not, may not, take?" - -"That I may die now, either by my own hand or that of another, before -the greater evil is entirely wrought. I know, and you know, that were -I once dead you could and would set free my immortal spirit, even as -you did my poor Lucy's. Were death, or the fear of death, the only -thing that stood in the way I would not shrink to die here now, amidst -the friends who love me. But death is not all. I cannot believe that -to die in such a case, when there is hope before us and a bitter task -to be done, is God's will. Therefore, I on my part, give up here the -certainty of eternal rest, and go out into the dark where may be the -blackest things that the world or the nether world holds!" - -We were all silent, for we knew instinctively that this was only a -prelude. The faces of the others were set, and Harker's grew ashen -grey. Perhaps, he guessed better than any of us what was coming. - -She continued, "This is what I can give into the hotch-pot." I could -not but note the quaint legal phrase which she used in such a place, -and with all seriousness. "What will each of you give? Your lives I -know," she went on quickly, "that is easy for brave men. Your lives -are God's, and you can give them back to Him, but what will you give -to me?" She looked again questioningly, but this time avoided her -husband's face. Quincey seemed to understand, he nodded, and her face -lit up. "Then I shall tell you plainly what I want, for there must be -no doubtful matter in this connection between us now. You must -promise me, one and all, even you, my beloved husband, that should the -time come, you will kill me." - -"What is that time?" The voice was Quincey's, but it was low and -strained. - -"When you shall be convinced that I am so changed that it is better -that I die that I may live. When I am thus dead in the flesh, then -you will, without a moment's delay, drive a stake through me and cut -off my head, or do whatever else may be wanting to give me rest!" - -Quincey was the first to rise after the pause. He knelt down before -her and taking her hand in his said solemnly, "I'm only a rough -fellow, who hasn't, perhaps, lived as a man should to win such a -distinction, but I swear to you by all that I hold sacred and dear -that, should the time ever come, I shall not flinch from the duty that -you have set us. And I promise you, too, that I shall make all -certain, for if I am only doubtful I shall take it that the time has -come!" - -"My true friend!" was all she could say amid her fast-falling tears, -as bending over, she kissed his hand. - -"I swear the same, my dear Madam Mina!" said Van Helsing. "And I!" -said Lord Godalming, each of them in turn kneeling to her to take the -oath. I followed, myself. - -Then her husband turned to her wan-eyed and with a greenish pallor -which subdued the snowy whiteness of his hair, and asked, "And must I, -too, make such a promise, oh, my wife?" - -"You too, my dearest," she said, with infinite yearning of pity in her -voice and eyes. "You must not shrink. You are nearest and dearest -and all the world to me. Our souls are knit into one, for all life -and all time. Think, dear, that there have been times when brave men -have killed their wives and their womenkind, to keep them from falling -into the hands of the enemy. Their hands did not falter any the more -because those that they loved implored them to slay them. It is men's -duty towards those whom they love, in such times of sore trial! And -oh, my dear, if it is to be that I must meet death at any hand, let it -be at the hand of him that loves me best. Dr. Van Helsing, I have not -forgotten your mercy in poor Lucy's case to him who loved." She -stopped with a flying blush, and changed her phrase, "to him who had -best right to give her peace. If that time shall come again, I look -to you to make it a happy memory of my husband's life that it was his -loving hand which set me free from the awful thrall upon me." - -"Again I swear!" came the Professor's resonant voice. - -Mrs. Harker smiled, positively smiled, as with a sigh of relief she -leaned back and said, "And now one word of warning, a warning which -you must never forget. This time, if it ever come, may come quickly -and unexpectedly, and in such case you must lose no time in using your -opportunity. At such a time I myself might be . . . nay! If the time -ever come, shall be, leagued with your enemy against you. - -"One more request," she became very solemn as she said this, "it is -not vital and necessary like the other, but I want you to do one thing -for me, if you will." - -We all acquiesced, but no one spoke. There was no need to speak. - -"I want you to read the Burial Service." She was interrupted by a -deep groan from her husband. Taking his hand in hers, she held it -over her heart, and continued. "You must read it over me some day. -Whatever may be the issue of all this fearful state of things, it will -be a sweet thought to all or some of us. You, my dearest, will I hope -read it, for then it will be in your voice in my memory forever, come -what may!" - -"But oh, my dear one," he pleaded, "death is afar off from you." - -"Nay," she said, holding up a warning hand. "I am deeper in death at -this moment than if the weight of an earthly grave lay heavy upon me!" - -"Oh, my wife, must I read it?" he said, before he began. - -"It would comfort me, my husband!" was all she said, and he began to -read when she had got the book ready. - -How can I, how could anyone, tell of that strange scene, its -solemnity, its gloom, its sadness, its horror, and withal, its -sweetness. Even a sceptic, who can see nothing but a travesty of -bitter truth in anything holy or emotional, would have been melted to -the heart had he seen that little group of loving and devoted friends -kneeling round that stricken and sorrowing lady; or heard the tender -passion of her husband's voice, as in tones so broken and emotional -that often he had to pause, he read the simple and beautiful service -from the Burial of the Dead. I cannot go on . . . words . . . and -v-voices . . . f-fail m-me! - -She was right in her instinct. Strange as it was, bizarre as it may -hereafter seem even to us who felt its potent influence at the time, -it comforted us much. And the silence, which showed Mrs. Harker's -coming relapse from her freedom of soul, did not seem so full of -despair to any of us as we had dreaded. - - - - - -JONATHAN HARKER'S JOURNAL - -15 October, Varna.--We left Charing Cross on the morning of the 12th, -got to Paris the same night, and took the places secured for us in the -Orient Express. We traveled night and day, arriving here at about -five o'clock. Lord Godalming went to the Consulate to see if any -telegram had arrived for him, whilst the rest of us came on to this -hotel, "the Odessus." The journey may have had incidents. I was, -however, too eager to get on, to care for them. Until the Czarina -Catherine comes into port there will be no interest for me in anything -in the wide world. Thank God! Mina is well, and looks to be getting -stronger. Her colour is coming back. She sleeps a great deal. -Throughout the journey she slept nearly all the time. Before sunrise -and sunset, however, she is very wakeful and alert. And it has become -a habit for Van Helsing to hypnotize her at such times. At first, -some effort was needed, and he had to make many passes. But now, she -seems to yield at once, as if by habit, and scarcely any action is -needed. He seems to have power at these particular moments to simply -will, and her thoughts obey him. He always asks her what she can see -and hear. - -She answers to the first, "Nothing, all is dark." - -And to the second, "I can hear the waves lapping against the ship, and -the water rushing by. Canvas and cordage strain and masts and yards -creak. The wind is high . . . I can hear it in the shrouds, and the -bow throws back the foam." - -It is evident that the Czarina Catherine is still at sea, hastening on -her way to Varna. Lord Godalming has just returned. He had four -telegrams, one each day since we started, and all to the same effect. -That the Czarina Catherine had not been reported to Lloyd's from -anywhere. He had arranged before leaving London that his agent should -send him every day a telegram saying if the ship had been reported. -He was to have a message even if she were not reported, so that he -might be sure that there was a watch being kept at the other end of -the wire. - -We had dinner and went to bed early. Tomorrow we are to see the Vice -Consul, and to arrange, if we can, about getting on board the ship as -soon as she arrives. Van Helsing says that our chance will be to get -on the boat between sunrise and sunset. The Count, even if he takes -the form of a bat, cannot cross the running water of his own volition, -and so cannot leave the ship. As he dare not change to man's form -without suspicion, which he evidently wishes to avoid, he must remain -in the box. If, then, we can come on board after sunrise, he is at -our mercy, for we can open the box and make sure of him, as we did of -poor Lucy, before he wakes. What mercy he shall get from us all will -not count for much. We think that we shall not have much trouble with -officials or the seamen. Thank God! This is the country where -bribery can do anything, and we are well supplied with money. We have -only to make sure that the ship cannot come into port between sunset -and sunrise without our being warned, and we shall be safe. Judge -Moneybag will settle this case, I think! - - -16 October.--Mina's report still the same. Lapping waves and rushing -water, darkness and favouring winds. We are evidently in good time, -and when we hear of the Czarina Catherine we shall be ready. As she -must pass the Dardanelles we are sure to have some report. - - -17 October.--Everything is pretty well fixed now, I think, to welcome -the Count on his return from his tour. Godalming told the shippers -that he fancied that the box sent aboard might contain something -stolen from a friend of his, and got a half consent that he might open -it at his own risk. The owner gave him a paper telling the Captain to -give him every facility in doing whatever he chose on board the ship, -and also a similar authorization to his agent at Varna. We have seen -the agent, who was much impressed with Godalming's kindly manner to -him, and we are all satisfied that whatever he can do to aid our -wishes will be done. - -We have already arranged what to do in case we get the box open. If -the Count is there, Van Helsing and Seward will cut off his head at -once and drive a stake through his heart. Morris and Godalming and I -shall prevent interference, even if we have to use the arms which we -shall have ready. The Professor says that if we can so treat the -Count's body, it will soon after fall into dust. In such case there -would be no evidence against us, in case any suspicion of murder were -aroused. But even if it were not, we should stand or fall by our act, -and perhaps some day this very script may be evidence to come between -some of us and a rope. For myself, I should take the chance only too -thankfully if it were to come. We mean to leave no stone unturned to -carry out our intent. We have arranged with certain officials that -the instant the Czarina Catherine is seen, we are to be informed by a -special messenger. - - -24 October.--A whole week of waiting. Daily telegrams to Godalming, -but only the same story. "Not yet reported." Mina's morning and -evening hypnotic answer is unvaried. Lapping waves, rushing water, -and creaking masts. - - - - -TELEGRAM, OCTOBER 24TH RUFUS SMITH, LLOYD'S, LONDON, -TO LORD GODALMING, CARE OF H. B. M. VICE CONSUL, VARNA - -"Czarina Catherine reported this morning from Dardanelles." - - - -DR. SEWARD'S DIARY - -25 October.--How I miss my phonograph! To write a diary with a pen is -irksome to me! But Van Helsing says I must. We were all wild with -excitement yesterday when Godalming got his telegram from Lloyd's. I -know now what men feel in battle when the call to action is heard. -Mrs. Harker, alone of our party, did not show any signs of emotion. -After all, it is not strange that she did not, for we took special -care not to let her know anything about it, and we all tried not to -show any excitement when we were in her presence. In old days she -would, I am sure, have noticed, no matter how we might have tried to -conceal it. But in this way she is greatly changed during the past -three weeks. The lethargy grows upon her, and though she seems strong -and well, and is getting back some of her colour, Van Helsing and I are -not satisfied. We talk of her often. We have not, however, said a -word to the others. It would break poor Harker's heart, certainly his -nerve, if he knew that we had even a suspicion on the subject. Van -Helsing examines, he tells me, her teeth very carefully, whilst she is -in the hypnotic condition, for he says that so long as they do not -begin to sharpen there is no active danger of a change in her. If -this change should come, it would be necessary to take steps! We both -know what those steps would have to be, though we do not mention our -thoughts to each other. We should neither of us shrink from the task, -awful though it be to contemplate. "Euthanasia" is an excellent and a -comforting word! I am grateful to whoever invented it. - -It is only about 24 hours' sail from the Dardanelles to here, at the -rate the Czarina Catherine has come from London. She should therefore -arrive some time in the morning, but as she cannot possibly get in -before noon, we are all about to retire early. We shall get up at one -o'clock, so as to be ready. - - -25 October, Noon.--No news yet of the ship's arrival. Mrs. Harker's -hypnotic report this morning was the same as usual, so it is possible -that we may get news at any moment. We men are all in a fever of -excitement, except Harker, who is calm. His hands are cold as ice, -and an hour ago I found him whetting the edge of the great Ghoorka -knife which he now always carries with him. It will be a bad lookout -for the Count if the edge of that "Kukri" ever touches his throat, -driven by that stern, ice-cold hand! - -Van Helsing and I were a little alarmed about Mrs. Harker today. -About noon she got into a sort of lethargy which we did not like. -Although we kept silence to the others, we were neither of us happy -about it. She had been restless all the morning, so that we were at -first glad to know that she was sleeping. When, however, her husband -mentioned casually that she was sleeping so soundly that he could not -wake her, we went to her room to see for ourselves. She was breathing -naturally and looked so well and peaceful that we agreed that the -sleep was better for her than anything else. Poor girl, she has so -much to forget that it is no wonder that sleep, if it brings oblivion -to her, does her good. - - -Later.--Our opinion was justified, for when after a refreshing sleep -of some hours she woke up, she seemed brighter and better than she had -been for days. At sunset she made the usual hypnotic report. -Wherever he may be in the Black Sea, the Count is hurrying to his -destination. To his doom, I trust! - - - -26 October.--Another day and no tidings of the Czarina Catherine. She -ought to be here by now. That she is still journeying somewhere is -apparent, for Mrs. Harker's hypnotic report at sunrise was still the -same. It is possible that the vessel may be lying by, at times, for -fog. Some of the steamers which came in last evening reported patches -of fog both to north and south of the port. We must continue our -watching, as the ship may now be signalled any moment. - - -27 October, Noon.--Most strange. No news yet of the ship we wait for. -Mrs. Harker reported last night and this morning as usual. "Lapping -waves and rushing water," though she added that "the waves were very -faint." The telegrams from London have been the same, "no further -report." Van Helsing is terribly anxious, and told me just now that he -fears the Count is escaping us. - -He added significantly, "I did not like that lethargy of Madam Mina's. -Souls and memories can do strange things during trance." I was about -to ask him more, but Harker just then came in, and he held up a -warning hand. We must try tonight at sunset to make her speak more -fully when in her hypnotic state. - - -28 October.--Telegram. Rufus Smith, London, to Lord Godalming, care -H. B. M. Vice Consul, Varna - -"Czarina Catherine reported entering Galatz at one o'clock today." - - - - -DR. SEWARD'S DIARY - -28 October.--When the telegram came announcing the arrival in Galatz I -do not think it was such a shock to any of us as might have been -expected. True, we did not know whence, or how, or when, the bolt -would come. But I think we all expected that something strange would -happen. The day of arrival at Varna made us individually satisfied -that things would not be just as we had expected. We only waited to -learn where the change would occur. None the less, however, it was a -surprise. I suppose that nature works on such a hopeful basis that we -believe against ourselves that things will be as they ought to be, not -as we should know that they will be. Transcendentalism is a beacon to -the angels, even if it be a will-o'-the-wisp to man. Van Helsing -raised his hand over his head for a moment, as though in remonstrance -with the Almighty. But he said not a word, and in a few seconds stood -up with his face sternly set. - -Lord Godalming grew very pale, and sat breathing heavily. I was -myself half stunned and looked in wonder at one after another. -Quincey Morris tightened his belt with that quick movement which I -knew so well. In our old wandering days it meant "action." Mrs. -Harker grew ghastly white, so that the scar on her forehead seemed to -burn, but she folded her hands meekly and looked up in prayer. Harker -smiled, actually smiled, the dark, bitter smile of one who is without -hope, but at the same time his action belied his words, for his hands -instinctively sought the hilt of the great Kukri knife and rested -there. - -"When does the next train start for Galatz?" said Van Helsing to us -generally. - -"At 6:30 tomorrow morning!" We all started, for the answer came from -Mrs. Harker. - -"How on earth do you know?" said Art. - -"You forget, or perhaps you do not know, though Jonathan does and so -does Dr. Van Helsing, that I am the train fiend. At home in Exeter I -always used to make up the time tables, so as to be helpful to my -husband. I found it so useful sometimes, that I always make a study -of the time tables now. I knew that if anything were to take us to -Castle Dracula we should go by Galatz, or at any rate through -Bucharest, so I learned the times very carefully. Unhappily there are -not many to learn, as the only train tomorrow leaves as I say." - -"Wonderful woman!" murmured the Professor. - -"Can't we get a special?" asked Lord Godalming. - -Van Helsing shook his head, "I fear not. This land is very different -from yours or mine. Even if we did have a special, it would probably -not arrive as soon as our regular train. Moreover, we have something -to prepare. We must think. Now let us organize. You, friend Arthur, -go to the train and get the tickets and arrange that all be ready for -us to go in the morning. Do you, friend Jonathan, go to the agent of -the ship and get from him letters to the agent in Galatz, with -authority to make a search of the ship just as it was here. Quincey -Morris, you see the Vice Consul, and get his aid with his fellow in -Galatz and all he can do to make our way smooth, so that no times be -lost when over the Danube. John will stay with Madam Mina and me, and -we shall consult. For so if time be long you may be delayed. And it -will not matter when the sun set, since I am here with Madam to make -report." - -"And I," said Mrs. Harker brightly, and more like her old self than -she had been for many a long day, "shall try to be of use in all ways, -and shall think and write for you as I used to do. Something is -shifting from me in some strange way, and I feel freer than I have -been of late!" - -The three younger men looked happier at the moment as they seemed to -realize the significance of her words. But Van Helsing and I, turning -to each other, met each a grave and troubled glance. We said nothing -at the time, however. - -When the three men had gone out to their tasks Van Helsing asked Mrs. -Harker to look up the copy of the diaries and find him the part of -Harker's journal at the Castle. She went away to get it. - -When the door was shut upon her he said to me, "We mean the same! -Speak out!" - -"Here is some change. It is a hope that makes me sick, for it may -deceive us." - -"Quite so. Do you know why I asked her to get the manuscript?" - -"No!" said I, "unless it was to get an opportunity of seeing me -alone." - -"You are in part right, friend John, but only in part. I want to tell -you something. And oh, my friend, I am taking a great, a terrible, -risk. But I believe it is right. In the moment when Madam Mina said -those words that arrest both our understanding, an inspiration came to -me. In the trance of three days ago the Count sent her his spirit to -read her mind. Or more like he took her to see him in his earth box -in the ship with water rushing, just as it go free at rise and set of -sun. He learn then that we are here, for she have more to tell in her -open life with eyes to see ears to hear than he, shut as he is, in his -coffin box. Now he make his most effort to escape us. At present he -want her not. - -"He is sure with his so great knowledge that she will come at his -call. But he cut her off, take her, as he can do, out of his own -power, that so she come not to him. Ah! There I have hope that our -man brains that have been of man so long and that have not lost the -grace of God, will come higher than his child-brain that lie in his -tomb for centuries, that grow not yet to our stature, and that do only -work selfish and therefore small. Here comes Madam Mina. Not a word -to her of her trance! She knows it not, and it would overwhelm her -and make despair just when we want all her hope, all her courage, when -most we want all her great brain which is trained like man's brain, -but is of sweet woman and have a special power which the Count give -her, and which he may not take away altogether, though he think not -so. Hush! Let me speak, and you shall learn. Oh, John, my friend, -we are in awful straits. I fear, as I never feared before. We can -only trust the good God. Silence! Here she comes!" - -I thought that the Professor was going to break down and have -hysterics, just as he had when Lucy died, but with a great effort he -controlled himself and was at perfect nervous poise when Mrs. Harker -tripped into the room, bright and happy looking and, in the doing of -work, seemingly forgetful of her misery. As she came in, she handed a -number of sheets of typewriting to Van Helsing. He looked over them -gravely, his face brightening up as he read. - -Then holding the pages between his finger and thumb he said, "Friend -John, to you with so much experience already, and you too, dear Madam -Mina, that are young, here is a lesson. Do not fear ever to think. A -half thought has been buzzing often in my brain, but I fear to let him -loose his wings. Here now, with more knowledge, I go back to where -that half thought come from and I find that he be no half thought at -all. That be a whole thought, though so young that he is not yet -strong to use his little wings. Nay, like the 'Ugly Duck' of my -friend Hans Andersen, he be no duck thought at all, but a big swan -thought that sail nobly on big wings, when the time come for him to -try them. See I read here what Jonathan have written. - -"That other of his race who, in a later age, again and again, brought -his forces over The Great River into Turkey Land, who when he was -beaten back, came again, and again, and again, though he had to come -alone from the bloody field where his troops were being slaughtered, -since he knew that he alone could ultimately triumph. - -"What does this tell us? Not much? No! The Count's child thought -see nothing, therefore he speak so free. Your man thought see -nothing. My man thought see nothing, till just now. No! But there -comes another word from some one who speak without thought because -she, too, know not what it mean, what it might mean. Just as there -are elements which rest, yet when in nature's course they move on -their way and they touch, the pouf! And there comes a flash of light, -heaven wide, that blind and kill and destroy some. But that show up -all earth below for leagues and leagues. Is it not so? Well, I shall -explain. To begin, have you ever study the philosophy of crime? -'Yes' and 'No.' You, John, yes, for it is a study of insanity. You, -no, Madam Mina, for crime touch you not, not but once. Still, your -mind works true, and argues not a particulari ad universale. There is -this peculiarity in criminals. It is so constant, in all countries -and at all times, that even police, who know not much from philosophy, -come to know it empirically, that it is. That is to be empiric. The -criminal always work at one crime, that is the true criminal who seems -predestinate to crime, and who will of none other. This criminal has -not full man brain. He is clever and cunning and resourceful, but he -be not of man stature as to brain. He be of child brain in much. Now -this criminal of ours is predestinate to crime also. He, too, have -child brain, and it is of the child to do what he have done. The -little bird, the little fish, the little animal learn not by -principle, but empirically. And when he learn to do, then there is to -him the ground to start from to do more. 'Dos pou sto,' said -Archimedes. 'Give me a fulcrum, and I shall move the world!' To do -once, is the fulcrum whereby child brain become man brain. And until -he have the purpose to do more, he continue to do the same again every -time, just as he have done before! Oh, my dear, I see that your eyes -are opened, and that to you the lightning flash show all the leagues," -for Mrs. Harker began to clap her hands and her eyes sparkled. - -He went on, "Now you shall speak. Tell us two dry men of science what -you see with those so bright eyes." He took her hand and held it -whilst he spoke. His finger and thumb closed on her pulse, as I -thought instinctively and unconsciously, as she spoke. - -"The Count is a criminal and of criminal type. Nordau and Lombroso -would so classify him, and qua criminal he is of an imperfectly formed -mind. Thus, in a difficulty he has to seek resource in habit. His -past is a clue, and the one page of it that we know, and that from his -own lips, tells that once before, when in what Mr. Morris would call -a 'tight place,' he went back to his own country from the land he had -tried to invade, and thence, without losing purpose, prepared himself -for a new effort. He came again better equipped for his work, and -won. So he came to London to invade a new land. He was beaten, and -when all hope of success was lost, and his existence in danger, he -fled back over the sea to his home. Just as formerly he had fled back -over the Danube from Turkey Land." - -"Good, good! Oh, you so clever lady!" said Van Helsing, -enthusiastically, as he stooped and kissed her hand. A moment later -he said to me, as calmly as though we had been having a sick room -consultation, "Seventy-two only, and in all this excitement. I have -hope." - -Turning to her again, he said with keen expectation, "But go on. Go -on! There is more to tell if you will. Be not afraid. John and I -know. I do in any case, and shall tell you if you are right. Speak, -without fear!" - -"I will try to. But you will forgive me if I seem too egotistical." - -"Nay! Fear not, you must be egotist, for it is of you that we think." - -"Then, as he is criminal he is selfish. And as his intellect is small -and his action is based on selfishness, he confines himself to one -purpose. That purpose is remorseless. As he fled back over the -Danube, leaving his forces to be cut to pieces, so now he is intent on -being safe, careless of all. So his own selfishness frees my soul -somewhat from the terrible power which he acquired over me on that -dreadful night. I felt it! Oh, I felt it! Thank God, for His great -mercy! My soul is freer than it has been since that awful hour. And -all that haunts me is a fear lest in some trance or dream he may have -used my knowledge for his ends." - -The Professor stood up, "He has so used your mind, and by it he has -left us here in Varna, whilst the ship that carried him rushed through -enveloping fog up to Galatz, where, doubtless, he had made preparation -for escaping from us. But his child mind only saw so far. And it may -be that as ever is in God's Providence, the very thing that the evil -doer most reckoned on for his selfish good, turns out to be his -chiefest harm. The hunter is taken in his own snare, as the great -Psalmist says. For now that he think he is free from every trace of -us all, and that he has escaped us with so many hours to him, then his -selfish child brain will whisper him to sleep. He think, too, that as -he cut himself off from knowing your mind, there can be no knowledge -of him to you. There is where he fail! That terrible baptism of -blood which he give you makes you free to go to him in spirit, as you -have as yet done in your times of freedom, when the sun rise and set. -At such times you go by my volition and not by his. And this power to -good of you and others, you have won from your suffering at his hands. -This is now all more precious that he know it not, and to guard -himself have even cut himself off from his knowledge of our where. -We, however, are not selfish, and we believe that God is with us -through all this blackness, and these many dark hours. We shall -follow him, and we shall not flinch, even if we peril ourselves that -we become like him. Friend John, this has been a great hour, and it -have done much to advance us on our way. You must be scribe and write -him all down, so that when the others return from their work you can -give it to them, then they shall know as we do." - -And so I have written it whilst we wait their return, and Mrs. Harker -has written with the typewriter all since she brought the MS to us. - - - - -CHAPTER 26 - - -DR. SEWARD'S DIARY - -29 October.--This is written in the train from Varna to Galatz. Last -night we all assembled a little before the time of sunset. Each of us -had done his work as well as he could, so far as thought, and -endeavour, and opportunity go, we are prepared for the whole of our -journey, and for our work when we get to Galatz. When the usual time -came round Mrs. Harker prepared herself for her hypnotic effort, and -after a longer and more serious effort on the part of Van Helsing than -has been usually necessary, she sank into the trance. Usually she -speaks on a hint, but this time the Professor had to ask her -questions, and to ask them pretty resolutely, before we could learn -anything. At last her answer came. - -"I can see nothing. We are still. There are no waves lapping, but -only a steady swirl of water softly running against the hawser. I can -hear men's voices calling, near and far, and the roll and creak of -oars in the rowlocks. A gun is fired somewhere, the echo of it seems -far away. There is tramping of feet overhead, and ropes and chains -are dragged along. What is this? There is a gleam of light. I can -feel the air blowing upon me." - -Here she stopped. She had risen, as if impulsively, from where she -lay on the sofa, and raised both her hands, palms upwards, as if -lifting a weight. Van Helsing and I looked at each other with -understanding. Quincey raised his eyebrows slightly and looked at her -intently, whilst Harker's hand instinctively closed round the hilt of -his Kukri. There was a long pause. We all knew that the time when -she could speak was passing, but we felt that it was useless to say -anything. - -Suddenly she sat up, and as she opened her eyes said sweetly, "Would -none of you like a cup of tea? You must all be so tired!" - -We could only make her happy, and so acqueisced. She bustled off to -get tea. When she had gone Van Helsing said, "You see, my friends. He -is close to land. He has left his earth chest. But he has yet to get -on shore. In the night he may lie hidden somewhere, but if he be not -carried on shore, or if the ship do not touch it, he cannot achieve -the land. In such case he can, if it be in the night, change his form -and jump or fly on shore, then, unless he be carried he cannot escape. -And if he be carried, then the customs men may discover what the box -contain. Thus, in fine, if he escape not on shore tonight, or before -dawn, there will be the whole day lost to him. We may then arrive in -time. For if he escape not at night we shall come on him in daytime, -boxed up and at our mercy. For he dare not be his true self, awake -and visible, lest he be discovered." - -There was no more to be said, so we waited in patience until the dawn, -at which time we might learn more from Mrs. Harker. - -Early this morning we listened, with breathless anxiety, for her -response in her trance. The hypnotic stage was even longer in coming -than before, and when it came the time remaining until full sunrise -was so short that we began to despair. Van Helsing seemed to throw -his whole soul into the effort. At last, in obedience to his will she -made reply. - -"All is dark. I hear lapping water, level with me, and some creaking -as of wood on wood." She paused, and the red sun shot up. We must -wait till tonight. - -And so it is that we are travelling towards Galatz in an agony of -expectation. We are due to arrive between two and three in the -morning. But already, at Bucharest, we are three hours late, so we -cannot possibly get in till well after sunup. Thus we shall have two -more hypnotic messages from Mrs. Harker! Either or both may possibly -throw more light on what is happening. - - -Later.--Sunset has come and gone. Fortunately it came at a time when -there was no distraction. For had it occurred whilst we were at a -station, we might not have secured the necessary calm and isolation. -Mrs. Harker yielded to the hypnotic influence even less readily than -this morning. I am in fear that her power of reading the Count's -sensations may die away, just when we want it most. It seems to me -that her imagination is beginning to work. Whilst she has been in the -trance hitherto she has confined herself to the simplest of facts. If -this goes on it may ultimately mislead us. If I thought that the -Count's power over her would die away equally with her power of -knowledge it would be a happy thought. But I am afraid that it may -not be so. - -When she did speak, her words were enigmatical, "Something is going -out. I can feel it pass me like a cold wind. I can hear, far off, -confused sounds, as of men talking in strange tongues, fierce falling -water, and the howling of wolves." She stopped and a shudder ran -through her, increasing in intensity for a few seconds, till at the -end, she shook as though in a palsy. She said no more, even in answer -to the Professor's imperative questioning. When she woke from the -trance, she was cold, and exhausted, and languid, but her mind was all -alert. She could not remember anything, but asked what she had said. -When she was told, she pondered over it deeply for a long time and in -silence. - - -30 October, 7 A.M.--We are near Galatz now, and I may not have time to -write later. Sunrise this morning was anxiously looked for by us all. -Knowing of the increasing difficulty of procuring the hypnotic trance, -Van Helsing began his passes earlier than usual. They produced no -effect, however, until the regular time, when she yielded with a still -greater difficulty, only a minute before the sun rose. The Professor -lost no time in his questioning. - -Her answer came with equal quickness, "All is dark. I hear water -swirling by, level with my ears, and the creaking of wood on wood. -Cattle low far off. There is another sound, a queer one like . . ." -She stopped and grew white, and whiter still. - -"Go on, go on! Speak, I command you!" said Van Helsing in an agonized -voice. At the same time there was despair in his eyes, for the risen -sun was reddening even Mrs. Harker's pale face. She opened her eyes, -and we all started as she said, sweetly and seemingly with the utmost -unconcern. - -"Oh, Professor, why ask me to do what you know I can't? I don't -remember anything." Then, seeing the look of amazement on our faces, -she said, turning from one to the other with a troubled look, "What -have I said? What have I done? I know nothing, only that I was lying -here, half asleep, and heard you say 'go on! speak, I command you!' It -seemed so funny to hear you order me about, as if I were a bad child!" - -"Oh, Madam Mina," he said, sadly, "it is proof, if proof be needed, of -how I love and honour you, when a word for your good, spoken more -earnest than ever, can seem so strange because it is to order her whom -I am proud to obey!" - -The whistles are sounding. We are nearing Galatz. We are on fire -with anxiety and eagerness. - - - -MINA HARKER'S JOURNAL - -30 October.--Mr. Morris took me to the hotel where our rooms had been -ordered by telegraph, he being the one who could best be spared, since -he does not speak any foreign language. The forces were distributed -much as they had been at Varna, except that Lord Godalming went to the -Vice Consul, as his rank might serve as an immediate guarantee of some -sort to the official, we being in extreme hurry. Jonathan and the two -doctors went to the shipping agent to learn particulars of the arrival -of the Czarina Catherine. - - -Later.--Lord Godalming has returned. The Consul is away, and the Vice -Consul sick. So the routine work has been attended to by a clerk. He -was very obliging, and offered to do anything in his power. - - - -JONATHAN HARKER'S JOURNAL - -30 October.--At nine o'clock Dr. Van Helsing, Dr. Seward, and I called -on Messrs. Mackenzie & Steinkoff, the agents of the London firm of -Hapgood. They had received a wire from London, in answer to Lord -Godalming's telegraphed request, asking them to show us any civility -in their power. They were more than kind and courteous, and took us -at once on board the Czarina Catherine, which lay at anchor out in the -river harbor. There we saw the Captain, Donelson by name, who told us -of his voyage. He said that in all his life he had never had so -favourable a run. - -"Man!" he said, "but it made us afeard, for we expect it that we -should have to pay for it wi' some rare piece o' ill luck, so as to -keep up the average. It's no canny to run frae London to the Black -Sea wi' a wind ahint ye, as though the Deil himself were blawin' on -yer sail for his ain purpose. An' a' the time we could no speer a -thing. Gin we were nigh a ship, or a port, or a headland, a fog fell -on us and travelled wi' us, till when after it had lifted and we -looked out, the deil a thing could we see. We ran by Gibraltar wi' -oot bein' able to signal. An' til we came to the Dardanelles and had -to wait to get our permit to pass, we never were within hail o' -aught. At first I inclined to slack off sail and beat about till the -fog was lifted. But whiles, I thocht that if the Deil was minded to -get us into the Black Sea quick, he was like to do it whether we would -or no. If we had a quick voyage it would be no to our miscredit -wi' the owners, or no hurt to our traffic, an' the Old Mon who had -served his ain purpose wad be decently grateful to us for no hinderin' -him." - -This mixture of simplicity and cunning, of superstition and commercial -reasoning, aroused Van Helsing, who said, "Mine friend, that Devil is -more clever than he is thought by some, and he know when he meet his -match!" - -The skipper was not displeased with the compliment, and went on, "When -we got past the Bosphorus the men began to grumble. Some o' them, the -Roumanians, came and asked me to heave overboard a big box which had -been put on board by a queer lookin' old man just before we had -started frae London. I had seen them speer at the fellow, and put out -their twa fingers when they saw him, to guard them against the evil -eye. Man! but the supersteetion of foreigners is pairfectly -rideeculous! I sent them aboot their business pretty quick, but as -just after a fog closed in on us I felt a wee bit as they did anent -something, though I wouldn't say it was again the big box. Well, on -we went, and as the fog didn't let up for five days I joost let the -wind carry us, for if the Deil wanted to get somewheres, well, he -would fetch it up a'reet. An' if he didn't, well, we'd keep a sharp -lookout anyhow. Sure eneuch, we had a fair way and deep water all the -time. And two days ago, when the mornin' sun came through the fog, we -found ourselves just in the river opposite Galatz. The Roumanians -were wild, and wanted me right or wrong to take out the box and fling -it in the river. I had to argy wi' them aboot it wi' a handspike. An' -when the last o' them rose off the deck wi' his head in his hand, I -had convinced them that, evil eye or no evil eye, the property and the -trust of my owners were better in my hands than in the river Danube. -They had, mind ye, taken the box on the deck ready to fling in, and as -it was marked Galatz via Varna, I thocht I'd let it lie till we -discharged in the port an' get rid o't althegither. We didn't do much -clearin' that day, an' had to remain the nicht at anchor. But in the -mornin', braw an' airly, an hour before sunup, a man came aboard wi' -an order, written to him from England, to receive a box marked for one -Count Dracula. Sure eneuch the matter was one ready to his hand. He -had his papers a' reet, an' glad I was to be rid o' the dam' thing, -for I was beginnin' masel' to feel uneasy at it. If the Deil did have -any luggage aboord the ship, I'm thinkin' it was nane ither than that -same!" - -"What was the name of the man who took it?" asked Dr. Van Helsing with -restrained eagerness. - -"I'll be tellin' ye quick!" he answered, and stepping down to his -cabin, produced a receipt signed "Immanuel Hildesheim." Burgen-strasse -16 was the address. We found out that this was all the Captain knew, -so with thanks we came away. - -We found Hildesheim in his office, a Hebrew of rather the Adelphi -Theatre type, with a nose like a sheep, and a fez. His arguments were -pointed with specie, we doing the punctuation, and with a little -bargaining he told us what he knew. This turned out to be simple but -important. He had received a letter from Mr. de Ville of London, -telling him to receive, if possible before sunrise so as to avoid -customs, a box which would arrive at Galatz in the Czarina Catherine. -This he was to give in charge to a certain Petrof Skinsky, who dealt -with the Slovaks who traded down the river to the port. He had been -paid for his work by an English bank note, which had been duly cashed -for gold at the Danube International Bank. When Skinsky had come to -him, he had taken him to the ship and handed over the box, so as to -save porterage. That was all he knew. - -We then sought for Skinsky, but were unable to find him. One of his -neighbors, who did not seem to bear him any affection, said that he -had gone away two days before, no one knew whither. This was -corroborated by his landlord, who had received by messenger the key of -the house together with the rent due, in English money. This had been -between ten and eleven o'clock last night. We were at a standstill -again. - -Whilst we were talking one came running and breathlessly gasped out -that the body of Skinsky had been found inside the wall of the -churchyard of St. Peter, and that the throat had been torn open as if -by some wild animal. Those we had been speaking with ran off to see -the horror, the women crying out. "This is the work of a Slovak!" We -hurried away lest we should have been in some way drawn into the -affair, and so detained. - -As we came home we could arrive at no definite conclusion. We were -all convinced that the box was on its way, by water, to somewhere, but -where that might be we would have to discover. With heavy hearts we -came home to the hotel to Mina. - -When we met together, the first thing was to consult as to taking Mina -again into our confidence. Things are getting desperate, and it is at -least a chance, though a hazardous one. As a preliminary step, I was -released from my promise to her. - - - - - -MINA HARKER'S JOURNAL - -30 October, evening.--They were so tired and worn out and dispirited -that there was nothing to be done till they had some rest, so I asked -them all to lie down for half an hour whilst I should enter everything -up to the moment. I feel so grateful to the man who invented the -"Traveller's" typewriter, and to Mr. Morris for getting this one for -me. I should have felt quite astray doing the work if I had to write -with a pen . . . - -It is all done. Poor dear, dear Jonathan, what he must have suffered, -what he must be suffering now. He lies on the sofa hardly seeming to -breathe, and his whole body appears in collapse. His brows are knit. -His face is drawn with pain. Poor fellow, maybe he is thinking, and I -can see his face all wrinkled up with the concentration of his -thoughts. Oh! if I could only help at all. I shall do what I can. - -I have asked Dr. Van Helsing, and he has got me all the papers that I -have not yet seen. Whilst they are resting, I shall go over all -carefully, and perhaps I may arrive at some conclusion. I shall try -to follow the Professor's example, and think without prejudice on the -facts before me . . . - -I do believe that under God's providence I have made a discovery. I -shall get the maps and look over them. - -I am more than ever sure that I am right. My new conclusion is ready, -so I shall get our party together and read it. They can judge it. It -is well to be accurate, and every minute is precious. - - - -MINA HARKER'S MEMORANDUM - -(ENTERED IN HER JOURNAL) - - -Ground of inquiry.--Count Dracula's problem is to get back -to his own place. - -(a) He must be brought back by some one. This is evident; -for had he power to move himself as he wished he could go -either as man, or wolf, or bat, or in some other way. He -evidently fears discovery or interference, in the state of -helplessness in which he must be, confined as he is between -dawn and sunset in his wooden box. - -(b) How is he to be taken?--Here a process of exclusions may -help us. By road, by rail, by water? - -1. By Road.--There are endless difficulties, especially in -leaving the city. - -(x) There are people. And people are curious, and -investigate. A hint, a surmise, a doubt as to what might -be in the box, would destroy him. - -(y) There are, or there may be, customs and octroi officers -to pass. - -(z) His pursuers might follow. This is his highest fear. -And in order to prevent his being betrayed he has repelled, -so far as he can, even his victim, me! - -2. By Rail.--There is no one in charge of the box. It -would have to take its chance of being delayed, and delay -would be fatal, with enemies on the track. True, he might -escape at night. But what would he be, if left in a strange -place with no refuge that he could fly to? This is not what he -intends, and he does not mean to risk it. - -3. By Water.--Here is the safest way, in one respect, but -with most danger in another. On the water he is powerless -except at night. Even then he can only summon fog and storm and -snow and his wolves. But were he wrecked, the living water would -engulf him, helpless, and he would indeed be lost. He could have -the vessel drive to land, but if it were unfriendly land, wherein -he was not free to move, his position would still be desperate. - -We know from the record that he was on the water, so what -we have to do is to ascertain what water. - -The first thing is to realize exactly what he has done as -yet. We may, then, get a light on what his task is to be. - -Firstly.--We must differentiate between what he did in -London as part of his general plan of action, when he was -pressed for moments and had to arrange as best he could. - -Secondly.--We must see, as well as we can surmise it from the -facts we know of, what he has done here. - -As to the first, he evidently intended to arrive at Galatz, -and sent invoice to Varna to deceive us lest we should ascertain -his means of exit from England. His immediate and sole purpose -then was to escape. The proof of this, is the letter of -instructions sent to Immanuel Hildesheim to clear and take away -the box before sunrise. There is also the instruction to Petrof -Skinsky. These we must only guess at, but there must have been -some letter or message, since Skinsky came to Hildesheim. - -That, so far, his plans were successful we know. The Czarina -Catherine made a phenomenally quick journey. So much so that -Captain Donelson's suspicions were aroused. But his superstition -united with his canniness played the Count's game for him, and he -ran with his favouring wind through fogs and all till he brought -up blindfold at Galatz. That the Count's arrangements were well -made, has been proved. Hildesheim cleared the box, took it off, -and gave it to Skinsky. Skinsky took it, and here we lose the -trail. We only know that the box is somewhere on the water, -moving along. The customs and the octroi, if there be any, have -been avoided. - -Now we come to what the Count must have done after his -arrival, on land, at Galatz. - -The box was given to Skinsky before sunrise. At sunrise -the Count could appear in his own form. Here, we ask why -Skinsky was chosen at all to aid in the work? In my husband's -diary, Skinsky is mentioned as dealing with the Slovaks who trade -down the river to the port. And the man's remark, that the -murder was the work of a Slovak, showed the general feeling -against his class. The Count wanted isolation. - -My surmise is this, that in London the Count decided to get -back to his castle by water, as the most safe and secret -way. He was brought from the castle by Szgany, and probably they -delivered their cargo to Slovaks who took the boxes to Varna, for -there they were shipped to London. Thus the Count had knowledge -of the persons who could arrange this service. When the box was -on land, before sunrise or after sunset, he came out from his -box, met Skinsky and instructed him what to do as to arranging -the carriage of the box up some river. When this was done, and -he knew that all was in train, he blotted out his traces, as he -thought, by murdering his agent. - -I have examined the map and find that the river most -suitable for the Slovaks to have ascended is either the -Pruth or the Sereth. I read in the typescript that in my -trance I heard cows low and water swirling level with my -ears and the creaking of wood. The Count in his box, then, -was on a river in an open boat, propelled probably either -by oars or poles, for the banks are near and it is working -against stream. There would be no such if floating down -stream. - -Of course it may not be either the Sereth or the Pruth, but -we may possibly investigate further. Now of these two, the -Pruth is the more easily navigated, but the Sereth is, at -Fundu, joined by the Bistritza which runs up round the Borgo -Pass. The loop it makes is manifestly as close to Dracula's -castle as can be got by water. - - - -MINA HARKER'S JOURNAL--CONTINUED - -When I had done reading, Jonathan took me in his arms and kissed me. -The others kept shaking me by both hands, and Dr. Van Helsing said, -"Our dear Madam Mina is once more our teacher. Her eyes have been -where we were blinded. Now we are on the track once again, and this -time we may succeed. Our enemy is at his most helpless. And if we -can come on him by day, on the water, our task will be over. He has a -start, but he is powerless to hasten, as he may not leave this box -lest those who carry him may suspect. For them to suspect would be to -prompt them to throw him in the stream where he perish. This he -knows, and will not. Now men, to our Council of War, for here and -now, we must plan what each and all shall do." - -"I shall get a steam launch and follow him," said Lord Godalming. - -"And I, horses to follow on the bank lest by chance he land," said Mr. -Morris. - -"Good!" said the Professor, "both good. But neither must go alone. -There must be force to overcome force if need be. The Slovak is -strong and rough, and he carries rude arms." All the men smiled, for -amongst them they carried a small arsenal. - -Said Mr. Morris, "I have brought some Winchesters. They are pretty -handy in a crowd, and there may be wolves. The Count, if you -remember, took some other precautions. He made some requisitions on -others that Mrs. Harker could not quite hear or understand. We must -be ready at all points." - -Dr. Seward said, "I think I had better go with Quincey. We have been -accustomed to hunt together, and we two, well armed, will be a match -for whatever may come along. You must not be alone, Art. It may be -necessary to fight the Slovaks, and a chance thrust, for I don't -suppose these fellows carry guns, would undo all our plans. There -must be no chances, this time. We shall not rest until the Count's -head and body have been separated, and we are sure that he cannot -reincarnate." - -He looked at Jonathan as he spoke, and Jonathan looked at me. I could -see that the poor dear was torn about in his mind. Of course he -wanted to be with me. But then the boat service would, most likely, -be the one which would destroy the . . . the . . . Vampire. (Why did -I hesitate to write the word?) - -He was silent awhile, and during his silence Dr. Van Helsing spoke, -"Friend Jonathan, this is to you for twice reasons. First, because -you are young and brave and can fight, and all energies may be needed -at the last. And again that it is your right to destroy him. That, -which has wrought such woe to you and yours. Be not afraid for Madam -Mina. She will be my care, if I may. I am old. My legs are not so -quick to run as once. And I am not used to ride so long or to pursue -as need be, or to fight with lethal weapons. But I can be of other -service. I can fight in other way. And I can die, if need be, as -well as younger men. Now let me say that what I would is this. While -you, my Lord Godalming and friend Jonathan go in your so swift little -steamboat up the river, and whilst John and Quincey guard the bank -where perchance he might be landed, I will take Madam Mina right into -the heart of the enemy's country. Whilst the old fox is tied in his -box, floating on the running stream whence he cannot escape to land, -where he dares not raise the lid of his coffin box lest his Slovak -carriers should in fear leave him to perish, we shall go in the track -where Jonathan went, from Bistritz over the Borgo, and find our way to -the Castle of Dracula. Here, Madam Mina's hypnotic power will surely -help, and we shall find our way, all dark and unknown otherwise, after -the first sunrise when we are near that fateful place. There is much -to be done, and other places to be made sanctify, so that that nest of -vipers be obliterated." - -Here Jonathan interrupted him hotly, "Do you mean to say, Professor -Van Helsing, that you would bring Mina, in her sad case and tainted as -she is with that devil's illness, right into the jaws of his -deathtrap? Not for the world! Not for Heaven or Hell!" - -He became almost speechless for a minute, and then went on, "Do you -know what the place is? Have you seen that awful den of hellish -infamy, with the very moonlight alive with grisly shapes, and every -speck of dust that whirls in the wind a devouring monster in embryo? -Have you felt the Vampire's lips upon your throat?" - -Here he turned to me, and as his eyes lit on my forehead he threw up -his arms with a cry, "Oh, my God, what have we done to have this -terror upon us?" and he sank down on the sofa in a collapse of misery. - -The Professor's voice, as he spoke in clear, sweet tones, which seemed -to vibrate in the air, calmed us all. - -"Oh, my friend, it is because I would save Madam Mina from that awful -place that I would go. God forbid that I should take her into that -place. There is work, wild work, to be done before that place can be -purify. Remember that we are in terrible straits. If the Count -escape us this time, and he is strong and subtle and cunning, he may -choose to sleep him for a century, and then in time our dear one," he -took my hand, "would come to him to keep him company, and would be as -those others that you, Jonathan, saw. You have told us of their -gloating lips. You heard their ribald laugh as they clutched the -moving bag that the Count threw to them. You shudder, and well may it -be. Forgive me that I make you so much pain, but it is necessary. My -friend, is it not a dire need for that which I am giving, possibly my -life? If it were that any one went into that place to stay, it is I -who would have to go to keep them company." - -"Do as you will," said Jonathan, with a sob that shook him all over, -"we are in the hands of God!" - - -Later.--Oh, it did me good to see the way that these brave men worked. -How can women help loving men when they are so earnest, and so true, -and so brave! And, too, it made me think of the wonderful power of -money! What can it not do when basely used. I felt so thankful that -Lord Godalming is rich, and both he and Mr. Morris, who also has -plenty of money, are willing to spend it so freely. For if they did -not, our little expedition could not start, either so promptly or so -well equipped, as it will within another hour. It is not three hours -since it was arranged what part each of us was to do. And now Lord -Godalming and Jonathan have a lovely steam launch, with steam up ready -to start at a moment's notice. Dr. Seward and Mr. Morris have half a -dozen good horses, well appointed. We have all the maps and -appliances of various kinds that can be had. Professor Van Helsing -and I are to leave by the 11:40 train tonight for Veresti, where we -are to get a carriage to drive to the Borgo Pass. We are bringing a -good deal of ready money, as we are to buy a carriage and horses. We -shall drive ourselves, for we have no one whom we can trust in the -matter. The Professor knows something of a great many languages, so -we shall get on all right. We have all got arms, even for me a large -bore revolver. Jonathan would not be happy unless I was armed like -the rest. Alas! I cannot carry one arm that the rest do, the scar on -my forehead forbids that. Dear Dr. Van Helsing comforts me by telling -me that I am fully armed as there may be wolves. The weather is -getting colder every hour, and there are snow flurries which come and -go as warnings. - - -Later.--It took all my courage to say goodbye to my darling. We may -never meet again. Courage, Mina! The Professor is looking at you -keenly. His look is a warning. There must be no tears now, unless it -may be that God will let them fall in gladness. - - - -JONATHAN HARKER'S JOURNAL - -30 October, night.--I am writing this in the light from the furnace -door of the steam launch. Lord Godalming is firing up. He is an -experienced hand at the work, as he has had for years a launch of his -own on the Thames, and another on the Norfolk Broads. Regarding our -plans, we finally decided that Mina's guess was correct, and that if -any waterway was chosen for the Count's escape back to his Castle, the -Sereth and then the Bistritza at its junction, would be the one. We -took it, that somewhere about the 47th degree, north latitude, would -be the place chosen for crossing the country between the river and the -Carpathians. We have no fear in running at good speed up the river at -night. There is plenty of water, and the banks are wide enough apart -to make steaming, even in the dark, easy enough. Lord Godalming tells -me to sleep for a while, as it is enough for the present for one to be -on watch. But I cannot sleep, how can I with the terrible danger -hanging over my darling, and her going out into that awful place . . . - -My only comfort is that we are in the hands of God. Only for that -faith it would be easier to die than to live, and so be quit of all -the trouble. Mr. Morris and Dr. Seward were off on their long ride -before we started. They are to keep up the right bank, far enough off -to get on higher lands where they can see a good stretch of river and -avoid the following of its curves. They have, for the first stages, -two men to ride and lead their spare horses, four in all, so as not to -excite curiosity. When they dismiss the men, which shall be shortly, -they shall themselves look after the horses. It may be necessary for -us to join forces. If so they can mount our whole party. One of the -saddles has a moveable horn, and can be easily adapted for Mina, if -required. - -It is a wild adventure we are on. Here, as we are rushing along -through the darkness, with the cold from the river seeming to rise up -and strike us, with all the mysterious voices of the night around us, -it all comes home. We seem to be drifting into unknown places and -unknown ways. Into a whole world of dark and dreadful things. -Godalming is shutting the furnace door . . . - - -31 October.--Still hurrying along. The day has come, and Godalming is -sleeping. I am on watch. The morning is bitterly cold, the furnace -heat is grateful, though we have heavy fur coats. As yet we have -passed only a few open boats, but none of them had on board any box or -package of anything like the size of the one we seek. The men were -scared every time we turned our electric lamp on them, and fell on -their knees and prayed. - - -1 November, evening.--No news all day. We have found nothing of the -kind we seek. We have now passed into the Bistritza, and if we are -wrong in our surmise our chance is gone. We have overhauled every -boat, big and little. Early this morning, one crew took us for a -Government boat, and treated us accordingly. We saw in this a way of -smoothing matters, so at Fundu, where the Bistritza runs into the -Sereth, we got a Roumanian flag which we now fly conspicuously. With -every boat which we have overhauled since then this trick has -succeeded. We have had every deference shown to us, and not once any -objection to whatever we chose to ask or do. Some of the Slovaks tell -us that a big boat passed them, going at more than usual speed as she -had a double crew on board. This was before they came to Fundu, so -they could not tell us whether the boat turned into the Bistritza or -continued on up the Sereth. At Fundu we could not hear of any such -boat, so she must have passed there in the night. I am feeling very -sleepy. The cold is perhaps beginning to tell upon me, and nature -must have rest some time. Godalming insists that he shall keep the -first watch. God bless him for all his goodness to poor dear Mina and -me. - - -2 November, morning.--It is broad daylight. That good fellow would -not wake me. He says it would have been a sin to, for I slept -peacefully and was forgetting my trouble. It seems brutally selfish -to me to have slept so long, and let him watch all night, but he was -quite right. I am a new man this morning. And, as I sit here and -watch him sleeping, I can do all that is necessary both as to minding -the engine, steering, and keeping watch. I can feel that my strength -and energy are coming back to me. I wonder where Mina is now, and Van -Helsing. They should have got to Veresti about noon on Wednesday. It -would take them some time to get the carriage and horses. So if they -had started and travelled hard, they would be about now at the Borgo -Pass. God guide and help them! I am afraid to think what may -happen. If we could only go faster. But we cannot. The engines are -throbbing and doing their utmost. I wonder how Dr. Seward and Mr. -Morris are getting on. There seem to be endless streams running down -the mountains into this river, but as none of them are very large, at -present, at all events, though they are doubtless terrible in winter -and when the snow melts, the horsemen may not have met much -obstruction. I hope that before we get to Strasba we may see them. -For if by that time we have not overtaken the Count, it may be -necessary to take counsel together what to do next. - - - - - -DR. SEWARD'S DIARY - -2 November.--Three days on the road. No news, and no time to write it -if there had been, for every moment is precious. We have had only the -rest needful for the horses. But we are both bearing it wonderfully. -Those adventurous days of ours are turning up useful. We must push -on. We shall never feel happy till we get the launch in sight again. - - -3 November.--We heard at Fundu that the launch had gone up the -Bistritza. I wish it wasn't so cold. There are signs of snow coming. -And if it falls heavy it will stop us. In such case we must get a -sledge and go on, Russian fashion. - -4 November.--Today we heard of the launch having been detained by an -accident when trying to force a way up the rapids. The Slovak boats -get up all right, by aid of a rope and steering with knowledge. Some -went up only a few hours before. Godalming is an amateur fitter -himself, and evidently it was he who put the launch in trim again. - -Finally, they got up the rapids all right, with local help, and are off -on the chase afresh. I fear that the boat is not any better for the -accident, the peasantry tell us that after she got upon smooth water -again, she kept stopping every now and again so long as she was in -sight. We must push on harder than ever. Our help may be wanted -soon. - - - - - -MINA HARKER'S JOURNAL - -31 October.--Arrived at Veresti at noon. The Professor tells me that -this morning at dawn he could hardly hypnotize me at all, and that all -I could say was, "dark and quiet." He is off now buying a carriage -and horses. He says that he will later on try to buy additional -horses, so that we may be able to change them on the way. We have -something more than 70 miles before us. The country is lovely, and -most interesting. If only we were under different conditions, how -delightful it would be to see it all. If Jonathan and I were driving -through it alone what a pleasure it would be. To stop and see people, -and learn something of their life, and to fill our minds and memories -with all the colour and picturesqueness of the whole wild, beautiful -country and the quaint people! But, alas! - - -Later.--Dr. Van Helsing has returned. He has got the carriage and -horses. We are to have some dinner, and to start in an hour. The -landlady is putting us up a huge basket of provisions. It seems -enough for a company of soldiers. The Professor encourages her, and -whispers to me that it may be a week before we can get any food again. -He has been shopping too, and has sent home such a wonderful lot of -fur coats and wraps, and all sorts of warm things. There will not be -any chance of our being cold. - -We shall soon be off. I am afraid to think what may happen to us. We -are truly in the hands of God. He alone knows what may be, and I pray -Him, with all the strength of my sad and humble soul, that He will -watch over my beloved husband. That whatever may happen, Jonathan may -know that I loved him and honoured him more than I can say, and that my -latest and truest thought will be always for him. - - - - -CHAPTER 27 - - -MINA HARKER'S JOURNAL - -1 November.--All day long we have travelled, and at a good speed. The -horses seem to know that they are being kindly treated, for they go -willingly their full stage at best speed. We have now had so many -changes and find the same thing so constantly that we are encouraged -to think that the journey will be an easy one. Dr. Van Helsing is -laconic, he tells the farmers that he is hurrying to Bistritz, and -pays them well to make the exchange of horses. We get hot soup, or -coffee, or tea, and off we go. It is a lovely country. Full of -beauties of all imaginable kinds, and the people are brave, and -strong, and simple, and seem full of nice qualities. They are very, -very superstitious. In the first house where we stopped, when the -woman who served us saw the scar on my forehead, she crossed herself -and put out two fingers towards me, to keep off the evil eye. I -believe they went to the trouble of putting an extra amount of garlic -into our food, and I can't abide garlic. Ever since then I have taken -care not to take off my hat or veil, and so have escaped their -suspicions. We are travelling fast, and as we have no driver with us -to carry tales, we go ahead of scandal. But I daresay that fear of -the evil eye will follow hard behind us all the way. The Professor -seems tireless. All day he would not take any rest, though he made me -sleep for a long spell. At sunset time he hypnotized me, and he says -I answered as usual, "darkness, lapping water and creaking wood." So -our enemy is still on the river. I am afraid to think of Jonathan, -but somehow I have now no fear for him, or for myself. I write this -whilst we wait in a farmhouse for the horses to be ready. Dr. Van -Helsing is sleeping. Poor dear, he looks very tired and old and grey, -but his mouth is set as firmly as a conqueror's. Even in his sleep he -is intense with resolution. When we have well started I must make him -rest whilst I drive. I shall tell him that we have days before us, -and he must not break down when most of all his strength will be -needed . . . All is ready. We are off shortly. - - -2 November, morning.--I was successful, and we took turns driving all -night. Now the day is on us, bright though cold. There is a strange -heaviness in the air. I say heaviness for want of a better word. I -mean that it oppresses us both. It is very cold, and only our warm -furs keep us comfortable. At dawn Van Helsing hypnotized me. He says -I answered "darkness, creaking wood and roaring water," so the river -is changing as they ascend. I do hope that my darling will not run -any chance of danger, more than need be, but we are in God's hands. - - -2 November, night.--All day long driving. The country gets wilder as -we go, and the great spurs of the Carpathians, which at Veresti seemed -so far from us and so low on the horizon, now seem to gather round us -and tower in front. We both seem in good spirits. I think we make an -effort each to cheer the other, in the doing so we cheer ourselves. -Dr. Van Helsing says that by morning we shall reach the Borgo Pass. -The houses are very few here now, and the Professor says that the last -horse we got will have to go on with us, as we may not be able to -change. He got two in addition to the two we changed, so that now we -have a rude four-in-hand. The dear horses are patient and good, and -they give us no trouble. We are not worried with other travellers, -and so even I can drive. We shall get to the Pass in daylight. We do -not want to arrive before. So we take it easy, and have each a long -rest in turn. Oh, what will tomorrow bring to us? We go to seek the -place where my poor darling suffered so much. God grant that we may -be guided aright, and that He will deign to watch over my husband and -those dear to us both, and who are in such deadly peril. As for me, I -am not worthy in His sight. Alas! I am unclean to His eyes, and -shall be until He may deign to let me stand forth in His sight as one -of those who have not incurred His wrath. - - - - - -MEMORANDUM BY ABRAHAM VAN HELSING - -4 November.--This to my old and true friend John Seward, M.D., -of Purfleet, London, in case I may not see him. It may -explain. It is morning, and I write by a fire which all -the night I have kept alive, Madam Mina aiding me. It is -cold, cold. So cold that the grey heavy sky is full of -snow, which when it falls will settle for all winter as the -ground is hardening to receive it. It seems to have affected -Madam Mina. She has been so heavy of head all day that she was -not like herself. She sleeps, and sleeps, and sleeps! She who -is usual so alert, have done literally nothing all the day. She -even have lost her appetite. She make no entry into her little -diary, she who write so faithful at every pause. Something -whisper to me that all is not well. However, tonight she is more -_vif_. Her long sleep all day have refresh and restore her, for -now she is all sweet and bright as ever. At sunset I try to -hypnotize her, but alas! with no effect. The power has grown -less and less with each day, and tonight it fail me altogether. -Well, God's will be done, whatever it may be, and whithersoever -it may lead! - -Now to the historical, for as Madam Mina write not in her -stenography, I must, in my cumbrous old fashion, that so -each day of us may not go unrecorded. - -We got to the Borgo Pass just after sunrise yesterday -morning. When I saw the signs of the dawn I got ready for -the hypnotism. We stopped our carriage, and got down so -that there might be no disturbance. I made a couch with -furs, and Madam Mina, lying down, yield herself as usual, -but more slow and more short time than ever, to the hypnotic -sleep. As before, came the answer, "darkness and the swirling of -water." Then she woke, bright and radiant and we go on our way -and soon reach the Pass. At this time and place, she become all -on fire with zeal. Some new guiding power be in her manifested, -for she point to a road and say, "This is the way." - -"How know you it?" I ask. - -"Of course I know it," she answer, and with a pause, add, -"Have not my Jonathan travelled it and wrote of his travel?" - -At first I think somewhat strange, but soon I see that there be -only one such byroad. It is used but little, and very different -from the coach road from the Bukovina to Bistritz, which is more -wide and hard, and more of use. - -So we came down this road. When we meet other ways, not -always were we sure that they were roads at all, for they -be neglect and light snow have fallen, the horses know and -they only. I give rein to them, and they go on so patient. By -and by we find all the things which Jonathan have note in that -wonderful diary of him. Then we go on for long, long hours and -hours. At the first, I tell Madam Mina to sleep. She try, and -she succeed. She sleep all the time, till at the last, I feel -myself to suspicious grow, and attempt to wake her. But she -sleep on, and I may not wake her though I try. I do not wish to -try too hard lest I harm her. For I know that she have suffer -much, and sleep at times be all-in-all to her. I think I drowse -myself, for all of sudden I feel guilt, as though I have done -something. I find myself bolt up, with the reins in my hand, and -the good horses go along jog, jog, just as ever. I look down and -find Madam Mina still asleep. It is now not far off sunset time, -and over the snow the light of the sun flow in big yellow flood, -so that we throw great long shadow on where the mountain rise so -steep. For we are going up, and up, and all is oh so wild and -rocky, as though it were the end of the world. - -Then I arouse Madam Mina. This time she wake with not much -trouble, and then I try to put her to hypnotic sleep. But -she sleep not, being as though I were not. Still I try and -try, till all at once I find her and myself in dark, so I -look round, and find that the sun have gone down. Madam -Mina laugh, and I turn and look at her. She is now quite -awake, and look so well as I never saw her since that night -at Carfax when we first enter the Count's house. I am amaze, and -not at ease then. But she is so bright and tender and thoughtful -for me that I forget all fear. I light a fire, for we have -brought supply of wood with us, and she prepare food while I undo -the horses and set them, tethered in shelter, to feed. Then when -I return to the fire she have my supper ready. I go to help her, -but she smile, and tell me that she have eat already. That she -was so hungry that she would not wait. I like it not, and I have -grave doubts. But I fear to affright her, and so I am silent of -it. She help me and I eat alone, and then we wrap in fur and lie -beside the fire, and I tell her to sleep while I watch. But -presently I forget all of watching. And when I sudden remember -that I watch, I find her lying quiet, but awake, and looking at -me with so bright eyes. Once, twice more the same occur, and I -get much sleep till before morning. When I wake I try to -hypnotize her, but alas! though she shut her eyes obedient, she -may not sleep. The sun rise up, and up, and up, and then sleep -come to her too late, but so heavy that she will not wake. I -have to lift her up, and place her sleeping in the carriage when -I have harnessed the horses and made all ready. Madam still -sleep, and she look in her sleep more healthy and more redder -than before. And I like it not. And I am afraid, afraid, -afraid! I am afraid of all things, even to think but I must go -on my way. The stake we play for is life and death, or more than -these, and we must not flinch. - - -5 November, morning.--Let me be accurate in everything, for -though you and I have seen some strange things together, -you may at the first think that I, Van Helsing, am mad. -That the many horrors and the so long strain on nerves has -at the last turn my brain. - -All yesterday we travel, always getting closer to the -mountains, and moving into a more and more wild and desert -land. There are great, frowning precipices and much falling -water, and Nature seem to have held sometime her carnival. Madam -Mina still sleep and sleep. And though I did have hunger and -appeased it, I could not waken her, even for food. I began to -fear that the fatal spell of the place was upon her, tainted as -she is with that Vampire baptism. "Well," said I to myself, "if -it be that she sleep all the day, it shall also be that I do not -sleep at night." As we travel on the rough road, for a road of -an ancient and imperfect kind there was, I held down my head and -slept. - -Again I waked with a sense of guilt and of time passed, and -found Madam Mina still sleeping, and the sun low down. But -all was indeed changed. The frowning mountains seemed further -away, and we were near the top of a steep rising hill, on summit -of which was such a castle as Jonathan tell of in his diary. At -once I exulted and feared. For now, for good or ill, the end was -near. - -I woke Madam Mina, and again tried to hypnotize her, but -alas! unavailing till too late. Then, ere the great dark -came upon us, for even after down sun the heavens reflected -the gone sun on the snow, and all was for a time in a great -twilight. I took out the horses and fed them in what shelter I -could. Then I make a fire, and near it I make Madam Mina, now -awake and more charming than ever, sit comfortable amid her rugs. -I got ready food, but she would not eat, simply saying that she -had not hunger. I did not press her, knowing her unavailingness. -But I myself eat, for I must needs now be strong for all. Then, -with the fear on me of what might be, I drew a ring so big for -her comfort, round where Madam Mina sat. And over the ring I -passed some of the wafer, and I broke it fine so that all was -well guarded. She sat still all the time, so still as one dead. -And she grew whiter and even whiter till the snow was not more -pale, and no word she said. But when I drew near, she clung to -me, and I could know that the poor soul shook her from head to -feet with a tremor that was pain to feel. - -I said to her presently, when she had grown more quiet, -"Will you not come over to the fire?" for I wished to make -a test of what she could. She rose obedient, but when she -have made a step she stopped, and stood as one stricken. - -"Why not go on?" I asked. She shook her head, and coming -back, sat down in her place. Then, looking at me with open -eyes, as of one waked from sleep, she said simply, "I cannot!" -and remained silent. I rejoiced, for I knew that what she could -not, none of those that we dreaded could. Though there might be -danger to her body, yet her soul was safe! - -Presently the horses began to scream, and tore at their -tethers till I came to them and quieted them. When they -did feel my hands on them, they whinnied low as in joy, and -licked at my hands and were quiet for a time. Many times -through the night did I come to them, till it arrive to the -cold hour when all nature is at lowest, and every time my -coming was with quiet of them. In the cold hour the fire -began to die, and I was about stepping forth to replenish -it, for now the snow came in flying sweeps and with it a -chill mist. Even in the dark there was a light of some -kind, as there ever is over snow, and it seemed as though -the snow flurries and the wreaths of mist took shape as of -women with trailing garments. All was in dead, grim silence only -that the horses whinnied and cowered, as if in terror of the -worst. I began to fear, horrible fears. But then came to me the -sense of safety in that ring wherein I stood. I began too, to -think that my imaginings were of the night, and the gloom, and -the unrest that I have gone through, and all the terrible -anxiety. It was as though my memories of all Jonathan's horrid -experience were befooling me. For the snow flakes and the mist -began to wheel and circle round, till I could get as though a -shadowy glimpse of those women that would have kissed him. And -then the horses cowered lower and lower, and moaned in terror as -men do in pain. Even the madness of fright was not to them, so -that they could break away. I feared for my dear Madam Mina when -these weird figures drew near and circled round. I looked at her, -but she sat calm, and smiled at me. When I would have stepped to -the fire to replenish it, she caught me and held me back, and -whispered, like a voice that one hears in a dream, so low it was. - -"No! No! Do not go without. Here you are safe!" - -I turned to her, and looking in her eyes said, "But you? -It is for you that I fear!" - -Whereat she laughed, a laugh low and unreal, and said, "Fear -for me! Why fear for me? None safer in all the world from -them than I am," and as I wondered at the meaning of her -words, a puff of wind made the flame leap up, and I see the -red scar on her forehead. Then, alas! I knew. Did I not, -I would soon have learned, for the wheeling figures of mist -and snow came closer, but keeping ever without the Holy -circle. Then they began to materialize till, if God have -not taken away my reason, for I saw it through my eyes. -There were before me in actual flesh the same three women -that Jonathan saw in the room, when they would have kissed -his throat. I knew the swaying round forms, the bright -hard eyes, the white teeth, the ruddy colour, the voluptuous -lips. They smiled ever at poor dear Madam Mina. And as -their laugh came through the silence of the night, they -twined their arms and pointed to her, and said in those so -sweet tingling tones that Jonathan said were of the intolerable -sweetness of the water glasses, "Come, sister. Come to us. -Come!" - -In fear I turned to my poor Madam Mina, and my heart with -gladness leapt like flame. For oh! the terror in her sweet -eyes, the repulsion, the horror, told a story to my heart -that was all of hope. God be thanked she was not, yet, of -them. I seized some of the firewood which was by me, and -holding out some of the Wafer, advanced on them towards the -fire. They drew back before me, and laughed their low horrid -laugh. I fed the fire, and feared them not. For I knew that we -were safe within the ring, which she could not leave no more than -they could enter. The horses had ceased to moan, and lay still -on the ground. The snow fell on them softly, and they grew -whiter. I knew that there was for the poor beasts no more of -terror. - -And so we remained till the red of the dawn began to fall -through the snow gloom. I was desolate and afraid, and -full of woe and terror. But when that beautiful sun began -to climb the horizon life was to me again. At the first -coming of the dawn the horrid figures melted in the whirling -mist and snow. The wreaths of transparent gloom moved away -towards the castle, and were lost. - -Instinctively, with the dawn coming, I turned to Madam Mina, -intending to hypnotize her. But she lay in a deep and sudden -sleep, from which I could not wake her. I tried to hypnotize -through her sleep, but she made no response, none at all, and the -day broke. I fear yet to stir. I have made my fire and have -seen the horses, they are all dead. Today I have much to do here, -and I keep waiting till the sun is up high. For there may be -places where I must go, where that sunlight, though snow and mist -obscure it, will be to me a safety. - -I will strengthen me with breakfast, and then I will do my -terrible work. Madam Mina still sleeps, and God be thanked! She -is calm in her sleep . . . - - - -JONATHAN HARKER'S JOURNAL - -4 November, evening.--The accident to the launch has been a terrible -thing for us. Only for it we should have overtaken the boat long ago, -and by now my dear Mina would have been free. I fear to think of her, -off on the wolds near that horrid place. We have got horses, and we -follow on the track. I note this whilst Godalming is getting ready. -We have our arms. The Szgany must look out if they mean to fight. Oh, -if only Morris and Seward were with us. We must only hope! If I -write no more Goodby Mina! God bless and keep you. - - - -DR. SEWARD'S DIARY - -5 November.--With the dawn we saw the body of Szgany before us dashing -away from the river with their leiter wagon. They surrounded it in a -cluster, and hurried along as though beset. The snow is falling -lightly and there is a strange excitement in the air. It may be our -own feelings, but the depression is strange. Far off I hear the -howling of wolves. The snow brings them down from the mountains, and -there are dangers to all of us, and from all sides. The horses are -nearly ready, and we are soon off. We ride to death of some one. God -alone knows who, or where, or what, or when, or how it may be . . . - - - - - -DR. VAN HELSING'S MEMORANDUM - -5 November, afternoon.--I am at least sane. Thank God for -that mercy at all events, though the proving it has been -dreadful. When I left Madam Mina sleeping within the Holy -circle, I took my way to the castle. The blacksmith hammer -which I took in the carriage from Veresti was useful, though the -doors were all open I broke them off the rusty hinges, lest some -ill intent or ill chance should close them, so that being entered -I might not get out. Jonathan's bitter experience served me -here. By memory of his diary I found my way to the old chapel, -for I knew that here my work lay. The air was oppressive. It -seemed as if there was some sulphurous fume, which at times made -me dizzy. Either there was a roaring in my ears or I heard afar -off the howl of wolves. Then I bethought me of my dear Madam -Mina, and I was in terrible plight. The dilemma had me between -his horns. - -Her, I had not dare to take into this place, but left safe -from the Vampire in that Holy circle. And yet even there -would be the wolf! I resolve me that my work lay here, and -that as to the wolves we must submit, if it were God's will. At -any rate it was only death and freedom beyond. So did I choose -for her. Had it but been for myself the choice had been easy, -the maw of the wolf were better to rest in than the grave of the -Vampire! So I make my choice to go on with my work. - -I knew that there were at least three graves to find, graves -that are inhabit. So I search, and search, and I find one -of them. She lay in her Vampire sleep, so full of life and -voluptuous beauty that I shudder as though I have come to -do murder. Ah, I doubt not that in the old time, when such -things were, many a man who set forth to do such a task as -mine, found at the last his heart fail him, and then his -nerve. So he delay, and delay, and delay, till the mere -beauty and the fascination of the wanton Undead have hypnotize -him. And he remain on and on, till sunset come, and the Vampire -sleep be over. Then the beautiful eyes of the fair woman open -and look love, and the voluptuous mouth present to a kiss, and -the man is weak. And there remain one more victim in the -Vampire fold. One more to swell the grim and grisly ranks -of the Undead! . . . - -There is some fascination, surely, when I am moved by the -mere presence of such an one, even lying as she lay in a -tomb fretted with age and heavy with the dust of centuries, -though there be that horrid odour such as the lairs of the -Count have had. Yes, I was moved. I, Van Helsing, with -all my purpose and with my motive for hate. I was moved to -a yearning for delay which seemed to paralyze my faculties -and to clog my very soul. It may have been that the need -of natural sleep, and the strange oppression of the air -were beginning to overcome me. Certain it was that I was -lapsing into sleep, the open eyed sleep of one who yields -to a sweet fascination, when there came through the snow-stilled -air a long, low wail, so full of woe and pity that it woke me -like the sound of a clarion. For it was the voice of my dear -Madam Mina that I heard. - -Then I braced myself again to my horrid task, and found by -wrenching away tomb tops one other of the sisters, the other dark -one. I dared not pause to look on her as I had on her sister, -lest once more I should begin to be enthrall. But I go on -searching until, presently, I find in a high great tomb as if -made to one much beloved that other fair sister which, like -Jonathan I had seen to gather herself out of the atoms of the -mist. She was so fair to look on, so radiantly beautiful, so -exquisitely voluptuous, that the very instinct of man in me, -which calls some of my sex to love and to protect one of hers, -made my head whirl with new emotion. But God be thanked, that -soul wail of my dear Madam Mina had not died out of my ears. -And, before the spell could be wrought further upon me, I had -nerved myself to my wild work. By this time I had searched all -the tombs in the chapel, so far as I could tell. And as there -had been only three of these Undead phantoms around us in the -night, I took it that there were no more of active Undead -existent. There was one great tomb more lordly than all the -rest. Huge it was, and nobly proportioned. On it was but one -word. - - - DRACULA - - -This then was the Undead home of the King Vampire, to whom -so many more were due. Its emptiness spoke eloquent to -make certain what I knew. Before I began to restore these -women to their dead selves through my awful work, I laid in -Dracula's tomb some of the Wafer, and so banished him from -it, Undead, for ever. - -Then began my terrible task, and I dreaded it. Had it been -but one, it had been easy, comparative. But three! To -begin twice more after I had been through a deed of horror. -For it was terrible with the sweet Miss Lucy, what would it -not be with these strange ones who had survived through -centuries, and who had been strengthened by the passing of -the years. Who would, if they could, have fought for their -foul lives . . . - -Oh, my friend John, but it was butcher work. Had I not -been nerved by thoughts of other dead, and of the living -over whom hung such a pall of fear, I could not have gone -on. I tremble and tremble even yet, though till all was -over, God be thanked, my nerve did stand. Had I not seen -the repose in the first place, and the gladness that stole -over it just ere the final dissolution came, as realization -that the soul had been won, I could not have gone further -with my butchery. I could not have endured the horrid screeching -as the stake drove home, the plunging of writhing form, and lips -of bloody foam. I should have fled in terror and left my work -undone. But it is over! And the poor souls, I can pity them now -and weep, as I think of them placid each in her full sleep of -death for a short moment ere fading. For, friend John, hardly -had my knife severed the head of each, before the whole body -began to melt away and crumble into its native dust, as though -the death that should have come centuries ago had at last assert -himself and say at once and loud, "I am here!" - -Before I left the castle I so fixed its entrances that never -more can the Count enter there Undead. - -When I stepped into the circle where Madam Mina slept, she -woke from her sleep and, seeing me, cried out in pain that -I had endured too much. - -"Come!" she said, "come away from this awful place! Let us -go to meet my husband who is, I know, coming towards us." -She was looking thin and pale and weak. But her eyes were -pure and glowed with fervour. I was glad to see her paleness and -her illness, for my mind was full of the fresh horror of that -ruddy vampire sleep. - -And so with trust and hope, and yet full of fear, we go -eastward to meet our friends, and him, whom Madam Mina tell -me that she know are coming to meet us. - - - - - -MINA HARKER'S JOURNAL - -6 November.--It was late in the afternoon when the Professor and I -took our way towards the east whence I knew Jonathan was coming. We -did not go fast, though the way was steeply downhill, for we had to -take heavy rugs and wraps with us. We dared not face the possibility -of being left without warmth in the cold and the snow. We had to take -some of our provisions too, for we were in a perfect desolation, and -so far as we could see through the snowfall, there was not even the -sign of habitation. When we had gone about a mile, I was tired with -the heavy walking and sat down to rest. Then we looked back and saw -where the clear line of Dracula's castle cut the sky. For we were so -deep under the hill whereon it was set that the angle of perspective -of the Carpathian mountains was far below it. We saw it in all its -grandeur, perched a thousand feet on the summit of a sheer precipice, -and with seemingly a great gap between it and the steep of the -adjacent mountain on any side. There was something wild and uncanny -about the place. We could hear the distant howling of wolves. They -were far off, but the sound, even though coming muffled through the -deadening snowfall, was full of terror. I knew from the way Dr. Van -Helsing was searching about that he was trying to seek some strategic -point, where we would be less exposed in case of attack. The rough -roadway still led downwards. We could trace it through the drifted -snow. - -In a little while the Professor signalled to me, so I got up and -joined him. He had found a wonderful spot, a sort of natural hollow -in a rock, with an entrance like a doorway between two boulders. He -took me by the hand and drew me in. - -"See!" he said, "here you will be in shelter. And if the wolves do -come I can meet them one by one." - -He brought in our furs, and made a snug nest for me, and got out some -provisions and forced them upon me. But I could not eat, to even try -to do so was repulsive to me, and much as I would have liked to please -him, I could not bring myself to the attempt. He looked very sad, but -did not reproach me. Taking his field glasses from the case, he stood -on the top of the rock, and began to search the horizon. - -Suddenly he called out, "Look! Madam Mina, look! Look!" - -I sprang up and stood beside him on the rock. He handed me his -glasses and pointed. The snow was now falling more heavily, and -swirled about fiercely, for a high wind was beginning to blow. -However, there were times when there were pauses between the snow -flurries and I could see a long way round. From the height where we -were it was possible to see a great distance. And far off, beyond the -white waste of snow, I could see the river lying like a black ribbon -in kinks and curls as it wound its way. Straight in front of us and -not far off, in fact so near that I wondered we had not noticed -before, came a group of mounted men hurrying along. In the midst of -them was a cart, a long leiter wagon which swept from side to side, -like a dog's tail wagging, with each stern inequality of the road. -Outlined against the snow as they were, I could see from the men's -clothes that they were peasants or gypsies of some kind. - -On the cart was a great square chest. My heart leaped as I saw it, for -I felt that the end was coming. The evening was now drawing close, -and well I knew that at sunset the Thing, which was till then -imprisoned there, would take new freedom and could in any of many -forms elude pursuit. In fear I turned to the Professor. To my -consternation, however, he was not there. An instant later, I saw him -below me. Round the rock he had drawn a circle, such as we had found -shelter in last night. - -When he had completed it he stood beside me again saying, "At least -you shall be safe here from him!" He took the glasses from me, and at -the next lull of the snow swept the whole space below us. "See," he -said, "they come quickly. They are flogging the horses, and galloping -as hard as they can." - -He paused and went on in a hollow voice, "They are racing for the -sunset. We may be too late. God's will be done!" Down came another -blinding rush of driving snow, and the whole landscape was blotted -out. It soon passed, however, and once more his glasses were fixed on -the plain. - -Then came a sudden cry, "Look! Look! Look! See, two horsemen follow -fast, coming up from the south. It must be Quincey and John. Take -the glass. Look before the snow blots it all out!" I took it and -looked. The two men might be Dr. Seward and Mr. Morris. I knew at -all events that neither of them was Jonathan. At the same time I knew -that Jonathan was not far off. Looking around I saw on the north side -of the coming party two other men, riding at breakneck speed. One of -them I knew was Jonathan, and the other I took, of course, to be Lord -Godalming. They too, were pursuing the party with the cart. When I -told the Professor he shouted in glee like a schoolboy, and after -looking intently till a snow fall made sight impossible, he laid his -Winchester rifle ready for use against the boulder at the opening of -our shelter. - -"They are all converging," he said. "When the time comes we shall have -gypsies on all sides." I got out my revolver ready to hand, for -whilst we were speaking the howling of wolves came louder and closer. -When the snow storm abated a moment we looked again. It was strange -to see the snow falling in such heavy flakes close to us, and beyond, -the sun shining more and more brightly as it sank down towards the far -mountain tops. Sweeping the glass all around us I could see here and -there dots moving singly and in twos and threes and larger numbers. -The wolves were gathering for their prey. - -Every instant seemed an age whilst we waited. The wind came now in -fierce bursts, and the snow was driven with fury as it swept upon us -in circling eddies. At times we could not see an arm's length before -us. But at others, as the hollow sounding wind swept by us, it seemed -to clear the air space around us so that we could see afar off. We -had of late been so accustomed to watch for sunrise and sunset, that -we knew with fair accuracy when it would be. And we knew that before -long the sun would set. It was hard to believe that by our watches it -was less than an hour that we waited in that rocky shelter before the -various bodies began to converge close upon us. The wind came now -with fiercer and more bitter sweeps, and more steadily from the -north. It seemingly had driven the snow clouds from us, for with only -occasional bursts, the snow fell. We could distinguish clearly the -individuals of each party, the pursued and the pursuers. Strangely -enough those pursued did not seem to realize, or at least to care, -that they were pursued. They seemed, however, to hasten with -redoubled speed as the sun dropped lower and lower on the mountain -tops. - -Closer and closer they drew. The Professor and I crouched down behind -our rock, and held our weapons ready. I could see that he was -determined that they should not pass. One and all were quite unaware -of our presence. - -All at once two voices shouted out to "Halt!" One was my Jonathan's, -raised in a high key of passion. The other Mr. Morris' strong -resolute tone of quiet command. The gypsies may not have known the -language, but there was no mistaking the tone, in whatever tongue the -words were spoken. Instinctively they reined in, and at the instant -Lord Godalming and Jonathan dashed up at one side and Dr. Seward and -Mr. Morris on the other. The leader of the gypsies, a splendid -looking fellow who sat his horse like a centaur, waved them back, and -in a fierce voice gave to his companions some word to proceed. They -lashed the horses which sprang forward. But the four men raised their -Winchester rifles, and in an unmistakable way commanded them to stop. -At the same moment Dr. Van Helsing and I rose behind the rock and -pointed our weapons at them. Seeing that they were surrounded the men -tightened their reins and drew up. The leader turned to them and gave -a word at which every man of the gypsy party drew what weapon he -carried, knife or pistol, and held himself in readiness to attack. -Issue was joined in an instant. - -The leader, with a quick movement of his rein, threw his horse out in -front, and pointed first to the sun, now close down on the hill tops, -and then to the castle, said something which I did not understand. -For answer, all four men of our party threw themselves from their -horses and dashed towards the cart. I should have felt terrible fear -at seeing Jonathan in such danger, but that the ardor of battle must -have been upon me as well as the rest of them. I felt no fear, but -only a wild, surging desire to do something. Seeing the quick -movement of our parties, the leader of the gypsies gave a command. His -men instantly formed round the cart in a sort of undisciplined -endeavour, each one shouldering and pushing the other in his eagerness -to carry out the order. - -In the midst of this I could see that Jonathan on one side of the ring -of men, and Quincey on the other, were forcing a way to the cart. It -was evident that they were bent on finishing their task before the sun -should set. Nothing seemed to stop or even to hinder them. Neither -the levelled weapons nor the flashing knives of the gypsies in front, -nor the howling of the wolves behind, appeared to even attract their -attention. Jonathan's impetuosity, and the manifest singleness of his -purpose, seemed to overawe those in front of him. Instinctively they -cowered aside and let him pass. In an instant he had jumped upon the -cart, and with a strength which seemed incredible, raised the great -box, and flung it over the wheel to the ground. In the meantime, Mr. -Morris had had to use force to pass through his side of the ring of -Szgany. All the time I had been breathlessly watching Jonathan I had, -with the tail of my eye, seen him pressing desperately forward, and -had seen the knives of the gypsies flash as he won a way through them, -and they cut at him. He had parried with his great bowie knife, and -at first I thought that he too had come through in safety. But as he -sprang beside Jonathan, who had by now jumped from the cart, I could -see that with his left hand he was clutching at his side, and that the -blood was spurting through his fingers. He did not delay -notwithstanding this, for as Jonathan, with desperate energy, attacked -one end of the chest, attempting to prize off the lid with his great -Kukri knife, he attacked the other frantically with his bowie. Under -the efforts of both men the lid began to yield. The nails drew with a -screeching sound, and the top of the box was thrown back. - -By this time the gypsies, seeing themselves covered by the -Winchesters, and at the mercy of Lord Godalming and Dr. Seward, had -given in and made no further resistance. The sun was almost down on -the mountain tops, and the shadows of the whole group fell upon the -snow. I saw the Count lying within the box upon the earth, some of -which the rude falling from the cart had scattered over him. He was -deathly pale, just like a waxen image, and the red eyes glared with -the horrible vindictive look which I knew so well. - -As I looked, the eyes saw the sinking sun, and the look of hate in -them turned to triumph. - -But, on the instant, came the sweep and flash of Jonathan's great -knife. I shrieked as I saw it shear through the throat. Whilst at -the same moment Mr. Morris's bowie knife plunged into the heart. - -It was like a miracle, but before our very eyes, and almost in the -drawing of a breath, the whole body crumbled into dust and passed from -our sight. - -I shall be glad as long as I live that even in that moment of final -dissolution, there was in the face a look of peace, such as I never -could have imagined might have rested there. - -The Castle of Dracula now stood out against the red sky, and every -stone of its broken battlements was articulated against the light of -the setting sun. - -The gypsies, taking us as in some way the cause of the extraordinary -disappearance of the dead man, turned, without a word, and rode away -as if for their lives. Those who were unmounted jumped upon the -leiter wagon and shouted to the horsemen not to desert them. The -wolves, which had withdrawn to a safe distance, followed in their -wake, leaving us alone. - -Mr. Morris, who had sunk to the ground, leaned on his elbow, holding -his hand pressed to his side. The blood still gushed through his -fingers. I flew to him, for the Holy circle did not now keep me back; -so did the two doctors. Jonathan knelt behind him and the wounded man -laid back his head on his shoulder. With a sigh he took, with a -feeble effort, my hand in that of his own which was unstained. - -He must have seen the anguish of my heart in my face, for he smiled at -me and said, "I am only too happy to have been of service! Oh, God!" -he cried suddenly, struggling to a sitting posture and pointing to me. -"It was worth for this to die! Look! Look!" - -The sun was now right down upon the mountain top, and the red gleams -fell upon my face, so that it was bathed in rosy light. With one -impulse the men sank on their knees and a deep and earnest "Amen" -broke from all as their eyes followed the pointing of his finger. - -The dying man spoke, "Now God be thanked that all has not been in -vain! See! The snow is not more stainless than her forehead! The -curse has passed away!" - -And, to our bitter grief, with a smile and in silence, he died, a -gallant gentleman. - - - - - -NOTE - - -Seven years ago we all went through the flames. And the happiness of -some of us since then is, we think, well worth the pain we endured. -It is an added joy to Mina and to me that our boy's birthday is the -same day as that on which Quincey Morris died. His mother holds, I -know, the secret belief that some of our brave friend's spirit has -passed into him. His bundle of names links all our little band of men -together. But we call him Quincey. - -In the summer of this year we made a journey to Transylvania, and went -over the old ground which was, and is, to us so full of vivid and -terrible memories. It was almost impossible to believe that the -things which we had seen with our own eyes and heard with our own ears -were living truths. Every trace of all that had been was blotted -out. The castle stood as before, reared high above a waste of -desolation. - -When we got home we were talking of the old time, which we could all -look back on without despair, for Godalming and Seward are both -happily married. I took the papers from the safe where they had been -ever since our return so long ago. We were struck with the fact, that -in all the mass of material of which the record is composed, there is -hardly one authentic document. Nothing but a mass of typewriting, -except the later notebooks of Mina and Seward and myself, and Van -Helsing's memorandum. We could hardly ask any one, even did we wish -to, to accept these as proofs of so wild a story. Van Helsing summed -it all up as he said, with our boy on his knee. - -"We want no proofs. We ask none to believe us! This boy will some -day know what a brave and gallant woman his mother is. Already he -knows her sweetness and loving care. Later on he will understand how -some men so loved her, that they did dare much for her sake." - -JONATHAN HARKER - - - - - - - - - -End of the Project Gutenberg EBook of Dracula, by Bram Stoker - -*** END OF THIS PROJECT GUTENBERG EBOOK DRACULA *** - -***** This file should be named 345.txt or 345.zip ***** -This and all associated files of various formats will be found in: - http://www.gutenberg.org/3/4/345/ - - - -Updated editions will replace the previous one--the old editions -will be renamed. - -Creating the works from public domain print editions means that no -one owns a United States copyright in these works, so the Foundation -(and you!) can copy and distribute it in the United States without -permission and without paying copyright royalties. Special rules, -set forth in the General Terms of Use part of this license, apply to -copying and distributing Project Gutenberg-tm electronic works to -protect the PROJECT GUTENBERG-tm concept and trademark. Project -Gutenberg is a registered trademark, and may not be used if you -charge for the eBooks, unless you receive specific permission. If you -do not charge anything for copies of this eBook, complying with the -rules is very easy. You may use this eBook for nearly any purpose -such as creation of derivative works, reports, performances and -research. They may be modified and printed and given away--you may do -practically ANYTHING with public domain eBooks. Redistribution is -subject to the trademark license, especially commercial -redistribution. - - - -*** START: FULL LICENSE *** - -THE FULL PROJECT GUTENBERG LICENSE -PLEASE READ THIS BEFORE YOU DISTRIBUTE OR USE THIS WORK - -To protect the Project Gutenberg-tm mission of promoting the free -distribution of electronic works, by using or distributing this work -(or any other work associated in any way with the phrase "Project -Gutenberg"), you agree to comply with all the terms of the Full Project -Gutenberg-tm License (available with this file or online at -http://gutenberg.net/license). - - -Section 1. General Terms of Use and Redistributing Project Gutenberg-tm -electronic works - -1.A. By reading or using any part of this Project Gutenberg-tm -electronic work, you indicate that you have read, understand, agree to -and accept all the terms of this license and intellectual property -(trademark/copyright) agreement. If you do not agree to abide by all -the terms of this agreement, you must cease using and return or destroy -all copies of Project Gutenberg-tm electronic works in your possession. -If you paid a fee for obtaining a copy of or access to a Project -Gutenberg-tm electronic work and you do not agree to be bound by the -terms of this agreement, you may obtain a refund from the person or -entity to whom you paid the fee as set forth in paragraph 1.E.8. - -1.B. "Project Gutenberg" is a registered trademark. It may only be -used on or associated in any way with an electronic work by people who -agree to be bound by the terms of this agreement. There are a few -things that you can do with most Project Gutenberg-tm electronic works -even without complying with the full terms of this agreement. See -paragraph 1.C below. There are a lot of things you can do with Project -Gutenberg-tm electronic works if you follow the terms of this agreement -and help preserve free future access to Project Gutenberg-tm electronic -works. See paragraph 1.E below. - -1.C. The Project Gutenberg Literary Archive Foundation ("the Foundation" -or PGLAF), owns a compilation copyright in the collection of Project -Gutenberg-tm electronic works. Nearly all the individual works in the -collection are in the public domain in the United States. If an -individual work is in the public domain in the United States and you are -located in the United States, we do not claim a right to prevent you from -copying, distributing, performing, displaying or creating derivative -works based on the work as long as all references to Project Gutenberg -are removed. Of course, we hope that you will support the Project -Gutenberg-tm mission of promoting free access to electronic works by -freely sharing Project Gutenberg-tm works in compliance with the terms of -this agreement for keeping the Project Gutenberg-tm name associated with -the work. You can easily comply with the terms of this agreement by -keeping this work in the same format with its attached full Project -Gutenberg-tm License when you share it without charge with others. - -1.D. The copyright laws of the place where you are located also govern -what you can do with this work. Copyright laws in most countries are in -a constant state of change. If you are outside the United States, check -the laws of your country in addition to the terms of this agreement -before downloading, copying, displaying, performing, distributing or -creating derivative works based on this work or any other Project -Gutenberg-tm work. The Foundation makes no representations concerning -the copyright status of any work in any country outside the United -States. - -1.E. Unless you have removed all references to Project Gutenberg: - -1.E.1. The following sentence, with active links to, or other immediate -access to, the full Project Gutenberg-tm License must appear prominently -whenever any copy of a Project Gutenberg-tm work (any work on which the -phrase "Project Gutenberg" appears, or with which the phrase "Project -Gutenberg" is associated) is accessed, displayed, performed, viewed, -copied or distributed: - -This eBook is for the use of anyone anywhere at no cost and with -almost no restrictions whatsoever. You may copy it, give it away or -re-use it under the terms of the Project Gutenberg License included -with this eBook or online at www.gutenberg.net - -1.E.2. If an individual Project Gutenberg-tm electronic work is derived -from the public domain (does not contain a notice indicating that it is -posted with permission of the copyright holder), the work can be copied -and distributed to anyone in the United States without paying any fees -or charges. If you are redistributing or providing access to a work -with the phrase "Project Gutenberg" associated with or appearing on the -work, you must comply either with the requirements of paragraphs 1.E.1 -through 1.E.7 or obtain permission for the use of the work and the -Project Gutenberg-tm trademark as set forth in paragraphs 1.E.8 or -1.E.9. - -1.E.3. If an individual Project Gutenberg-tm electronic work is posted -with the permission of the copyright holder, your use and distribution -must comply with both paragraphs 1.E.1 through 1.E.7 and any additional -terms imposed by the copyright holder. Additional terms will be linked -to the Project Gutenberg-tm License for all works posted with the -permission of the copyright holder found at the beginning of this work. - -1.E.4. Do not unlink or detach or remove the full Project Gutenberg-tm -License terms from this work, or any files containing a part of this -work or any other work associated with Project Gutenberg-tm. - -1.E.5. Do not copy, display, perform, distribute or redistribute this -electronic work, or any part of this electronic work, without -prominently displaying the sentence set forth in paragraph 1.E.1 with -active links or immediate access to the full terms of the Project -Gutenberg-tm License. - -1.E.6. You may convert to and distribute this work in any binary, -compressed, marked up, nonproprietary or proprietary form, including any -word processing or hypertext form. However, if you provide access to or -distribute copies of a Project Gutenberg-tm work in a format other than -"Plain Vanilla ASCII" or other format used in the official version -posted on the official Project Gutenberg-tm web site (www.gutenberg.net), -you must, at no additional cost, fee or expense to the user, provide a -copy, a means of exporting a copy, or a means of obtaining a copy upon -request, of the work in its original "Plain Vanilla ASCII" or other -form. Any alternate format must include the full Project Gutenberg-tm -License as specified in paragraph 1.E.1. - -1.E.7. Do not charge a fee for access to, viewing, displaying, -performing, copying or distributing any Project Gutenberg-tm works -unless you comply with paragraph 1.E.8 or 1.E.9. - -1.E.8. You may charge a reasonable fee for copies of or providing -access to or distributing Project Gutenberg-tm electronic works provided -that - -- You pay a royalty fee of 20% of the gross profits you derive from - the use of Project Gutenberg-tm works calculated using the method - you already use to calculate your applicable taxes. The fee is - owed to the owner of the Project Gutenberg-tm trademark, but he - has agreed to donate royalties under this paragraph to the - Project Gutenberg Literary Archive Foundation. Royalty payments - must be paid within 60 days following each date on which you - prepare (or are legally required to prepare) your periodic tax - returns. Royalty payments should be clearly marked as such and - sent to the Project Gutenberg Literary Archive Foundation at the - address specified in Section 4, "Information about donations to - the Project Gutenberg Literary Archive Foundation." - -- You provide a full refund of any money paid by a user who notifies - you in writing (or by e-mail) within 30 days of receipt that s/he - does not agree to the terms of the full Project Gutenberg-tm - License. You must require such a user to return or - destroy all copies of the works possessed in a physical medium - and discontinue all use of and all access to other copies of - Project Gutenberg-tm works. - -- You provide, in accordance with paragraph 1.F.3, a full refund of any - money paid for a work or a replacement copy, if a defect in the - electronic work is discovered and reported to you within 90 days - of receipt of the work. - -- You comply with all other terms of this agreement for free - distribution of Project Gutenberg-tm works. - -1.E.9. If you wish to charge a fee or distribute a Project Gutenberg-tm -electronic work or group of works on different terms than are set -forth in this agreement, you must obtain permission in writing from -both the Project Gutenberg Literary Archive Foundation and Michael -Hart, the owner of the Project Gutenberg-tm trademark. Contact the -Foundation as set forth in Section 3 below. - -1.F. - -1.F.1. Project Gutenberg volunteers and employees expend considerable -effort to identify, do copyright research on, transcribe and proofread -public domain works in creating the Project Gutenberg-tm -collection. Despite these efforts, Project Gutenberg-tm electronic -works, and the medium on which they may be stored, may contain -"Defects," such as, but not limited to, incomplete, inaccurate or -corrupt data, transcription errors, a copyright or other intellectual -property infringement, a defective or damaged disk or other medium, a -computer virus, or computer codes that damage or cannot be read by -your equipment. - -1.F.2. LIMITED WARRANTY, DISCLAIMER OF DAMAGES - Except for the "Right -of Replacement or Refund" described in paragraph 1.F.3, the Project -Gutenberg Literary Archive Foundation, the owner of the Project -Gutenberg-tm trademark, and any other party distributing a Project -Gutenberg-tm electronic work under this agreement, disclaim all -liability to you for damages, costs and expenses, including legal -fees. YOU AGREE THAT YOU HAVE NO REMEDIES FOR NEGLIGENCE, STRICT -LIABILITY, BREACH OF WARRANTY OR BREACH OF CONTRACT EXCEPT THOSE -PROVIDED IN PARAGRAPH F3. YOU AGREE THAT THE FOUNDATION, THE -TRADEMARK OWNER, AND ANY DISTRIBUTOR UNDER THIS AGREEMENT WILL NOT BE -LIABLE TO YOU FOR ACTUAL, DIRECT, INDIRECT, CONSEQUENTIAL, PUNITIVE OR -INCIDENTAL DAMAGES EVEN IF YOU GIVE NOTICE OF THE POSSIBILITY OF SUCH -DAMAGE. - -1.F.3. LIMITED RIGHT OF REPLACEMENT OR REFUND - If you discover a -defect in this electronic work within 90 days of receiving it, you can -receive a refund of the money (if any) you paid for it by sending a -written explanation to the person you received the work from. If you -received the work on a physical medium, you must return the medium with -your written explanation. The person or entity that provided you with -the defective work may elect to provide a replacement copy in lieu of a -refund. If you received the work electronically, the person or entity -providing it to you may choose to give you a second opportunity to -receive the work electronically in lieu of a refund. If the second copy -is also defective, you may demand a refund in writing without further -opportunities to fix the problem. - -1.F.4. Except for the limited right of replacement or refund set forth -in paragraph 1.F.3, this work is provided to you 'AS-IS' WITH NO OTHER -WARRANTIES OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO -WARRANTIES OF MERCHANTIBILITY OR FITNESS FOR ANY PURPOSE. - -1.F.5. Some states do not allow disclaimers of certain implied -warranties or the exclusion or limitation of certain types of damages. -If any disclaimer or limitation set forth in this agreement violates the -law of the state applicable to this agreement, the agreement shall be -interpreted to make the maximum disclaimer or limitation permitted by -the applicable state law. The invalidity or unenforceability of any -provision of this agreement shall not void the remaining provisions. - -1.F.6. INDEMNITY - You agree to indemnify and hold the Foundation, the -trademark owner, any agent or employee of the Foundation, anyone -providing copies of Project Gutenberg-tm electronic works in accordance -with this agreement, and any volunteers associated with the production, -promotion and distribution of Project Gutenberg-tm electronic works, -harmless from all liability, costs and expenses, including legal fees, -that arise directly or indirectly from any of the following which you do -or cause to occur: (a) distribution of this or any Project Gutenberg-tm -work, (b) alteration, modification, or additions or deletions to any -Project Gutenberg-tm work, and (c) any Defect you cause. - - -Section 2. Information about the Mission of Project Gutenberg-tm - -Project Gutenberg-tm is synonymous with the free distribution of -electronic works in formats readable by the widest variety of computers -including obsolete, old, middle-aged and new computers. It exists -because of the efforts of hundreds of volunteers and donations from -people in all walks of life. - -Volunteers and financial support to provide volunteers with the -assistance they need, is critical to reaching Project Gutenberg-tm's -goals and ensuring that the Project Gutenberg-tm collection will -remain freely available for generations to come. In 2001, the Project -Gutenberg Literary Archive Foundation was created to provide a secure -and permanent future for Project Gutenberg-tm and future generations. -To learn more about the Project Gutenberg Literary Archive Foundation -and how your efforts and donations can help, see Sections 3 and 4 -and the Foundation web page at http://www.pglaf.org. - - -Section 3. Information about the Project Gutenberg Literary Archive -Foundation - -The Project Gutenberg Literary Archive Foundation is a non profit -501(c)(3) educational corporation organized under the laws of the -state of Mississippi and granted tax exempt status by the Internal -Revenue Service. The Foundation's EIN or federal tax identification -number is 64-6221541. Its 501(c)(3) letter is posted at -http://pglaf.org/fundraising. Contributions to the Project Gutenberg -Literary Archive Foundation are tax deductible to the full extent -permitted by U.S. federal laws and your state's laws. - -The Foundation's principal office is located at 4557 Melan Dr. S. -Fairbanks, AK, 99712., but its volunteers and employees are scattered -throughout numerous locations. Its business office is located at -809 North 1500 West, Salt Lake City, UT 84116, (801) 596-1887, email -business@pglaf.org. Email contact links and up to date contact -information can be found at the Foundation's web site and official -page at http://pglaf.org - -For additional contact information: - Dr. Gregory B. Newby - Chief Executive and Director - gbnewby@pglaf.org - - -Section 4. Information about Donations to the Project Gutenberg -Literary Archive Foundation - -Project Gutenberg-tm depends upon and cannot survive without wide -spread public support and donations to carry out its mission of -increasing the number of public domain and licensed works that can be -freely distributed in machine readable form accessible by the widest -array of equipment including outdated equipment. Many small donations -($1 to $5,000) are particularly important to maintaining tax exempt -status with the IRS. - -The Foundation is committed to complying with the laws regulating -charities and charitable donations in all 50 states of the United -States. Compliance requirements are not uniform and it takes a -considerable effort, much paperwork and many fees to meet and keep up -with these requirements. We do not solicit donations in locations -where we have not received written confirmation of compliance. To -SEND DONATIONS or determine the status of compliance for any -particular state visit http://pglaf.org - -While we cannot and do not solicit contributions from states where we -have not met the solicitation requirements, we know of no prohibition -against accepting unsolicited donations from donors in such states who -approach us with offers to donate. - -International donations are gratefully accepted, but we cannot make -any statements concerning tax treatment of donations received from -outside the United States. U.S. laws alone swamp our small staff. - -Please check the Project Gutenberg Web pages for current donation -methods and addresses. Donations are accepted in a number of other -ways including including checks, online payments and credit card -donations. To donate, please visit: http://pglaf.org/donate - - -Section 5. General Information About Project Gutenberg-tm electronic -works. - -Professor Michael S. Hart is the originator of the Project Gutenberg-tm -concept of a library of electronic works that could be freely shared -with anyone. For thirty years, he produced and distributed Project -Gutenberg-tm eBooks with only a loose network of volunteer support. - - -Project Gutenberg-tm eBooks are often created from several printed -editions, all of which are confirmed as Public Domain in the U.S. -unless a copyright notice is included. Thus, we do not necessarily -keep eBooks in compliance with any particular paper edition. - - -Most people start at our Web site which has the main PG search facility: - - http://www.gutenberg.net - -This Web site includes information about Project Gutenberg-tm, -including how to make donations to the Project Gutenberg Literary -Archive Foundation, how to help produce our new eBooks, and how to -subscribe to our email newsletter to hear about new eBooks. diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Advanced Data/HashMapClass/data/frankenstein.txt b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Advanced Data/HashMapClass/data/frankenstein.txt deleted file mode 100644 index ef9971b..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Advanced Data/HashMapClass/data/frankenstein.txt +++ /dev/null @@ -1,7652 +0,0 @@ -Project Gutenberg's Frankenstein, by Mary Wollstonecraft (Godwin) Shelley - -This eBook is for the use of anyone anywhere at no cost and with -almost no restrictions whatsoever. You may copy it, give it away or -re-use it under the terms of the Project Gutenberg License included -with this eBook or online at www.gutenberg.net - - -Title: Frankenstein - or The Modern Prometheus - -Author: Mary Wollstonecraft (Godwin) Shelley - -Release Date: June 17, 2008 [EBook #84] - -Language: English - - -*** START OF THIS PROJECT GUTENBERG EBOOK FRANKENSTEIN *** - - - - -Produced by Judith Boss, Christy Phillips, Lynn Hanninen, -and David Meltzer. HTML version by Al Haines. - - - - - - - - - - -Frankenstein, - -or the Modern Prometheus - - -by - -Mary Wollstonecraft (Godwin) Shelley - - - - -Letter 1 - - -St. Petersburgh, Dec. 11th, 17-- - -TO Mrs. Saville, England - -You will rejoice to hear that no disaster has accompanied the -commencement of an enterprise which you have regarded with such evil -forebodings. I arrived here yesterday, and my first task is to assure -my dear sister of my welfare and increasing confidence in the success -of my undertaking. - -I am already far north of London, and as I walk in the streets of -Petersburgh, I feel a cold northern breeze play upon my cheeks, which -braces my nerves and fills me with delight. Do you understand this -feeling? This breeze, which has travelled from the regions towards -which I am advancing, gives me a foretaste of those icy climes. -Inspirited by this wind of promise, my daydreams become more fervent -and vivid. I try in vain to be persuaded that the pole is the seat of -frost and desolation; it ever presents itself to my imagination as the -region of beauty and delight. There, Margaret, the sun is forever -visible, its broad disk just skirting the horizon and diffusing a -perpetual splendour. There--for with your leave, my sister, I will put -some trust in preceding navigators--there snow and frost are banished; -and, sailing over a calm sea, we may be wafted to a land surpassing in -wonders and in beauty every region hitherto discovered on the habitable -globe. Its productions and features may be without example, as the -phenomena of the heavenly bodies undoubtedly are in those undiscovered -solitudes. What may not be expected in a country of eternal light? I -may there discover the wondrous power which attracts the needle and may -regulate a thousand celestial observations that require only this -voyage to render their seeming eccentricities consistent forever. I -shall satiate my ardent curiosity with the sight of a part of the world -never before visited, and may tread a land never before imprinted by -the foot of man. These are my enticements, and they are sufficient to -conquer all fear of danger or death and to induce me to commence this -laborious voyage with the joy a child feels when he embarks in a little -boat, with his holiday mates, on an expedition of discovery up his -native river. But supposing all these conjectures to be false, you -cannot contest the inestimable benefit which I shall confer on all -mankind, to the last generation, by discovering a passage near the pole -to those countries, to reach which at present so many months are -requisite; or by ascertaining the secret of the magnet, which, if at -all possible, can only be effected by an undertaking such as mine. - -These reflections have dispelled the agitation with which I began my -letter, and I feel my heart glow with an enthusiasm which elevates me -to heaven, for nothing contributes so much to tranquillize the mind as -a steady purpose--a point on which the soul may fix its intellectual -eye. This expedition has been the favourite dream of my early years. I -have read with ardour the accounts of the various voyages which have -been made in the prospect of arriving at the North Pacific Ocean -through the seas which surround the pole. You may remember that a -history of all the voyages made for purposes of discovery composed the -whole of our good Uncle Thomas' library. My education was neglected, -yet I was passionately fond of reading. These volumes were my study -day and night, and my familiarity with them increased that regret which -I had felt, as a child, on learning that my father's dying injunction -had forbidden my uncle to allow me to embark in a seafaring life. - -These visions faded when I perused, for the first time, those poets -whose effusions entranced my soul and lifted it to heaven. I also -became a poet and for one year lived in a paradise of my own creation; -I imagined that I also might obtain a niche in the temple where the -names of Homer and Shakespeare are consecrated. You are well -acquainted with my failure and how heavily I bore the disappointment. -But just at that time I inherited the fortune of my cousin, and my -thoughts were turned into the channel of their earlier bent. - -Six years have passed since I resolved on my present undertaking. I -can, even now, remember the hour from which I dedicated myself to this -great enterprise. I commenced by inuring my body to hardship. I -accompanied the whale-fishers on several expeditions to the North Sea; -I voluntarily endured cold, famine, thirst, and want of sleep; I often -worked harder than the common sailors during the day and devoted my -nights to the study of mathematics, the theory of medicine, and those -branches of physical science from which a naval adventurer might derive -the greatest practical advantage. Twice I actually hired myself as an -under-mate in a Greenland whaler, and acquitted myself to admiration. I -must own I felt a little proud when my captain offered me the second -dignity in the vessel and entreated me to remain with the greatest -earnestness, so valuable did he consider my services. And now, dear -Margaret, do I not deserve to accomplish some great purpose? My life -might have been passed in ease and luxury, but I preferred glory to -every enticement that wealth placed in my path. Oh, that some -encouraging voice would answer in the affirmative! My courage and my -resolution is firm; but my hopes fluctuate, and my spirits are often -depressed. I am about to proceed on a long and difficult voyage, the -emergencies of which will demand all my fortitude: I am required not -only to raise the spirits of others, but sometimes to sustain my own, -when theirs are failing. - -This is the most favourable period for travelling in Russia. They fly -quickly over the snow in their sledges; the motion is pleasant, and, in -my opinion, far more agreeable than that of an English stagecoach. The -cold is not excessive, if you are wrapped in furs--a dress which I have -already adopted, for there is a great difference between walking the -deck and remaining seated motionless for hours, when no exercise -prevents the blood from actually freezing in your veins. I have no -ambition to lose my life on the post-road between St. Petersburgh and -Archangel. I shall depart for the latter town in a fortnight or three -weeks; and my intention is to hire a ship there, which can easily be -done by paying the insurance for the owner, and to engage as many -sailors as I think necessary among those who are accustomed to the -whale-fishing. I do not intend to sail until the month of June; and -when shall I return? Ah, dear sister, how can I answer this question? -If I succeed, many, many months, perhaps years, will pass before you -and I may meet. If I fail, you will see me again soon, or never. -Farewell, my dear, excellent Margaret. Heaven shower down blessings on -you, and save me, that I may again and again testify my gratitude for -all your love and kindness. - -Your affectionate brother, - R. Walton - - - -Letter 2 - - -Archangel, 28th March, 17-- - -To Mrs. Saville, England - -How slowly the time passes here, encompassed as I am by frost and snow! -Yet a second step is taken towards my enterprise. I have hired a -vessel and am occupied in collecting my sailors; those whom I have -already engaged appear to be men on whom I can depend and are certainly -possessed of dauntless courage. - -But I have one want which I have never yet been able to satisfy, and -the absence of the object of which I now feel as a most severe evil, I -have no friend, Margaret: when I am glowing with the enthusiasm of -success, there will be none to participate my joy; if I am assailed by -disappointment, no one will endeavour to sustain me in dejection. I -shall commit my thoughts to paper, it is true; but that is a poor -medium for the communication of feeling. I desire the company of a man -who could sympathize with me, whose eyes would reply to mine. You may -deem me romantic, my dear sister, but I bitterly feel the want of a -friend. I have no one near me, gentle yet courageous, possessed of a -cultivated as well as of a capacious mind, whose tastes are like my -own, to approve or amend my plans. How would such a friend repair the -faults of your poor brother! I am too ardent in execution and too -impatient of difficulties. But it is a still greater evil to me that I -am self-educated: for the first fourteen years of my life I ran wild -on a common and read nothing but our Uncle Thomas' books of voyages. At -that age I became acquainted with the celebrated poets of our own -country; but it was only when it had ceased to be in my power to derive -its most important benefits from such a conviction that I perceived the -necessity of becoming acquainted with more languages than that of my -native country. Now I am twenty-eight and am in reality more -illiterate than many schoolboys of fifteen. It is true that I have -thought more and that my daydreams are more extended and magnificent, -but they want (as the painters call it) KEEPING; and I greatly need a -friend who would have sense enough not to despise me as romantic, and -affection enough for me to endeavour to regulate my mind. Well, these -are useless complaints; I shall certainly find no friend on the wide -ocean, nor even here in Archangel, among merchants and seamen. Yet -some feelings, unallied to the dross of human nature, beat even in -these rugged bosoms. My lieutenant, for instance, is a man of -wonderful courage and enterprise; he is madly desirous of glory, or -rather, to word my phrase more characteristically, of advancement in -his profession. He is an Englishman, and in the midst of national and -professional prejudices, unsoftened by cultivation, retains some of the -noblest endowments of humanity. I first became acquainted with him on -board a whale vessel; finding that he was unemployed in this city, I -easily engaged him to assist in my enterprise. The master is a person -of an excellent disposition and is remarkable in the ship for his -gentleness and the mildness of his discipline. This circumstance, -added to his well-known integrity and dauntless courage, made me very -desirous to engage him. A youth passed in solitude, my best years -spent under your gentle and feminine fosterage, has so refined the -groundwork of my character that I cannot overcome an intense distaste -to the usual brutality exercised on board ship: I have never believed -it to be necessary, and when I heard of a mariner equally noted for his -kindliness of heart and the respect and obedience paid to him by his -crew, I felt myself peculiarly fortunate in being able to secure his -services. I heard of him first in rather a romantic manner, from a -lady who owes to him the happiness of her life. This, briefly, is his -story. Some years ago he loved a young Russian lady of moderate -fortune, and having amassed a considerable sum in prize-money, the -father of the girl consented to the match. He saw his mistress once -before the destined ceremony; but she was bathed in tears, and throwing -herself at his feet, entreated him to spare her, confessing at the same -time that she loved another, but that he was poor, and that her father -would never consent to the union. My generous friend reassured the -suppliant, and on being informed of the name of her lover, instantly -abandoned his pursuit. He had already bought a farm with his money, on -which he had designed to pass the remainder of his life; but he -bestowed the whole on his rival, together with the remains of his -prize-money to purchase stock, and then himself solicited the young -woman's father to consent to her marriage with her lover. But the old -man decidedly refused, thinking himself bound in honour to my friend, -who, when he found the father inexorable, quitted his country, nor -returned until he heard that his former mistress was married according -to her inclinations. "What a noble fellow!" you will exclaim. He is -so; but then he is wholly uneducated: he is as silent as a Turk, and a -kind of ignorant carelessness attends him, which, while it renders his -conduct the more astonishing, detracts from the interest and sympathy -which otherwise he would command. - -Yet do not suppose, because I complain a little or because I can -conceive a consolation for my toils which I may never know, that I am -wavering in my resolutions. Those are as fixed as fate, and my voyage -is only now delayed until the weather shall permit my embarkation. The -winter has been dreadfully severe, but the spring promises well, and it -is considered as a remarkably early season, so that perhaps I may sail -sooner than I expected. I shall do nothing rashly: you know me -sufficiently to confide in my prudence and considerateness whenever the -safety of others is committed to my care. - -I cannot describe to you my sensations on the near prospect of my -undertaking. It is impossible to communicate to you a conception of -the trembling sensation, half pleasurable and half fearful, with which -I am preparing to depart. I am going to unexplored regions, to "the -land of mist and snow," but I shall kill no albatross; therefore do not -be alarmed for my safety or if I should come back to you as worn and -woeful as the "Ancient Mariner." You will smile at my allusion, but I -will disclose a secret. I have often attributed my attachment to, my -passionate enthusiasm for, the dangerous mysteries of ocean to that -production of the most imaginative of modern poets. There is something -at work in my soul which I do not understand. I am practically -industrious--painstaking, a workman to execute with perseverance and -labour--but besides this there is a love for the marvellous, a belief -in the marvellous, intertwined in all my projects, which hurries me out -of the common pathways of men, even to the wild sea and unvisited -regions I am about to explore. But to return to dearer considerations. -Shall I meet you again, after having traversed immense seas, and -returned by the most southern cape of Africa or America? I dare not -expect such success, yet I cannot bear to look on the reverse of the -picture. Continue for the present to write to me by every opportunity: -I may receive your letters on some occasions when I need them most to -support my spirits. I love you very tenderly. Remember me with -affection, should you never hear from me again. - -Your affectionate brother, - Robert Walton - - - -Letter 3 - - - -July 7th, 17-- - -To Mrs. Saville, England - -My dear Sister, - -I write a few lines in haste to say that I am safe--and well advanced -on my voyage. This letter will reach England by a merchantman now on -its homeward voyage from Archangel; more fortunate than I, who may not -see my native land, perhaps, for many years. I am, however, in good -spirits: my men are bold and apparently firm of purpose, nor do the -floating sheets of ice that continually pass us, indicating the dangers -of the region towards which we are advancing, appear to dismay them. We -have already reached a very high latitude; but it is the height of -summer, and although not so warm as in England, the southern gales, -which blow us speedily towards those shores which I so ardently desire -to attain, breathe a degree of renovating warmth which I had not -expected. - -No incidents have hitherto befallen us that would make a figure in a -letter. One or two stiff gales and the springing of a leak are -accidents which experienced navigators scarcely remember to record, and -I shall be well content if nothing worse happen to us during our voyage. - -Adieu, my dear Margaret. Be assured that for my own sake, as well as -yours, I will not rashly encounter danger. I will be cool, -persevering, and prudent. - -But success SHALL crown my endeavours. Wherefore not? Thus far I have -gone, tracing a secure way over the pathless seas, the very stars -themselves being witnesses and testimonies of my triumph. Why not -still proceed over the untamed yet obedient element? What can stop the -determined heart and resolved will of man? - -My swelling heart involuntarily pours itself out thus. But I must -finish. Heaven bless my beloved sister! - -R.W. - - - -Letter 4 - - - -August 5th, 17-- - -To Mrs. Saville, England - -So strange an accident has happened to us that I cannot forbear -recording it, although it is very probable that you will see me before -these papers can come into your possession. - -Last Monday (July 31st) we were nearly surrounded by ice, which closed -in the ship on all sides, scarcely leaving her the sea-room in which -she floated. Our situation was somewhat dangerous, especially as we -were compassed round by a very thick fog. We accordingly lay to, -hoping that some change would take place in the atmosphere and weather. - -About two o'clock the mist cleared away, and we beheld, stretched out -in every direction, vast and irregular plains of ice, which seemed to -have no end. Some of my comrades groaned, and my own mind began to -grow watchful with anxious thoughts, when a strange sight suddenly -attracted our attention and diverted our solicitude from our own -situation. We perceived a low carriage, fixed on a sledge and drawn by -dogs, pass on towards the north, at the distance of half a mile; a -being which had the shape of a man, but apparently of gigantic stature, -sat in the sledge and guided the dogs. We watched the rapid progress -of the traveller with our telescopes until he was lost among the -distant inequalities of the ice. This appearance excited our -unqualified wonder. We were, as we believed, many hundred miles from -any land; but this apparition seemed to denote that it was not, in -reality, so distant as we had supposed. Shut in, however, by ice, it -was impossible to follow his track, which we had observed with the -greatest attention. About two hours after this occurrence we heard the -ground sea, and before night the ice broke and freed our ship. We, -however, lay to until the morning, fearing to encounter in the dark -those large loose masses which float about after the breaking up of the -ice. I profited of this time to rest for a few hours. - -In the morning, however, as soon as it was light, I went upon deck and -found all the sailors busy on one side of the vessel, apparently -talking to someone in the sea. It was, in fact, a sledge, like that we -had seen before, which had drifted towards us in the night on a large -fragment of ice. Only one dog remained alive; but there was a human -being within it whom the sailors were persuading to enter the vessel. -He was not, as the other traveller seemed to be, a savage inhabitant of -some undiscovered island, but a European. When I appeared on deck the -master said, "Here is our captain, and he will not allow you to perish -on the open sea." - -On perceiving me, the stranger addressed me in English, although with a -foreign accent. "Before I come on board your vessel," said he, "will -you have the kindness to inform me whither you are bound?" - -You may conceive my astonishment on hearing such a question addressed -to me from a man on the brink of destruction and to whom I should have -supposed that my vessel would have been a resource which he would not -have exchanged for the most precious wealth the earth can afford. I -replied, however, that we were on a voyage of discovery towards the -northern pole. - -Upon hearing this he appeared satisfied and consented to come on board. -Good God! Margaret, if you had seen the man who thus capitulated for -his safety, your surprise would have been boundless. His limbs were -nearly frozen, and his body dreadfully emaciated by fatigue and -suffering. I never saw a man in so wretched a condition. We attempted -to carry him into the cabin, but as soon as he had quitted the fresh -air he fainted. We accordingly brought him back to the deck and -restored him to animation by rubbing him with brandy and forcing him to -swallow a small quantity. As soon as he showed signs of life we -wrapped him up in blankets and placed him near the chimney of the -kitchen stove. By slow degrees he recovered and ate a little soup, -which restored him wonderfully. - -Two days passed in this manner before he was able to speak, and I often -feared that his sufferings had deprived him of understanding. When he -had in some measure recovered, I removed him to my own cabin and -attended on him as much as my duty would permit. I never saw a more -interesting creature: his eyes have generally an expression of -wildness, and even madness, but there are moments when, if anyone -performs an act of kindness towards him or does him any the most -trifling service, his whole countenance is lighted up, as it were, with -a beam of benevolence and sweetness that I never saw equalled. But he -is generally melancholy and despairing, and sometimes he gnashes his -teeth, as if impatient of the weight of woes that oppresses him. - -When my guest was a little recovered I had great trouble to keep off -the men, who wished to ask him a thousand questions; but I would not -allow him to be tormented by their idle curiosity, in a state of body -and mind whose restoration evidently depended upon entire repose. -Once, however, the lieutenant asked why he had come so far upon the ice -in so strange a vehicle. - -His countenance instantly assumed an aspect of the deepest gloom, and -he replied, "To seek one who fled from me." - -"And did the man whom you pursued travel in the same fashion?" - -"Yes." - -"Then I fancy we have seen him, for the day before we picked you up we -saw some dogs drawing a sledge, with a man in it, across the ice." - -This aroused the stranger's attention, and he asked a multitude of -questions concerning the route which the demon, as he called him, had -pursued. Soon after, when he was alone with me, he said, "I have, -doubtless, excited your curiosity, as well as that of these good -people; but you are too considerate to make inquiries." - -"Certainly; it would indeed be very impertinent and inhuman in me to -trouble you with any inquisitiveness of mine." - -"And yet you rescued me from a strange and perilous situation; you have -benevolently restored me to life." - -Soon after this he inquired if I thought that the breaking up of the -ice had destroyed the other sledge. I replied that I could not answer -with any degree of certainty, for the ice had not broken until near -midnight, and the traveller might have arrived at a place of safety -before that time; but of this I could not judge. From this time a new -spirit of life animated the decaying frame of the stranger. He -manifested the greatest eagerness to be upon deck to watch for the -sledge which had before appeared; but I have persuaded him to remain in -the cabin, for he is far too weak to sustain the rawness of the -atmosphere. I have promised that someone should watch for him and give -him instant notice if any new object should appear in sight. - -Such is my journal of what relates to this strange occurrence up to the -present day. The stranger has gradually improved in health but is very -silent and appears uneasy when anyone except myself enters his cabin. -Yet his manners are so conciliating and gentle that the sailors are all -interested in him, although they have had very little communication -with him. For my own part, I begin to love him as a brother, and his -constant and deep grief fills me with sympathy and compassion. He must -have been a noble creature in his better days, being even now in wreck -so attractive and amiable. I said in one of my letters, my dear -Margaret, that I should find no friend on the wide ocean; yet I have -found a man who, before his spirit had been broken by misery, I should -have been happy to have possessed as the brother of my heart. - -I shall continue my journal concerning the stranger at intervals, -should I have any fresh incidents to record. - - -August 13th, 17-- - -My affection for my guest increases every day. He excites at once my -admiration and my pity to an astonishing degree. How can I see so -noble a creature destroyed by misery without feeling the most poignant -grief? He is so gentle, yet so wise; his mind is so cultivated, and -when he speaks, although his words are culled with the choicest art, -yet they flow with rapidity and unparalleled eloquence. He is now much -recovered from his illness and is continually on the deck, apparently -watching for the sledge that preceded his own. Yet, although unhappy, -he is not so utterly occupied by his own misery but that he interests -himself deeply in the projects of others. He has frequently conversed -with me on mine, which I have communicated to him without disguise. He -entered attentively into all my arguments in favour of my eventual -success and into every minute detail of the measures I had taken to -secure it. I was easily led by the sympathy which he evinced to use -the language of my heart, to give utterance to the burning ardour of my -soul and to say, with all the fervour that warmed me, how gladly I -would sacrifice my fortune, my existence, my every hope, to the -furtherance of my enterprise. One man's life or death were but a small -price to pay for the acquirement of the knowledge which I sought, for -the dominion I should acquire and transmit over the elemental foes of -our race. As I spoke, a dark gloom spread over my listener's -countenance. At first I perceived that he tried to suppress his -emotion; he placed his hands before his eyes, and my voice quivered and -failed me as I beheld tears trickle fast from between his fingers; a -groan burst from his heaving breast. I paused; at length he spoke, in -broken accents: "Unhappy man! Do you share my madness? Have you -drunk also of the intoxicating draught? Hear me; let me reveal my -tale, and you will dash the cup from your lips!" - -Such words, you may imagine, strongly excited my curiosity; but the -paroxysm of grief that had seized the stranger overcame his weakened -powers, and many hours of repose and tranquil conversation were -necessary to restore his composure. Having conquered the violence of -his feelings, he appeared to despise himself for being the slave of -passion; and quelling the dark tyranny of despair, he led me again to -converse concerning myself personally. He asked me the history of my -earlier years. The tale was quickly told, but it awakened various -trains of reflection. I spoke of my desire of finding a friend, of my -thirst for a more intimate sympathy with a fellow mind than had ever -fallen to my lot, and expressed my conviction that a man could boast of -little happiness who did not enjoy this blessing. "I agree with you," -replied the stranger; "we are unfashioned creatures, but half made up, -if one wiser, better, dearer than ourselves--such a friend ought to -be--do not lend his aid to perfectionate our weak and faulty natures. I -once had a friend, the most noble of human creatures, and am entitled, -therefore, to judge respecting friendship. You have hope, and the -world before you, and have no cause for despair. But I--I have lost -everything and cannot begin life anew." - -As he said this his countenance became expressive of a calm, settled -grief that touched me to the heart. But he was silent and presently -retired to his cabin. - -Even broken in spirit as he is, no one can feel more deeply than he -does the beauties of nature. The starry sky, the sea, and every sight -afforded by these wonderful regions seem still to have the power of -elevating his soul from earth. Such a man has a double existence: he -may suffer misery and be overwhelmed by disappointments, yet when he -has retired into himself, he will be like a celestial spirit that has a -halo around him, within whose circle no grief or folly ventures. - -Will you smile at the enthusiasm I express concerning this divine -wanderer? You would not if you saw him. You have been tutored and -refined by books and retirement from the world, and you are therefore -somewhat fastidious; but this only renders you the more fit to -appreciate the extraordinary merits of this wonderful man. Sometimes I -have endeavoured to discover what quality it is which he possesses that -elevates him so immeasurably above any other person I ever knew. I -believe it to be an intuitive discernment, a quick but never-failing -power of judgment, a penetration into the causes of things, unequalled -for clearness and precision; add to this a facility of expression and a -voice whose varied intonations are soul-subduing music. - - -August 19, 17-- - -Yesterday the stranger said to me, "You may easily perceive, Captain -Walton, that I have suffered great and unparalleled misfortunes. I had -determined at one time that the memory of these evils should die with -me, but you have won me to alter my determination. You seek for -knowledge and wisdom, as I once did; and I ardently hope that the -gratification of your wishes may not be a serpent to sting you, as mine -has been. I do not know that the relation of my disasters will be -useful to you; yet, when I reflect that you are pursuing the same -course, exposing yourself to the same dangers which have rendered me -what I am, I imagine that you may deduce an apt moral from my tale, one -that may direct you if you succeed in your undertaking and console you -in case of failure. Prepare to hear of occurrences which are usually -deemed marvellous. Were we among the tamer scenes of nature I might -fear to encounter your unbelief, perhaps your ridicule; but many things -will appear possible in these wild and mysterious regions which would -provoke the laughter of those unacquainted with the ever-varied powers -of nature; nor can I doubt but that my tale conveys in its series -internal evidence of the truth of the events of which it is composed." - -You may easily imagine that I was much gratified by the offered -communication, yet I could not endure that he should renew his grief by -a recital of his misfortunes. I felt the greatest eagerness to hear -the promised narrative, partly from curiosity and partly from a strong -desire to ameliorate his fate if it were in my power. I expressed -these feelings in my answer. - -"I thank you," he replied, "for your sympathy, but it is useless; my -fate is nearly fulfilled. I wait but for one event, and then I shall -repose in peace. I understand your feeling," continued he, perceiving -that I wished to interrupt him; "but you are mistaken, my friend, if -thus you will allow me to name you; nothing can alter my destiny; -listen to my history, and you will perceive how irrevocably it is -determined." - -He then told me that he would commence his narrative the next day when -I should be at leisure. This promise drew from me the warmest thanks. -I have resolved every night, when I am not imperatively occupied by my -duties, to record, as nearly as possible in his own words, what he has -related during the day. If I should be engaged, I will at least make -notes. This manuscript will doubtless afford you the greatest -pleasure; but to me, who know him, and who hear it from his own -lips--with what interest and sympathy shall I read it in some future -day! Even now, as I commence my task, his full-toned voice swells in -my ears; his lustrous eyes dwell on me with all their melancholy -sweetness; I see his thin hand raised in animation, while the -lineaments of his face are irradiated by the soul within. - -Strange and harrowing must be his story, frightful the storm which -embraced the gallant vessel on its course and wrecked it--thus! - - - -Chapter 1 - -I am by birth a Genevese, and my family is one of the most -distinguished of that republic. My ancestors had been for many years -counsellors and syndics, and my father had filled several public -situations with honour and reputation. He was respected by all who -knew him for his integrity and indefatigable attention to public -business. He passed his younger days perpetually occupied by the -affairs of his country; a variety of circumstances had prevented his -marrying early, nor was it until the decline of life that he became a -husband and the father of a family. - -As the circumstances of his marriage illustrate his character, I cannot -refrain from relating them. One of his most intimate friends was a -merchant who, from a flourishing state, fell, through numerous -mischances, into poverty. This man, whose name was Beaufort, was of a -proud and unbending disposition and could not bear to live in poverty -and oblivion in the same country where he had formerly been -distinguished for his rank and magnificence. Having paid his debts, -therefore, in the most honourable manner, he retreated with his -daughter to the town of Lucerne, where he lived unknown and in -wretchedness. My father loved Beaufort with the truest friendship and -was deeply grieved by his retreat in these unfortunate circumstances. -He bitterly deplored the false pride which led his friend to a conduct -so little worthy of the affection that united them. He lost no time in -endeavouring to seek him out, with the hope of persuading him to begin -the world again through his credit and assistance. Beaufort had taken -effectual measures to conceal himself, and it was ten months before my -father discovered his abode. Overjoyed at this discovery, he hastened -to the house, which was situated in a mean street near the Reuss. But -when he entered, misery and despair alone welcomed him. Beaufort had -saved but a very small sum of money from the wreck of his fortunes, but -it was sufficient to provide him with sustenance for some months, and -in the meantime he hoped to procure some respectable employment in a -merchant's house. The interval was, consequently, spent in inaction; -his grief only became more deep and rankling when he had leisure for -reflection, and at length it took so fast hold of his mind that at the -end of three months he lay on a bed of sickness, incapable of any -exertion. - -His daughter attended him with the greatest tenderness, but she saw -with despair that their little fund was rapidly decreasing and that -there was no other prospect of support. But Caroline Beaufort -possessed a mind of an uncommon mould, and her courage rose to support -her in her adversity. She procured plain work; she plaited straw and -by various means contrived to earn a pittance scarcely sufficient to -support life. - -Several months passed in this manner. Her father grew worse; her time -was more entirely occupied in attending him; her means of subsistence -decreased; and in the tenth month her father died in her arms, leaving -her an orphan and a beggar. This last blow overcame her, and she knelt -by Beaufort's coffin weeping bitterly, when my father entered the -chamber. He came like a protecting spirit to the poor girl, who -committed herself to his care; and after the interment of his friend he -conducted her to Geneva and placed her under the protection of a -relation. Two years after this event Caroline became his wife. - -There was a considerable difference between the ages of my parents, but -this circumstance seemed to unite them only closer in bonds of devoted -affection. There was a sense of justice in my father's upright mind -which rendered it necessary that he should approve highly to love -strongly. Perhaps during former years he had suffered from the -late-discovered unworthiness of one beloved and so was disposed to set -a greater value on tried worth. There was a show of gratitude and -worship in his attachment to my mother, differing wholly from the -doting fondness of age, for it was inspired by reverence for her -virtues and a desire to be the means of, in some degree, recompensing -her for the sorrows she had endured, but which gave inexpressible grace -to his behaviour to her. Everything was made to yield to her wishes -and her convenience. He strove to shelter her, as a fair exotic is -sheltered by the gardener, from every rougher wind and to surround her -with all that could tend to excite pleasurable emotion in her soft and -benevolent mind. Her health, and even the tranquillity of her hitherto -constant spirit, had been shaken by what she had gone through. During -the two years that had elapsed previous to their marriage my father had -gradually relinquished all his public functions; and immediately after -their union they sought the pleasant climate of Italy, and the change -of scene and interest attendant on a tour through that land of wonders, -as a restorative for her weakened frame. - -From Italy they visited Germany and France. I, their eldest child, was -born at Naples, and as an infant accompanied them in their rambles. I -remained for several years their only child. Much as they were -attached to each other, they seemed to draw inexhaustible stores of -affection from a very mine of love to bestow them upon me. My mother's -tender caresses and my father's smile of benevolent pleasure while -regarding me are my first recollections. I was their plaything and -their idol, and something better--their child, the innocent and -helpless creature bestowed on them by heaven, whom to bring up to good, -and whose future lot it was in their hands to direct to happiness or -misery, according as they fulfilled their duties towards me. With this -deep consciousness of what they owed towards the being to which they -had given life, added to the active spirit of tenderness that animated -both, it may be imagined that while during every hour of my infant life -I received a lesson of patience, of charity, and of self-control, I was -so guided by a silken cord that all seemed but one train of enjoyment -to me. For a long time I was their only care. My mother had much -desired to have a daughter, but I continued their single offspring. -When I was about five years old, while making an excursion beyond the -frontiers of Italy, they passed a week on the shores of the Lake of -Como. Their benevolent disposition often made them enter the cottages -of the poor. This, to my mother, was more than a duty; it was a -necessity, a passion--remembering what she had suffered, and how she -had been relieved--for her to act in her turn the guardian angel to the -afflicted. During one of their walks a poor cot in the foldings of a -vale attracted their notice as being singularly disconsolate, while the -number of half-clothed children gathered about it spoke of penury in -its worst shape. One day, when my father had gone by himself to Milan, -my mother, accompanied by me, visited this abode. She found a peasant -and his wife, hard working, bent down by care and labour, distributing -a scanty meal to five hungry babes. Among these there was one which -attracted my mother far above all the rest. She appeared of a -different stock. The four others were dark-eyed, hardy little -vagrants; this child was thin and very fair. Her hair was the -brightest living gold, and despite the poverty of her clothing, seemed -to set a crown of distinction on her head. Her brow was clear and -ample, her blue eyes cloudless, and her lips and the moulding of her -face so expressive of sensibility and sweetness that none could behold -her without looking on her as of a distinct species, a being -heaven-sent, and bearing a celestial stamp in all her features. The -peasant woman, perceiving that my mother fixed eyes of wonder and -admiration on this lovely girl, eagerly communicated her history. She -was not her child, but the daughter of a Milanese nobleman. Her mother -was a German and had died on giving her birth. The infant had been -placed with these good people to nurse: they were better off then. -They had not been long married, and their eldest child was but just -born. The father of their charge was one of those Italians nursed in -the memory of the antique glory of Italy--one among the schiavi ognor -frementi, who exerted himself to obtain the liberty of his country. He -became the victim of its weakness. Whether he had died or still -lingered in the dungeons of Austria was not known. His property was -confiscated; his child became an orphan and a beggar. She continued -with her foster parents and bloomed in their rude abode, fairer than a -garden rose among dark-leaved brambles. When my father returned from -Milan, he found playing with me in the hall of our villa a child fairer -than pictured cherub--a creature who seemed to shed radiance from her -looks and whose form and motions were lighter than the chamois of the -hills. The apparition was soon explained. With his permission my -mother prevailed on her rustic guardians to yield their charge to her. -They were fond of the sweet orphan. Her presence had seemed a blessing -to them, but it would be unfair to her to keep her in poverty and want -when Providence afforded her such powerful protection. They consulted -their village priest, and the result was that Elizabeth Lavenza became -the inmate of my parents' house--my more than sister--the beautiful and -adored companion of all my occupations and my pleasures. - -Everyone loved Elizabeth. The passionate and almost reverential -attachment with which all regarded her became, while I shared it, my -pride and my delight. On the evening previous to her being brought to -my home, my mother had said playfully, "I have a pretty present for my -Victor--tomorrow he shall have it." And when, on the morrow, she -presented Elizabeth to me as her promised gift, I, with childish -seriousness, interpreted her words literally and looked upon Elizabeth -as mine--mine to protect, love, and cherish. All praises bestowed on -her I received as made to a possession of my own. We called each other -familiarly by the name of cousin. No word, no expression could body -forth the kind of relation in which she stood to me--my more than -sister, since till death she was to be mine only. - - - -Chapter 2 - -We were brought up together; there was not quite a year difference in -our ages. I need not say that we were strangers to any species of -disunion or dispute. Harmony was the soul of our companionship, and -the diversity and contrast that subsisted in our characters drew us -nearer together. Elizabeth was of a calmer and more concentrated -disposition; but, with all my ardour, I was capable of a more intense -application and was more deeply smitten with the thirst for knowledge. -She busied herself with following the aerial creations of the poets; -and in the majestic and wondrous scenes which surrounded our Swiss home ---the sublime shapes of the mountains, the changes of the seasons, -tempest and calm, the silence of winter, and the life and turbulence of -our Alpine summers--she found ample scope for admiration and delight. -While my companion contemplated with a serious and satisfied spirit the -magnificent appearances of things, I delighted in investigating their -causes. The world was to me a secret which I desired to divine. -Curiosity, earnest research to learn the hidden laws of nature, -gladness akin to rapture, as they were unfolded to me, are among the -earliest sensations I can remember. - -On the birth of a second son, my junior by seven years, my parents gave -up entirely their wandering life and fixed themselves in their native -country. We possessed a house in Geneva, and a campagne on Belrive, -the eastern shore of the lake, at the distance of rather more than a -league from the city. We resided principally in the latter, and the -lives of my parents were passed in considerable seclusion. It was my -temper to avoid a crowd and to attach myself fervently to a few. I was -indifferent, therefore, to my school-fellows in general; but I united -myself in the bonds of the closest friendship to one among them. Henry -Clerval was the son of a merchant of Geneva. He was a boy of singular -talent and fancy. He loved enterprise, hardship, and even danger for -its own sake. He was deeply read in books of chivalry and romance. He -composed heroic songs and began to write many a tale of enchantment and -knightly adventure. He tried to make us act plays and to enter into -masquerades, in which the characters were drawn from the heroes of -Roncesvalles, of the Round Table of King Arthur, and the chivalrous -train who shed their blood to redeem the holy sepulchre from the hands -of the infidels. - -No human being could have passed a happier childhood than myself. My -parents were possessed by the very spirit of kindness and indulgence. -We felt that they were not the tyrants to rule our lot according to -their caprice, but the agents and creators of all the many delights -which we enjoyed. When I mingled with other families I distinctly -discerned how peculiarly fortunate my lot was, and gratitude assisted -the development of filial love. - -My temper was sometimes violent, and my passions vehement; but by some -law in my temperature they were turned not towards childish pursuits -but to an eager desire to learn, and not to learn all things -indiscriminately. I confess that neither the structure of languages, -nor the code of governments, nor the politics of various states -possessed attractions for me. It was the secrets of heaven and earth -that I desired to learn; and whether it was the outward substance of -things or the inner spirit of nature and the mysterious soul of man -that occupied me, still my inquiries were directed to the metaphysical, -or in its highest sense, the physical secrets of the world. - -Meanwhile Clerval occupied himself, so to speak, with the moral -relations of things. The busy stage of life, the virtues of heroes, -and the actions of men were his theme; and his hope and his dream was -to become one among those whose names are recorded in story as the -gallant and adventurous benefactors of our species. The saintly soul -of Elizabeth shone like a shrine-dedicated lamp in our peaceful home. -Her sympathy was ours; her smile, her soft voice, the sweet glance of -her celestial eyes, were ever there to bless and animate us. She was -the living spirit of love to soften and attract; I might have become -sullen in my study, rought through the ardour of my nature, but that -she was there to subdue me to a semblance of her own gentleness. And -Clerval--could aught ill entrench on the noble spirit of Clerval? Yet -he might not have been so perfectly humane, so thoughtful in his -generosity, so full of kindness and tenderness amidst his passion for -adventurous exploit, had she not unfolded to him the real loveliness of -beneficence and made the doing good the end and aim of his soaring -ambition. - -I feel exquisite pleasure in dwelling on the recollections of -childhood, before misfortune had tainted my mind and changed its bright -visions of extensive usefulness into gloomy and narrow reflections upon -self. Besides, in drawing the picture of my early days, I also record -those events which led, by insensible steps, to my after tale of -misery, for when I would account to myself for the birth of that -passion which afterwards ruled my destiny I find it arise, like a -mountain river, from ignoble and almost forgotten sources; but, -swelling as it proceeded, it became the torrent which, in its course, -has swept away all my hopes and joys. Natural philosophy is the genius -that has regulated my fate; I desire, therefore, in this narration, to -state those facts which led to my predilection for that science. When -I was thirteen years of age we all went on a party of pleasure to the -baths near Thonon; the inclemency of the weather obliged us to remain a -day confined to the inn. In this house I chanced to find a volume of -the works of Cornelius Agrippa. I opened it with apathy; the theory -which he attempts to demonstrate and the wonderful facts which he -relates soon changed this feeling into enthusiasm. A new light seemed -to dawn upon my mind, and bounding with joy, I communicated my -discovery to my father. My father looked carelessly at the title page -of my book and said, "Ah! Cornelius Agrippa! My dear Victor, do not -waste your time upon this; it is sad trash." - -If, instead of this remark, my father had taken the pains to explain to -me that the principles of Agrippa had been entirely exploded and that a -modern system of science had been introduced which possessed much -greater powers than the ancient, because the powers of the latter were -chimerical, while those of the former were real and practical, under -such circumstances I should certainly have thrown Agrippa aside and -have contented my imagination, warmed as it was, by returning with -greater ardour to my former studies. It is even possible that the -train of my ideas would never have received the fatal impulse that led -to my ruin. But the cursory glance my father had taken of my volume by -no means assured me that he was acquainted with its contents, and I -continued to read with the greatest avidity. When I returned home my -first care was to procure the whole works of this author, and -afterwards of Paracelsus and Albertus Magnus. I read and studied the -wild fancies of these writers with delight; they appeared to me -treasures known to few besides myself. I have described myself as -always having been imbued with a fervent longing to penetrate the -secrets of nature. In spite of the intense labour and wonderful -discoveries of modern philosophers, I always came from my studies -discontented and unsatisfied. Sir Isaac Newton is said to have avowed -that he felt like a child picking up shells beside the great and -unexplored ocean of truth. Those of his successors in each branch of -natural philosophy with whom I was acquainted appeared even to my boy's -apprehensions as tyros engaged in the same pursuit. - -The untaught peasant beheld the elements around him and was acquainted -with their practical uses. The most learned philosopher knew little -more. He had partially unveiled the face of Nature, but her immortal -lineaments were still a wonder and a mystery. He might dissect, -anatomize, and give names; but, not to speak of a final cause, causes -in their secondary and tertiary grades were utterly unknown to him. I -had gazed upon the fortifications and impediments that seemed to keep -human beings from entering the citadel of nature, and rashly and -ignorantly I had repined. - -But here were books, and here were men who had penetrated deeper and -knew more. I took their word for all that they averred, and I became -their disciple. It may appear strange that such should arise in the -eighteenth century; but while I followed the routine of education in -the schools of Geneva, I was, to a great degree, self-taught with -regard to my favourite studies. My father was not scientific, and I -was left to struggle with a child's blindness, added to a student's -thirst for knowledge. Under the guidance of my new preceptors I -entered with the greatest diligence into the search of the -philosopher's stone and the elixir of life; but the latter soon -obtained my undivided attention. Wealth was an inferior object, but -what glory would attend the discovery if I could banish disease from -the human frame and render man invulnerable to any but a violent death! -Nor were these my only visions. The raising of ghosts or devils was a -promise liberally accorded by my favourite authors, the fulfilment of -which I most eagerly sought; and if my incantations were always -unsuccessful, I attributed the failure rather to my own inexperience -and mistake than to a want of skill or fidelity in my instructors. And -thus for a time I was occupied by exploded systems, mingling, like an -unadept, a thousand contradictory theories and floundering desperately -in a very slough of multifarious knowledge, guided by an ardent -imagination and childish reasoning, till an accident again changed the -current of my ideas. When I was about fifteen years old we had retired -to our house near Belrive, when we witnessed a most violent and -terrible thunderstorm. It advanced from behind the mountains of Jura, -and the thunder burst at once with frightful loudness from various -quarters of the heavens. I remained, while the storm lasted, watching -its progress with curiosity and delight. As I stood at the door, on a -sudden I beheld a stream of fire issue from an old and beautiful oak -which stood about twenty yards from our house; and so soon as the -dazzling light vanished, the oak had disappeared, and nothing remained -but a blasted stump. When we visited it the next morning, we found the -tree shattered in a singular manner. It was not splintered by the -shock, but entirely reduced to thin ribbons of wood. I never beheld -anything so utterly destroyed. - -Before this I was not unacquainted with the more obvious laws of -electricity. On this occasion a man of great research in natural -philosophy was with us, and excited by this catastrophe, he entered on -the explanation of a theory which he had formed on the subject of -electricity and galvanism, which was at once new and astonishing to me. -All that he said threw greatly into the shade Cornelius Agrippa, -Albertus Magnus, and Paracelsus, the lords of my imagination; but by -some fatality the overthrow of these men disinclined me to pursue my -accustomed studies. It seemed to me as if nothing would or could ever -be known. All that had so long engaged my attention suddenly grew -despicable. By one of those caprices of the mind which we are perhaps -most subject to in early youth, I at once gave up my former -occupations, set down natural history and all its progeny as a deformed -and abortive creation, and entertained the greatest disdain for a -would-be science which could never even step within the threshold of -real knowledge. In this mood of mind I betook myself to the -mathematics and the branches of study appertaining to that science as -being built upon secure foundations, and so worthy of my consideration. - -Thus strangely are our souls constructed, and by such slight ligaments -are we bound to prosperity or ruin. When I look back, it seems to me -as if this almost miraculous change of inclination and will was the -immediate suggestion of the guardian angel of my life--the last effort -made by the spirit of preservation to avert the storm that was even -then hanging in the stars and ready to envelop me. Her victory was -announced by an unusual tranquillity and gladness of soul which -followed the relinquishing of my ancient and latterly tormenting -studies. It was thus that I was to be taught to associate evil with -their prosecution, happiness with their disregard. - -It was a strong effort of the spirit of good, but it was ineffectual. -Destiny was too potent, and her immutable laws had decreed my utter and -terrible destruction. - - - -Chapter 3 - -When I had attained the age of seventeen my parents resolved that I -should become a student at the university of Ingolstadt. I had -hitherto attended the schools of Geneva, but my father thought it -necessary for the completion of my education that I should be made -acquainted with other customs than those of my native country. My -departure was therefore fixed at an early date, but before the day -resolved upon could arrive, the first misfortune of my life -occurred--an omen, as it were, of my future misery. Elizabeth had -caught the scarlet fever; her illness was severe, and she was in the -greatest danger. During her illness many arguments had been urged to -persuade my mother to refrain from attending upon her. She had at -first yielded to our entreaties, but when she heard that the life of -her favourite was menaced, she could no longer control her anxiety. She -attended her sickbed; her watchful attentions triumphed over the -malignity of the distemper--Elizabeth was saved, but the consequences -of this imprudence were fatal to her preserver. On the third day my -mother sickened; her fever was accompanied by the most alarming -symptoms, and the looks of her medical attendants prognosticated the -worst event. On her deathbed the fortitude and benignity of this best -of women did not desert her. She joined the hands of Elizabeth and -myself. "My children," she said, "my firmest hopes of future happiness -were placed on the prospect of your union. This expectation will now -be the consolation of your father. Elizabeth, my love, you must supply -my place to my younger children. Alas! I regret that I am taken from -you; and, happy and beloved as I have been, is it not hard to quit you -all? But these are not thoughts befitting me; I will endeavour to -resign myself cheerfully to death and will indulge a hope of meeting -you in another world." - -She died calmly, and her countenance expressed affection even in death. -I need not describe the feelings of those whose dearest ties are rent -by that most irreparable evil, the void that presents itself to the -soul, and the despair that is exhibited on the countenance. It is so -long before the mind can persuade itself that she whom we saw every day -and whose very existence appeared a part of our own can have departed -forever--that the brightness of a beloved eye can have been -extinguished and the sound of a voice so familiar and dear to the ear -can be hushed, never more to be heard. These are the reflections of -the first days; but when the lapse of time proves the reality of the -evil, then the actual bitterness of grief commences. Yet from whom has -not that rude hand rent away some dear connection? And why should I -describe a sorrow which all have felt, and must feel? The time at -length arrives when grief is rather an indulgence than a necessity; and -the smile that plays upon the lips, although it may be deemed a -sacrilege, is not banished. My mother was dead, but we had still -duties which we ought to perform; we must continue our course with the -rest and learn to think ourselves fortunate whilst one remains whom the -spoiler has not seized. - -My departure for Ingolstadt, which had been deferred by these events, -was now again determined upon. I obtained from my father a respite of -some weeks. It appeared to me sacrilege so soon to leave the repose, -akin to death, of the house of mourning and to rush into the thick of -life. I was new to sorrow, but it did not the less alarm me. I was -unwilling to quit the sight of those that remained to me, and above -all, I desired to see my sweet Elizabeth in some degree consoled. - -She indeed veiled her grief and strove to act the comforter to us all. -She looked steadily on life and assumed its duties with courage and -zeal. She devoted herself to those whom she had been taught to call -her uncle and cousins. Never was she so enchanting as at this time, -when she recalled the sunshine of her smiles and spent them upon us. -She forgot even her own regret in her endeavours to make us forget. - -The day of my departure at length arrived. Clerval spent the last -evening with us. He had endeavoured to persuade his father to permit -him to accompany me and to become my fellow student, but in vain. His -father was a narrow-minded trader and saw idleness and ruin in the -aspirations and ambition of his son. Henry deeply felt the misfortune -of being debarred from a liberal education. He said little, but when -he spoke I read in his kindling eye and in his animated glance a -restrained but firm resolve not to be chained to the miserable details -of commerce. - -We sat late. We could not tear ourselves away from each other nor -persuade ourselves to say the word "Farewell!" It was said, and we -retired under the pretence of seeking repose, each fancying that the -other was deceived; but when at morning's dawn I descended to the -carriage which was to convey me away, they were all there--my father -again to bless me, Clerval to press my hand once more, my Elizabeth to -renew her entreaties that I would write often and to bestow the last -feminine attentions on her playmate and friend. - -I threw myself into the chaise that was to convey me away and indulged -in the most melancholy reflections. I, who had ever been surrounded by -amiable companions, continually engaged in endeavouring to bestow -mutual pleasure--I was now alone. In the university whither I was -going I must form my own friends and be my own protector. My life had -hitherto been remarkably secluded and domestic, and this had given me -invincible repugnance to new countenances. I loved my brothers, -Elizabeth, and Clerval; these were "old familiar faces," but I believed -myself totally unfitted for the company of strangers. Such were my -reflections as I commenced my journey; but as I proceeded, my spirits -and hopes rose. I ardently desired the acquisition of knowledge. I -had often, when at home, thought it hard to remain during my youth -cooped up in one place and had longed to enter the world and take my -station among other human beings. Now my desires were complied with, -and it would, indeed, have been folly to repent. - -I had sufficient leisure for these and many other reflections during my -journey to Ingolstadt, which was long and fatiguing. At length the -high white steeple of the town met my eyes. I alighted and was -conducted to my solitary apartment to spend the evening as I pleased. - -The next morning I delivered my letters of introduction and paid a -visit to some of the principal professors. Chance--or rather the evil -influence, the Angel of Destruction, which asserted omnipotent sway -over me from the moment I turned my reluctant steps from my father's -door--led me first to M. Krempe, professor of natural philosophy. He -was an uncouth man, but deeply imbued in the secrets of his science. He -asked me several questions concerning my progress in the different -branches of science appertaining to natural philosophy. I replied -carelessly, and partly in contempt, mentioned the names of my -alchemists as the principal authors I had studied. The professor -stared. "Have you," he said, "really spent your time in studying such -nonsense?" - -I replied in the affirmative. "Every minute," continued M. Krempe with -warmth, "every instant that you have wasted on those books is utterly -and entirely lost. You have burdened your memory with exploded systems -and useless names. Good God! In what desert land have you lived, -where no one was kind enough to inform you that these fancies which you -have so greedily imbibed are a thousand years old and as musty as they -are ancient? I little expected, in this enlightened and scientific -age, to find a disciple of Albertus Magnus and Paracelsus. My dear -sir, you must begin your studies entirely anew." - -So saying, he stepped aside and wrote down a list of several books -treating of natural philosophy which he desired me to procure, and -dismissed me after mentioning that in the beginning of the following -week he intended to commence a course of lectures upon natural -philosophy in its general relations, and that M. Waldman, a fellow -professor, would lecture upon chemistry the alternate days that he -omitted. - -I returned home not disappointed, for I have said that I had long -considered those authors useless whom the professor reprobated; but I -returned not at all the more inclined to recur to these studies in any -shape. M. Krempe was a little squat man with a gruff voice and a -repulsive countenance; the teacher, therefore, did not prepossess me in -favour of his pursuits. In rather a too philosophical and connected a -strain, perhaps, I have given an account of the conclusions I had come -to concerning them in my early years. As a child I had not been -content with the results promised by the modern professors of natural -science. With a confusion of ideas only to be accounted for by my -extreme youth and my want of a guide on such matters, I had retrod the -steps of knowledge along the paths of time and exchanged the -discoveries of recent inquirers for the dreams of forgotten alchemists. -Besides, I had a contempt for the uses of modern natural philosophy. -It was very different when the masters of the science sought -immortality and power; such views, although futile, were grand; but now -the scene was changed. The ambition of the inquirer seemed to limit -itself to the annihilation of those visions on which my interest in -science was chiefly founded. I was required to exchange chimeras of -boundless grandeur for realities of little worth. - -Such were my reflections during the first two or three days of my -residence at Ingolstadt, which were chiefly spent in becoming -acquainted with the localities and the principal residents in my new -abode. But as the ensuing week commenced, I thought of the information -which M. Krempe had given me concerning the lectures. And although I -could not consent to go and hear that little conceited fellow deliver -sentences out of a pulpit, I recollected what he had said of M. -Waldman, whom I had never seen, as he had hitherto been out of town. - -Partly from curiosity and partly from idleness, I went into the -lecturing room, which M. Waldman entered shortly after. This professor -was very unlike his colleague. He appeared about fifty years of age, -but with an aspect expressive of the greatest benevolence; a few grey -hairs covered his temples, but those at the back of his head were -nearly black. His person was short but remarkably erect and his voice -the sweetest I had ever heard. He began his lecture by a -recapitulation of the history of chemistry and the various improvements -made by different men of learning, pronouncing with fervour the names -of the most distinguished discoverers. He then took a cursory view of -the present state of the science and explained many of its elementary -terms. After having made a few preparatory experiments, he concluded -with a panegyric upon modern chemistry, the terms of which I shall -never forget: "The ancient teachers of this science," said he, -"promised impossibilities and performed nothing. The modern masters -promise very little; they know that metals cannot be transmuted and -that the elixir of life is a chimera but these philosophers, whose -hands seem only made to dabble in dirt, and their eyes to pore over the -microscope or crucible, have indeed performed miracles. They penetrate -into the recesses of nature and show how she works in her -hiding-places. They ascend into the heavens; they have discovered how -the blood circulates, and the nature of the air we breathe. They have -acquired new and almost unlimited powers; they can command the thunders -of heaven, mimic the earthquake, and even mock the invisible world with -its own shadows." - -Such were the professor's words--rather let me say such the words of -the fate--enounced to destroy me. As he went on I felt as if my soul -were grappling with a palpable enemy; one by one the various keys were -touched which formed the mechanism of my being; chord after chord was -sounded, and soon my mind was filled with one thought, one conception, -one purpose. So much has been done, exclaimed the soul of -Frankenstein--more, far more, will I achieve; treading in the steps -already marked, I will pioneer a new way, explore unknown powers, and -unfold to the world the deepest mysteries of creation. - -I closed not my eyes that night. My internal being was in a state of -insurrection and turmoil; I felt that order would thence arise, but I -had no power to produce it. By degrees, after the morning's dawn, -sleep came. I awoke, and my yesternight's thoughts were as a dream. -There only remained a resolution to return to my ancient studies and to -devote myself to a science for which I believed myself to possess a -natural talent. On the same day I paid M. Waldman a visit. His -manners in private were even more mild and attractive than in public, -for there was a certain dignity in his mien during his lecture which in -his own house was replaced by the greatest affability and kindness. I -gave him pretty nearly the same account of my former pursuits as I had -given to his fellow professor. He heard with attention the little -narration concerning my studies and smiled at the names of Cornelius -Agrippa and Paracelsus, but without the contempt that M. Krempe had -exhibited. He said that "These were men to whose indefatigable zeal -modern philosophers were indebted for most of the foundations of their -knowledge. They had left to us, as an easier task, to give new names -and arrange in connected classifications the facts which they in a -great degree had been the instruments of bringing to light. The -labours of men of genius, however erroneously directed, scarcely ever -fail in ultimately turning to the solid advantage of mankind." I -listened to his statement, which was delivered without any presumption -or affectation, and then added that his lecture had removed my -prejudices against modern chemists; I expressed myself in measured -terms, with the modesty and deference due from a youth to his -instructor, without letting escape (inexperience in life would have -made me ashamed) any of the enthusiasm which stimulated my intended -labours. I requested his advice concerning the books I ought to -procure. - -"I am happy," said M. Waldman, "to have gained a disciple; and if your -application equals your ability, I have no doubt of your success. -Chemistry is that branch of natural philosophy in which the greatest -improvements have been and may be made; it is on that account that I -have made it my peculiar study; but at the same time, I have not -neglected the other branches of science. A man would make but a very -sorry chemist if he attended to that department of human knowledge -alone. If your wish is to become really a man of science and not -merely a petty experimentalist, I should advise you to apply to every -branch of natural philosophy, including mathematics." He then took me -into his laboratory and explained to me the uses of his various -machines, instructing me as to what I ought to procure and promising me -the use of his own when I should have advanced far enough in the -science not to derange their mechanism. He also gave me the list of -books which I had requested, and I took my leave. - -Thus ended a day memorable to me; it decided my future destiny. - - - -Chapter 4 - -From this day natural philosophy, and particularly chemistry, in the -most comprehensive sense of the term, became nearly my sole occupation. -I read with ardour those works, so full of genius and discrimination, -which modern inquirers have written on these subjects. I attended the -lectures and cultivated the acquaintance of the men of science of the -university, and I found even in M. Krempe a great deal of sound sense -and real information, combined, it is true, with a repulsive -physiognomy and manners, but not on that account the less valuable. In -M. Waldman I found a true friend. His gentleness was never tinged by -dogmatism, and his instructions were given with an air of frankness and -good nature that banished every idea of pedantry. In a thousand ways -he smoothed for me the path of knowledge and made the most abstruse -inquiries clear and facile to my apprehension. My application was at -first fluctuating and uncertain; it gained strength as I proceeded and -soon became so ardent and eager that the stars often disappeared in the -light of morning whilst I was yet engaged in my laboratory. - -As I applied so closely, it may be easily conceived that my progress -was rapid. My ardour was indeed the astonishment of the students, and -my proficiency that of the masters. Professor Krempe often asked me, -with a sly smile, how Cornelius Agrippa went on, whilst M. Waldman -expressed the most heartfelt exultation in my progress. Two years -passed in this manner, during which I paid no visit to Geneva, but was -engaged, heart and soul, in the pursuit of some discoveries which I -hoped to make. None but those who have experienced them can conceive -of the enticements of science. In other studies you go as far as -others have gone before you, and there is nothing more to know; but in -a scientific pursuit there is continual food for discovery and wonder. -A mind of moderate capacity which closely pursues one study must -infallibly arrive at great proficiency in that study; and I, who -continually sought the attainment of one object of pursuit and was -solely wrapped up in this, improved so rapidly that at the end of two -years I made some discoveries in the improvement of some chemical -instruments, which procured me great esteem and admiration at the -university. When I had arrived at this point and had become as well -acquainted with the theory and practice of natural philosophy as -depended on the lessons of any of the professors at Ingolstadt, my -residence there being no longer conducive to my improvements, I thought -of returning to my friends and my native town, when an incident -happened that protracted my stay. - -One of the phenomena which had peculiarly attracted my attention was -the structure of the human frame, and, indeed, any animal endued with -life. Whence, I often asked myself, did the principle of life proceed? -It was a bold question, and one which has ever been considered as a -mystery; yet with how many things are we upon the brink of becoming -acquainted, if cowardice or carelessness did not restrain our -inquiries. I revolved these circumstances in my mind and determined -thenceforth to apply myself more particularly to those branches of -natural philosophy which relate to physiology. Unless I had been -animated by an almost supernatural enthusiasm, my application to this -study would have been irksome and almost intolerable. To examine the -causes of life, we must first have recourse to death. I became -acquainted with the science of anatomy, but this was not sufficient; I -must also observe the natural decay and corruption of the human body. -In my education my father had taken the greatest precautions that my -mind should be impressed with no supernatural horrors. I do not ever -remember to have trembled at a tale of superstition or to have feared -the apparition of a spirit. Darkness had no effect upon my fancy, and -a churchyard was to me merely the receptacle of bodies deprived of -life, which, from being the seat of beauty and strength, had become -food for the worm. Now I was led to examine the cause and progress of -this decay and forced to spend days and nights in vaults and -charnel-houses. My attention was fixed upon every object the most -insupportable to the delicacy of the human feelings. I saw how the -fine form of man was degraded and wasted; I beheld the corruption of -death succeed to the blooming cheek of life; I saw how the worm -inherited the wonders of the eye and brain. I paused, examining and -analysing all the minutiae of causation, as exemplified in the change -from life to death, and death to life, until from the midst of this -darkness a sudden light broke in upon me--a light so brilliant and -wondrous, yet so simple, that while I became dizzy with the immensity -of the prospect which it illustrated, I was surprised that among so -many men of genius who had directed their inquiries towards the same -science, that I alone should be reserved to discover so astonishing a -secret. - -Remember, I am not recording the vision of a madman. The sun does not -more certainly shine in the heavens than that which I now affirm is -true. Some miracle might have produced it, yet the stages of the -discovery were distinct and probable. After days and nights of -incredible labour and fatigue, I succeeded in discovering the cause of -generation and life; nay, more, I became myself capable of bestowing -animation upon lifeless matter. - -The astonishment which I had at first experienced on this discovery -soon gave place to delight and rapture. After so much time spent in -painful labour, to arrive at once at the summit of my desires was the -most gratifying consummation of my toils. But this discovery was so -great and overwhelming that all the steps by which I had been -progressively led to it were obliterated, and I beheld only the result. -What had been the study and desire of the wisest men since the creation -of the world was now within my grasp. Not that, like a magic scene, it -all opened upon me at once: the information I had obtained was of a -nature rather to direct my endeavours so soon as I should point them -towards the object of my search than to exhibit that object already -accomplished. I was like the Arabian who had been buried with the dead -and found a passage to life, aided only by one glimmering and seemingly -ineffectual light. - -I see by your eagerness and the wonder and hope which your eyes -express, my friend, that you expect to be informed of the secret with -which I am acquainted; that cannot be; listen patiently until the end -of my story, and you will easily perceive why I am reserved upon that -subject. I will not lead you on, unguarded and ardent as I then was, -to your destruction and infallible misery. Learn from me, if not by my -precepts, at least by my example, how dangerous is the acquirement of -knowledge and how much happier that man is who believes his native town -to be the world, than he who aspires to become greater than his nature -will allow. - -When I found so astonishing a power placed within my hands, I hesitated -a long time concerning the manner in which I should employ it. -Although I possessed the capacity of bestowing animation, yet to -prepare a frame for the reception of it, with all its intricacies of -fibres, muscles, and veins, still remained a work of inconceivable -difficulty and labour. I doubted at first whether I should attempt the -creation of a being like myself, or one of simpler organization; but my -imagination was too much exalted by my first success to permit me to -doubt of my ability to give life to an animal as complex and wonderful -as man. The materials at present within my command hardly appeared -adequate to so arduous an undertaking, but I doubted not that I should -ultimately succeed. I prepared myself for a multitude of reverses; my -operations might be incessantly baffled, and at last my work be -imperfect, yet when I considered the improvement which every day takes -place in science and mechanics, I was encouraged to hope my present -attempts would at least lay the foundations of future success. Nor -could I consider the magnitude and complexity of my plan as any -argument of its impracticability. It was with these feelings that I -began the creation of a human being. As the minuteness of the parts -formed a great hindrance to my speed, I resolved, contrary to my first -intention, to make the being of a gigantic stature, that is to say, -about eight feet in height, and proportionably large. After having -formed this determination and having spent some months in successfully -collecting and arranging my materials, I began. - -No one can conceive the variety of feelings which bore me onwards, like -a hurricane, in the first enthusiasm of success. Life and death -appeared to me ideal bounds, which I should first break through, and -pour a torrent of light into our dark world. A new species would bless -me as its creator and source; many happy and excellent natures would -owe their being to me. No father could claim the gratitude of his -child so completely as I should deserve theirs. Pursuing these -reflections, I thought that if I could bestow animation upon lifeless -matter, I might in process of time (although I now found it impossible) -renew life where death had apparently devoted the body to corruption. - -These thoughts supported my spirits, while I pursued my undertaking -with unremitting ardour. My cheek had grown pale with study, and my -person had become emaciated with confinement. Sometimes, on the very -brink of certainty, I failed; yet still I clung to the hope which the -next day or the next hour might realize. One secret which I alone -possessed was the hope to which I had dedicated myself; and the moon -gazed on my midnight labours, while, with unrelaxed and breathless -eagerness, I pursued nature to her hiding-places. Who shall conceive -the horrors of my secret toil as I dabbled among the unhallowed damps -of the grave or tortured the living animal to animate the lifeless -clay? My limbs now tremble, and my eyes swim with the remembrance; but -then a resistless and almost frantic impulse urged me forward; I seemed -to have lost all soul or sensation but for this one pursuit. It was -indeed but a passing trance, that only made me feel with renewed -acuteness so soon as, the unnatural stimulus ceasing to operate, I had -returned to my old habits. I collected bones from charnel-houses and -disturbed, with profane fingers, the tremendous secrets of the human -frame. In a solitary chamber, or rather cell, at the top of the house, -and separated from all the other apartments by a gallery and staircase, -I kept my workshop of filthy creation; my eyeballs were starting from -their sockets in attending to the details of my employment. The -dissecting room and the slaughter-house furnished many of my materials; -and often did my human nature turn with loathing from my occupation, -whilst, still urged on by an eagerness which perpetually increased, I -brought my work near to a conclusion. - -The summer months passed while I was thus engaged, heart and soul, in -one pursuit. It was a most beautiful season; never did the fields -bestow a more plentiful harvest or the vines yield a more luxuriant -vintage, but my eyes were insensible to the charms of nature. And the -same feelings which made me neglect the scenes around me caused me also -to forget those friends who were so many miles absent, and whom I had -not seen for so long a time. I knew my silence disquieted them, and I -well remembered the words of my father: "I know that while you are -pleased with yourself you will think of us with affection, and we shall -hear regularly from you. You must pardon me if I regard any -interruption in your correspondence as a proof that your other duties -are equally neglected." - -I knew well therefore what would be my father's feelings, but I could -not tear my thoughts from my employment, loathsome in itself, but which -had taken an irresistible hold of my imagination. I wished, as it -were, to procrastinate all that related to my feelings of affection -until the great object, which swallowed up every habit of my nature, -should be completed. - -I then thought that my father would be unjust if he ascribed my neglect -to vice or faultiness on my part, but I am now convinced that he was -justified in conceiving that I should not be altogether free from -blame. A human being in perfection ought always to preserve a calm and -peaceful mind and never to allow passion or a transitory desire to -disturb his tranquillity. I do not think that the pursuit of knowledge -is an exception to this rule. If the study to which you apply yourself -has a tendency to weaken your affections and to destroy your taste for -those simple pleasures in which no alloy can possibly mix, then that -study is certainly unlawful, that is to say, not befitting the human -mind. If this rule were always observed; if no man allowed any pursuit -whatsoever to interfere with the tranquillity of his domestic -affections, Greece had not been enslaved, Caesar would have spared his -country, America would have been discovered more gradually, and the -empires of Mexico and Peru had not been destroyed. - -But I forget that I am moralizing in the most interesting part of my -tale, and your looks remind me to proceed. My father made no reproach -in his letters and only took notice of my silence by inquiring into my -occupations more particularly than before. Winter, spring, and summer -passed away during my labours; but I did not watch the blossom or the -expanding leaves--sights which before always yielded me supreme -delight--so deeply was I engrossed in my occupation. The leaves of -that year had withered before my work drew near to a close, and now -every day showed me more plainly how well I had succeeded. But my -enthusiasm was checked by my anxiety, and I appeared rather like one -doomed by slavery to toil in the mines, or any other unwholesome trade -than an artist occupied by his favourite employment. Every night I was -oppressed by a slow fever, and I became nervous to a most painful -degree; the fall of a leaf startled me, and I shunned my fellow -creatures as if I had been guilty of a crime. Sometimes I grew alarmed -at the wreck I perceived that I had become; the energy of my purpose -alone sustained me: my labours would soon end, and I believed that -exercise and amusement would then drive away incipient disease; and I -promised myself both of these when my creation should be complete. - - - -Chapter 5 - -It was on a dreary night of November that I beheld the accomplishment -of my toils. With an anxiety that almost amounted to agony, I -collected the instruments of life around me, that I might infuse a -spark of being into the lifeless thing that lay at my feet. It was -already one in the morning; the rain pattered dismally against the -panes, and my candle was nearly burnt out, when, by the glimmer of the -half-extinguished light, I saw the dull yellow eye of the creature -open; it breathed hard, and a convulsive motion agitated its limbs. - -How can I describe my emotions at this catastrophe, or how delineate -the wretch whom with such infinite pains and care I had endeavoured to -form? His limbs were in proportion, and I had selected his features as -beautiful. Beautiful! Great God! His yellow skin scarcely covered -the work of muscles and arteries beneath; his hair was of a lustrous -black, and flowing; his teeth of a pearly whiteness; but these -luxuriances only formed a more horrid contrast with his watery eyes, -that seemed almost of the same colour as the dun-white sockets in which -they were set, his shrivelled complexion and straight black lips. - -The different accidents of life are not so changeable as the feelings -of human nature. I had worked hard for nearly two years, for the sole -purpose of infusing life into an inanimate body. For this I had -deprived myself of rest and health. I had desired it with an ardour -that far exceeded moderation; but now that I had finished, the beauty -of the dream vanished, and breathless horror and disgust filled my -heart. Unable to endure the aspect of the being I had created, I -rushed out of the room and continued a long time traversing my -bed-chamber, unable to compose my mind to sleep. At length lassitude -succeeded to the tumult I had before endured, and I threw myself on the -bed in my clothes, endeavouring to seek a few moments of forgetfulness. -But it was in vain; I slept, indeed, but I was disturbed by the wildest -dreams. I thought I saw Elizabeth, in the bloom of health, walking in -the streets of Ingolstadt. Delighted and surprised, I embraced her, -but as I imprinted the first kiss on her lips, they became livid with -the hue of death; her features appeared to change, and I thought that I -held the corpse of my dead mother in my arms; a shroud enveloped her -form, and I saw the grave-worms crawling in the folds of the flannel. -I started from my sleep with horror; a cold dew covered my forehead, my -teeth chattered, and every limb became convulsed; when, by the dim and -yellow light of the moon, as it forced its way through the window -shutters, I beheld the wretch--the miserable monster whom I had -created. He held up the curtain of the bed; and his eyes, if eyes they -may be called, were fixed on me. His jaws opened, and he muttered some -inarticulate sounds, while a grin wrinkled his cheeks. He might have -spoken, but I did not hear; one hand was stretched out, seemingly to -detain me, but I escaped and rushed downstairs. I took refuge in the -courtyard belonging to the house which I inhabited, where I remained -during the rest of the night, walking up and down in the greatest -agitation, listening attentively, catching and fearing each sound as if -it were to announce the approach of the demoniacal corpse to which I -had so miserably given life. - -Oh! No mortal could support the horror of that countenance. A mummy -again endued with animation could not be so hideous as that wretch. I -had gazed on him while unfinished; he was ugly then, but when those -muscles and joints were rendered capable of motion, it became a thing -such as even Dante could not have conceived. - -I passed the night wretchedly. Sometimes my pulse beat so quickly and -hardly that I felt the palpitation of every artery; at others, I nearly -sank to the ground through languor and extreme weakness. Mingled with -this horror, I felt the bitterness of disappointment; dreams that had -been my food and pleasant rest for so long a space were now become a -hell to me; and the change was so rapid, the overthrow so complete! - -Morning, dismal and wet, at length dawned and discovered to my -sleepless and aching eyes the church of Ingolstadt, its white steeple -and clock, which indicated the sixth hour. The porter opened the gates -of the court, which had that night been my asylum, and I issued into -the streets, pacing them with quick steps, as if I sought to avoid the -wretch whom I feared every turning of the street would present to my -view. I did not dare return to the apartment which I inhabited, but -felt impelled to hurry on, although drenched by the rain which poured -from a black and comfortless sky. - -I continued walking in this manner for some time, endeavouring by -bodily exercise to ease the load that weighed upon my mind. I -traversed the streets without any clear conception of where I was or -what I was doing. My heart palpitated in the sickness of fear, and I -hurried on with irregular steps, not daring to look about me: - - - Like one who, on a lonely road, - Doth walk in fear and dread, - And, having once turned round, walks on, - And turns no more his head; - Because he knows a frightful fiend - Doth close behind him tread. - - [Coleridge's "Ancient Mariner."] - - -Continuing thus, I came at length opposite to the inn at which the -various diligences and carriages usually stopped. Here I paused, I -knew not why; but I remained some minutes with my eyes fixed on a coach -that was coming towards me from the other end of the street. As it -drew nearer I observed that it was the Swiss diligence; it stopped just -where I was standing, and on the door being opened, I perceived Henry -Clerval, who, on seeing me, instantly sprung out. "My dear -Frankenstein," exclaimed he, "how glad I am to see you! How fortunate -that you should be here at the very moment of my alighting!" - -Nothing could equal my delight on seeing Clerval; his presence brought -back to my thoughts my father, Elizabeth, and all those scenes of home -so dear to my recollection. I grasped his hand, and in a moment forgot -my horror and misfortune; I felt suddenly, and for the first time -during many months, calm and serene joy. I welcomed my friend, -therefore, in the most cordial manner, and we walked towards my -college. Clerval continued talking for some time about our mutual -friends and his own good fortune in being permitted to come to -Ingolstadt. "You may easily believe," said he, "how great was the -difficulty to persuade my father that all necessary knowledge was not -comprised in the noble art of book-keeping; and, indeed, I believe I -left him incredulous to the last, for his constant answer to my -unwearied entreaties was the same as that of the Dutch schoolmaster in -The Vicar of Wakefield: 'I have ten thousand florins a year without -Greek, I eat heartily without Greek.' But his affection for me at -length overcame his dislike of learning, and he has permitted me to -undertake a voyage of discovery to the land of knowledge." - -"It gives me the greatest delight to see you; but tell me how you left -my father, brothers, and Elizabeth." - -"Very well, and very happy, only a little uneasy that they hear from -you so seldom. By the by, I mean to lecture you a little upon their -account myself. But, my dear Frankenstein," continued he, stopping -short and gazing full in my face, "I did not before remark how very ill -you appear; so thin and pale; you look as if you had been watching for -several nights." - -"You have guessed right; I have lately been so deeply engaged in one -occupation that I have not allowed myself sufficient rest, as you see; -but I hope, I sincerely hope, that all these employments are now at an -end and that I am at length free." - -I trembled excessively; I could not endure to think of, and far less to -allude to, the occurrences of the preceding night. I walked with a -quick pace, and we soon arrived at my college. I then reflected, and -the thought made me shiver, that the creature whom I had left in my -apartment might still be there, alive and walking about. I dreaded to -behold this monster, but I feared still more that Henry should see him. -Entreating him, therefore, to remain a few minutes at the bottom of the -stairs, I darted up towards my own room. My hand was already on the -lock of the door before I recollected myself. I then paused, and a -cold shivering came over me. I threw the door forcibly open, as -children are accustomed to do when they expect a spectre to stand in -waiting for them on the other side; but nothing appeared. I stepped -fearfully in: the apartment was empty, and my bedroom was also freed -from its hideous guest. I could hardly believe that so great a good -fortune could have befallen me, but when I became assured that my enemy -had indeed fled, I clapped my hands for joy and ran down to Clerval. - -We ascended into my room, and the servant presently brought breakfast; -but I was unable to contain myself. It was not joy only that possessed -me; I felt my flesh tingle with excess of sensitiveness, and my pulse -beat rapidly. I was unable to remain for a single instant in the same -place; I jumped over the chairs, clapped my hands, and laughed aloud. -Clerval at first attributed my unusual spirits to joy on his arrival, -but when he observed me more attentively, he saw a wildness in my eyes -for which he could not account, and my loud, unrestrained, heartless -laughter frightened and astonished him. - -"My dear Victor," cried he, "what, for God's sake, is the matter? Do -not laugh in that manner. How ill you are! What is the cause of all -this?" - -"Do not ask me," cried I, putting my hands before my eyes, for I -thought I saw the dreaded spectre glide into the room; "HE can tell. -Oh, save me! Save me!" I imagined that the monster seized me; I -struggled furiously and fell down in a fit. - -Poor Clerval! What must have been his feelings? A meeting, which he -anticipated with such joy, so strangely turned to bitterness. But I -was not the witness of his grief, for I was lifeless and did not -recover my senses for a long, long time. - -This was the commencement of a nervous fever which confined me for -several months. During all that time Henry was my only nurse. I -afterwards learned that, knowing my father's advanced age and unfitness -for so long a journey, and how wretched my sickness would make -Elizabeth, he spared them this grief by concealing the extent of my -disorder. He knew that I could not have a more kind and attentive -nurse than himself; and, firm in the hope he felt of my recovery, he -did not doubt that, instead of doing harm, he performed the kindest -action that he could towards them. - -But I was in reality very ill, and surely nothing but the unbounded and -unremitting attentions of my friend could have restored me to life. -The form of the monster on whom I had bestowed existence was forever -before my eyes, and I raved incessantly concerning him. Doubtless my -words surprised Henry; he at first believed them to be the wanderings -of my disturbed imagination, but the pertinacity with which I -continually recurred to the same subject persuaded him that my disorder -indeed owed its origin to some uncommon and terrible event. - -By very slow degrees, and with frequent relapses that alarmed and -grieved my friend, I recovered. I remember the first time I became -capable of observing outward objects with any kind of pleasure, I -perceived that the fallen leaves had disappeared and that the young -buds were shooting forth from the trees that shaded my window. It was -a divine spring, and the season contributed greatly to my -convalescence. I felt also sentiments of joy and affection revive in -my bosom; my gloom disappeared, and in a short time I became as -cheerful as before I was attacked by the fatal passion. - -"Dearest Clerval," exclaimed I, "how kind, how very good you are to me. -This whole winter, instead of being spent in study, as you promised -yourself, has been consumed in my sick room. How shall I ever repay -you? I feel the greatest remorse for the disappointment of which I -have been the occasion, but you will forgive me." - -"You will repay me entirely if you do not discompose yourself, but get -well as fast as you can; and since you appear in such good spirits, I -may speak to you on one subject, may I not?" - -I trembled. One subject! What could it be? Could he allude to an -object on whom I dared not even think? "Compose yourself," said -Clerval, who observed my change of colour, "I will not mention it if it -agitates you; but your father and cousin would be very happy if they -received a letter from you in your own handwriting. They hardly know -how ill you have been and are uneasy at your long silence." - -"Is that all, my dear Henry? How could you suppose that my first -thought would not fly towards those dear, dear friends whom I love and -who are so deserving of my love?" - -"If this is your present temper, my friend, you will perhaps be glad to -see a letter that has been lying here some days for you; it is from -your cousin, I believe." - - - -Chapter 6 - -Clerval then put the following letter into my hands. It was from my -own Elizabeth: - -"My dearest Cousin, - -"You have been ill, very ill, and even the constant letters of dear -kind Henry are not sufficient to reassure me on your account. You are -forbidden to write--to hold a pen; yet one word from you, dear Victor, -is necessary to calm our apprehensions. For a long time I have thought -that each post would bring this line, and my persuasions have -restrained my uncle from undertaking a journey to Ingolstadt. I have -prevented his encountering the inconveniences and perhaps dangers of so -long a journey, yet how often have I regretted not being able to -perform it myself! I figure to myself that the task of attending on -your sickbed has devolved on some mercenary old nurse, who could never -guess your wishes nor minister to them with the care and affection of -your poor cousin. Yet that is over now: Clerval writes that indeed -you are getting better. I eagerly hope that you will confirm this -intelligence soon in your own handwriting. - -"Get well--and return to us. You will find a happy, cheerful home and -friends who love you dearly. Your father's health is vigorous, and he -asks but to see you, but to be assured that you are well; and not a -care will ever cloud his benevolent countenance. How pleased you would -be to remark the improvement of our Ernest! He is now sixteen and full -of activity and spirit. He is desirous to be a true Swiss and to enter -into foreign service, but we cannot part with him, at least until his -elder brother returns to us. My uncle is not pleased with the idea of -a military career in a distant country, but Ernest never had your -powers of application. He looks upon study as an odious fetter; his -time is spent in the open air, climbing the hills or rowing on the -lake. I fear that he will become an idler unless we yield the point -and permit him to enter on the profession which he has selected. - -"Little alteration, except the growth of our dear children, has taken -place since you left us. The blue lake and snow-clad mountains--they -never change; and I think our placid home and our contented hearts are -regulated by the same immutable laws. My trifling occupations take up -my time and amuse me, and I am rewarded for any exertions by seeing -none but happy, kind faces around me. Since you left us, but one -change has taken place in our little household. Do you remember on -what occasion Justine Moritz entered our family? Probably you do not; -I will relate her history, therefore in a few words. Madame Moritz, -her mother, was a widow with four children, of whom Justine was the -third. This girl had always been the favourite of her father, but -through a strange perversity, her mother could not endure her, and -after the death of M. Moritz, treated her very ill. My aunt observed -this, and when Justine was twelve years of age, prevailed on her mother -to allow her to live at our house. The republican institutions of our -country have produced simpler and happier manners than those which -prevail in the great monarchies that surround it. Hence there is less -distinction between the several classes of its inhabitants; and the -lower orders, being neither so poor nor so despised, their manners are -more refined and moral. A servant in Geneva does not mean the same -thing as a servant in France and England. Justine, thus received in -our family, learned the duties of a servant, a condition which, in our -fortunate country, does not include the idea of ignorance and a -sacrifice of the dignity of a human being. - -"Justine, you may remember, was a great favourite of yours; and I -recollect you once remarked that if you were in an ill humour, one -glance from Justine could dissipate it, for the same reason that -Ariosto gives concerning the beauty of Angelica--she looked so -frank-hearted and happy. My aunt conceived a great attachment for her, -by which she was induced to give her an education superior to that -which she had at first intended. This benefit was fully repaid; -Justine was the most grateful little creature in the world: I do not -mean that she made any professions I never heard one pass her lips, but -you could see by her eyes that she almost adored her protectress. -Although her disposition was gay and in many respects inconsiderate, -yet she paid the greatest attention to every gesture of my aunt. She -thought her the model of all excellence and endeavoured to imitate her -phraseology and manners, so that even now she often reminds me of her. - -"When my dearest aunt died every one was too much occupied in their own -grief to notice poor Justine, who had attended her during her illness -with the most anxious affection. Poor Justine was very ill; but other -trials were reserved for her. - -"One by one, her brothers and sister died; and her mother, with the -exception of her neglected daughter, was left childless. The -conscience of the woman was troubled; she began to think that the -deaths of her favourites was a judgement from heaven to chastise her -partiality. She was a Roman Catholic; and I believe her confessor -confirmed the idea which she had conceived. Accordingly, a few months -after your departure for Ingolstadt, Justine was called home by her -repentant mother. Poor girl! She wept when she quitted our house; she -was much altered since the death of my aunt; grief had given softness -and a winning mildness to her manners, which had before been remarkable -for vivacity. Nor was her residence at her mother's house of a nature -to restore her gaiety. The poor woman was very vacillating in her -repentance. She sometimes begged Justine to forgive her unkindness, -but much oftener accused her of having caused the deaths of her -brothers and sister. Perpetual fretting at length threw Madame Moritz -into a decline, which at first increased her irritability, but she is -now at peace for ever. She died on the first approach of cold weather, -at the beginning of this last winter. Justine has just returned to us; -and I assure you I love her tenderly. She is very clever and gentle, -and extremely pretty; as I mentioned before, her mien and her -expression continually remind me of my dear aunt. - -"I must say also a few words to you, my dear cousin, of little darling -William. I wish you could see him; he is very tall of his age, with -sweet laughing blue eyes, dark eyelashes, and curling hair. When he -smiles, two little dimples appear on each cheek, which are rosy with -health. He has already had one or two little WIVES, but Louisa Biron -is his favourite, a pretty little girl of five years of age. - -"Now, dear Victor, I dare say you wish to be indulged in a little -gossip concerning the good people of Geneva. The pretty Miss Mansfield -has already received the congratulatory visits on her approaching -marriage with a young Englishman, John Melbourne, Esq. Her ugly -sister, Manon, married M. Duvillard, the rich banker, last autumn. Your -favourite schoolfellow, Louis Manoir, has suffered several misfortunes -since the departure of Clerval from Geneva. But he has already -recovered his spirits, and is reported to be on the point of marrying a -lively pretty Frenchwoman, Madame Tavernier. She is a widow, and much -older than Manoir; but she is very much admired, and a favourite with -everybody. - -"I have written myself into better spirits, dear cousin; but my anxiety -returns upon me as I conclude. Write, dearest Victor,--one line--one -word will be a blessing to us. Ten thousand thanks to Henry for his -kindness, his affection, and his many letters; we are sincerely -grateful. Adieu! my cousin; take care of your self; and, I entreat -you, write! - -"Elizabeth Lavenza. - -"Geneva, March 18, 17--." - - -"Dear, dear Elizabeth!" I exclaimed, when I had read her letter: "I -will write instantly and relieve them from the anxiety they must feel." -I wrote, and this exertion greatly fatigued me; but my convalescence -had commenced, and proceeded regularly. In another fortnight I was -able to leave my chamber. - -One of my first duties on my recovery was to introduce Clerval to the -several professors of the university. In doing this, I underwent a -kind of rough usage, ill befitting the wounds that my mind had -sustained. Ever since the fatal night, the end of my labours, and the -beginning of my misfortunes, I had conceived a violent antipathy even -to the name of natural philosophy. When I was otherwise quite restored -to health, the sight of a chemical instrument would renew all the agony -of my nervous symptoms. Henry saw this, and had removed all my -apparatus from my view. He had also changed my apartment; for he -perceived that I had acquired a dislike for the room which had -previously been my laboratory. But these cares of Clerval were made of -no avail when I visited the professors. M. Waldman inflicted torture -when he praised, with kindness and warmth, the astonishing progress I -had made in the sciences. He soon perceived that I disliked the -subject; but not guessing the real cause, he attributed my feelings to -modesty, and changed the subject from my improvement, to the science -itself, with a desire, as I evidently saw, of drawing me out. What -could I do? He meant to please, and he tormented me. I felt as if he -had placed carefully, one by one, in my view those instruments which -were to be afterwards used in putting me to a slow and cruel death. I -writhed under his words, yet dared not exhibit the pain I felt. -Clerval, whose eyes and feelings were always quick in discerning the -sensations of others, declined the subject, alleging, in excuse, his -total ignorance; and the conversation took a more general turn. I -thanked my friend from my heart, but I did not speak. I saw plainly -that he was surprised, but he never attempted to draw my secret from -me; and although I loved him with a mixture of affection and reverence -that knew no bounds, yet I could never persuade myself to confide in -him that event which was so often present to my recollection, but which -I feared the detail to another would only impress more deeply. - -M. Krempe was not equally docile; and in my condition at that time, of -almost insupportable sensitiveness, his harsh blunt encomiums gave me -even more pain than the benevolent approbation of M. Waldman. "D--n -the fellow!" cried he; "why, M. Clerval, I assure you he has outstript -us all. Ay, stare if you please; but it is nevertheless true. A -youngster who, but a few years ago, believed in Cornelius Agrippa as -firmly as in the gospel, has now set himself at the head of the -university; and if he is not soon pulled down, we shall all be out of -countenance.--Ay, ay," continued he, observing my face expressive of -suffering, "M. Frankenstein is modest; an excellent quality in a young -man. Young men should be diffident of themselves, you know, M. -Clerval: I was myself when young; but that wears out in a very short -time." - -M. Krempe had now commenced an eulogy on himself, which happily turned -the conversation from a subject that was so annoying to me. - -Clerval had never sympathized in my tastes for natural science; and his -literary pursuits differed wholly from those which had occupied me. He -came to the university with the design of making himself complete -master of the oriental languages, and thus he should open a field for -the plan of life he had marked out for himself. Resolved to pursue no -inglorious career, he turned his eyes toward the East, as affording -scope for his spirit of enterprise. The Persian, Arabic, and Sanskrit -languages engaged his attention, and I was easily induced to enter on -the same studies. Idleness had ever been irksome to me, and now that I -wished to fly from reflection, and hated my former studies, I felt -great relief in being the fellow-pupil with my friend, and found not -only instruction but consolation in the works of the orientalists. I -did not, like him, attempt a critical knowledge of their dialects, for -I did not contemplate making any other use of them than temporary -amusement. I read merely to understand their meaning, and they well -repaid my labours. Their melancholy is soothing, and their joy -elevating, to a degree I never experienced in studying the authors of -any other country. When you read their writings, life appears to -consist in a warm sun and a garden of roses,--in the smiles and frowns -of a fair enemy, and the fire that consumes your own heart. How -different from the manly and heroical poetry of Greece and Rome! - -Summer passed away in these occupations, and my return to Geneva was -fixed for the latter end of autumn; but being delayed by several -accidents, winter and snow arrived, the roads were deemed impassable, -and my journey was retarded until the ensuing spring. I felt this -delay very bitterly; for I longed to see my native town and my beloved -friends. My return had only been delayed so long, from an -unwillingness to leave Clerval in a strange place, before he had become -acquainted with any of its inhabitants. The winter, however, was spent -cheerfully; and although the spring was uncommonly late, when it came -its beauty compensated for its dilatoriness. - -The month of May had already commenced, and I expected the letter daily -which was to fix the date of my departure, when Henry proposed a -pedestrian tour in the environs of Ingolstadt, that I might bid a -personal farewell to the country I had so long inhabited. I acceded -with pleasure to this proposition: I was fond of exercise, and Clerval -had always been my favourite companion in the ramble of this nature -that I had taken among the scenes of my native country. - -We passed a fortnight in these perambulations: my health and spirits -had long been restored, and they gained additional strength from the -salubrious air I breathed, the natural incidents of our progress, and -the conversation of my friend. Study had before secluded me from the -intercourse of my fellow-creatures, and rendered me unsocial; but -Clerval called forth the better feelings of my heart; he again taught -me to love the aspect of nature, and the cheerful faces of children. -Excellent friend! how sincerely you did love me, and endeavour to -elevate my mind until it was on a level with your own. A selfish -pursuit had cramped and narrowed me, until your gentleness and -affection warmed and opened my senses; I became the same happy creature -who, a few years ago, loved and beloved by all, had no sorrow or care. -When happy, inanimate nature had the power of bestowing on me the most -delightful sensations. A serene sky and verdant fields filled me with -ecstasy. The present season was indeed divine; the flowers of spring -bloomed in the hedges, while those of summer were already in bud. I -was undisturbed by thoughts which during the preceding year had pressed -upon me, notwithstanding my endeavours to throw them off, with an -invincible burden. - -Henry rejoiced in my gaiety, and sincerely sympathised in my feelings: -he exerted himself to amuse me, while he expressed the sensations that -filled his soul. The resources of his mind on this occasion were truly -astonishing: his conversation was full of imagination; and very often, -in imitation of the Persian and Arabic writers, he invented tales of -wonderful fancy and passion. At other times he repeated my favourite -poems, or drew me out into arguments, which he supported with great -ingenuity. We returned to our college on a Sunday afternoon: the -peasants were dancing, and every one we met appeared gay and happy. My -own spirits were high, and I bounded along with feelings of unbridled -joy and hilarity. - - - -Chapter 7 - -On my return, I found the following letter from my father:-- - - -"My dear Victor, - -"You have probably waited impatiently for a letter to fix the date of -your return to us; and I was at first tempted to write only a few -lines, merely mentioning the day on which I should expect you. But -that would be a cruel kindness, and I dare not do it. What would be -your surprise, my son, when you expected a happy and glad welcome, to -behold, on the contrary, tears and wretchedness? And how, Victor, can -I relate our misfortune? Absence cannot have rendered you callous to -our joys and griefs; and how shall I inflict pain on my long absent -son? I wish to prepare you for the woeful news, but I know it is -impossible; even now your eye skims over the page to seek the words -which are to convey to you the horrible tidings. - -"William is dead!--that sweet child, whose smiles delighted and warmed -my heart, who was so gentle, yet so gay! Victor, he is murdered! - -"I will not attempt to console you; but will simply relate the -circumstances of the transaction. - -"Last Thursday (May 7th), I, my niece, and your two brothers, went to -walk in Plainpalais. The evening was warm and serene, and we prolonged -our walk farther than usual. It was already dusk before we thought of -returning; and then we discovered that William and Ernest, who had gone -on before, were not to be found. We accordingly rested on a seat until -they should return. Presently Ernest came, and enquired if we had seen -his brother; he said, that he had been playing with him, that William -had run away to hide himself, and that he vainly sought for him, and -afterwards waited for a long time, but that he did not return. - -"This account rather alarmed us, and we continued to search for him -until night fell, when Elizabeth conjectured that he might have -returned to the house. He was not there. We returned again, with -torches; for I could not rest, when I thought that my sweet boy had -lost himself, and was exposed to all the damps and dews of night; -Elizabeth also suffered extreme anguish. About five in the morning I -discovered my lovely boy, whom the night before I had seen blooming and -active in health, stretched on the grass livid and motionless; the -print of the murder's finger was on his neck. - -"He was conveyed home, and the anguish that was visible in my -countenance betrayed the secret to Elizabeth. She was very earnest to -see the corpse. At first I attempted to prevent her but she persisted, -and entering the room where it lay, hastily examined the neck of the -victim, and clasping her hands exclaimed, 'O God! I have murdered my -darling child!' - -"She fainted, and was restored with extreme difficulty. When she again -lived, it was only to weep and sigh. She told me, that that same -evening William had teased her to let him wear a very valuable -miniature that she possessed of your mother. This picture is gone, and -was doubtless the temptation which urged the murderer to the deed. We -have no trace of him at present, although our exertions to discover him -are unremitted; but they will not restore my beloved William! - -"Come, dearest Victor; you alone can console Elizabeth. She weeps -continually, and accuses herself unjustly as the cause of his death; -her words pierce my heart. We are all unhappy; but will not that be an -additional motive for you, my son, to return and be our comforter? -Your dear mother! Alas, Victor! I now say, Thank God she did not live -to witness the cruel, miserable death of her youngest darling! - -"Come, Victor; not brooding thoughts of vengeance against the assassin, -but with feelings of peace and gentleness, that will heal, instead of -festering, the wounds of our minds. Enter the house of mourning, my -friend, but with kindness and affection for those who love you, and not -with hatred for your enemies. - - "Your affectionate and afflicted father, - "Alphonse Frankenstein. - - - -"Geneva, May 12th, 17--." - -Clerval, who had watched my countenance as I read this letter, was -surprised to observe the despair that succeeded the joy I at first -expressed on receiving new from my friends. I threw the letter on the -table, and covered my face with my hands. - -"My dear Frankenstein," exclaimed Henry, when he perceived me weep with -bitterness, "are you always to be unhappy? My dear friend, what has -happened?" - -I motioned him to take up the letter, while I walked up and down the -room in the extremest agitation. Tears also gushed from the eyes of -Clerval, as he read the account of my misfortune. - -"I can offer you no consolation, my friend," said he; "your disaster is -irreparable. What do you intend to do?" - -"To go instantly to Geneva: come with me, Henry, to order the horses." - -During our walk, Clerval endeavoured to say a few words of consolation; -he could only express his heartfelt sympathy. "Poor William!" said he, -"dear lovely child, he now sleeps with his angel mother! Who that had -seen him bright and joyous in his young beauty, but must weep over his -untimely loss! To die so miserably; to feel the murderer's grasp! How -much more a murdered that could destroy radiant innocence! Poor little -fellow! one only consolation have we; his friends mourn and weep, but -he is at rest. The pang is over, his sufferings are at an end for ever. -A sod covers his gentle form, and he knows no pain. He can no longer -be a subject for pity; we must reserve that for his miserable -survivors." - -Clerval spoke thus as we hurried through the streets; the words -impressed themselves on my mind and I remembered them afterwards in -solitude. But now, as soon as the horses arrived, I hurried into a -cabriolet, and bade farewell to my friend. - -My journey was very melancholy. At first I wished to hurry on, for I -longed to console and sympathise with my loved and sorrowing friends; -but when I drew near my native town, I slackened my progress. I could -hardly sustain the multitude of feelings that crowded into my mind. I -passed through scenes familiar to my youth, but which I had not seen -for nearly six years. How altered every thing might be during that -time! One sudden and desolating change had taken place; but a thousand -little circumstances might have by degrees worked other alterations, -which, although they were done more tranquilly, might not be the less -decisive. Fear overcame me; I dared no advance, dreading a thousand -nameless evils that made me tremble, although I was unable to define -them. I remained two days at Lausanne, in this painful state of mind. -I contemplated the lake: the waters were placid; all around was calm; -and the snowy mountains, 'the palaces of nature,' were not changed. By -degrees the calm and heavenly scene restored me, and I continued my -journey towards Geneva. - -The road ran by the side of the lake, which became narrower as I -approached my native town. I discovered more distinctly the black -sides of Jura, and the bright summit of Mont Blanc. I wept like a -child. "Dear mountains! my own beautiful lake! how do you welcome your -wanderer? Your summits are clear; the sky and lake are blue and -placid. Is this to prognosticate peace, or to mock at my unhappiness?" - -I fear, my friend, that I shall render myself tedious by dwelling on -these preliminary circumstances; but they were days of comparative -happiness, and I think of them with pleasure. My country, my beloved -country! who but a native can tell the delight I took in again -beholding thy streams, thy mountains, and, more than all, thy lovely -lake! - -Yet, as I drew nearer home, grief and fear again overcame me. Night -also closed around; and when I could hardly see the dark mountains, I -felt still more gloomily. The picture appeared a vast and dim scene of -evil, and I foresaw obscurely that I was destined to become the most -wretched of human beings. Alas! I prophesied truly, and failed only -in one single circumstance, that in all the misery I imagined and -dreaded, I did not conceive the hundredth part of the anguish I was -destined to endure. It was completely dark when I arrived in the -environs of Geneva; the gates of the town were already shut; and I was -obliged to pass the night at Secheron, a village at the distance of -half a league from the city. The sky was serene; and, as I was unable -to rest, I resolved to visit the spot where my poor William had been -murdered. As I could not pass through the town, I was obliged to cross -the lake in a boat to arrive at Plainpalais. During this short voyage -I saw the lightning playing on the summit of Mont Blanc in the most -beautiful figures. The storm appeared to approach rapidly, and, on -landing, I ascended a low hill, that I might observe its progress. It -advanced; the heavens were clouded, and I soon felt the rain coming -slowly in large drops, but its violence quickly increased. - -I quitted my seat, and walked on, although the darkness and storm -increased every minute, and the thunder burst with a terrific crash -over my head. It was echoed from Saleve, the Juras, and the Alps of -Savoy; vivid flashes of lightning dazzled my eyes, illuminating the -lake, making it appear like a vast sheet of fire; then for an instant -every thing seemed of a pitchy darkness, until the eye recovered itself -from the preceding flash. The storm, as is often the case in -Switzerland, appeared at once in various parts of the heavens. The -most violent storm hung exactly north of the town, over the part of the -lake which lies between the promontory of Belrive and the village of -Copet. Another storm enlightened Jura with faint flashes; and another -darkened and sometimes disclosed the Mole, a peaked mountain to the -east of the lake. - -While I watched the tempest, so beautiful yet terrific, I wandered on -with a hasty step. This noble war in the sky elevated my spirits; I -clasped my hands, and exclaimed aloud, "William, dear angel! this is -thy funeral, this thy dirge!" As I said these words, I perceived in the -gloom a figure which stole from behind a clump of trees near me; I -stood fixed, gazing intently: I could not be mistaken. A flash of -lightning illuminated the object, and discovered its shape plainly to -me; its gigantic stature, and the deformity of its aspect more hideous -than belongs to humanity, instantly informed me that it was the wretch, -the filthy daemon, to whom I had given life. What did he there? Could -he be (I shuddered at the conception) the murderer of my brother? No -sooner did that idea cross my imagination, than I became convinced of -its truth; my teeth chattered, and I was forced to lean against a tree -for support. The figure passed me quickly, and I lost it in the gloom. - -Nothing in human shape could have destroyed the fair child. HE was the -murderer! I could not doubt it. The mere presence of the idea was an -irresistible proof of the fact. I thought of pursuing the devil; but -it would have been in vain, for another flash discovered him to me -hanging among the rocks of the nearly perpendicular ascent of Mont -Saleve, a hill that bounds Plainpalais on the south. He soon reached -the summit, and disappeared. - -I remained motionless. The thunder ceased; but the rain still -continued, and the scene was enveloped in an impenetrable darkness. I -revolved in my mind the events which I had until now sought to forget: -the whole train of my progress toward the creation; the appearance of -the works of my own hands at my bedside; its departure. Two years had -now nearly elapsed since the night on which he first received life; and -was this his first crime? Alas! I had turned loose into the world a -depraved wretch, whose delight was in carnage and misery; had he not -murdered my brother? - -No one can conceive the anguish I suffered during the remainder of the -night, which I spent, cold and wet, in the open air. But I did not -feel the inconvenience of the weather; my imagination was busy in -scenes of evil and despair. I considered the being whom I had cast -among mankind, and endowed with the will and power to effect purposes -of horror, such as the deed which he had now done, nearly in the light -of my own vampire, my own spirit let loose from the grave, and forced -to destroy all that was dear to me. - -Day dawned; and I directed my steps towards the town. The gates were -open, and I hastened to my father's house. My first thought was to -discover what I knew of the murderer, and cause instant pursuit to be -made. But I paused when I reflected on the story that I had to tell. A -being whom I myself had formed, and endued with life, had met me at -midnight among the precipices of an inaccessible mountain. I -remembered also the nervous fever with which I had been seized just at -the time that I dated my creation, and which would give an air of -delirium to a tale otherwise so utterly improbable. I well knew that -if any other had communicated such a relation to me, I should have -looked upon it as the ravings of insanity. Besides, the strange nature -of the animal would elude all pursuit, even if I were so far credited -as to persuade my relatives to commence it. And then of what use would -be pursuit? Who could arrest a creature capable of scaling the -overhanging sides of Mont Saleve? These reflections determined me, and -I resolved to remain silent. - -It was about five in the morning when I entered my father's house. I -told the servants not to disturb the family, and went into the library -to attend their usual hour of rising. - -Six years had elapsed, passed in a dream but for one indelible trace, -and I stood in the same place where I had last embraced my father -before my departure for Ingolstadt. Beloved and venerable parent! He -still remained to me. I gazed on the picture of my mother, which stood -over the mantel-piece. It was an historical subject, painted at my -father's desire, and represented Caroline Beaufort in an agony of -despair, kneeling by the coffin of her dead father. Her garb was -rustic, and her cheek pale; but there was an air of dignity and beauty, -that hardly permitted the sentiment of pity. Below this picture was a -miniature of William; and my tears flowed when I looked upon it. While -I was thus engaged, Ernest entered: he had heard me arrive, and -hastened to welcome me: "Welcome, my dearest Victor," said he. "Ah! I -wish you had come three months ago, and then you would have found us -all joyous and delighted. You come to us now to share a misery which -nothing can alleviate; yet your presence will, I hope, revive our -father, who seems sinking under his misfortune; and your persuasions -will induce poor Elizabeth to cease her vain and tormenting -self-accusations.--Poor William! he was our darling and our pride!" - -Tears, unrestrained, fell from my brother's eyes; a sense of mortal -agony crept over my frame. Before, I had only imagined the -wretchedness of my desolated home; the reality came on me as a new, and -a not less terrible, disaster. I tried to calm Ernest; I enquired more -minutely concerning my father, and here I named my cousin. - -"She most of all," said Ernest, "requires consolation; she accused -herself of having caused the death of my brother, and that made her -very wretched. But since the murderer has been discovered--" - -"The murderer discovered! Good God! how can that be? who could attempt -to pursue him? It is impossible; one might as well try to overtake the -winds, or confine a mountain-stream with a straw. I saw him too; he -was free last night!" - -"I do not know what you mean," replied my brother, in accents of -wonder, "but to us the discovery we have made completes our misery. No -one would believe it at first; and even now Elizabeth will not be -convinced, notwithstanding all the evidence. Indeed, who would credit -that Justine Moritz, who was so amiable, and fond of all the family, -could suddenly become so capable of so frightful, so appalling a crime?" - -"Justine Moritz! Poor, poor girl, is she the accused? But it is -wrongfully; every one knows that; no one believes it, surely, Ernest?" - -"No one did at first; but several circumstances came out, that have -almost forced conviction upon us; and her own behaviour has been so -confused, as to add to the evidence of facts a weight that, I fear, -leaves no hope for doubt. But she will be tried today, and you will -then hear all." - -He then related that, the morning on which the murder of poor William -had been discovered, Justine had been taken ill, and confined to her -bed for several days. During this interval, one of the servants, -happening to examine the apparel she had worn on the night of the -murder, had discovered in her pocket the picture of my mother, which -had been judged to be the temptation of the murderer. The servant -instantly showed it to one of the others, who, without saying a word to -any of the family, went to a magistrate; and, upon their deposition, -Justine was apprehended. On being charged with the fact, the poor girl -confirmed the suspicion in a great measure by her extreme confusion of -manner. - -This was a strange tale, but it did not shake my faith; and I replied -earnestly, "You are all mistaken; I know the murderer. Justine, poor, -good Justine, is innocent." - -At that instant my father entered. I saw unhappiness deeply impressed -on his countenance, but he endeavoured to welcome me cheerfully; and, -after we had exchanged our mournful greeting, would have introduced -some other topic than that of our disaster, had not Ernest exclaimed, -"Good God, papa! Victor says that he knows who was the murderer of -poor William." - -"We do also, unfortunately," replied my father, "for indeed I had -rather have been for ever ignorant than have discovered so much -depravity and ungratitude in one I valued so highly." - -"My dear father, you are mistaken; Justine is innocent." - -"If she is, God forbid that she should suffer as guilty. She is to be -tried today, and I hope, I sincerely hope, that she will be acquitted." - -This speech calmed me. I was firmly convinced in my own mind that -Justine, and indeed every human being, was guiltless of this murder. I -had no fear, therefore, that any circumstantial evidence could be -brought forward strong enough to convict her. My tale was not one to -announce publicly; its astounding horror would be looked upon as -madness by the vulgar. Did any one indeed exist, except I, the -creator, who would believe, unless his senses convinced him, in the -existence of the living monument of presumption and rash ignorance -which I had let loose upon the world? - -We were soon joined by Elizabeth. Time had altered her since I last -beheld her; it had endowed her with loveliness surpassing the beauty of -her childish years. There was the same candour, the same vivacity, but -it was allied to an expression more full of sensibility and intellect. -She welcomed me with the greatest affection. "Your arrival, my dear -cousin," said she, "fills me with hope. You perhaps will find some -means to justify my poor guiltless Justine. Alas! who is safe, if she -be convicted of crime? I rely on her innocence as certainly as I do -upon my own. Our misfortune is doubly hard to us; we have not only -lost that lovely darling boy, but this poor girl, whom I sincerely -love, is to be torn away by even a worse fate. If she is condemned, I -never shall know joy more. But she will not, I am sure she will not; -and then I shall be happy again, even after the sad death of my little -William." - -"She is innocent, my Elizabeth," said I, "and that shall be proved; -fear nothing, but let your spirits be cheered by the assurance of her -acquittal." - -"How kind and generous you are! every one else believes in her guilt, -and that made me wretched, for I knew that it was impossible: and to -see every one else prejudiced in so deadly a manner rendered me -hopeless and despairing." She wept. - -"Dearest niece," said my father, "dry your tears. If she is, as you -believe, innocent, rely on the justice of our laws, and the activity -with which I shall prevent the slightest shadow of partiality." - - - -Chapter 8 - -We passed a few sad hours until eleven o'clock, when the trial was to -commence. My father and the rest of the family being obliged to attend -as witnesses, I accompanied them to the court. During the whole of -this wretched mockery of justice I suffered living torture. It was to -be decided whether the result of my curiosity and lawless devices would -cause the death of two of my fellow beings: one a smiling babe full of -innocence and joy, the other far more dreadfully murdered, with every -aggravation of infamy that could make the murder memorable in horror. -Justine also was a girl of merit and possessed qualities which promised -to render her life happy; now all was to be obliterated in an -ignominious grave, and I the cause! A thousand times rather would I -have confessed myself guilty of the crime ascribed to Justine, but I -was absent when it was committed, and such a declaration would have -been considered as the ravings of a madman and would not have -exculpated her who suffered through me. - -The appearance of Justine was calm. She was dressed in mourning, and -her countenance, always engaging, was rendered, by the solemnity of her -feelings, exquisitely beautiful. Yet she appeared confident in -innocence and did not tremble, although gazed on and execrated by -thousands, for all the kindness which her beauty might otherwise have -excited was obliterated in the minds of the spectators by the -imagination of the enormity she was supposed to have committed. She -was tranquil, yet her tranquillity was evidently constrained; and as -her confusion had before been adduced as a proof of her guilt, she -worked up her mind to an appearance of courage. When she entered the -court she threw her eyes round it and quickly discovered where we were -seated. A tear seemed to dim her eye when she saw us, but she quickly -recovered herself, and a look of sorrowful affection seemed to attest -her utter guiltlessness. - -The trial began, and after the advocate against her had stated the -charge, several witnesses were called. Several strange facts combined -against her, which might have staggered anyone who had not such proof -of her innocence as I had. She had been out the whole of the night on -which the murder had been committed and towards morning had been -perceived by a market-woman not far from the spot where the body of the -murdered child had been afterwards found. The woman asked her what she -did there, but she looked very strangely and only returned a confused -and unintelligible answer. She returned to the house about eight -o'clock, and when one inquired where she had passed the night, she -replied that she had been looking for the child and demanded earnestly -if anything had been heard concerning him. When shown the body, she -fell into violent hysterics and kept her bed for several days. The -picture was then produced which the servant had found in her pocket; -and when Elizabeth, in a faltering voice, proved that it was the same -which, an hour before the child had been missed, she had placed round -his neck, a murmur of horror and indignation filled the court. - -Justine was called on for her defence. As the trial had proceeded, her -countenance had altered. Surprise, horror, and misery were strongly -expressed. Sometimes she struggled with her tears, but when she was -desired to plead, she collected her powers and spoke in an audible -although variable voice. - -"God knows," she said, "how entirely I am innocent. But I do not -pretend that my protestations should acquit me; I rest my innocence on -a plain and simple explanation of the facts which have been adduced -against me, and I hope the character I have always borne will incline -my judges to a favourable interpretation where any circumstance appears -doubtful or suspicious." - -She then related that, by the permission of Elizabeth, she had passed -the evening of the night on which the murder had been committed at the -house of an aunt at Chene, a village situated at about a league from -Geneva. On her return, at about nine o'clock, she met a man who asked -her if she had seen anything of the child who was lost. She was -alarmed by this account and passed several hours in looking for him, -when the gates of Geneva were shut, and she was forced to remain -several hours of the night in a barn belonging to a cottage, being -unwilling to call up the inhabitants, to whom she was well known. Most -of the night she spent here watching; towards morning she believed that -she slept for a few minutes; some steps disturbed her, and she awoke. -It was dawn, and she quitted her asylum, that she might again endeavour -to find my brother. If she had gone near the spot where his body lay, -it was without her knowledge. That she had been bewildered when -questioned by the market-woman was not surprising, since she had passed -a sleepless night and the fate of poor William was yet uncertain. -Concerning the picture she could give no account. - -"I know," continued the unhappy victim, "how heavily and fatally this -one circumstance weighs against me, but I have no power of explaining -it; and when I have expressed my utter ignorance, I am only left to -conjecture concerning the probabilities by which it might have been -placed in my pocket. But here also I am checked. I believe that I -have no enemy on earth, and none surely would have been so wicked as to -destroy me wantonly. Did the murderer place it there? I know of no -opportunity afforded him for so doing; or, if I had, why should he have -stolen the jewel, to part with it again so soon? - -"I commit my cause to the justice of my judges, yet I see no room for -hope. I beg permission to have a few witnesses examined concerning my -character, and if their testimony shall not overweigh my supposed -guilt, I must be condemned, although I would pledge my salvation on my -innocence." - -Several witnesses were called who had known her for many years, and -they spoke well of her; but fear and hatred of the crime of which they -supposed her guilty rendered them timorous and unwilling to come -forward. Elizabeth saw even this last resource, her excellent -dispositions and irreproachable conduct, about to fail the accused, -when, although violently agitated, she desired permission to address -the court. - -"I am," said she, "the cousin of the unhappy child who was murdered, or -rather his sister, for I was educated by and have lived with his -parents ever since and even long before his birth. It may therefore be -judged indecent in me to come forward on this occasion, but when I see -a fellow creature about to perish through the cowardice of her -pretended friends, I wish to be allowed to speak, that I may say what I -know of her character. I am well acquainted with the accused. I have -lived in the same house with her, at one time for five and at another -for nearly two years. During all that period she appeared to me the -most amiable and benevolent of human creatures. She nursed Madame -Frankenstein, my aunt, in her last illness, with the greatest affection -and care and afterwards attended her own mother during a tedious -illness, in a manner that excited the admiration of all who knew her, -after which she again lived in my uncle's house, where she was beloved -by all the family. She was warmly attached to the child who is now -dead and acted towards him like a most affectionate mother. For my own -part, I do not hesitate to say that, notwithstanding all the evidence -produced against her, I believe and rely on her perfect innocence. She -had no temptation for such an action; as to the bauble on which the -chief proof rests, if she had earnestly desired it, I should have -willingly given it to her, so much do I esteem and value her." - -A murmur of approbation followed Elizabeth's simple and powerful -appeal, but it was excited by her generous interference, and not in -favour of poor Justine, on whom the public indignation was turned with -renewed violence, charging her with the blackest ingratitude. She -herself wept as Elizabeth spoke, but she did not answer. My own -agitation and anguish was extreme during the whole trial. I believed -in her innocence; I knew it. Could the demon who had (I did not for a -minute doubt) murdered my brother also in his hellish sport have -betrayed the innocent to death and ignominy? I could not sustain the -horror of my situation, and when I perceived that the popular voice and -the countenances of the judges had already condemned my unhappy victim, -I rushed out of the court in agony. The tortures of the accused did -not equal mine; she was sustained by innocence, but the fangs of -remorse tore my bosom and would not forgo their hold. - -I passed a night of unmingled wretchedness. In the morning I went to -the court; my lips and throat were parched. I dared not ask the fatal -question, but I was known, and the officer guessed the cause of my -visit. The ballots had been thrown; they were all black, and Justine -was condemned. - -I cannot pretend to describe what I then felt. I had before -experienced sensations of horror, and I have endeavoured to bestow upon -them adequate expressions, but words cannot convey an idea of the -heart-sickening despair that I then endured. The person to whom I -addressed myself added that Justine had already confessed her guilt. -"That evidence," he observed, "was hardly required in so glaring a -case, but I am glad of it, and, indeed, none of our judges like to -condemn a criminal upon circumstantial evidence, be it ever so -decisive." - -This was strange and unexpected intelligence; what could it mean? Had -my eyes deceived me? And was I really as mad as the whole world would -believe me to be if I disclosed the object of my suspicions? I -hastened to return home, and Elizabeth eagerly demanded the result. - -"My cousin," replied I, "it is decided as you may have expected; all -judges had rather that ten innocent should suffer than that one guilty -should escape. But she has confessed." - -This was a dire blow to poor Elizabeth, who had relied with firmness -upon Justine's innocence. "Alas!" said she. "How shall I ever again -believe in human goodness? Justine, whom I loved and esteemed as my -sister, how could she put on those smiles of innocence only to betray? -Her mild eyes seemed incapable of any severity or guile, and yet she -has committed a murder." - -Soon after we heard that the poor victim had expressed a desire to see -my cousin. My father wished her not to go but said that he left it to -her own judgment and feelings to decide. "Yes," said Elizabeth, "I -will go, although she is guilty; and you, Victor, shall accompany me; I -cannot go alone." The idea of this visit was torture to me, yet I -could not refuse. We entered the gloomy prison chamber and beheld -Justine sitting on some straw at the farther end; her hands were -manacled, and her head rested on her knees. She rose on seeing us -enter, and when we were left alone with her, she threw herself at the -feet of Elizabeth, weeping bitterly. My cousin wept also. - -"Oh, Justine!" said she. "Why did you rob me of my last consolation? -I relied on your innocence, and although I was then very wretched, I -was not so miserable as I am now." - -"And do you also believe that I am so very, very wicked? Do you also -join with my enemies to crush me, to condemn me as a murderer?" Her -voice was suffocated with sobs. - -"Rise, my poor girl," said Elizabeth; "why do you kneel, if you are -innocent? I am not one of your enemies, I believed you guiltless, -notwithstanding every evidence, until I heard that you had yourself -declared your guilt. That report, you say, is false; and be assured, -dear Justine, that nothing can shake my confidence in you for a moment, -but your own confession." - -"I did confess, but I confessed a lie. I confessed, that I might -obtain absolution; but now that falsehood lies heavier at my heart than -all my other sins. The God of heaven forgive me! Ever since I was -condemned, my confessor has besieged me; he threatened and menaced, -until I almost began to think that I was the monster that he said I -was. He threatened excommunication and hell fire in my last moments if -I continued obdurate. Dear lady, I had none to support me; all looked -on me as a wretch doomed to ignominy and perdition. What could I do? -In an evil hour I subscribed to a lie; and now only am I truly -miserable." - -She paused, weeping, and then continued, "I thought with horror, my -sweet lady, that you should believe your Justine, whom your blessed -aunt had so highly honoured, and whom you loved, was a creature capable -of a crime which none but the devil himself could have perpetrated. -Dear William! dearest blessed child! I soon shall see you again in -heaven, where we shall all be happy; and that consoles me, going as I -am to suffer ignominy and death." - -"Oh, Justine! Forgive me for having for one moment distrusted you. -Why did you confess? But do not mourn, dear girl. Do not fear. I -will proclaim, I will prove your innocence. I will melt the stony -hearts of your enemies by my tears and prayers. You shall not die! -You, my playfellow, my companion, my sister, perish on the scaffold! -No! No! I never could survive so horrible a misfortune." - -Justine shook her head mournfully. "I do not fear to die," she said; -"that pang is past. God raises my weakness and gives me courage to -endure the worst. I leave a sad and bitter world; and if you remember -me and think of me as of one unjustly condemned, I am resigned to the -fate awaiting me. Learn from me, dear lady, to submit in patience to -the will of heaven!" - -During this conversation I had retired to a corner of the prison room, -where I could conceal the horrid anguish that possessed me. Despair! -Who dared talk of that? The poor victim, who on the morrow was to pass -the awful boundary between life and death, felt not, as I did, such -deep and bitter agony. I gnashed my teeth and ground them together, -uttering a groan that came from my inmost soul. Justine started. When -she saw who it was, she approached me and said, "Dear sir, you are very -kind to visit me; you, I hope, do not believe that I am guilty?" - -I could not answer. "No, Justine," said Elizabeth; "he is more -convinced of your innocence than I was, for even when he heard that you -had confessed, he did not credit it." - -"I truly thank him. In these last moments I feel the sincerest -gratitude towards those who think of me with kindness. How sweet is -the affection of others to such a wretch as I am! It removes more than -half my misfortune, and I feel as if I could die in peace now that my -innocence is acknowledged by you, dear lady, and your cousin." - -Thus the poor sufferer tried to comfort others and herself. She indeed -gained the resignation she desired. But I, the true murderer, felt the -never-dying worm alive in my bosom, which allowed of no hope or -consolation. Elizabeth also wept and was unhappy, but hers also was -the misery of innocence, which, like a cloud that passes over the fair -moon, for a while hides but cannot tarnish its brightness. Anguish and -despair had penetrated into the core of my heart; I bore a hell within -me which nothing could extinguish. We stayed several hours with -Justine, and it was with great difficulty that Elizabeth could tear -herself away. "I wish," cried she, "that I were to die with you; I -cannot live in this world of misery." - -Justine assumed an air of cheerfulness, while she with difficulty -repressed her bitter tears. She embraced Elizabeth and said in a voice -of half-suppressed emotion, "Farewell, sweet lady, dearest Elizabeth, -my beloved and only friend; may heaven, in its bounty, bless and -preserve you; may this be the last misfortune that you will ever -suffer! Live, and be happy, and make others so." - -And on the morrow Justine died. Elizabeth's heart-rending eloquence -failed to move the judges from their settled conviction in the -criminality of the saintly sufferer. My passionate and indignant -appeals were lost upon them. And when I received their cold answers -and heard the harsh, unfeeling reasoning of these men, my purposed -avowal died away on my lips. Thus I might proclaim myself a madman, -but not revoke the sentence passed upon my wretched victim. She -perished on the scaffold as a murderess! - -From the tortures of my own heart, I turned to contemplate the deep and -voiceless grief of my Elizabeth. This also was my doing! And my -father's woe, and the desolation of that late so smiling home all was -the work of my thrice-accursed hands! Ye weep, unhappy ones, but these -are not your last tears! Again shall you raise the funeral wail, and -the sound of your lamentations shall again and again be heard! -Frankenstein, your son, your kinsman, your early, much-loved friend; he -who would spend each vital drop of blood for your sakes, who has no -thought nor sense of joy except as it is mirrored also in your dear -countenances, who would fill the air with blessings and spend his life -in serving you--he bids you weep, to shed countless tears; happy beyond -his hopes, if thus inexorable fate be satisfied, and if the destruction -pause before the peace of the grave have succeeded to your sad torments! - -Thus spoke my prophetic soul, as, torn by remorse, horror, and despair, -I beheld those I loved spend vain sorrow upon the graves of William and -Justine, the first hapless victims to my unhallowed arts. - - - -Chapter 9 - -Nothing is more painful to the human mind than, after the feelings have -been worked up by a quick succession of events, the dead calmness of -inaction and certainty which follows and deprives the soul both of hope -and fear. Justine died, she rested, and I was alive. The blood flowed -freely in my veins, but a weight of despair and remorse pressed on my -heart which nothing could remove. Sleep fled from my eyes; I wandered -like an evil spirit, for I had committed deeds of mischief beyond -description horrible, and more, much more (I persuaded myself) was yet -behind. Yet my heart overflowed with kindness and the love of virtue. -I had begun life with benevolent intentions and thirsted for the moment -when I should put them in practice and make myself useful to my fellow -beings. Now all was blasted; instead of that serenity of conscience -which allowed me to look back upon the past with self-satisfaction, and -from thence to gather promise of new hopes, I was seized by remorse and -the sense of guilt, which hurried me away to a hell of intense tortures -such as no language can describe. - -This state of mind preyed upon my health, which had perhaps never -entirely recovered from the first shock it had sustained. I shunned -the face of man; all sound of joy or complacency was torture to me; -solitude was my only consolation--deep, dark, deathlike solitude. - -My father observed with pain the alteration perceptible in my -disposition and habits and endeavoured by arguments deduced from the -feelings of his serene conscience and guiltless life to inspire me with -fortitude and awaken in me the courage to dispel the dark cloud which -brooded over me. "Do you think, Victor," said he, "that I do not -suffer also? No one could love a child more than I loved your -brother"--tears came into his eyes as he spoke--"but is it not a duty -to the survivors that we should refrain from augmenting their -unhappiness by an appearance of immoderate grief? It is also a duty -owed to yourself, for excessive sorrow prevents improvement or -enjoyment, or even the discharge of daily usefulness, without which no -man is fit for society." - -This advice, although good, was totally inapplicable to my case; I -should have been the first to hide my grief and console my friends if -remorse had not mingled its bitterness, and terror its alarm, with my -other sensations. Now I could only answer my father with a look of -despair and endeavour to hide myself from his view. - -About this time we retired to our house at Belrive. This change was -particularly agreeable to me. The shutting of the gates regularly at -ten o'clock and the impossibility of remaining on the lake after that -hour had rendered our residence within the walls of Geneva very irksome -to me. I was now free. Often, after the rest of the family had -retired for the night, I took the boat and passed many hours upon the -water. Sometimes, with my sails set, I was carried by the wind; and -sometimes, after rowing into the middle of the lake, I left the boat to -pursue its own course and gave way to my own miserable reflections. I -was often tempted, when all was at peace around me, and I the only -unquiet thing that wandered restless in a scene so beautiful and -heavenly--if I except some bat, or the frogs, whose harsh and -interrupted croaking was heard only when I approached the shore--often, -I say, I was tempted to plunge into the silent lake, that the waters -might close over me and my calamities forever. But I was restrained, -when I thought of the heroic and suffering Elizabeth, whom I tenderly -loved, and whose existence was bound up in mine. I thought also of my -father and surviving brother; should I by my base desertion leave them -exposed and unprotected to the malice of the fiend whom I had let loose -among them? - -At these moments I wept bitterly and wished that peace would revisit my -mind only that I might afford them consolation and happiness. But that -could not be. Remorse extinguished every hope. I had been the author -of unalterable evils, and I lived in daily fear lest the monster whom I -had created should perpetrate some new wickedness. I had an obscure -feeling that all was not over and that he would still commit some -signal crime, which by its enormity should almost efface the -recollection of the past. There was always scope for fear so long as -anything I loved remained behind. My abhorrence of this fiend cannot -be conceived. When I thought of him I gnashed my teeth, my eyes became -inflamed, and I ardently wished to extinguish that life which I had so -thoughtlessly bestowed. When I reflected on his crimes and malice, my -hatred and revenge burst all bounds of moderation. I would have made a -pilgrimage to the highest peak of the Andes, could I when there have -precipitated him to their base. I wished to see him again, that I -might wreak the utmost extent of abhorrence on his head and avenge the -deaths of William and Justine. Our house was the house of mourning. My -father's health was deeply shaken by the horror of the recent events. -Elizabeth was sad and desponding; she no longer took delight in her -ordinary occupations; all pleasure seemed to her sacrilege toward the -dead; eternal woe and tears she then thought was the just tribute she -should pay to innocence so blasted and destroyed. She was no longer -that happy creature who in earlier youth wandered with me on the banks -of the lake and talked with ecstasy of our future prospects. The first -of those sorrows which are sent to wean us from the earth had visited -her, and its dimming influence quenched her dearest smiles. - -"When I reflect, my dear cousin," said she, "on the miserable death of -Justine Moritz, I no longer see the world and its works as they before -appeared to me. Before, I looked upon the accounts of vice and -injustice that I read in books or heard from others as tales of ancient -days or imaginary evils; at least they were remote and more familiar to -reason than to the imagination; but now misery has come home, and men -appear to me as monsters thirsting for each other's blood. Yet I am -certainly unjust. Everybody believed that poor girl to be guilty; and -if she could have committed the crime for which she suffered, assuredly -she would have been the most depraved of human creatures. For the sake -of a few jewels, to have murdered the son of her benefactor and friend, -a child whom she had nursed from its birth, and appeared to love as if -it had been her own! I could not consent to the death of any human -being, but certainly I should have thought such a creature unfit to -remain in the society of men. But she was innocent. I know, I feel -she was innocent; you are of the same opinion, and that confirms me. -Alas! Victor, when falsehood can look so like the truth, who can -assure themselves of certain happiness? I feel as if I were walking on -the edge of a precipice, towards which thousands are crowding and -endeavouring to plunge me into the abyss. William and Justine were -assassinated, and the murderer escapes; he walks about the world free, -and perhaps respected. But even if I were condemned to suffer on the -scaffold for the same crimes, I would not change places with such a -wretch." - -I listened to this discourse with the extremest agony. I, not in deed, -but in effect, was the true murderer. Elizabeth read my anguish in my -countenance, and kindly taking my hand, said, "My dearest friend, you -must calm yourself. These events have affected me, God knows how -deeply; but I am not so wretched as you are. There is an expression of -despair, and sometimes of revenge, in your countenance that makes me -tremble. Dear Victor, banish these dark passions. Remember the -friends around you, who centre all their hopes in you. Have we lost -the power of rendering you happy? Ah! While we love, while we are -true to each other, here in this land of peace and beauty, your native -country, we may reap every tranquil blessing--what can disturb our -peace?" - -And could not such words from her whom I fondly prized before every -other gift of fortune suffice to chase away the fiend that lurked in my -heart? Even as she spoke I drew near to her, as if in terror, lest at -that very moment the destroyer had been near to rob me of her. - -Thus not the tenderness of friendship, nor the beauty of earth, nor of -heaven, could redeem my soul from woe; the very accents of love were -ineffectual. I was encompassed by a cloud which no beneficial -influence could penetrate. The wounded deer dragging its fainting -limbs to some untrodden brake, there to gaze upon the arrow which had -pierced it, and to die, was but a type of me. - -Sometimes I could cope with the sullen despair that overwhelmed me, but -sometimes the whirlwind passions of my soul drove me to seek, by bodily -exercise and by change of place, some relief from my intolerable -sensations. It was during an access of this kind that I suddenly left -my home, and bending my steps towards the near Alpine valleys, sought -in the magnificence, the eternity of such scenes, to forget myself and -my ephemeral, because human, sorrows. My wanderings were directed -towards the valley of Chamounix. I had visited it frequently during my -boyhood. Six years had passed since then: _I_ was a wreck, but nought -had changed in those savage and enduring scenes. - -I performed the first part of my journey on horseback. I afterwards -hired a mule, as the more sure-footed and least liable to receive -injury on these rugged roads. The weather was fine; it was about the -middle of the month of August, nearly two months after the death of -Justine, that miserable epoch from which I dated all my woe. The -weight upon my spirit was sensibly lightened as I plunged yet deeper in -the ravine of Arve. The immense mountains and precipices that overhung -me on every side, the sound of the river raging among the rocks, and -the dashing of the waterfalls around spoke of a power mighty as -Omnipotence--and I ceased to fear or to bend before any being less -almighty than that which had created and ruled the elements, here -displayed in their most terrific guise. Still, as I ascended higher, -the valley assumed a more magnificent and astonishing character. -Ruined castles hanging on the precipices of piny mountains, the -impetuous Arve, and cottages every here and there peeping forth from -among the trees formed a scene of singular beauty. But it was -augmented and rendered sublime by the mighty Alps, whose white and -shining pyramids and domes towered above all, as belonging to another -earth, the habitations of another race of beings. - -I passed the bridge of Pelissier, where the ravine, which the river -forms, opened before me, and I began to ascend the mountain that -overhangs it. Soon after, I entered the valley of Chamounix. This -valley is more wonderful and sublime, but not so beautiful and -picturesque as that of Servox, through which I had just passed. The -high and snowy mountains were its immediate boundaries, but I saw no -more ruined castles and fertile fields. Immense glaciers approached -the road; I heard the rumbling thunder of the falling avalanche and -marked the smoke of its passage. Mont Blanc, the supreme and -magnificent Mont Blanc, raised itself from the surrounding aiguilles, -and its tremendous dome overlooked the valley. - -A tingling long-lost sense of pleasure often came across me during this -journey. Some turn in the road, some new object suddenly perceived and -recognized, reminded me of days gone by, and were associated with the -lighthearted gaiety of boyhood. The very winds whispered in soothing -accents, and maternal Nature bade me weep no more. Then again the -kindly influence ceased to act--I found myself fettered again to grief -and indulging in all the misery of reflection. Then I spurred on my -animal, striving so to forget the world, my fears, and more than all, -myself--or, in a more desperate fashion, I alighted and threw myself on -the grass, weighed down by horror and despair. - -At length I arrived at the village of Chamounix. Exhaustion succeeded -to the extreme fatigue both of body and of mind which I had endured. -For a short space of time I remained at the window watching the pallid -lightnings that played above Mont Blanc and listening to the rushing of -the Arve, which pursued its noisy way beneath. The same lulling sounds -acted as a lullaby to my too keen sensations; when I placed my head -upon my pillow, sleep crept over me; I felt it as it came and blessed -the giver of oblivion. - - - -Chapter 10 - -I spent the following day roaming through the valley. I stood beside -the sources of the Arveiron, which take their rise in a glacier, that -with slow pace is advancing down from the summit of the hills to -barricade the valley. The abrupt sides of vast mountains were before -me; the icy wall of the glacier overhung me; a few shattered pines were -scattered around; and the solemn silence of this glorious -presence-chamber of imperial nature was broken only by the brawling -waves or the fall of some vast fragment, the thunder sound of the -avalanche or the cracking, reverberated along the mountains, of the -accumulated ice, which, through the silent working of immutable laws, -was ever and anon rent and torn, as if it had been but a plaything in -their hands. These sublime and magnificent scenes afforded me the -greatest consolation that I was capable of receiving. They elevated me -from all littleness of feeling, and although they did not remove my -grief, they subdued and tranquillized it. In some degree, also, they -diverted my mind from the thoughts over which it had brooded for the -last month. I retired to rest at night; my slumbers, as it were, -waited on and ministered to by the assemblance of grand shapes which I -had contemplated during the day. They congregated round me; the -unstained snowy mountain-top, the glittering pinnacle, the pine woods, -and ragged bare ravine, the eagle, soaring amidst the clouds--they all -gathered round me and bade me be at peace. - -Where had they fled when the next morning I awoke? All of -soul-inspiriting fled with sleep, and dark melancholy clouded every -thought. The rain was pouring in torrents, and thick mists hid the -summits of the mountains, so that I even saw not the faces of those -mighty friends. Still I would penetrate their misty veil and seek them -in their cloudy retreats. What were rain and storm to me? My mule was -brought to the door, and I resolved to ascend to the summit of -Montanvert. I remembered the effect that the view of the tremendous -and ever-moving glacier had produced upon my mind when I first saw it. -It had then filled me with a sublime ecstasy that gave wings to the -soul and allowed it to soar from the obscure world to light and joy. -The sight of the awful and majestic in nature had indeed always the -effect of solemnizing my mind and causing me to forget the passing -cares of life. I determined to go without a guide, for I was well -acquainted with the path, and the presence of another would destroy the -solitary grandeur of the scene. - -The ascent is precipitous, but the path is cut into continual and short -windings, which enable you to surmount the perpendicularity of the -mountain. It is a scene terrifically desolate. In a thousand spots -the traces of the winter avalanche may be perceived, where trees lie -broken and strewed on the ground, some entirely destroyed, others bent, -leaning upon the jutting rocks of the mountain or transversely upon -other trees. The path, as you ascend higher, is intersected by ravines -of snow, down which stones continually roll from above; one of them is -particularly dangerous, as the slightest sound, such as even speaking -in a loud voice, produces a concussion of air sufficient to draw -destruction upon the head of the speaker. The pines are not tall or -luxuriant, but they are sombre and add an air of severity to the scene. -I looked on the valley beneath; vast mists were rising from the rivers -which ran through it and curling in thick wreaths around the opposite -mountains, whose summits were hid in the uniform clouds, while rain -poured from the dark sky and added to the melancholy impression I -received from the objects around me. Alas! Why does man boast of -sensibilities superior to those apparent in the brute; it only renders -them more necessary beings. If our impulses were confined to hunger, -thirst, and desire, we might be nearly free; but now we are moved by -every wind that blows and a chance word or scene that that word may -convey to us. - - - We rest; a dream has power to poison sleep. - We rise; one wand'ring thought pollutes the day. - We feel, conceive, or reason; laugh or weep, - Embrace fond woe, or cast our cares away; - It is the same: for, be it joy or sorrow, - The path of its departure still is free. - Man's yesterday may ne'er be like his morrow; - Nought may endure but mutability! - - -It was nearly noon when I arrived at the top of the ascent. For some -time I sat upon the rock that overlooks the sea of ice. A mist covered -both that and the surrounding mountains. Presently a breeze dissipated -the cloud, and I descended upon the glacier. The surface is very -uneven, rising like the waves of a troubled sea, descending low, and -interspersed by rifts that sink deep. The field of ice is almost a -league in width, but I spent nearly two hours in crossing it. The -opposite mountain is a bare perpendicular rock. From the side where I -now stood Montanvert was exactly opposite, at the distance of a league; -and above it rose Mont Blanc, in awful majesty. I remained in a recess -of the rock, gazing on this wonderful and stupendous scene. The sea, -or rather the vast river of ice, wound among its dependent mountains, -whose aerial summits hung over its recesses. Their icy and glittering -peaks shone in the sunlight over the clouds. My heart, which was -before sorrowful, now swelled with something like joy; I exclaimed, -"Wandering spirits, if indeed ye wander, and do not rest in your narrow -beds, allow me this faint happiness, or take me, as your companion, -away from the joys of life." - -As I said this I suddenly beheld the figure of a man, at some distance, -advancing towards me with superhuman speed. He bounded over the -crevices in the ice, among which I had walked with caution; his -stature, also, as he approached, seemed to exceed that of man. I was -troubled; a mist came over my eyes, and I felt a faintness seize me, -but I was quickly restored by the cold gale of the mountains. I -perceived, as the shape came nearer (sight tremendous and abhorred!) -that it was the wretch whom I had created. I trembled with rage and -horror, resolving to wait his approach and then close with him in -mortal combat. He approached; his countenance bespoke bitter anguish, -combined with disdain and malignity, while its unearthly ugliness -rendered it almost too horrible for human eyes. But I scarcely -observed this; rage and hatred had at first deprived me of utterance, -and I recovered only to overwhelm him with words expressive of furious -detestation and contempt. - -"Devil," I exclaimed, "do you dare approach me? And do not you fear -the fierce vengeance of my arm wreaked on your miserable head? Begone, -vile insect! Or rather, stay, that I may trample you to dust! And, -oh! That I could, with the extinction of your miserable existence, -restore those victims whom you have so diabolically murdered!" - -"I expected this reception," said the daemon. "All men hate the -wretched; how, then, must I be hated, who am miserable beyond all -living things! Yet you, my creator, detest and spurn me, thy creature, -to whom thou art bound by ties only dissoluble by the annihilation of -one of us. You purpose to kill me. How dare you sport thus with life? -Do your duty towards me, and I will do mine towards you and the rest of -mankind. If you will comply with my conditions, I will leave them and -you at peace; but if you refuse, I will glut the maw of death, until it -be satiated with the blood of your remaining friends." - -"Abhorred monster! Fiend that thou art! The tortures of hell are too -mild a vengeance for thy crimes. Wretched devil! You reproach me with -your creation, come on, then, that I may extinguish the spark which I -so negligently bestowed." - -My rage was without bounds; I sprang on him, impelled by all the -feelings which can arm one being against the existence of another. - -He easily eluded me and said, - -"Be calm! I entreat you to hear me before you give vent to your hatred -on my devoted head. Have I not suffered enough, that you seek to -increase my misery? Life, although it may only be an accumulation of -anguish, is dear to me, and I will defend it. Remember, thou hast made -me more powerful than thyself; my height is superior to thine, my -joints more supple. But I will not be tempted to set myself in -opposition to thee. I am thy creature, and I will be even mild and -docile to my natural lord and king if thou wilt also perform thy part, -the which thou owest me. Oh, Frankenstein, be not equitable to every -other and trample upon me alone, to whom thy justice, and even thy -clemency and affection, is most due. Remember that I am thy creature; -I ought to be thy Adam, but I am rather the fallen angel, whom thou -drivest from joy for no misdeed. Everywhere I see bliss, from which I -alone am irrevocably excluded. I was benevolent and good; misery made -me a fiend. Make me happy, and I shall again be virtuous." - -"Begone! I will not hear you. There can be no community between you -and me; we are enemies. Begone, or let us try our strength in a fight, -in which one must fall." - -"How can I move thee? Will no entreaties cause thee to turn a -favourable eye upon thy creature, who implores thy goodness and -compassion? Believe me, Frankenstein, I was benevolent; my soul glowed -with love and humanity; but am I not alone, miserably alone? You, my -creator, abhor me; what hope can I gather from your fellow creatures, -who owe me nothing? They spurn and hate me. The desert mountains and -dreary glaciers are my refuge. I have wandered here many days; the -caves of ice, which I only do not fear, are a dwelling to me, and the -only one which man does not grudge. These bleak skies I hail, for they -are kinder to me than your fellow beings. If the multitude of mankind -knew of my existence, they would do as you do, and arm themselves for -my destruction. Shall I not then hate them who abhor me? I will keep -no terms with my enemies. I am miserable, and they shall share my -wretchedness. Yet it is in your power to recompense me, and deliver -them from an evil which it only remains for you to make so great, that -not only you and your family, but thousands of others, shall be -swallowed up in the whirlwinds of its rage. Let your compassion be -moved, and do not disdain me. Listen to my tale; when you have heard -that, abandon or commiserate me, as you shall judge that I deserve. -But hear me. The guilty are allowed, by human laws, bloody as they -are, to speak in their own defence before they are condemned. Listen -to me, Frankenstein. You accuse me of murder, and yet you would, with -a satisfied conscience, destroy your own creature. Oh, praise the -eternal justice of man! Yet I ask you not to spare me; listen to me, -and then, if you can, and if you will, destroy the work of your hands." - -"Why do you call to my remembrance," I rejoined, "circumstances of -which I shudder to reflect, that I have been the miserable origin and -author? Cursed be the day, abhorred devil, in which you first saw -light! Cursed (although I curse myself) be the hands that formed you! -You have made me wretched beyond expression. You have left me no power -to consider whether I am just to you or not. Begone! Relieve me from -the sight of your detested form." - -"Thus I relieve thee, my creator," he said, and placed his hated hands -before my eyes, which I flung from me with violence; "thus I take from -thee a sight which you abhor. Still thou canst listen to me and grant -me thy compassion. By the virtues that I once possessed, I demand this -from you. Hear my tale; it is long and strange, and the temperature of -this place is not fitting to your fine sensations; come to the hut upon -the mountain. The sun is yet high in the heavens; before it descends -to hide itself behind your snowy precipices and illuminate another -world, you will have heard my story and can decide. On you it rests, -whether I quit forever the neighbourhood of man and lead a harmless -life, or become the scourge of your fellow creatures and the author of -your own speedy ruin." - -As he said this he led the way across the ice; I followed. My heart -was full, and I did not answer him, but as I proceeded, I weighed the -various arguments that he had used and determined at least to listen to -his tale. I was partly urged by curiosity, and compassion confirmed my -resolution. I had hitherto supposed him to be the murderer of my -brother, and I eagerly sought a confirmation or denial of this opinion. -For the first time, also, I felt what the duties of a creator towards -his creature were, and that I ought to render him happy before I -complained of his wickedness. These motives urged me to comply with -his demand. We crossed the ice, therefore, and ascended the opposite -rock. The air was cold, and the rain again began to descend; we -entered the hut, the fiend with an air of exultation, I with a heavy -heart and depressed spirits. But I consented to listen, and seating -myself by the fire which my odious companion had lighted, he thus began -his tale. - - - -Chapter 11 - -"It is with considerable difficulty that I remember the original era of -my being; all the events of that period appear confused and indistinct. -A strange multiplicity of sensations seized me, and I saw, felt, heard, -and smelt at the same time; and it was, indeed, a long time before I -learned to distinguish between the operations of my various senses. By -degrees, I remember, a stronger light pressed upon my nerves, so that I -was obliged to shut my eyes. Darkness then came over me and troubled -me, but hardly had I felt this when, by opening my eyes, as I now -suppose, the light poured in upon me again. I walked and, I believe, -descended, but I presently found a great alteration in my sensations. -Before, dark and opaque bodies had surrounded me, impervious to my -touch or sight; but I now found that I could wander on at liberty, with -no obstacles which I could not either surmount or avoid. The light -became more and more oppressive to me, and the heat wearying me as I -walked, I sought a place where I could receive shade. This was the -forest near Ingolstadt; and here I lay by the side of a brook resting -from my fatigue, until I felt tormented by hunger and thirst. This -roused me from my nearly dormant state, and I ate some berries which I -found hanging on the trees or lying on the ground. I slaked my thirst -at the brook, and then lying down, was overcome by sleep. - -"It was dark when I awoke; I felt cold also, and half frightened, as it -were, instinctively, finding myself so desolate. Before I had quitted -your apartment, on a sensation of cold, I had covered myself with some -clothes, but these were insufficient to secure me from the dews of -night. I was a poor, helpless, miserable wretch; I knew, and could -distinguish, nothing; but feeling pain invade me on all sides, I sat -down and wept. - -"Soon a gentle light stole over the heavens and gave me a sensation of -pleasure. I started up and beheld a radiant form rise from among the -trees. [The moon] I gazed with a kind of wonder. It moved slowly, -but it enlightened my path, and I again went out in search of berries. -I was still cold when under one of the trees I found a huge cloak, with -which I covered myself, and sat down upon the ground. No distinct -ideas occupied my mind; all was confused. I felt light, and hunger, -and thirst, and darkness; innumerable sounds rang in my ears, and on -all sides various scents saluted me; the only object that I could -distinguish was the bright moon, and I fixed my eyes on that with -pleasure. - -"Several changes of day and night passed, and the orb of night had -greatly lessened, when I began to distinguish my sensations from each -other. I gradually saw plainly the clear stream that supplied me with -drink and the trees that shaded me with their foliage. I was delighted -when I first discovered that a pleasant sound, which often saluted my -ears, proceeded from the throats of the little winged animals who had -often intercepted the light from my eyes. I began also to observe, -with greater accuracy, the forms that surrounded me and to perceive the -boundaries of the radiant roof of light which canopied me. Sometimes I -tried to imitate the pleasant songs of the birds but was unable. -Sometimes I wished to express my sensations in my own mode, but the -uncouth and inarticulate sounds which broke from me frightened me into -silence again. - -"The moon had disappeared from the night, and again, with a lessened -form, showed itself, while I still remained in the forest. My -sensations had by this time become distinct, and my mind received every -day additional ideas. My eyes became accustomed to the light and to -perceive objects in their right forms; I distinguished the insect from -the herb, and by degrees, one herb from another. I found that the -sparrow uttered none but harsh notes, whilst those of the blackbird and -thrush were sweet and enticing. - -"One day, when I was oppressed by cold, I found a fire which had been -left by some wandering beggars, and was overcome with delight at the -warmth I experienced from it. In my joy I thrust my hand into the live -embers, but quickly drew it out again with a cry of pain. How strange, -I thought, that the same cause should produce such opposite effects! I -examined the materials of the fire, and to my joy found it to be -composed of wood. I quickly collected some branches, but they were wet -and would not burn. I was pained at this and sat still watching the -operation of the fire. The wet wood which I had placed near the heat -dried and itself became inflamed. I reflected on this, and by touching -the various branches, I discovered the cause and busied myself in -collecting a great quantity of wood, that I might dry it and have a -plentiful supply of fire. When night came on and brought sleep with -it, I was in the greatest fear lest my fire should be extinguished. I -covered it carefully with dry wood and leaves and placed wet branches -upon it; and then, spreading my cloak, I lay on the ground and sank -into sleep. - -"It was morning when I awoke, and my first care was to visit the fire. -I uncovered it, and a gentle breeze quickly fanned it into a flame. I -observed this also and contrived a fan of branches, which roused the -embers when they were nearly extinguished. When night came again I -found, with pleasure, that the fire gave light as well as heat and that -the discovery of this element was useful to me in my food, for I found -some of the offals that the travellers had left had been roasted, and -tasted much more savoury than the berries I gathered from the trees. I -tried, therefore, to dress my food in the same manner, placing it on -the live embers. I found that the berries were spoiled by this -operation, and the nuts and roots much improved. - -"Food, however, became scarce, and I often spent the whole day -searching in vain for a few acorns to assuage the pangs of hunger. When -I found this, I resolved to quit the place that I had hitherto -inhabited, to seek for one where the few wants I experienced would be -more easily satisfied. In this emigration I exceedingly lamented the -loss of the fire which I had obtained through accident and knew not how -to reproduce it. I gave several hours to the serious consideration of -this difficulty, but I was obliged to relinquish all attempt to supply -it, and wrapping myself up in my cloak, I struck across the wood -towards the setting sun. I passed three days in these rambles and at -length discovered the open country. A great fall of snow had taken -place the night before, and the fields were of one uniform white; the -appearance was disconsolate, and I found my feet chilled by the cold -damp substance that covered the ground. - -"It was about seven in the morning, and I longed to obtain food and -shelter; at length I perceived a small hut, on a rising ground, which -had doubtless been built for the convenience of some shepherd. This -was a new sight to me, and I examined the structure with great -curiosity. Finding the door open, I entered. An old man sat in it, -near a fire, over which he was preparing his breakfast. He turned on -hearing a noise, and perceiving me, shrieked loudly, and quitting the -hut, ran across the fields with a speed of which his debilitated form -hardly appeared capable. His appearance, different from any I had ever -before seen, and his flight somewhat surprised me. But I was enchanted -by the appearance of the hut; here the snow and rain could not -penetrate; the ground was dry; and it presented to me then as exquisite -and divine a retreat as Pandemonium appeared to the demons of hell -after their sufferings in the lake of fire. I greedily devoured the -remnants of the shepherd's breakfast, which consisted of bread, cheese, -milk, and wine; the latter, however, I did not like. Then, overcome by -fatigue, I lay down among some straw and fell asleep. - -"It was noon when I awoke, and allured by the warmth of the sun, which -shone brightly on the white ground, I determined to recommence my -travels; and, depositing the remains of the peasant's breakfast in a -wallet I found, I proceeded across the fields for several hours, until -at sunset I arrived at a village. How miraculous did this appear! The -huts, the neater cottages, and stately houses engaged my admiration by -turns. The vegetables in the gardens, the milk and cheese that I saw -placed at the windows of some of the cottages, allured my appetite. One -of the best of these I entered, but I had hardly placed my foot within -the door before the children shrieked, and one of the women fainted. -The whole village was roused; some fled, some attacked me, until, -grievously bruised by stones and many other kinds of missile weapons, I -escaped to the open country and fearfully took refuge in a low hovel, -quite bare, and making a wretched appearance after the palaces I had -beheld in the village. This hovel however, joined a cottage of a neat -and pleasant appearance, but after my late dearly bought experience, I -dared not enter it. My place of refuge was constructed of wood, but so -low that I could with difficulty sit upright in it. No wood, however, -was placed on the earth, which formed the floor, but it was dry; and -although the wind entered it by innumerable chinks, I found it an -agreeable asylum from the snow and rain. - -"Here, then, I retreated and lay down happy to have found a shelter, -however miserable, from the inclemency of the season, and still more -from the barbarity of man. As soon as morning dawned I crept from my -kennel, that I might view the adjacent cottage and discover if I could -remain in the habitation I had found. It was situated against the back -of the cottage and surrounded on the sides which were exposed by a pig -sty and a clear pool of water. One part was open, and by that I had -crept in; but now I covered every crevice by which I might be perceived -with stones and wood, yet in such a manner that I might move them on -occasion to pass out; all the light I enjoyed came through the sty, and -that was sufficient for me. - -"Having thus arranged my dwelling and carpeted it with clean straw, I -retired, for I saw the figure of a man at a distance, and I remembered -too well my treatment the night before to trust myself in his power. I -had first, however, provided for my sustenance for that day by a loaf -of coarse bread, which I purloined, and a cup with which I could drink -more conveniently than from my hand of the pure water which flowed by -my retreat. The floor was a little raised, so that it was kept -perfectly dry, and by its vicinity to the chimney of the cottage it was -tolerably warm. - -"Being thus provided, I resolved to reside in this hovel until -something should occur which might alter my determination. It was -indeed a paradise compared to the bleak forest, my former residence, -the rain-dropping branches, and dank earth. I ate my breakfast with -pleasure and was about to remove a plank to procure myself a little -water when I heard a step, and looking through a small chink, I beheld -a young creature, with a pail on her head, passing before my hovel. The -girl was young and of gentle demeanour, unlike what I have since found -cottagers and farmhouse servants to be. Yet she was meanly dressed, a -coarse blue petticoat and a linen jacket being her only garb; her fair -hair was plaited but not adorned: she looked patient yet sad. I lost -sight of her, and in about a quarter of an hour she returned bearing -the pail, which was now partly filled with milk. As she walked along, -seemingly incommoded by the burden, a young man met her, whose -countenance expressed a deeper despondence. Uttering a few sounds with -an air of melancholy, he took the pail from her head and bore it to the -cottage himself. She followed, and they disappeared. Presently I saw -the young man again, with some tools in his hand, cross the field -behind the cottage; and the girl was also busied, sometimes in the -house and sometimes in the yard. - -"On examining my dwelling, I found that one of the windows of the -cottage had formerly occupied a part of it, but the panes had been -filled up with wood. In one of these was a small and almost -imperceptible chink through which the eye could just penetrate. -Through this crevice a small room was visible, whitewashed and clean -but very bare of furniture. In one corner, near a small fire, sat an -old man, leaning his head on his hands in a disconsolate attitude. The -young girl was occupied in arranging the cottage; but presently she -took something out of a drawer, which employed her hands, and she sat -down beside the old man, who, taking up an instrument, began to play -and to produce sounds sweeter than the voice of the thrush or the -nightingale. It was a lovely sight, even to me, poor wretch who had -never beheld aught beautiful before. The silver hair and benevolent -countenance of the aged cottager won my reverence, while the gentle -manners of the girl enticed my love. He played a sweet mournful air -which I perceived drew tears from the eyes of his amiable companion, of -which the old man took no notice, until she sobbed audibly; he then -pronounced a few sounds, and the fair creature, leaving her work, knelt -at his feet. He raised her and smiled with such kindness and affection -that I felt sensations of a peculiar and overpowering nature; they were -a mixture of pain and pleasure, such as I had never before experienced, -either from hunger or cold, warmth or food; and I withdrew from the -window, unable to bear these emotions. - -"Soon after this the young man returned, bearing on his shoulders a -load of wood. The girl met him at the door, helped to relieve him of -his burden, and taking some of the fuel into the cottage, placed it on -the fire; then she and the youth went apart into a nook of the cottage, -and he showed her a large loaf and a piece of cheese. She seemed -pleased and went into the garden for some roots and plants, which she -placed in water, and then upon the fire. She afterwards continued her -work, whilst the young man went into the garden and appeared busily -employed in digging and pulling up roots. After he had been employed -thus about an hour, the young woman joined him and they entered the -cottage together. - -"The old man had, in the meantime, been pensive, but on the appearance -of his companions he assumed a more cheerful air, and they sat down to -eat. The meal was quickly dispatched. The young woman was again -occupied in arranging the cottage, the old man walked before the -cottage in the sun for a few minutes, leaning on the arm of the youth. -Nothing could exceed in beauty the contrast between these two excellent -creatures. One was old, with silver hairs and a countenance beaming -with benevolence and love; the younger was slight and graceful in his -figure, and his features were moulded with the finest symmetry, yet his -eyes and attitude expressed the utmost sadness and despondency. The -old man returned to the cottage, and the youth, with tools different -from those he had used in the morning, directed his steps across the -fields. - -"Night quickly shut in, but to my extreme wonder, I found that the -cottagers had a means of prolonging light by the use of tapers, and was -delighted to find that the setting of the sun did not put an end to the -pleasure I experienced in watching my human neighbours. In the evening -the young girl and her companion were employed in various occupations -which I did not understand; and the old man again took up the -instrument which produced the divine sounds that had enchanted me in -the morning. So soon as he had finished, the youth began, not to play, -but to utter sounds that were monotonous, and neither resembling the -harmony of the old man's instrument nor the songs of the birds; I since -found that he read aloud, but at that time I knew nothing of the -science of words or letters. - -"The family, after having been thus occupied for a short time, -extinguished their lights and retired, as I conjectured, to rest." - - - -Chapter 12 - -"I lay on my straw, but I could not sleep. I thought of the -occurrences of the day. What chiefly struck me was the gentle manners -of these people, and I longed to join them, but dared not. I -remembered too well the treatment I had suffered the night before from -the barbarous villagers, and resolved, whatever course of conduct I -might hereafter think it right to pursue, that for the present I would -remain quietly in my hovel, watching and endeavouring to discover the -motives which influenced their actions. - -"The cottagers arose the next morning before the sun. The young woman -arranged the cottage and prepared the food, and the youth departed -after the first meal. - -"This day was passed in the same routine as that which preceded it. -The young man was constantly employed out of doors, and the girl in -various laborious occupations within. The old man, whom I soon -perceived to be blind, employed his leisure hours on his instrument or -in contemplation. Nothing could exceed the love and respect which the -younger cottagers exhibited towards their venerable companion. They -performed towards him every little office of affection and duty with -gentleness, and he rewarded them by his benevolent smiles. - -"They were not entirely happy. The young man and his companion often -went apart and appeared to weep. I saw no cause for their unhappiness, -but I was deeply affected by it. If such lovely creatures were -miserable, it was less strange that I, an imperfect and solitary being, -should be wretched. Yet why were these gentle beings unhappy? They -possessed a delightful house (for such it was in my eyes) and every -luxury; they had a fire to warm them when chill and delicious viands -when hungry; they were dressed in excellent clothes; and, still more, -they enjoyed one another's company and speech, interchanging each day -looks of affection and kindness. What did their tears imply? Did they -really express pain? I was at first unable to solve these questions, -but perpetual attention and time explained to me many appearances which -were at first enigmatic. - -"A considerable period elapsed before I discovered one of the causes of -the uneasiness of this amiable family: it was poverty, and they -suffered that evil in a very distressing degree. Their nourishment -consisted entirely of the vegetables of their garden and the milk of -one cow, which gave very little during the winter, when its masters -could scarcely procure food to support it. They often, I believe, -suffered the pangs of hunger very poignantly, especially the two -younger cottagers, for several times they placed food before the old -man when they reserved none for themselves. - -"This trait of kindness moved me sensibly. I had been accustomed, -during the night, to steal a part of their store for my own -consumption, but when I found that in doing this I inflicted pain on -the cottagers, I abstained and satisfied myself with berries, nuts, and -roots which I gathered from a neighbouring wood. - -"I discovered also another means through which I was enabled to assist -their labours. I found that the youth spent a great part of each day -in collecting wood for the family fire, and during the night I often -took his tools, the use of which I quickly discovered, and brought home -firing sufficient for the consumption of several days. - -"I remember, the first time that I did this, the young woman, when she -opened the door in the morning, appeared greatly astonished on seeing a -great pile of wood on the outside. She uttered some words in a loud -voice, and the youth joined her, who also expressed surprise. I -observed, with pleasure, that he did not go to the forest that day, but -spent it in repairing the cottage and cultivating the garden. - -"By degrees I made a discovery of still greater moment. I found that -these people possessed a method of communicating their experience and -feelings to one another by articulate sounds. I perceived that the -words they spoke sometimes produced pleasure or pain, smiles or -sadness, in the minds and countenances of the hearers. This was indeed -a godlike science, and I ardently desired to become acquainted with it. -But I was baffled in every attempt I made for this purpose. Their -pronunciation was quick, and the words they uttered, not having any -apparent connection with visible objects, I was unable to discover any -clue by which I could unravel the mystery of their reference. By great -application, however, and after having remained during the space of -several revolutions of the moon in my hovel, I discovered the names -that were given to some of the most familiar objects of discourse; I -learned and applied the words, 'fire,' 'milk,' 'bread,' and 'wood.' I -learned also the names of the cottagers themselves. The youth and his -companion had each of them several names, but the old man had only one, -which was 'father.' The girl was called 'sister' or 'Agatha,' and the -youth 'Felix,' 'brother,' or 'son.' I cannot describe the delight I -felt when I learned the ideas appropriated to each of these sounds and -was able to pronounce them. I distinguished several other words -without being able as yet to understand or apply them, such as 'good,' -'dearest,' 'unhappy.' - -"I spent the winter in this manner. The gentle manners and beauty of -the cottagers greatly endeared them to me; when they were unhappy, I -felt depressed; when they rejoiced, I sympathized in their joys. I saw -few human beings besides them, and if any other happened to enter the -cottage, their harsh manners and rude gait only enhanced to me the -superior accomplishments of my friends. The old man, I could perceive, -often endeavoured to encourage his children, as sometimes I found that -he called them, to cast off their melancholy. He would talk in a -cheerful accent, with an expression of goodness that bestowed pleasure -even upon me. Agatha listened with respect, her eyes sometimes filled -with tears, which she endeavoured to wipe away unperceived; but I -generally found that her countenance and tone were more cheerful after -having listened to the exhortations of her father. It was not thus -with Felix. He was always the saddest of the group, and even to my -unpractised senses, he appeared to have suffered more deeply than his -friends. But if his countenance was more sorrowful, his voice was more -cheerful than that of his sister, especially when he addressed the old -man. - -"I could mention innumerable instances which, although slight, marked -the dispositions of these amiable cottagers. In the midst of poverty -and want, Felix carried with pleasure to his sister the first little -white flower that peeped out from beneath the snowy ground. Early in -the morning, before she had risen, he cleared away the snow that -obstructed her path to the milk-house, drew water from the well, and -brought the wood from the outhouse, where, to his perpetual -astonishment, he found his store always replenished by an invisible -hand. In the day, I believe, he worked sometimes for a neighbouring -farmer, because he often went forth and did not return until dinner, -yet brought no wood with him. At other times he worked in the garden, -but as there was little to do in the frosty season, he read to the old -man and Agatha. - -"This reading had puzzled me extremely at first, but by degrees I -discovered that he uttered many of the same sounds when he read as when -he talked. I conjectured, therefore, that he found on the paper signs -for speech which he understood, and I ardently longed to comprehend -these also; but how was that possible when I did not even understand -the sounds for which they stood as signs? I improved, however, -sensibly in this science, but not sufficiently to follow up any kind of -conversation, although I applied my whole mind to the endeavour, for I -easily perceived that, although I eagerly longed to discover myself to -the cottagers, I ought not to make the attempt until I had first become -master of their language, which knowledge might enable me to make them -overlook the deformity of my figure, for with this also the contrast -perpetually presented to my eyes had made me acquainted. - -"I had admired the perfect forms of my cottagers--their grace, beauty, -and delicate complexions; but how was I terrified when I viewed myself -in a transparent pool! At first I started back, unable to believe that -it was indeed I who was reflected in the mirror; and when I became -fully convinced that I was in reality the monster that I am, I was -filled with the bitterest sensations of despondence and mortification. -Alas! I did not yet entirely know the fatal effects of this miserable -deformity. - -"As the sun became warmer and the light of day longer, the snow -vanished, and I beheld the bare trees and the black earth. From this -time Felix was more employed, and the heart-moving indications of -impending famine disappeared. Their food, as I afterwards found, was -coarse, but it was wholesome; and they procured a sufficiency of it. -Several new kinds of plants sprang up in the garden, which they -dressed; and these signs of comfort increased daily as the season -advanced. - -"The old man, leaning on his son, walked each day at noon, when it did -not rain, as I found it was called when the heavens poured forth its -waters. This frequently took place, but a high wind quickly dried the -earth, and the season became far more pleasant than it had been. - -"My mode of life in my hovel was uniform. During the morning I -attended the motions of the cottagers, and when they were dispersed in -various occupations, I slept; the remainder of the day was spent in -observing my friends. When they had retired to rest, if there was any -moon or the night was star-light, I went into the woods and collected -my own food and fuel for the cottage. When I returned, as often as it -was necessary, I cleared their path from the snow and performed those -offices that I had seen done by Felix. I afterwards found that these -labours, performed by an invisible hand, greatly astonished them; and -once or twice I heard them, on these occasions, utter the words 'good -spirit,' 'wonderful'; but I did not then understand the signification -of these terms. - -"My thoughts now became more active, and I longed to discover the -motives and feelings of these lovely creatures; I was inquisitive to -know why Felix appeared so miserable and Agatha so sad. I thought -(foolish wretch!) that it might be in my power to restore happiness to -these deserving people. When I slept or was absent, the forms of the -venerable blind father, the gentle Agatha, and the excellent Felix -flitted before me. I looked upon them as superior beings who would be -the arbiters of my future destiny. I formed in my imagination a -thousand pictures of presenting myself to them, and their reception of -me. I imagined that they would be disgusted, until, by my gentle -demeanour and conciliating words, I should first win their favour and -afterwards their love. - -"These thoughts exhilarated me and led me to apply with fresh ardour to -the acquiring the art of language. My organs were indeed harsh, but -supple; and although my voice was very unlike the soft music of their -tones, yet I pronounced such words as I understood with tolerable ease. -It was as the ass and the lap-dog; yet surely the gentle ass whose -intentions were affectionate, although his manners were rude, deserved -better treatment than blows and execration. - -"The pleasant showers and genial warmth of spring greatly altered the -aspect of the earth. Men who before this change seemed to have been -hid in caves dispersed themselves and were employed in various arts of -cultivation. The birds sang in more cheerful notes, and the leaves -began to bud forth on the trees. Happy, happy earth! Fit habitation -for gods, which, so short a time before, was bleak, damp, and -unwholesome. My spirits were elevated by the enchanting appearance of -nature; the past was blotted from my memory, the present was tranquil, -and the future gilded by bright rays of hope and anticipations of joy." - - - -Chapter 13 - -"I now hasten to the more moving part of my story. I shall relate -events that impressed me with feelings which, from what I had been, -have made me what I am. - -"Spring advanced rapidly; the weather became fine and the skies -cloudless. It surprised me that what before was desert and gloomy -should now bloom with the most beautiful flowers and verdure. My -senses were gratified and refreshed by a thousand scents of delight and -a thousand sights of beauty. - -"It was on one of these days, when my cottagers periodically rested -from labour--the old man played on his guitar, and the children -listened to him--that I observed the countenance of Felix was -melancholy beyond expression; he sighed frequently, and once his father -paused in his music, and I conjectured by his manner that he inquired -the cause of his son's sorrow. Felix replied in a cheerful accent, and -the old man was recommencing his music when someone tapped at the door. - -"It was a lady on horseback, accompanied by a country-man as a guide. -The lady was dressed in a dark suit and covered with a thick black -veil. Agatha asked a question, to which the stranger only replied by -pronouncing, in a sweet accent, the name of Felix. Her voice was -musical but unlike that of either of my friends. On hearing this word, -Felix came up hastily to the lady, who, when she saw him, threw up her -veil, and I beheld a countenance of angelic beauty and expression. Her -hair of a shining raven black, and curiously braided; her eyes were -dark, but gentle, although animated; her features of a regular -proportion, and her complexion wondrously fair, each cheek tinged with -a lovely pink. - -"Felix seemed ravished with delight when he saw her, every trait of -sorrow vanished from his face, and it instantly expressed a degree of -ecstatic joy, of which I could hardly have believed it capable; his -eyes sparkled, as his cheek flushed with pleasure; and at that moment I -thought him as beautiful as the stranger. She appeared affected by -different feelings; wiping a few tears from her lovely eyes, she held -out her hand to Felix, who kissed it rapturously and called her, as -well as I could distinguish, his sweet Arabian. She did not appear to -understand him, but smiled. He assisted her to dismount, and -dismissing her guide, conducted her into the cottage. Some -conversation took place between him and his father, and the young -stranger knelt at the old man's feet and would have kissed his hand, -but he raised her and embraced her affectionately. - -"I soon perceived that although the stranger uttered articulate sounds -and appeared to have a language of her own, she was neither understood -by nor herself understood the cottagers. They made many signs which I -did not comprehend, but I saw that her presence diffused gladness -through the cottage, dispelling their sorrow as the sun dissipates the -morning mists. Felix seemed peculiarly happy and with smiles of -delight welcomed his Arabian. Agatha, the ever-gentle Agatha, kissed -the hands of the lovely stranger, and pointing to her brother, made -signs which appeared to me to mean that he had been sorrowful until she -came. Some hours passed thus, while they, by their countenances, -expressed joy, the cause of which I did not comprehend. Presently I -found, by the frequent recurrence of some sound which the stranger -repeated after them, that she was endeavouring to learn their language; -and the idea instantly occurred to me that I should make use of the -same instructions to the same end. The stranger learned about twenty -words at the first lesson; most of them, indeed, were those which I had -before understood, but I profited by the others. - -"As night came on, Agatha and the Arabian retired early. When they -separated Felix kissed the hand of the stranger and said, 'Good night -sweet Safie.' He sat up much longer, conversing with his father, and -by the frequent repetition of her name I conjectured that their lovely -guest was the subject of their conversation. I ardently desired to -understand them, and bent every faculty towards that purpose, but found -it utterly impossible. - -"The next morning Felix went out to his work, and after the usual -occupations of Agatha were finished, the Arabian sat at the feet of the -old man, and taking his guitar, played some airs so entrancingly -beautiful that they at once drew tears of sorrow and delight from my -eyes. She sang, and her voice flowed in a rich cadence, swelling or -dying away like a nightingale of the woods. - -"When she had finished, she gave the guitar to Agatha, who at first -declined it. She played a simple air, and her voice accompanied it in -sweet accents, but unlike the wondrous strain of the stranger. The old -man appeared enraptured and said some words which Agatha endeavoured to -explain to Safie, and by which he appeared to wish to express that she -bestowed on him the greatest delight by her music. - -"The days now passed as peaceably as before, with the sole alteration -that joy had taken place of sadness in the countenances of my friends. -Safie was always gay and happy; she and I improved rapidly in the -knowledge of language, so that in two months I began to comprehend most -of the words uttered by my protectors. - -"In the meanwhile also the black ground was covered with herbage, and -the green banks interspersed with innumerable flowers, sweet to the -scent and the eyes, stars of pale radiance among the moonlight woods; -the sun became warmer, the nights clear and balmy; and my nocturnal -rambles were an extreme pleasure to me, although they were considerably -shortened by the late setting and early rising of the sun, for I never -ventured abroad during daylight, fearful of meeting with the same -treatment I had formerly endured in the first village which I entered. - -"My days were spent in close attention, that I might more speedily -master the language; and I may boast that I improved more rapidly than -the Arabian, who understood very little and conversed in broken -accents, whilst I comprehended and could imitate almost every word that -was spoken. - -"While I improved in speech, I also learned the science of letters as -it was taught to the stranger, and this opened before me a wide field -for wonder and delight. - -"The book from which Felix instructed Safie was Volney's Ruins of -Empires. I should not have understood the purport of this book had not -Felix, in reading it, given very minute explanations. He had chosen -this work, he said, because the declamatory style was framed in -imitation of the Eastern authors. Through this work I obtained a -cursory knowledge of history and a view of the several empires at -present existing in the world; it gave me an insight into the manners, -governments, and religions of the different nations of the earth. I -heard of the slothful Asiatics, of the stupendous genius and mental -activity of the Grecians, of the wars and wonderful virtue of the early -Romans--of their subsequent degenerating--of the decline of that mighty -empire, of chivalry, Christianity, and kings. I heard of the discovery -of the American hemisphere and wept with Safie over the hapless fate of -its original inhabitants. - -"These wonderful narrations inspired me with strange feelings. Was -man, indeed, at once so powerful, so virtuous and magnificent, yet so -vicious and base? He appeared at one time a mere scion of the evil -principle and at another as all that can be conceived of noble and -godlike. To be a great and virtuous man appeared the highest honour -that can befall a sensitive being; to be base and vicious, as many on -record have been, appeared the lowest degradation, a condition more -abject than that of the blind mole or harmless worm. For a long time I -could not conceive how one man could go forth to murder his fellow, or -even why there were laws and governments; but when I heard details of -vice and bloodshed, my wonder ceased and I turned away with disgust and -loathing. - -"Every conversation of the cottagers now opened new wonders to me. -While I listened to the instructions which Felix bestowed upon the -Arabian, the strange system of human society was explained to me. I -heard of the division of property, of immense wealth and squalid -poverty, of rank, descent, and noble blood. - -"The words induced me to turn towards myself. I learned that the -possessions most esteemed by your fellow creatures were high and -unsullied descent united with riches. A man might be respected with -only one of these advantages, but without either he was considered, -except in very rare instances, as a vagabond and a slave, doomed to -waste his powers for the profits of the chosen few! And what was I? Of -my creation and creator I was absolutely ignorant, but I knew that I -possessed no money, no friends, no kind of property. I was, besides, -endued with a figure hideously deformed and loathsome; I was not even -of the same nature as man. I was more agile than they and could -subsist upon coarser diet; I bore the extremes of heat and cold with -less injury to my frame; my stature far exceeded theirs. When I looked -around I saw and heard of none like me. Was I, then, a monster, a blot -upon the earth, from which all men fled and whom all men disowned? - -"I cannot describe to you the agony that these reflections inflicted -upon me; I tried to dispel them, but sorrow only increased with -knowledge. Oh, that I had forever remained in my native wood, nor -known nor felt beyond the sensations of hunger, thirst, and heat! - -"Of what a strange nature is knowledge! It clings to the mind when it -has once seized on it like a lichen on the rock. I wished sometimes to -shake off all thought and feeling, but I learned that there was but one -means to overcome the sensation of pain, and that was death--a state -which I feared yet did not understand. I admired virtue and good -feelings and loved the gentle manners and amiable qualities of my -cottagers, but I was shut out from intercourse with them, except -through means which I obtained by stealth, when I was unseen and -unknown, and which rather increased than satisfied the desire I had of -becoming one among my fellows. The gentle words of Agatha and the -animated smiles of the charming Arabian were not for me. The mild -exhortations of the old man and the lively conversation of the loved -Felix were not for me. Miserable, unhappy wretch! - -"Other lessons were impressed upon me even more deeply. I heard of the -difference of sexes, and the birth and growth of children, how the -father doted on the smiles of the infant, and the lively sallies of the -older child, how all the life and cares of the mother were wrapped up -in the precious charge, how the mind of youth expanded and gained -knowledge, of brother, sister, and all the various relationships which -bind one human being to another in mutual bonds. - -"But where were my friends and relations? No father had watched my -infant days, no mother had blessed me with smiles and caresses; or if -they had, all my past life was now a blot, a blind vacancy in which I -distinguished nothing. From my earliest remembrance I had been as I -then was in height and proportion. I had never yet seen a being -resembling me or who claimed any intercourse with me. What was I? The -question again recurred, to be answered only with groans. - -"I will soon explain to what these feelings tended, but allow me now to -return to the cottagers, whose story excited in me such various -feelings of indignation, delight, and wonder, but which all terminated -in additional love and reverence for my protectors (for so I loved, in -an innocent, half-painful self-deceit, to call them)." - - - -Chapter 14 - -"Some time elapsed before I learned the history of my friends. It was -one which could not fail to impress itself deeply on my mind, unfolding -as it did a number of circumstances, each interesting and wonderful to -one so utterly inexperienced as I was. - -"The name of the old man was De Lacey. He was descended from a good -family in France, where he had lived for many years in affluence, -respected by his superiors and beloved by his equals. His son was bred -in the service of his country, and Agatha had ranked with ladies of the -highest distinction. A few months before my arrival they had lived in -a large and luxurious city called Paris, surrounded by friends and -possessed of every enjoyment which virtue, refinement of intellect, or -taste, accompanied by a moderate fortune, could afford. - -"The father of Safie had been the cause of their ruin. He was a -Turkish merchant and had inhabited Paris for many years, when, for some -reason which I could not learn, he became obnoxious to the government. -He was seized and cast into prison the very day that Safie arrived from -Constantinople to join him. He was tried and condemned to death. The -injustice of his sentence was very flagrant; all Paris was indignant; -and it was judged that his religion and wealth rather than the crime -alleged against him had been the cause of his condemnation. - -"Felix had accidentally been present at the trial; his horror and -indignation were uncontrollable when he heard the decision of the -court. He made, at that moment, a solemn vow to deliver him and then -looked around for the means. After many fruitless attempts to gain -admittance to the prison, he found a strongly grated window in an -unguarded part of the building, which lighted the dungeon of the -unfortunate Muhammadan, who, loaded with chains, waited in despair the -execution of the barbarous sentence. Felix visited the grate at night -and made known to the prisoner his intentions in his favour. The Turk, -amazed and delighted, endeavoured to kindle the zeal of his deliverer -by promises of reward and wealth. Felix rejected his offers with -contempt, yet when he saw the lovely Safie, who was allowed to visit -her father and who by her gestures expressed her lively gratitude, the -youth could not help owning to his own mind that the captive possessed -a treasure which would fully reward his toil and hazard. - -"The Turk quickly perceived the impression that his daughter had made -on the heart of Felix and endeavoured to secure him more entirely in -his interests by the promise of her hand in marriage so soon as he -should be conveyed to a place of safety. Felix was too delicate to -accept this offer, yet he looked forward to the probability of the -event as to the consummation of his happiness. - -"During the ensuing days, while the preparations were going forward for -the escape of the merchant, the zeal of Felix was warmed by several -letters that he received from this lovely girl, who found means to -express her thoughts in the language of her lover by the aid of an old -man, a servant of her father who understood French. She thanked him in -the most ardent terms for his intended services towards her parent, and -at the same time she gently deplored her own fate. - -"I have copies of these letters, for I found means, during my residence -in the hovel, to procure the implements of writing; and the letters -were often in the hands of Felix or Agatha. Before I depart I will -give them to you; they will prove the truth of my tale; but at present, -as the sun is already far declined, I shall only have time to repeat -the substance of them to you. - -"Safie related that her mother was a Christian Arab, seized and made a -slave by the Turks; recommended by her beauty, she had won the heart of -the father of Safie, who married her. The young girl spoke in high and -enthusiastic terms of her mother, who, born in freedom, spurned the -bondage to which she was now reduced. She instructed her daughter in -the tenets of her religion and taught her to aspire to higher powers of -intellect and an independence of spirit forbidden to the female -followers of Muhammad. This lady died, but her lessons were indelibly -impressed on the mind of Safie, who sickened at the prospect of again -returning to Asia and being immured within the walls of a harem, -allowed only to occupy herself with infantile amusements, ill-suited to -the temper of her soul, now accustomed to grand ideas and a noble -emulation for virtue. The prospect of marrying a Christian and -remaining in a country where women were allowed to take a rank in -society was enchanting to her. - -"The day for the execution of the Turk was fixed, but on the night -previous to it he quitted his prison and before morning was distant -many leagues from Paris. Felix had procured passports in the name of -his father, sister, and himself. He had previously communicated his -plan to the former, who aided the deceit by quitting his house, under -the pretence of a journey and concealed himself, with his daughter, in -an obscure part of Paris. - -"Felix conducted the fugitives through France to Lyons and across Mont -Cenis to Leghorn, where the merchant had decided to wait a favourable -opportunity of passing into some part of the Turkish dominions. - -"Safie resolved to remain with her father until the moment of his -departure, before which time the Turk renewed his promise that she -should be united to his deliverer; and Felix remained with them in -expectation of that event; and in the meantime he enjoyed the society -of the Arabian, who exhibited towards him the simplest and tenderest -affection. They conversed with one another through the means of an -interpreter, and sometimes with the interpretation of looks; and Safie -sang to him the divine airs of her native country. - -"The Turk allowed this intimacy to take place and encouraged the hopes -of the youthful lovers, while in his heart he had formed far other -plans. He loathed the idea that his daughter should be united to a -Christian, but he feared the resentment of Felix if he should appear -lukewarm, for he knew that he was still in the power of his deliverer -if he should choose to betray him to the Italian state which they -inhabited. He revolved a thousand plans by which he should be enabled -to prolong the deceit until it might be no longer necessary, and -secretly to take his daughter with him when he departed. His plans -were facilitated by the news which arrived from Paris. - -"The government of France were greatly enraged at the escape of their -victim and spared no pains to detect and punish his deliverer. The -plot of Felix was quickly discovered, and De Lacey and Agatha were -thrown into prison. The news reached Felix and roused him from his -dream of pleasure. His blind and aged father and his gentle sister lay -in a noisome dungeon while he enjoyed the free air and the society of -her whom he loved. This idea was torture to him. He quickly arranged -with the Turk that if the latter should find a favourable opportunity -for escape before Felix could return to Italy, Safie should remain as a -boarder at a convent at Leghorn; and then, quitting the lovely Arabian, -he hastened to Paris and delivered himself up to the vengeance of the -law, hoping to free De Lacey and Agatha by this proceeding. - -"He did not succeed. They remained confined for five months before the -trial took place, the result of which deprived them of their fortune -and condemned them to a perpetual exile from their native country. - -"They found a miserable asylum in the cottage in Germany, where I -discovered them. Felix soon learned that the treacherous Turk, for -whom he and his family endured such unheard-of oppression, on -discovering that his deliverer was thus reduced to poverty and ruin, -became a traitor to good feeling and honour and had quitted Italy with -his daughter, insultingly sending Felix a pittance of money to aid him, -as he said, in some plan of future maintenance. - -"Such were the events that preyed on the heart of Felix and rendered -him, when I first saw him, the most miserable of his family. He could -have endured poverty, and while this distress had been the meed of his -virtue, he gloried in it; but the ingratitude of the Turk and the loss -of his beloved Safie were misfortunes more bitter and irreparable. The -arrival of the Arabian now infused new life into his soul. - -"When the news reached Leghorn that Felix was deprived of his wealth -and rank, the merchant commanded his daughter to think no more of her -lover, but to prepare to return to her native country. The generous -nature of Safie was outraged by this command; she attempted to -expostulate with her father, but he left her angrily, reiterating his -tyrannical mandate. - -"A few days after, the Turk entered his daughter's apartment and told -her hastily that he had reason to believe that his residence at Leghorn -had been divulged and that he should speedily be delivered up to the -French government; he had consequently hired a vessel to convey him to -Constantinople, for which city he should sail in a few hours. He -intended to leave his daughter under the care of a confidential -servant, to follow at her leisure with the greater part of his -property, which had not yet arrived at Leghorn. - -"When alone, Safie resolved in her own mind the plan of conduct that it -would become her to pursue in this emergency. A residence in Turkey -was abhorrent to her; her religion and her feelings were alike averse -to it. By some papers of her father which fell into her hands she -heard of the exile of her lover and learnt the name of the spot where -he then resided. She hesitated some time, but at length she formed her -determination. Taking with her some jewels that belonged to her and a -sum of money, she quitted Italy with an attendant, a native of Leghorn, -but who understood the common language of Turkey, and departed for -Germany. - -"She arrived in safety at a town about twenty leagues from the cottage -of De Lacey, when her attendant fell dangerously ill. Safie nursed her -with the most devoted affection, but the poor girl died, and the -Arabian was left alone, unacquainted with the language of the country -and utterly ignorant of the customs of the world. She fell, however, -into good hands. The Italian had mentioned the name of the spot for -which they were bound, and after her death the woman of the house in -which they had lived took care that Safie should arrive in safety at -the cottage of her lover." - - - -Chapter 15 - -"Such was the history of my beloved cottagers. It impressed me deeply. -I learned, from the views of social life which it developed, to admire -their virtues and to deprecate the vices of mankind. - -"As yet I looked upon crime as a distant evil, benevolence and -generosity were ever present before me, inciting within me a desire to -become an actor in the busy scene where so many admirable qualities -were called forth and displayed. But in giving an account of the -progress of my intellect, I must not omit a circumstance which occurred -in the beginning of the month of August of the same year. - -"One night during my accustomed visit to the neighbouring wood where I -collected my own food and brought home firing for my protectors, I -found on the ground a leathern portmanteau containing several articles -of dress and some books. I eagerly seized the prize and returned with -it to my hovel. Fortunately the books were written in the language, -the elements of which I had acquired at the cottage; they consisted of -Paradise Lost, a volume of Plutarch's Lives, and the Sorrows of Werter. -The possession of these treasures gave me extreme delight; I now -continually studied and exercised my mind upon these histories, whilst -my friends were employed in their ordinary occupations. - -"I can hardly describe to you the effect of these books. They produced -in me an infinity of new images and feelings, that sometimes raised me -to ecstasy, but more frequently sunk me into the lowest dejection. In -the Sorrows of Werter, besides the interest of its simple and affecting -story, so many opinions are canvassed and so many lights thrown upon -what had hitherto been to me obscure subjects that I found in it a -never-ending source of speculation and astonishment. The gentle and -domestic manners it described, combined with lofty sentiments and -feelings, which had for their object something out of self, accorded -well with my experience among my protectors and with the wants which -were forever alive in my own bosom. But I thought Werter himself a -more divine being than I had ever beheld or imagined; his character -contained no pretension, but it sank deep. The disquisitions upon -death and suicide were calculated to fill me with wonder. I did not -pretend to enter into the merits of the case, yet I inclined towards -the opinions of the hero, whose extinction I wept, without precisely -understanding it. - -"As I read, however, I applied much personally to my own feelings and -condition. I found myself similar yet at the same time strangely -unlike to the beings concerning whom I read and to whose conversation I -was a listener. I sympathized with and partly understood them, but I -was unformed in mind; I was dependent on none and related to none. -'The path of my departure was free,' and there was none to lament my -annihilation. My person was hideous and my stature gigantic. What did -this mean? Who was I? What was I? Whence did I come? What was my -destination? These questions continually recurred, but I was unable to -solve them. - -"The volume of Plutarch's Lives which I possessed contained the -histories of the first founders of the ancient republics. This book -had a far different effect upon me from the Sorrows of Werter. I -learned from Werter's imaginations despondency and gloom, but Plutarch -taught me high thoughts; he elevated me above the wretched sphere of my -own reflections, to admire and love the heroes of past ages. Many -things I read surpassed my understanding and experience. I had a very -confused knowledge of kingdoms, wide extents of country, mighty rivers, -and boundless seas. But I was perfectly unacquainted with towns and -large assemblages of men. The cottage of my protectors had been the -only school in which I had studied human nature, but this book -developed new and mightier scenes of action. I read of men concerned -in public affairs, governing or massacring their species. I felt the -greatest ardour for virtue rise within me, and abhorrence for vice, as -far as I understood the signification of those terms, relative as they -were, as I applied them, to pleasure and pain alone. Induced by these -feelings, I was of course led to admire peaceable lawgivers, Numa, -Solon, and Lycurgus, in preference to Romulus and Theseus. The -patriarchal lives of my protectors caused these impressions to take a -firm hold on my mind; perhaps, if my first introduction to humanity had -been made by a young soldier, burning for glory and slaughter, I should -have been imbued with different sensations. - -"But Paradise Lost excited different and far deeper emotions. I read -it, as I had read the other volumes which had fallen into my hands, as -a true history. It moved every feeling of wonder and awe that the -picture of an omnipotent God warring with his creatures was capable of -exciting. I often referred the several situations, as their similarity -struck me, to my own. Like Adam, I was apparently united by no link to -any other being in existence; but his state was far different from mine -in every other respect. He had come forth from the hands of God a -perfect creature, happy and prosperous, guarded by the especial care of -his Creator; he was allowed to converse with and acquire knowledge from -beings of a superior nature, but I was wretched, helpless, and alone. -Many times I considered Satan as the fitter emblem of my condition, for -often, like him, when I viewed the bliss of my protectors, the bitter -gall of envy rose within me. - -"Another circumstance strengthened and confirmed these feelings. Soon -after my arrival in the hovel I discovered some papers in the pocket of -the dress which I had taken from your laboratory. At first I had -neglected them, but now that I was able to decipher the characters in -which they were written, I began to study them with diligence. It was -your journal of the four months that preceded my creation. You -minutely described in these papers every step you took in the progress -of your work; this history was mingled with accounts of domestic -occurrences. You doubtless recollect these papers. Here they are. -Everything is related in them which bears reference to my accursed -origin; the whole detail of that series of disgusting circumstances -which produced it is set in view; the minutest description of my odious -and loathsome person is given, in language which painted your own -horrors and rendered mine indelible. I sickened as I read. 'Hateful -day when I received life!' I exclaimed in agony. 'Accursed creator! -Why did you form a monster so hideous that even YOU turned from me in -disgust? God, in pity, made man beautiful and alluring, after his own -image; but my form is a filthy type of yours, more horrid even from the -very resemblance. Satan had his companions, fellow devils, to admire -and encourage him, but I am solitary and abhorred.' - -"These were the reflections of my hours of despondency and solitude; -but when I contemplated the virtues of the cottagers, their amiable and -benevolent dispositions, I persuaded myself that when they should -become acquainted with my admiration of their virtues they would -compassionate me and overlook my personal deformity. Could they turn -from their door one, however monstrous, who solicited their compassion -and friendship? I resolved, at least, not to despair, but in every way -to fit myself for an interview with them which would decide my fate. I -postponed this attempt for some months longer, for the importance -attached to its success inspired me with a dread lest I should fail. -Besides, I found that my understanding improved so much with every -day's experience that I was unwilling to commence this undertaking -until a few more months should have added to my sagacity. - -"Several changes, in the meantime, took place in the cottage. The -presence of Safie diffused happiness among its inhabitants, and I also -found that a greater degree of plenty reigned there. Felix and Agatha -spent more time in amusement and conversation, and were assisted in -their labours by servants. They did not appear rich, but they were -contented and happy; their feelings were serene and peaceful, while -mine became every day more tumultuous. Increase of knowledge only -discovered to me more clearly what a wretched outcast I was. I -cherished hope, it is true, but it vanished when I beheld my person -reflected in water or my shadow in the moonshine, even as that frail -image and that inconstant shade. - -"I endeavoured to crush these fears and to fortify myself for the trial -which in a few months I resolved to undergo; and sometimes I allowed my -thoughts, unchecked by reason, to ramble in the fields of Paradise, and -dared to fancy amiable and lovely creatures sympathizing with my -feelings and cheering my gloom; their angelic countenances breathed -smiles of consolation. But it was all a dream; no Eve soothed my -sorrows nor shared my thoughts; I was alone. I remembered Adam's -supplication to his Creator. But where was mine? He had abandoned me, -and in the bitterness of my heart I cursed him. - -"Autumn passed thus. I saw, with surprise and grief, the leaves decay -and fall, and nature again assume the barren and bleak appearance it -had worn when I first beheld the woods and the lovely moon. Yet I did -not heed the bleakness of the weather; I was better fitted by my -conformation for the endurance of cold than heat. But my chief -delights were the sight of the flowers, the birds, and all the gay -apparel of summer; when those deserted me, I turned with more attention -towards the cottagers. Their happiness was not decreased by the -absence of summer. They loved and sympathized with one another; and -their joys, depending on each other, were not interrupted by the -casualties that took place around them. The more I saw of them, the -greater became my desire to claim their protection and kindness; my -heart yearned to be known and loved by these amiable creatures; to see -their sweet looks directed towards me with affection was the utmost -limit of my ambition. I dared not think that they would turn them from -me with disdain and horror. The poor that stopped at their door were -never driven away. I asked, it is true, for greater treasures than a -little food or rest: I required kindness and sympathy; but I did not -believe myself utterly unworthy of it. - -"The winter advanced, and an entire revolution of the seasons had taken -place since I awoke into life. My attention at this time was solely -directed towards my plan of introducing myself into the cottage of my -protectors. I revolved many projects, but that on which I finally -fixed was to enter the dwelling when the blind old man should be alone. -I had sagacity enough to discover that the unnatural hideousness of my -person was the chief object of horror with those who had formerly -beheld me. My voice, although harsh, had nothing terrible in it; I -thought, therefore, that if in the absence of his children I could gain -the good will and mediation of the old De Lacey, I might by his means -be tolerated by my younger protectors. - -"One day, when the sun shone on the red leaves that strewed the ground -and diffused cheerfulness, although it denied warmth, Safie, Agatha, -and Felix departed on a long country walk, and the old man, at his own -desire, was left alone in the cottage. When his children had departed, -he took up his guitar and played several mournful but sweet airs, more -sweet and mournful than I had ever heard him play before. At first his -countenance was illuminated with pleasure, but as he continued, -thoughtfulness and sadness succeeded; at length, laying aside the -instrument, he sat absorbed in reflection. - -"My heart beat quick; this was the hour and moment of trial, which -would decide my hopes or realize my fears. The servants were gone to a -neighbouring fair. All was silent in and around the cottage; it was an -excellent opportunity; yet, when I proceeded to execute my plan, my -limbs failed me and I sank to the ground. Again I rose, and exerting -all the firmness of which I was master, removed the planks which I had -placed before my hovel to conceal my retreat. The fresh air revived -me, and with renewed determination I approached the door of their -cottage. - -"I knocked. 'Who is there?' said the old man. 'Come in.' - -"I entered. 'Pardon this intrusion,' said I; 'I am a traveller in want -of a little rest; you would greatly oblige me if you would allow me to -remain a few minutes before the fire.' - -"'Enter,' said De Lacey, 'and I will try in what manner I can to -relieve your wants; but, unfortunately, my children are from home, and -as I am blind, I am afraid I shall find it difficult to procure food -for you.' - -"'Do not trouble yourself, my kind host; I have food; it is warmth and -rest only that I need.' - -"I sat down, and a silence ensued. I knew that every minute was -precious to me, yet I remained irresolute in what manner to commence -the interview, when the old man addressed me. 'By your language, -stranger, I suppose you are my countryman; are you French?' - -"'No; but I was educated by a French family and understand that -language only. I am now going to claim the protection of some friends, -whom I sincerely love, and of whose favour I have some hopes.' - -"'Are they Germans?' - -"'No, they are French. But let us change the subject. I am an -unfortunate and deserted creature, I look around and I have no relation -or friend upon earth. These amiable people to whom I go have never -seen me and know little of me. I am full of fears, for if I fail -there, I am an outcast in the world forever.' - -"'Do not despair. To be friendless is indeed to be unfortunate, but -the hearts of men, when unprejudiced by any obvious self-interest, are -full of brotherly love and charity. Rely, therefore, on your hopes; -and if these friends are good and amiable, do not despair.' - -"'They are kind--they are the most excellent creatures in the world; -but, unfortunately, they are prejudiced against me. I have good -dispositions; my life has been hitherto harmless and in some degree -beneficial; but a fatal prejudice clouds their eyes, and where they -ought to see a feeling and kind friend, they behold only a detestable -monster.' - -"'That is indeed unfortunate; but if you are really blameless, cannot -you undeceive them?' - -"'I am about to undertake that task; and it is on that account that I -feel so many overwhelming terrors. I tenderly love these friends; I -have, unknown to them, been for many months in the habits of daily -kindness towards them; but they believe that I wish to injure them, and -it is that prejudice which I wish to overcome.' - -"'Where do these friends reside?' - -"'Near this spot.' - -"The old man paused and then continued, 'If you will unreservedly -confide to me the particulars of your tale, I perhaps may be of use in -undeceiving them. I am blind and cannot judge of your countenance, but -there is something in your words which persuades me that you are -sincere. I am poor and an exile, but it will afford me true pleasure -to be in any way serviceable to a human creature.' - -"'Excellent man! I thank you and accept your generous offer. You -raise me from the dust by this kindness; and I trust that, by your aid, -I shall not be driven from the society and sympathy of your fellow -creatures.' - -"'Heaven forbid! Even if you were really criminal, for that can only -drive you to desperation, and not instigate you to virtue. I also am -unfortunate; I and my family have been condemned, although innocent; -judge, therefore, if I do not feel for your misfortunes.' - -"'How can I thank you, my best and only benefactor? From your lips -first have I heard the voice of kindness directed towards me; I shall -be forever grateful; and your present humanity assures me of success -with those friends whom I am on the point of meeting.' - -"'May I know the names and residence of those friends?' - -"I paused. This, I thought, was the moment of decision, which was to -rob me of or bestow happiness on me forever. I struggled vainly for -firmness sufficient to answer him, but the effort destroyed all my -remaining strength; I sank on the chair and sobbed aloud. At that -moment I heard the steps of my younger protectors. I had not a moment -to lose, but seizing the hand of the old man, I cried, 'Now is the -time! Save and protect me! You and your family are the friends whom I -seek. Do not you desert me in the hour of trial!' - -"'Great God!' exclaimed the old man. 'Who are you?' - -"At that instant the cottage door was opened, and Felix, Safie, and -Agatha entered. Who can describe their horror and consternation on -beholding me? Agatha fainted, and Safie, unable to attend to her -friend, rushed out of the cottage. Felix darted forward, and with -supernatural force tore me from his father, to whose knees I clung, in -a transport of fury, he dashed me to the ground and struck me violently -with a stick. I could have torn him limb from limb, as the lion rends -the antelope. But my heart sank within me as with bitter sickness, and -I refrained. I saw him on the point of repeating his blow, when, -overcome by pain and anguish, I quitted the cottage, and in the general -tumult escaped unperceived to my hovel." - - - -Chapter 16 - -"Cursed, cursed creator! Why did I live? Why, in that instant, did I -not extinguish the spark of existence which you had so wantonly -bestowed? I know not; despair had not yet taken possession of me; my -feelings were those of rage and revenge. I could with pleasure have -destroyed the cottage and its inhabitants and have glutted myself with -their shrieks and misery. - -"When night came I quitted my retreat and wandered in the wood; and -now, no longer restrained by the fear of discovery, I gave vent to my -anguish in fearful howlings. I was like a wild beast that had broken -the toils, destroying the objects that obstructed me and ranging -through the wood with a stag-like swiftness. Oh! What a miserable -night I passed! The cold stars shone in mockery, and the bare trees -waved their branches above me; now and then the sweet voice of a bird -burst forth amidst the universal stillness. All, save I, were at rest -or in enjoyment; I, like the arch-fiend, bore a hell within me, and -finding myself unsympathized with, wished to tear up the trees, spread -havoc and destruction around me, and then to have sat down and enjoyed -the ruin. - -"But this was a luxury of sensation that could not endure; I became -fatigued with excess of bodily exertion and sank on the damp grass in -the sick impotence of despair. There was none among the myriads of men -that existed who would pity or assist me; and should I feel kindness -towards my enemies? No; from that moment I declared everlasting war -against the species, and more than all, against him who had formed me -and sent me forth to this insupportable misery. - -"The sun rose; I heard the voices of men and knew that it was -impossible to return to my retreat during that day. Accordingly I hid -myself in some thick underwood, determining to devote the ensuing hours -to reflection on my situation. - -"The pleasant sunshine and the pure air of day restored me to some -degree of tranquillity; and when I considered what had passed at the -cottage, I could not help believing that I had been too hasty in my -conclusions. I had certainly acted imprudently. It was apparent that -my conversation had interested the father in my behalf, and I was a -fool in having exposed my person to the horror of his children. I -ought to have familiarized the old De Lacey to me, and by degrees to -have discovered myself to the rest of his family, when they should have -been prepared for my approach. But I did not believe my errors to be -irretrievable, and after much consideration I resolved to return to the -cottage, seek the old man, and by my representations win him to my -party. - -"These thoughts calmed me, and in the afternoon I sank into a profound -sleep; but the fever of my blood did not allow me to be visited by -peaceful dreams. The horrible scene of the preceding day was forever -acting before my eyes; the females were flying and the enraged Felix -tearing me from his father's feet. I awoke exhausted, and finding that -it was already night, I crept forth from my hiding-place, and went in -search of food. - -"When my hunger was appeased, I directed my steps towards the -well-known path that conducted to the cottage. All there was at peace. -I crept into my hovel and remained in silent expectation of the -accustomed hour when the family arose. That hour passed, the sun -mounted high in the heavens, but the cottagers did not appear. I -trembled violently, apprehending some dreadful misfortune. The inside -of the cottage was dark, and I heard no motion; I cannot describe the -agony of this suspense. - -"Presently two countrymen passed by, but pausing near the cottage, they -entered into conversation, using violent gesticulations; but I did not -understand what they said, as they spoke the language of the country, -which differed from that of my protectors. Soon after, however, Felix -approached with another man; I was surprised, as I knew that he had not -quitted the cottage that morning, and waited anxiously to discover from -his discourse the meaning of these unusual appearances. - -"'Do you consider,' said his companion to him, 'that you will be -obliged to pay three months' rent and to lose the produce of your -garden? I do not wish to take any unfair advantage, and I beg -therefore that you will take some days to consider of your -determination.' - -"'It is utterly useless,' replied Felix; 'we can never again inhabit -your cottage. The life of my father is in the greatest danger, owing -to the dreadful circumstance that I have related. My wife and my -sister will never recover from their horror. I entreat you not to -reason with me any more. Take possession of your tenement and let me -fly from this place.' - -"Felix trembled violently as he said this. He and his companion -entered the cottage, in which they remained for a few minutes, and then -departed. I never saw any of the family of De Lacey more. - -"I continued for the remainder of the day in my hovel in a state of -utter and stupid despair. My protectors had departed and had broken -the only link that held me to the world. For the first time the -feelings of revenge and hatred filled my bosom, and I did not strive to -control them, but allowing myself to be borne away by the stream, I -bent my mind towards injury and death. When I thought of my friends, -of the mild voice of De Lacey, the gentle eyes of Agatha, and the -exquisite beauty of the Arabian, these thoughts vanished and a gush of -tears somewhat soothed me. But again when I reflected that they had -spurned and deserted me, anger returned, a rage of anger, and unable to -injure anything human, I turned my fury towards inanimate objects. As -night advanced I placed a variety of combustibles around the cottage, -and after having destroyed every vestige of cultivation in the garden, -I waited with forced impatience until the moon had sunk to commence my -operations. - -"As the night advanced, a fierce wind arose from the woods and quickly -dispersed the clouds that had loitered in the heavens; the blast tore -along like a mighty avalanche and produced a kind of insanity in my -spirits that burst all bounds of reason and reflection. I lighted the -dry branch of a tree and danced with fury around the devoted cottage, -my eyes still fixed on the western horizon, the edge of which the moon -nearly touched. A part of its orb was at length hid, and I waved my -brand; it sank, and with a loud scream I fired the straw, and heath, -and bushes, which I had collected. The wind fanned the fire, and the -cottage was quickly enveloped by the flames, which clung to it and -licked it with their forked and destroying tongues. - -"As soon as I was convinced that no assistance could save any part of -the habitation, I quitted the scene and sought for refuge in the woods. - -"And now, with the world before me, whither should I bend my steps? I -resolved to fly far from the scene of my misfortunes; but to me, hated -and despised, every country must be equally horrible. At length the -thought of you crossed my mind. I learned from your papers that you -were my father, my creator; and to whom could I apply with more fitness -than to him who had given me life? Among the lessons that Felix had -bestowed upon Safie, geography had not been omitted; I had learned from -these the relative situations of the different countries of the earth. -You had mentioned Geneva as the name of your native town, and towards -this place I resolved to proceed. - -"But how was I to direct myself? I knew that I must travel in a -southwesterly direction to reach my destination, but the sun was my -only guide. I did not know the names of the towns that I was to pass -through, nor could I ask information from a single human being; but I -did not despair. From you only could I hope for succour, although -towards you I felt no sentiment but that of hatred. Unfeeling, -heartless creator! You had endowed me with perceptions and passions -and then cast me abroad an object for the scorn and horror of mankind. -But on you only had I any claim for pity and redress, and from you I -determined to seek that justice which I vainly attempted to gain from -any other being that wore the human form. - -"My travels were long and the sufferings I endured intense. It was -late in autumn when I quitted the district where I had so long resided. -I travelled only at night, fearful of encountering the visage of a -human being. Nature decayed around me, and the sun became heatless; -rain and snow poured around me; mighty rivers were frozen; the surface -of the earth was hard and chill, and bare, and I found no shelter. Oh, -earth! How often did I imprecate curses on the cause of my being! The -mildness of my nature had fled, and all within me was turned to gall -and bitterness. The nearer I approached to your habitation, the more -deeply did I feel the spirit of revenge enkindled in my heart. Snow -fell, and the waters were hardened, but I rested not. A few incidents -now and then directed me, and I possessed a map of the country; but I -often wandered wide from my path. The agony of my feelings allowed me -no respite; no incident occurred from which my rage and misery could -not extract its food; but a circumstance that happened when I arrived -on the confines of Switzerland, when the sun had recovered its warmth -and the earth again began to look green, confirmed in an especial -manner the bitterness and horror of my feelings. - -"I generally rested during the day and travelled only when I was -secured by night from the view of man. One morning, however, finding -that my path lay through a deep wood, I ventured to continue my journey -after the sun had risen; the day, which was one of the first of spring, -cheered even me by the loveliness of its sunshine and the balminess of -the air. I felt emotions of gentleness and pleasure, that had long -appeared dead, revive within me. Half surprised by the novelty of -these sensations, I allowed myself to be borne away by them, and -forgetting my solitude and deformity, dared to be happy. Soft tears -again bedewed my cheeks, and I even raised my humid eyes with -thankfulness towards the blessed sun, which bestowed such joy upon me. - -"I continued to wind among the paths of the wood, until I came to its -boundary, which was skirted by a deep and rapid river, into which many -of the trees bent their branches, now budding with the fresh spring. -Here I paused, not exactly knowing what path to pursue, when I heard -the sound of voices, that induced me to conceal myself under the shade -of a cypress. I was scarcely hid when a young girl came running -towards the spot where I was concealed, laughing, as if she ran from -someone in sport. She continued her course along the precipitous sides -of the river, when suddenly her foot slipped, and she fell into the -rapid stream. I rushed from my hiding-place and with extreme labour, -from the force of the current, saved her and dragged her to shore. She -was senseless, and I endeavoured by every means in my power to restore -animation, when I was suddenly interrupted by the approach of a rustic, -who was probably the person from whom she had playfully fled. On -seeing me, he darted towards me, and tearing the girl from my arms, -hastened towards the deeper parts of the wood. I followed speedily, I -hardly knew why; but when the man saw me draw near, he aimed a gun, -which he carried, at my body and fired. I sank to the ground, and my -injurer, with increased swiftness, escaped into the wood. - -"This was then the reward of my benevolence! I had saved a human being -from destruction, and as a recompense I now writhed under the miserable -pain of a wound which shattered the flesh and bone. The feelings of -kindness and gentleness which I had entertained but a few moments -before gave place to hellish rage and gnashing of teeth. Inflamed by -pain, I vowed eternal hatred and vengeance to all mankind. But the -agony of my wound overcame me; my pulses paused, and I fainted. - -"For some weeks I led a miserable life in the woods, endeavouring to -cure the wound which I had received. The ball had entered my shoulder, -and I knew not whether it had remained there or passed through; at any -rate I had no means of extracting it. My sufferings were augmented -also by the oppressive sense of the injustice and ingratitude of their -infliction. My daily vows rose for revenge--a deep and deadly revenge, -such as would alone compensate for the outrages and anguish I had -endured. - -"After some weeks my wound healed, and I continued my journey. The -labours I endured were no longer to be alleviated by the bright sun or -gentle breezes of spring; all joy was but a mockery which insulted my -desolate state and made me feel more painfully that I was not made for -the enjoyment of pleasure. - -"But my toils now drew near a close, and in two months from this time I -reached the environs of Geneva. - -"It was evening when I arrived, and I retired to a hiding-place among -the fields that surround it to meditate in what manner I should apply -to you. I was oppressed by fatigue and hunger and far too unhappy to -enjoy the gentle breezes of evening or the prospect of the sun setting -behind the stupendous mountains of Jura. - -"At this time a slight sleep relieved me from the pain of reflection, -which was disturbed by the approach of a beautiful child, who came -running into the recess I had chosen, with all the sportiveness of -infancy. Suddenly, as I gazed on him, an idea seized me that this -little creature was unprejudiced and had lived too short a time to have -imbibed a horror of deformity. If, therefore, I could seize him and -educate him as my companion and friend, I should not be so desolate in -this peopled earth. - -"Urged by this impulse, I seized on the boy as he passed and drew him -towards me. As soon as he beheld my form, he placed his hands before -his eyes and uttered a shrill scream; I drew his hand forcibly from his -face and said, 'Child, what is the meaning of this? I do not intend to -hurt you; listen to me.' - -"He struggled violently. 'Let me go,' he cried; 'monster! Ugly -wretch! You wish to eat me and tear me to pieces. You are an ogre. -Let me go, or I will tell my papa.' - -"'Boy, you will never see your father again; you must come with me.' - -"'Hideous monster! Let me go. My papa is a syndic--he is M. -Frankenstein--he will punish you. You dare not keep me.' - -"'Frankenstein! you belong then to my enemy--to him towards whom I have -sworn eternal revenge; you shall be my first victim.' - -"The child still struggled and loaded me with epithets which carried -despair to my heart; I grasped his throat to silence him, and in a -moment he lay dead at my feet. - -"I gazed on my victim, and my heart swelled with exultation and hellish -triumph; clapping my hands, I exclaimed, 'I too can create desolation; -my enemy is not invulnerable; this death will carry despair to him, and -a thousand other miseries shall torment and destroy him.' - -"As I fixed my eyes on the child, I saw something glittering on his -breast. I took it; it was a portrait of a most lovely woman. In spite -of my malignity, it softened and attracted me. For a few moments I -gazed with delight on her dark eyes, fringed by deep lashes, and her -lovely lips; but presently my rage returned; I remembered that I was -forever deprived of the delights that such beautiful creatures could -bestow and that she whose resemblance I contemplated would, in -regarding me, have changed that air of divine benignity to one -expressive of disgust and affright. - -"Can you wonder that such thoughts transported me with rage? I only -wonder that at that moment, instead of venting my sensations in -exclamations and agony, I did not rush among mankind and perish in the -attempt to destroy them. - -"While I was overcome by these feelings, I left the spot where I had -committed the murder, and seeking a more secluded hiding-place, I -entered a barn which had appeared to me to be empty. A woman was -sleeping on some straw; she was young, not indeed so beautiful as her -whose portrait I held, but of an agreeable aspect and blooming in the -loveliness of youth and health. Here, I thought, is one of those whose -joy-imparting smiles are bestowed on all but me. And then I bent over -her and whispered, 'Awake, fairest, thy lover is near--he who would -give his life but to obtain one look of affection from thine eyes; my -beloved, awake!' - -"The sleeper stirred; a thrill of terror ran through me. Should she -indeed awake, and see me, and curse me, and denounce the murderer? Thus -would she assuredly act if her darkened eyes opened and she beheld me. -The thought was madness; it stirred the fiend within me--not I, but -she, shall suffer; the murder I have committed because I am forever -robbed of all that she could give me, she shall atone. The crime had -its source in her; be hers the punishment! Thanks to the lessons of -Felix and the sanguinary laws of man, I had learned now to work -mischief. I bent over her and placed the portrait securely in one of -the folds of her dress. She moved again, and I fled. - -"For some days I haunted the spot where these scenes had taken place, -sometimes wishing to see you, sometimes resolved to quit the world and -its miseries forever. At length I wandered towards these mountains, -and have ranged through their immense recesses, consumed by a burning -passion which you alone can gratify. We may not part until you have -promised to comply with my requisition. I am alone and miserable; man -will not associate with me; but one as deformed and horrible as myself -would not deny herself to me. My companion must be of the same species -and have the same defects. This being you must create." - - - -Chapter 17 - -The being finished speaking and fixed his looks upon me in the -expectation of a reply. But I was bewildered, perplexed, and unable to -arrange my ideas sufficiently to understand the full extent of his -proposition. He continued, - -"You must create a female for me with whom I can live in the -interchange of those sympathies necessary for my being. This you alone -can do, and I demand it of you as a right which you must not refuse to -concede." - -The latter part of his tale had kindled anew in me the anger that had -died away while he narrated his peaceful life among the cottagers, and -as he said this I could no longer suppress the rage that burned within -me. - -"I do refuse it," I replied; "and no torture shall ever extort a -consent from me. You may render me the most miserable of men, but you -shall never make me base in my own eyes. Shall I create another like -yourself, whose joint wickedness might desolate the world. Begone! I -have answered you; you may torture me, but I will never consent." - -"You are in the wrong," replied the fiend; "and instead of threatening, -I am content to reason with you. I am malicious because I am -miserable. Am I not shunned and hated by all mankind? You, my -creator, would tear me to pieces and triumph; remember that, and tell -me why I should pity man more than he pities me? You would not call it -murder if you could precipitate me into one of those ice-rifts and -destroy my frame, the work of your own hands. Shall I respect man when -he condemns me? Let him live with me in the interchange of kindness, -and instead of injury I would bestow every benefit upon him with tears -of gratitude at his acceptance. But that cannot be; the human senses -are insurmountable barriers to our union. Yet mine shall not be the -submission of abject slavery. I will revenge my injuries; if I cannot -inspire love, I will cause fear, and chiefly towards you my arch-enemy, -because my creator, do I swear inextinguishable hatred. Have a care; I -will work at your destruction, nor finish until I desolate your heart, -so that you shall curse the hour of your birth." - -A fiendish rage animated him as he said this; his face was wrinkled -into contortions too horrible for human eyes to behold; but presently -he calmed himself and proceeded-- - -"I intended to reason. This passion is detrimental to me, for you do -not reflect that YOU are the cause of its excess. If any being felt -emotions of benevolence towards me, I should return them a hundred and -a hundredfold; for that one creature's sake I would make peace with the -whole kind! But I now indulge in dreams of bliss that cannot be -realized. What I ask of you is reasonable and moderate; I demand a -creature of another sex, but as hideous as myself; the gratification is -small, but it is all that I can receive, and it shall content me. It -is true, we shall be monsters, cut off from all the world; but on that -account we shall be more attached to one another. Our lives will not -be happy, but they will be harmless and free from the misery I now -feel. Oh! My creator, make me happy; let me feel gratitude towards -you for one benefit! Let me see that I excite the sympathy of some -existing thing; do not deny me my request!" - -I was moved. I shuddered when I thought of the possible consequences -of my consent, but I felt that there was some justice in his argument. -His tale and the feelings he now expressed proved him to be a creature -of fine sensations, and did I not as his maker owe him all the portion -of happiness that it was in my power to bestow? He saw my change of -feeling and continued, - -"If you consent, neither you nor any other human being shall ever see -us again; I will go to the vast wilds of South America. My food is not -that of man; I do not destroy the lamb and the kid to glut my appetite; -acorns and berries afford me sufficient nourishment. My companion will -be of the same nature as myself and will be content with the same fare. -We shall make our bed of dried leaves; the sun will shine on us as on -man and will ripen our food. The picture I present to you is peaceful -and human, and you must feel that you could deny it only in the -wantonness of power and cruelty. Pitiless as you have been towards me, -I now see compassion in your eyes; let me seize the favourable moment -and persuade you to promise what I so ardently desire." - -"You propose," replied I, "to fly from the habitations of man, to dwell -in those wilds where the beasts of the field will be your only -companions. How can you, who long for the love and sympathy of man, -persevere in this exile? You will return and again seek their -kindness, and you will meet with their detestation; your evil passions -will be renewed, and you will then have a companion to aid you in the -task of destruction. This may not be; cease to argue the point, for I -cannot consent." - -"How inconstant are your feelings! But a moment ago you were moved by -my representations, and why do you again harden yourself to my -complaints? I swear to you, by the earth which I inhabit, and by you -that made me, that with the companion you bestow I will quit the -neighbourhood of man and dwell, as it may chance, in the most savage of -places. My evil passions will have fled, for I shall meet with -sympathy! My life will flow quietly away, and in my dying moments I -shall not curse my maker." - -His words had a strange effect upon me. I compassionated him and -sometimes felt a wish to console him, but when I looked upon him, when -I saw the filthy mass that moved and talked, my heart sickened and my -feelings were altered to those of horror and hatred. I tried to stifle -these sensations; I thought that as I could not sympathize with him, I -had no right to withhold from him the small portion of happiness which -was yet in my power to bestow. - -"You swear," I said, "to be harmless; but have you not already shown a -degree of malice that should reasonably make me distrust you? May not -even this be a feint that will increase your triumph by affording a -wider scope for your revenge?" - -"How is this? I must not be trifled with, and I demand an answer. If -I have no ties and no affections, hatred and vice must be my portion; -the love of another will destroy the cause of my crimes, and I shall -become a thing of whose existence everyone will be ignorant. My vices -are the children of a forced solitude that I abhor, and my virtues will -necessarily arise when I live in communion with an equal. I shall feel -the affections of a sensitive being and become linked to the chain of -existence and events from which I am now excluded." - -I paused some time to reflect on all he had related and the various -arguments which he had employed. I thought of the promise of virtues -which he had displayed on the opening of his existence and the -subsequent blight of all kindly feeling by the loathing and scorn which -his protectors had manifested towards him. His power and threats were -not omitted in my calculations; a creature who could exist in the ice -caves of the glaciers and hide himself from pursuit among the ridges of -inaccessible precipices was a being possessing faculties it would be -vain to cope with. After a long pause of reflection I concluded that -the justice due both to him and my fellow creatures demanded of me that -I should comply with his request. Turning to him, therefore, I said, - -"I consent to your demand, on your solemn oath to quit Europe forever, -and every other place in the neighbourhood of man, as soon as I shall -deliver into your hands a female who will accompany you in your exile." - -"I swear," he cried, "by the sun, and by the blue sky of heaven, and by -the fire of love that burns my heart, that if you grant my prayer, -while they exist you shall never behold me again. Depart to your home -and commence your labours; I shall watch their progress with -unutterable anxiety; and fear not but that when you are ready I shall -appear." - -Saying this, he suddenly quitted me, fearful, perhaps, of any change in -my sentiments. I saw him descend the mountain with greater speed than -the flight of an eagle, and quickly lost among the undulations of the -sea of ice. - -His tale had occupied the whole day, and the sun was upon the verge of -the horizon when he departed. I knew that I ought to hasten my descent -towards the valley, as I should soon be encompassed in darkness; but my -heart was heavy, and my steps slow. The labour of winding among the -little paths of the mountain and fixing my feet firmly as I advanced -perplexed me, occupied as I was by the emotions which the occurrences -of the day had produced. Night was far advanced when I came to the -halfway resting-place and seated myself beside the fountain. The stars -shone at intervals as the clouds passed from over them; the dark pines -rose before me, and every here and there a broken tree lay on the -ground; it was a scene of wonderful solemnity and stirred strange -thoughts within me. I wept bitterly, and clasping my hands in agony, I -exclaimed, "Oh! Stars and clouds and winds, ye are all about to mock -me; if ye really pity me, crush sensation and memory; let me become as -nought; but if not, depart, depart, and leave me in darkness." - -These were wild and miserable thoughts, but I cannot describe to you -how the eternal twinkling of the stars weighed upon me and how I -listened to every blast of wind as if it were a dull ugly siroc on its -way to consume me. - -Morning dawned before I arrived at the village of Chamounix; I took no -rest, but returned immediately to Geneva. Even in my own heart I could -give no expression to my sensations--they weighed on me with a -mountain's weight and their excess destroyed my agony beneath them. -Thus I returned home, and entering the house, presented myself to the -family. My haggard and wild appearance awoke intense alarm, but I -answered no question, scarcely did I speak. I felt as if I were placed -under a ban--as if I had no right to claim their sympathies--as if -never more might I enjoy companionship with them. Yet even thus I -loved them to adoration; and to save them, I resolved to dedicate -myself to my most abhorred task. The prospect of such an occupation -made every other circumstance of existence pass before me like a dream, -and that thought only had to me the reality of life. - - - -Chapter 18 - -Day after day, week after week, passed away on my return to Geneva; and -I could not collect the courage to recommence my work. I feared the -vengeance of the disappointed fiend, yet I was unable to overcome my -repugnance to the task which was enjoined me. I found that I could not -compose a female without again devoting several months to profound -study and laborious disquisition. I had heard of some discoveries -having been made by an English philosopher, the knowledge of which was -material to my success, and I sometimes thought of obtaining my -father's consent to visit England for this purpose; but I clung to -every pretence of delay and shrank from taking the first step in an -undertaking whose immediate necessity began to appear less absolute to -me. A change indeed had taken place in me; my health, which had -hitherto declined, was now much restored; and my spirits, when -unchecked by the memory of my unhappy promise, rose proportionably. My -father saw this change with pleasure, and he turned his thoughts -towards the best method of eradicating the remains of my melancholy, -which every now and then would return by fits, and with a devouring -blackness overcast the approaching sunshine. At these moments I took -refuge in the most perfect solitude. I passed whole days on the lake -alone in a little boat, watching the clouds and listening to the -rippling of the waves, silent and listless. But the fresh air and -bright sun seldom failed to restore me to some degree of composure, and -on my return I met the salutations of my friends with a readier smile -and a more cheerful heart. - -It was after my return from one of these rambles that my father, -calling me aside, thus addressed me, - -"I am happy to remark, my dear son, that you have resumed your former -pleasures and seem to be returning to yourself. And yet you are still -unhappy and still avoid our society. For some time I was lost in -conjecture as to the cause of this, but yesterday an idea struck me, -and if it is well founded, I conjure you to avow it. Reserve on such a -point would be not only useless, but draw down treble misery on us all." - -I trembled violently at his exordium, and my father continued--"I -confess, my son, that I have always looked forward to your marriage -with our dear Elizabeth as the tie of our domestic comfort and the stay -of my declining years. You were attached to each other from your -earliest infancy; you studied together, and appeared, in dispositions -and tastes, entirely suited to one another. But so blind is the -experience of man that what I conceived to be the best assistants to my -plan may have entirely destroyed it. You, perhaps, regard her as your -sister, without any wish that she might become your wife. Nay, you may -have met with another whom you may love; and considering yourself as -bound in honour to Elizabeth, this struggle may occasion the poignant -misery which you appear to feel." - -"My dear father, reassure yourself. I love my cousin tenderly and -sincerely. I never saw any woman who excited, as Elizabeth does, my -warmest admiration and affection. My future hopes and prospects are -entirely bound up in the expectation of our union." - -"The expression of your sentiments of this subject, my dear Victor, -gives me more pleasure than I have for some time experienced. If you -feel thus, we shall assuredly be happy, however present events may cast -a gloom over us. But it is this gloom which appears to have taken so -strong a hold of your mind that I wish to dissipate. Tell me, -therefore, whether you object to an immediate solemnization of the -marriage. We have been unfortunate, and recent events have drawn us -from that everyday tranquillity befitting my years and infirmities. You -are younger; yet I do not suppose, possessed as you are of a competent -fortune, that an early marriage would at all interfere with any future -plans of honour and utility that you may have formed. Do not suppose, -however, that I wish to dictate happiness to you or that a delay on -your part would cause me any serious uneasiness. Interpret my words -with candour and answer me, I conjure you, with confidence and -sincerity." - -I listened to my father in silence and remained for some time incapable -of offering any reply. I revolved rapidly in my mind a multitude of -thoughts and endeavoured to arrive at some conclusion. Alas! To me -the idea of an immediate union with my Elizabeth was one of horror and -dismay. I was bound by a solemn promise which I had not yet fulfilled -and dared not break, or if I did, what manifold miseries might not -impend over me and my devoted family! Could I enter into a festival -with this deadly weight yet hanging round my neck and bowing me to the -ground? I must perform my engagement and let the monster depart with -his mate before I allowed myself to enjoy the delight of a union from -which I expected peace. - -I remembered also the necessity imposed upon me of either journeying to -England or entering into a long correspondence with those philosophers -of that country whose knowledge and discoveries were of indispensable -use to me in my present undertaking. The latter method of obtaining -the desired intelligence was dilatory and unsatisfactory; besides, I -had an insurmountable aversion to the idea of engaging myself in my -loathsome task in my father's house while in habits of familiar -intercourse with those I loved. I knew that a thousand fearful -accidents might occur, the slightest of which would disclose a tale to -thrill all connected with me with horror. I was aware also that I -should often lose all self-command, all capacity of hiding the -harrowing sensations that would possess me during the progress of my -unearthly occupation. I must absent myself from all I loved while thus -employed. Once commenced, it would quickly be achieved, and I might be -restored to my family in peace and happiness. My promise fulfilled, -the monster would depart forever. Or (so my fond fancy imaged) some -accident might meanwhile occur to destroy him and put an end to my -slavery forever. - -These feelings dictated my answer to my father. I expressed a wish to -visit England, but concealing the true reasons of this request, I -clothed my desires under a guise which excited no suspicion, while I -urged my desire with an earnestness that easily induced my father to -comply. After so long a period of an absorbing melancholy that -resembled madness in its intensity and effects, he was glad to find -that I was capable of taking pleasure in the idea of such a journey, -and he hoped that change of scene and varied amusement would, before my -return, have restored me entirely to myself. - -The duration of my absence was left to my own choice; a few months, or -at most a year, was the period contemplated. One paternal kind -precaution he had taken to ensure my having a companion. Without -previously communicating with me, he had, in concert with Elizabeth, -arranged that Clerval should join me at Strasbourg. This interfered -with the solitude I coveted for the prosecution of my task; yet at the -commencement of my journey the presence of my friend could in no way be -an impediment, and truly I rejoiced that thus I should be saved many -hours of lonely, maddening reflection. Nay, Henry might stand between -me and the intrusion of my foe. If I were alone, would he not at times -force his abhorred presence on me to remind me of my task or to -contemplate its progress? - -To England, therefore, I was bound, and it was understood that my union -with Elizabeth should take place immediately on my return. My father's -age rendered him extremely averse to delay. For myself, there was one -reward I promised myself from my detested toils--one consolation for my -unparalleled sufferings; it was the prospect of that day when, -enfranchised from my miserable slavery, I might claim Elizabeth and -forget the past in my union with her. - -I now made arrangements for my journey, but one feeling haunted me -which filled me with fear and agitation. During my absence I should -leave my friends unconscious of the existence of their enemy and -unprotected from his attacks, exasperated as he might be by my -departure. But he had promised to follow me wherever I might go, and -would he not accompany me to England? This imagination was dreadful in -itself, but soothing inasmuch as it supposed the safety of my friends. -I was agonized with the idea of the possibility that the reverse of -this might happen. But through the whole period during which I was the -slave of my creature I allowed myself to be governed by the impulses of -the moment; and my present sensations strongly intimated that the fiend -would follow me and exempt my family from the danger of his -machinations. - -It was in the latter end of September that I again quitted my native -country. My journey had been my own suggestion, and Elizabeth -therefore acquiesced, but she was filled with disquiet at the idea of -my suffering, away from her, the inroads of misery and grief. It had -been her care which provided me a companion in Clerval--and yet a man -is blind to a thousand minute circumstances which call forth a woman's -sedulous attention. She longed to bid me hasten my return; a thousand -conflicting emotions rendered her mute as she bade me a tearful, silent -farewell. - -I threw myself into the carriage that was to convey me away, hardly -knowing whither I was going, and careless of what was passing around. -I remembered only, and it was with a bitter anguish that I reflected on -it, to order that my chemical instruments should be packed to go with -me. Filled with dreary imaginations, I passed through many beautiful -and majestic scenes, but my eyes were fixed and unobserving. I could -only think of the bourne of my travels and the work which was to occupy -me whilst they endured. - -After some days spent in listless indolence, during which I traversed -many leagues, I arrived at Strasbourg, where I waited two days for -Clerval. He came. Alas, how great was the contrast between us! He -was alive to every new scene, joyful when he saw the beauties of the -setting sun, and more happy when he beheld it rise and recommence a new -day. He pointed out to me the shifting colours of the landscape and -the appearances of the sky. "This is what it is to live," he cried; -"how I enjoy existence! But you, my dear Frankenstein, wherefore are -you desponding and sorrowful!" In truth, I was occupied by gloomy -thoughts and neither saw the descent of the evening star nor the golden -sunrise reflected in the Rhine. And you, my friend, would be far more -amused with the journal of Clerval, who observed the scenery with an -eye of feeling and delight, than in listening to my reflections. I, a -miserable wretch, haunted by a curse that shut up every avenue to -enjoyment. - -We had agreed to descend the Rhine in a boat from Strasbourg to -Rotterdam, whence we might take shipping for London. During this -voyage we passed many willowy islands and saw several beautiful towns. -We stayed a day at Mannheim, and on the fifth from our departure from -Strasbourg, arrived at Mainz. The course of the Rhine below Mainz -becomes much more picturesque. The river descends rapidly and winds -between hills, not high, but steep, and of beautiful forms. We saw -many ruined castles standing on the edges of precipices, surrounded by -black woods, high and inaccessible. This part of the Rhine, indeed, -presents a singularly variegated landscape. In one spot you view -rugged hills, ruined castles overlooking tremendous precipices, with -the dark Rhine rushing beneath; and on the sudden turn of a promontory, -flourishing vineyards with green sloping banks and a meandering river -and populous towns occupy the scene. - -We travelled at the time of the vintage and heard the song of the -labourers as we glided down the stream. Even I, depressed in mind, and -my spirits continually agitated by gloomy feelings, even I was pleased. -I lay at the bottom of the boat, and as I gazed on the cloudless blue -sky, I seemed to drink in a tranquillity to which I had long been a -stranger. And if these were my sensations, who can describe those of -Henry? He felt as if he had been transported to fairy-land and enjoyed -a happiness seldom tasted by man. "I have seen," he said, "the most -beautiful scenes of my own country; I have visited the lakes of Lucerne -and Uri, where the snowy mountains descend almost perpendicularly to -the water, casting black and impenetrable shades, which would cause a -gloomy and mournful appearance were it not for the most verdant islands -that believe the eye by their gay appearance; I have seen this lake -agitated by a tempest, when the wind tore up whirlwinds of water and -gave you an idea of what the water-spout must be on the great ocean; -and the waves dash with fury the base of the mountain, where the priest -and his mistress were overwhelmed by an avalanche and where their dying -voices are still said to be heard amid the pauses of the nightly wind; -I have seen the mountains of La Valais, and the Pays de Vaud; but this -country, Victor, pleases me more than all those wonders. The mountains -of Switzerland are more majestic and strange, but there is a charm in -the banks of this divine river that I never before saw equalled. Look -at that castle which overhangs yon precipice; and that also on the -island, almost concealed amongst the foliage of those lovely trees; and -now that group of labourers coming from among their vines; and that -village half hid in the recess of the mountain. Oh, surely the spirit -that inhabits and guards this place has a soul more in harmony with man -than those who pile the glacier or retire to the inaccessible peaks of -the mountains of our own country." Clerval! Beloved friend! Even now -it delights me to record your words and to dwell on the praise of which -you are so eminently deserving. He was a being formed in the "very -poetry of nature." His wild and enthusiastic imagination was chastened -by the sensibility of his heart. His soul overflowed with ardent -affections, and his friendship was of that devoted and wondrous nature -that the world-minded teach us to look for only in the imagination. But -even human sympathies were not sufficient to satisfy his eager mind. -The scenery of external nature, which others regard only with -admiration, he loved with ardour:-- - - - ----The sounding cataract - Haunted him like a passion: the tall rock, - The mountain, and the deep and gloomy wood, - Their colours and their forms, were then to him - An appetite; a feeling, and a love, - That had no need of a remoter charm, - By thought supplied, or any interest - Unborrow'd from the eye. - - [Wordsworth's "Tintern Abbey".] - - -And where does he now exist? Is this gentle and lovely being lost -forever? Has this mind, so replete with ideas, imaginations fanciful -and magnificent, which formed a world, whose existence depended on the -life of its creator;--has this mind perished? Does it now only exist -in my memory? No, it is not thus; your form so divinely wrought, and -beaming with beauty, has decayed, but your spirit still visits and -consoles your unhappy friend. - -Pardon this gush of sorrow; these ineffectual words are but a slight -tribute to the unexampled worth of Henry, but they soothe my heart, -overflowing with the anguish which his remembrance creates. I will -proceed with my tale. - -Beyond Cologne we descended to the plains of Holland; and we resolved -to post the remainder of our way, for the wind was contrary and the -stream of the river was too gentle to aid us. Our journey here lost -the interest arising from beautiful scenery, but we arrived in a few -days at Rotterdam, whence we proceeded by sea to England. It was on a -clear morning, in the latter days of December, that I first saw the -white cliffs of Britain. The banks of the Thames presented a new -scene; they were flat but fertile, and almost every town was marked by -the remembrance of some story. We saw Tilbury Fort and remembered the -Spanish Armada, Gravesend, Woolwich, and Greenwich--places which I had -heard of even in my country. - -At length we saw the numerous steeples of London, St. Paul's towering -above all, and the Tower famed in English history. - - - -Chapter 19 - -London was our present point of rest; we determined to remain several -months in this wonderful and celebrated city. Clerval desired the -intercourse of the men of genius and talent who flourished at this -time, but this was with me a secondary object; I was principally -occupied with the means of obtaining the information necessary for the -completion of my promise and quickly availed myself of the letters of -introduction that I had brought with me, addressed to the most -distinguished natural philosophers. - -If this journey had taken place during my days of study and happiness, -it would have afforded me inexpressible pleasure. But a blight had -come over my existence, and I only visited these people for the sake of -the information they might give me on the subject in which my interest -was so terribly profound. Company was irksome to me; when alone, I -could fill my mind with the sights of heaven and earth; the voice of -Henry soothed me, and I could thus cheat myself into a transitory -peace. But busy, uninteresting, joyous faces brought back despair to -my heart. I saw an insurmountable barrier placed between me and my -fellow men; this barrier was sealed with the blood of William and -Justine, and to reflect on the events connected with those names filled -my soul with anguish. - -But in Clerval I saw the image of my former self; he was inquisitive -and anxious to gain experience and instruction. The difference of -manners which he observed was to him an inexhaustible source of -instruction and amusement. He was also pursuing an object he had long -had in view. His design was to visit India, in the belief that he had -in his knowledge of its various languages, and in the views he had -taken of its society, the means of materially assisting the progress of -European colonization and trade. In Britain only could he further the -execution of his plan. He was forever busy, and the only check to his -enjoyments was my sorrowful and dejected mind. I tried to conceal this -as much as possible, that I might not debar him from the pleasures -natural to one who was entering on a new scene of life, undisturbed by -any care or bitter recollection. I often refused to accompany him, -alleging another engagement, that I might remain alone. I now also -began to collect the materials necessary for my new creation, and this -was to me like the torture of single drops of water continually falling -on the head. Every thought that was devoted to it was an extreme -anguish, and every word that I spoke in allusion to it caused my lips -to quiver, and my heart to palpitate. - -After passing some months in London, we received a letter from a person -in Scotland who had formerly been our visitor at Geneva. He mentioned -the beauties of his native country and asked us if those were not -sufficient allurements to induce us to prolong our journey as far north -as Perth, where he resided. Clerval eagerly desired to accept this -invitation, and I, although I abhorred society, wished to view again -mountains and streams and all the wondrous works with which Nature -adorns her chosen dwelling-places. We had arrived in England at the -beginning of October, and it was now February. We accordingly -determined to commence our journey towards the north at the expiration -of another month. In this expedition we did not intend to follow the -great road to Edinburgh, but to visit Windsor, Oxford, Matlock, and the -Cumberland lakes, resolving to arrive at the completion of this tour -about the end of July. I packed up my chemical instruments and the -materials I had collected, resolving to finish my labours in some -obscure nook in the northern highlands of Scotland. - -We quitted London on the 27th of March and remained a few days at -Windsor, rambling in its beautiful forest. This was a new scene to us -mountaineers; the majestic oaks, the quantity of game, and the herds of -stately deer were all novelties to us. - -From thence we proceeded to Oxford. As we entered this city our minds -were filled with the remembrance of the events that had been transacted -there more than a century and a half before. It was here that Charles -I. had collected his forces. This city had remained faithful to him, -after the whole nation had forsaken his cause to join the standard of -Parliament and liberty. The memory of that unfortunate king and his -companions, the amiable Falkland, the insolent Goring, his queen, and -son, gave a peculiar interest to every part of the city which they -might be supposed to have inhabited. The spirit of elder days found a -dwelling here, and we delighted to trace its footsteps. If these -feelings had not found an imaginary gratification, the appearance of -the city had yet in itself sufficient beauty to obtain our admiration. -The colleges are ancient and picturesque; the streets are almost -magnificent; and the lovely Isis, which flows beside it through meadows -of exquisite verdure, is spread forth into a placid expanse of waters, -which reflects its majestic assemblage of towers, and spires, and -domes, embosomed among aged trees. - -I enjoyed this scene, and yet my enjoyment was embittered both by the -memory of the past and the anticipation of the future. I was formed -for peaceful happiness. During my youthful days discontent never -visited my mind, and if I was ever overcome by ennui, the sight of what -is beautiful in nature or the study of what is excellent and sublime in -the productions of man could always interest my heart and communicate -elasticity to my spirits. But I am a blasted tree; the bolt has -entered my soul; and I felt then that I should survive to exhibit what -I shall soon cease to be--a miserable spectacle of wrecked humanity, -pitiable to others and intolerable to myself. - -We passed a considerable period at Oxford, rambling among its environs -and endeavouring to identify every spot which might relate to the most -animating epoch of English history. Our little voyages of discovery -were often prolonged by the successive objects that presented -themselves. We visited the tomb of the illustrious Hampden and the -field on which that patriot fell. For a moment my soul was elevated -from its debasing and miserable fears to contemplate the divine ideas -of liberty and self sacrifice of which these sights were the monuments -and the remembrancers. For an instant I dared to shake off my chains -and look around me with a free and lofty spirit, but the iron had eaten -into my flesh, and I sank again, trembling and hopeless, into my -miserable self. - -We left Oxford with regret and proceeded to Matlock, which was our next -place of rest. The country in the neighbourhood of this village -resembled, to a greater degree, the scenery of Switzerland; but -everything is on a lower scale, and the green hills want the crown of -distant white Alps which always attend on the piny mountains of my -native country. We visited the wondrous cave and the little cabinets -of natural history, where the curiosities are disposed in the same -manner as in the collections at Servox and Chamounix. The latter name -made me tremble when pronounced by Henry, and I hastened to quit -Matlock, with which that terrible scene was thus associated. - -From Derby, still journeying northwards, we passed two months in -Cumberland and Westmorland. I could now almost fancy myself among the -Swiss mountains. The little patches of snow which yet lingered on the -northern sides of the mountains, the lakes, and the dashing of the -rocky streams were all familiar and dear sights to me. Here also we -made some acquaintances, who almost contrived to cheat me into -happiness. The delight of Clerval was proportionably greater than -mine; his mind expanded in the company of men of talent, and he found -in his own nature greater capacities and resources than he could have -imagined himself to have possessed while he associated with his -inferiors. "I could pass my life here," said he to me; "and among -these mountains I should scarcely regret Switzerland and the Rhine." - -But he found that a traveller's life is one that includes much pain -amidst its enjoyments. His feelings are forever on the stretch; and -when he begins to sink into repose, he finds himself obliged to quit -that on which he rests in pleasure for something new, which again -engages his attention, and which also he forsakes for other novelties. - -We had scarcely visited the various lakes of Cumberland and Westmorland -and conceived an affection for some of the inhabitants when the period -of our appointment with our Scotch friend approached, and we left them -to travel on. For my own part I was not sorry. I had now neglected my -promise for some time, and I feared the effects of the daemon's -disappointment. He might remain in Switzerland and wreak his vengeance -on my relatives. This idea pursued me and tormented me at every moment -from which I might otherwise have snatched repose and peace. I waited -for my letters with feverish impatience; if they were delayed I was -miserable and overcome by a thousand fears; and when they arrived and I -saw the superscription of Elizabeth or my father, I hardly dared to -read and ascertain my fate. Sometimes I thought that the fiend -followed me and might expedite my remissness by murdering my companion. -When these thoughts possessed me, I would not quit Henry for a moment, -but followed him as his shadow, to protect him from the fancied rage of -his destroyer. I felt as if I had committed some great crime, the -consciousness of which haunted me. I was guiltless, but I had indeed -drawn down a horrible curse upon my head, as mortal as that of crime. - -I visited Edinburgh with languid eyes and mind; and yet that city might -have interested the most unfortunate being. Clerval did not like it so -well as Oxford, for the antiquity of the latter city was more pleasing -to him. But the beauty and regularity of the new town of Edinburgh, -its romantic castle and its environs, the most delightful in the world, -Arthur's Seat, St. Bernard's Well, and the Pentland Hills compensated -him for the change and filled him with cheerfulness and admiration. But -I was impatient to arrive at the termination of my journey. - -We left Edinburgh in a week, passing through Coupar, St. Andrew's, and -along the banks of the Tay, to Perth, where our friend expected us. -But I was in no mood to laugh and talk with strangers or enter into -their feelings or plans with the good humour expected from a guest; and -accordingly I told Clerval that I wished to make the tour of Scotland -alone. "Do you," said I, "enjoy yourself, and let this be our -rendezvous. I may be absent a month or two; but do not interfere with -my motions, I entreat you; leave me to peace and solitude for a short -time; and when I return, I hope it will be with a lighter heart, more -congenial to your own temper." - -Henry wished to dissuade me, but seeing me bent on this plan, ceased to -remonstrate. He entreated me to write often. "I had rather be with -you," he said, "in your solitary rambles, than with these Scotch -people, whom I do not know; hasten, then, my dear friend, to return, -that I may again feel myself somewhat at home, which I cannot do in -your absence." - -Having parted from my friend, I determined to visit some remote spot of -Scotland and finish my work in solitude. I did not doubt but that the -monster followed me and would discover himself to me when I should have -finished, that he might receive his companion. With this resolution I -traversed the northern highlands and fixed on one of the remotest of -the Orkneys as the scene of my labours. It was a place fitted for such -a work, being hardly more than a rock whose high sides were continually -beaten upon by the waves. The soil was barren, scarcely affording -pasture for a few miserable cows, and oatmeal for its inhabitants, -which consisted of five persons, whose gaunt and scraggy limbs gave -tokens of their miserable fare. Vegetables and bread, when they -indulged in such luxuries, and even fresh water, was to be procured -from the mainland, which was about five miles distant. - -On the whole island there were but three miserable huts, and one of -these was vacant when I arrived. This I hired. It contained but two -rooms, and these exhibited all the squalidness of the most miserable -penury. The thatch had fallen in, the walls were unplastered, and the -door was off its hinges. I ordered it to be repaired, bought some -furniture, and took possession, an incident which would doubtless have -occasioned some surprise had not all the senses of the cottagers been -benumbed by want and squalid poverty. As it was, I lived ungazed at -and unmolested, hardly thanked for the pittance of food and clothes -which I gave, so much does suffering blunt even the coarsest sensations -of men. - -In this retreat I devoted the morning to labour; but in the evening, -when the weather permitted, I walked on the stony beach of the sea to -listen to the waves as they roared and dashed at my feet. It was a -monotonous yet ever-changing scene. I thought of Switzerland; it was -far different from this desolate and appalling landscape. Its hills -are covered with vines, and its cottages are scattered thickly in the -plains. Its fair lakes reflect a blue and gentle sky, and when -troubled by the winds, their tumult is but as the play of a lively -infant when compared to the roarings of the giant ocean. - -In this manner I distributed my occupations when I first arrived, but -as I proceeded in my labour, it became every day more horrible and -irksome to me. Sometimes I could not prevail on myself to enter my -laboratory for several days, and at other times I toiled day and night -in order to complete my work. It was, indeed, a filthy process in -which I was engaged. During my first experiment, a kind of -enthusiastic frenzy had blinded me to the horror of my employment; my -mind was intently fixed on the consummation of my labour, and my eyes -were shut to the horror of my proceedings. But now I went to it in -cold blood, and my heart often sickened at the work of my hands. - -Thus situated, employed in the most detestable occupation, immersed in -a solitude where nothing could for an instant call my attention from -the actual scene in which I was engaged, my spirits became unequal; I -grew restless and nervous. Every moment I feared to meet my -persecutor. Sometimes I sat with my eyes fixed on the ground, fearing -to raise them lest they should encounter the object which I so much -dreaded to behold. I feared to wander from the sight of my fellow -creatures lest when alone he should come to claim his companion. - -In the mean time I worked on, and my labour was already considerably -advanced. I looked towards its completion with a tremulous and eager -hope, which I dared not trust myself to question but which was -intermixed with obscure forebodings of evil that made my heart sicken -in my bosom. - - - -Chapter 20 - -I sat one evening in my laboratory; the sun had set, and the moon was -just rising from the sea; I had not sufficient light for my employment, -and I remained idle, in a pause of consideration of whether I should -leave my labour for the night or hasten its conclusion by an -unremitting attention to it. As I sat, a train of reflection occurred -to me which led me to consider the effects of what I was now doing. -Three years before, I was engaged in the same manner and had created a -fiend whose unparalleled barbarity had desolated my heart and filled it -forever with the bitterest remorse. I was now about to form another -being of whose dispositions I was alike ignorant; she might become ten -thousand times more malignant than her mate and delight, for its own -sake, in murder and wretchedness. He had sworn to quit the -neighbourhood of man and hide himself in deserts, but she had not; and -she, who in all probability was to become a thinking and reasoning -animal, might refuse to comply with a compact made before her creation. -They might even hate each other; the creature who already lived loathed -his own deformity, and might he not conceive a greater abhorrence for -it when it came before his eyes in the female form? She also might -turn with disgust from him to the superior beauty of man; she might -quit him, and he be again alone, exasperated by the fresh provocation -of being deserted by one of his own species. Even if they were to -leave Europe and inhabit the deserts of the new world, yet one of the -first results of those sympathies for which the daemon thirsted would -be children, and a race of devils would be propagated upon the earth -who might make the very existence of the species of man a condition -precarious and full of terror. Had I right, for my own benefit, to -inflict this curse upon everlasting generations? I had before been -moved by the sophisms of the being I had created; I had been struck -senseless by his fiendish threats; but now, for the first time, the -wickedness of my promise burst upon me; I shuddered to think that -future ages might curse me as their pest, whose selfishness had not -hesitated to buy its own peace at the price, perhaps, of the existence -of the whole human race. - -I trembled and my heart failed within me, when, on looking up, I saw by -the light of the moon the daemon at the casement. A ghastly grin -wrinkled his lips as he gazed on me, where I sat fulfilling the task -which he had allotted to me. Yes, he had followed me in my travels; he -had loitered in forests, hid himself in caves, or taken refuge in wide -and desert heaths; and he now came to mark my progress and claim the -fulfilment of my promise. - -As I looked on him, his countenance expressed the utmost extent of -malice and treachery. I thought with a sensation of madness on my -promise of creating another like to him, and trembling with passion, -tore to pieces the thing on which I was engaged. The wretch saw me -destroy the creature on whose future existence he depended for -happiness, and with a howl of devilish despair and revenge, withdrew. - -I left the room, and locking the door, made a solemn vow in my own -heart never to resume my labours; and then, with trembling steps, I -sought my own apartment. I was alone; none were near me to dissipate -the gloom and relieve me from the sickening oppression of the most -terrible reveries. - -Several hours passed, and I remained near my window gazing on the sea; -it was almost motionless, for the winds were hushed, and all nature -reposed under the eye of the quiet moon. A few fishing vessels alone -specked the water, and now and then the gentle breeze wafted the sound -of voices as the fishermen called to one another. I felt the silence, -although I was hardly conscious of its extreme profundity, until my ear -was suddenly arrested by the paddling of oars near the shore, and a -person landed close to my house. - -In a few minutes after, I heard the creaking of my door, as if some one -endeavoured to open it softly. I trembled from head to foot; I felt a -presentiment of who it was and wished to rouse one of the peasants who -dwelt in a cottage not far from mine; but I was overcome by the -sensation of helplessness, so often felt in frightful dreams, when you -in vain endeavour to fly from an impending danger, and was rooted to -the spot. Presently I heard the sound of footsteps along the passage; -the door opened, and the wretch whom I dreaded appeared. - -Shutting the door, he approached me and said in a smothered voice, "You -have destroyed the work which you began; what is it that you intend? -Do you dare to break your promise? I have endured toil and misery; I -left Switzerland with you; I crept along the shores of the Rhine, among -its willow islands and over the summits of its hills. I have dwelt -many months in the heaths of England and among the deserts of Scotland. -I have endured incalculable fatigue, and cold, and hunger; do you dare -destroy my hopes?" - -"Begone! I do break my promise; never will I create another like -yourself, equal in deformity and wickedness." - -"Slave, I before reasoned with you, but you have proved yourself -unworthy of my condescension. Remember that I have power; you believe -yourself miserable, but I can make you so wretched that the light of -day will be hateful to you. You are my creator, but I am your master; -obey!" - -"The hour of my irresolution is past, and the period of your power is -arrived. Your threats cannot move me to do an act of wickedness; but -they confirm me in a determination of not creating you a companion in -vice. Shall I, in cool blood, set loose upon the earth a daemon whose -delight is in death and wretchedness? Begone! I am firm, and your -words will only exasperate my rage." - -The monster saw my determination in my face and gnashed his teeth in -the impotence of anger. "Shall each man," cried he, "find a wife for -his bosom, and each beast have his mate, and I be alone? I had -feelings of affection, and they were requited by detestation and scorn. -Man! You may hate, but beware! Your hours will pass in dread and -misery, and soon the bolt will fall which must ravish from you your -happiness forever. Are you to be happy while I grovel in the intensity -of my wretchedness? You can blast my other passions, but revenge -remains--revenge, henceforth dearer than light or food! I may die, but -first you, my tyrant and tormentor, shall curse the sun that gazes on -your misery. Beware, for I am fearless and therefore powerful. I will -watch with the wiliness of a snake, that I may sting with its venom. -Man, you shall repent of the injuries you inflict." - -"Devil, cease; and do not poison the air with these sounds of malice. -I have declared my resolution to you, and I am no coward to bend -beneath words. Leave me; I am inexorable." - -"It is well. I go; but remember, I shall be with you on your -wedding-night." - -I started forward and exclaimed, "Villain! Before you sign my -death-warrant, be sure that you are yourself safe." - -I would have seized him, but he eluded me and quitted the house with -precipitation. In a few moments I saw him in his boat, which shot -across the waters with an arrowy swiftness and was soon lost amidst the -waves. - -All was again silent, but his words rang in my ears. I burned with -rage to pursue the murderer of my peace and precipitate him into the -ocean. I walked up and down my room hastily and perturbed, while my -imagination conjured up a thousand images to torment and sting me. Why -had I not followed him and closed with him in mortal strife? But I had -suffered him to depart, and he had directed his course towards the -mainland. I shuddered to think who might be the next victim sacrificed -to his insatiate revenge. And then I thought again of his words--"I -WILL BE WITH YOU ON YOUR WEDDING-NIGHT." That, then, was the period -fixed for the fulfilment of my destiny. In that hour I should die and -at once satisfy and extinguish his malice. The prospect did not move -me to fear; yet when I thought of my beloved Elizabeth, of her tears -and endless sorrow, when she should find her lover so barbarously -snatched from her, tears, the first I had shed for many months, -streamed from my eyes, and I resolved not to fall before my enemy -without a bitter struggle. - -The night passed away, and the sun rose from the ocean; my feelings -became calmer, if it may be called calmness when the violence of rage -sinks into the depths of despair. I left the house, the horrid scene -of the last night's contention, and walked on the beach of the sea, -which I almost regarded as an insuperable barrier between me and my -fellow creatures; nay, a wish that such should prove the fact stole -across me. - -I desired that I might pass my life on that barren rock, wearily, it is -true, but uninterrupted by any sudden shock of misery. If I returned, -it was to be sacrificed or to see those whom I most loved die under the -grasp of a daemon whom I had myself created. - -I walked about the isle like a restless spectre, separated from all it -loved and miserable in the separation. When it became noon, and the -sun rose higher, I lay down on the grass and was overpowered by a deep -sleep. I had been awake the whole of the preceding night, my nerves -were agitated, and my eyes inflamed by watching and misery. The sleep -into which I now sank refreshed me; and when I awoke, I again felt as -if I belonged to a race of human beings like myself, and I began to -reflect upon what had passed with greater composure; yet still the -words of the fiend rang in my ears like a death-knell; they appeared -like a dream, yet distinct and oppressive as a reality. - -The sun had far descended, and I still sat on the shore, satisfying my -appetite, which had become ravenous, with an oaten cake, when I saw a -fishing-boat land close to me, and one of the men brought me a packet; -it contained letters from Geneva, and one from Clerval entreating me to -join him. He said that he was wearing away his time fruitlessly where -he was, that letters from the friends he had formed in London desired -his return to complete the negotiation they had entered into for his -Indian enterprise. He could not any longer delay his departure; but as -his journey to London might be followed, even sooner than he now -conjectured, by his longer voyage, he entreated me to bestow as much of -my society on him as I could spare. He besought me, therefore, to -leave my solitary isle and to meet him at Perth, that we might proceed -southwards together. This letter in a degree recalled me to life, and -I determined to quit my island at the expiration of two days. Yet, -before I departed, there was a task to perform, on which I shuddered to -reflect; I must pack up my chemical instruments, and for that purpose I -must enter the room which had been the scene of my odious work, and I -must handle those utensils the sight of which was sickening to me. The -next morning, at daybreak, I summoned sufficient courage and unlocked -the door of my laboratory. The remains of the half-finished creature, -whom I had destroyed, lay scattered on the floor, and I almost felt as -if I had mangled the living flesh of a human being. I paused to -collect myself and then entered the chamber. With trembling hand I -conveyed the instruments out of the room, but I reflected that I ought -not to leave the relics of my work to excite the horror and suspicion -of the peasants; and I accordingly put them into a basket, with a great -quantity of stones, and laying them up, determined to throw them into -the sea that very night; and in the meantime I sat upon the beach, -employed in cleaning and arranging my chemical apparatus. - -Nothing could be more complete than the alteration that had taken place -in my feelings since the night of the appearance of the daemon. I had -before regarded my promise with a gloomy despair as a thing that, with -whatever consequences, must be fulfilled; but I now felt as if a film -had been taken from before my eyes and that I for the first time saw -clearly. The idea of renewing my labours did not for one instant occur -to me; the threat I had heard weighed on my thoughts, but I did not -reflect that a voluntary act of mine could avert it. I had resolved in -my own mind that to create another like the fiend I had first made -would be an act of the basest and most atrocious selfishness, and I -banished from my mind every thought that could lead to a different -conclusion. - -Between two and three in the morning the moon rose; and I then, putting -my basket aboard a little skiff, sailed out about four miles from the -shore. The scene was perfectly solitary; a few boats were returning -towards land, but I sailed away from them. I felt as if I was about -the commission of a dreadful crime and avoided with shuddering anxiety -any encounter with my fellow creatures. At one time the moon, which -had before been clear, was suddenly overspread by a thick cloud, and I -took advantage of the moment of darkness and cast my basket into the -sea; I listened to the gurgling sound as it sank and then sailed away -from the spot. The sky became clouded, but the air was pure, although -chilled by the northeast breeze that was then rising. But it refreshed -me and filled me with such agreeable sensations that I resolved to -prolong my stay on the water, and fixing the rudder in a direct -position, stretched myself at the bottom of the boat. Clouds hid the -moon, everything was obscure, and I heard only the sound of the boat as -its keel cut through the waves; the murmur lulled me, and in a short -time I slept soundly. I do not know how long I remained in this -situation, but when I awoke I found that the sun had already mounted -considerably. The wind was high, and the waves continually threatened -the safety of my little skiff. I found that the wind was northeast and -must have driven me far from the coast from which I had embarked. I -endeavoured to change my course but quickly found that if I again made -the attempt the boat would be instantly filled with water. Thus -situated, my only resource was to drive before the wind. I confess -that I felt a few sensations of terror. I had no compass with me and -was so slenderly acquainted with the geography of this part of the -world that the sun was of little benefit to me. I might be driven into -the wide Atlantic and feel all the tortures of starvation or be -swallowed up in the immeasurable waters that roared and buffeted around -me. I had already been out many hours and felt the torment of a -burning thirst, a prelude to my other sufferings. I looked on the -heavens, which were covered by clouds that flew before the wind, only -to be replaced by others; I looked upon the sea; it was to be my grave. -"Fiend," I exclaimed, "your task is already fulfilled!" I thought of -Elizabeth, of my father, and of Clerval--all left behind, on whom the -monster might satisfy his sanguinary and merciless passions. This idea -plunged me into a reverie so despairing and frightful that even now, -when the scene is on the point of closing before me forever, I shudder -to reflect on it. - -Some hours passed thus; but by degrees, as the sun declined towards the -horizon, the wind died away into a gentle breeze and the sea became -free from breakers. But these gave place to a heavy swell; I felt sick -and hardly able to hold the rudder, when suddenly I saw a line of high -land towards the south. - -Almost spent, as I was, by fatigue and the dreadful suspense I endured -for several hours, this sudden certainty of life rushed like a flood of -warm joy to my heart, and tears gushed from my eyes. - -How mutable are our feelings, and how strange is that clinging love we -have of life even in the excess of misery! I constructed another sail -with a part of my dress and eagerly steered my course towards the land. -It had a wild and rocky appearance, but as I approached nearer I easily -perceived the traces of cultivation. I saw vessels near the shore and -found myself suddenly transported back to the neighbourhood of -civilized man. I carefully traced the windings of the land and hailed -a steeple which I at length saw issuing from behind a small promontory. -As I was in a state of extreme debility, I resolved to sail directly -towards the town, as a place where I could most easily procure -nourishment. Fortunately I had money with me. - -As I turned the promontory I perceived a small neat town and a good -harbour, which I entered, my heart bounding with joy at my unexpected -escape. - -As I was occupied in fixing the boat and arranging the sails, several -people crowded towards the spot. They seemed much surprised at my -appearance, but instead of offering me any assistance, whispered -together with gestures that at any other time might have produced in me -a slight sensation of alarm. As it was, I merely remarked that they -spoke English, and I therefore addressed them in that language. "My -good friends," said I, "will you be so kind as to tell me the name of -this town and inform me where I am?" - -"You will know that soon enough," replied a man with a hoarse voice. -"Maybe you are come to a place that will not prove much to your taste, -but you will not be consulted as to your quarters, I promise you." - -I was exceedingly surprised on receiving so rude an answer from a -stranger, and I was also disconcerted on perceiving the frowning and -angry countenances of his companions. "Why do you answer me so -roughly?" I replied. "Surely it is not the custom of Englishmen to -receive strangers so inhospitably." - -"I do not know," said the man, "what the custom of the English may be, -but it is the custom of the Irish to hate villains." While this strange -dialogue continued, I perceived the crowd rapidly increase. Their -faces expressed a mixture of curiosity and anger, which annoyed and in -some degree alarmed me. - -I inquired the way to the inn, but no one replied. I then moved -forward, and a murmuring sound arose from the crowd as they followed -and surrounded me, when an ill-looking man approaching tapped me on the -shoulder and said, "Come, sir, you must follow me to Mr. Kirwin's to -give an account of yourself." - -"Who is Mr. Kirwin? Why am I to give an account of myself? Is not -this a free country?" - -"Ay, sir, free enough for honest folks. Mr. Kirwin is a magistrate, -and you are to give an account of the death of a gentleman who was -found murdered here last night." - -This answer startled me, but I presently recovered myself. I was -innocent; that could easily be proved; accordingly I followed my -conductor in silence and was led to one of the best houses in the town. -I was ready to sink from fatigue and hunger, but being surrounded by a -crowd, I thought it politic to rouse all my strength, that no physical -debility might be construed into apprehension or conscious guilt. -Little did I then expect the calamity that was in a few moments to -overwhelm me and extinguish in horror and despair all fear of ignominy -or death. I must pause here, for it requires all my fortitude to recall -the memory of the frightful events which I am about to relate, in -proper detail, to my recollection. - - - -Chapter 21 - -I was soon introduced into the presence of the magistrate, an old -benevolent man with calm and mild manners. He looked upon me, however, -with some degree of severity, and then, turning towards my conductors, -he asked who appeared as witnesses on this occasion. - -About half a dozen men came forward; and, one being selected by the -magistrate, he deposed that he had been out fishing the night before -with his son and brother-in-law, Daniel Nugent, when, about ten -o'clock, they observed a strong northerly blast rising, and they -accordingly put in for port. It was a very dark night, as the moon had -not yet risen; they did not land at the harbour, but, as they had been -accustomed, at a creek about two miles below. He walked on first, -carrying a part of the fishing tackle, and his companions followed him -at some distance. - -As he was proceeding along the sands, he struck his foot against -something and fell at his length on the ground. His companions came up -to assist him, and by the light of their lantern they found that he had -fallen on the body of a man, who was to all appearance dead. Their -first supposition was that it was the corpse of some person who had -been drowned and was thrown on shore by the waves, but on examination -they found that the clothes were not wet and even that the body was not -then cold. They instantly carried it to the cottage of an old woman -near the spot and endeavoured, but in vain, to restore it to life. It -appeared to be a handsome young man, about five and twenty years of -age. He had apparently been strangled, for there was no sign of any -violence except the black mark of fingers on his neck. - -The first part of this deposition did not in the least interest me, but -when the mark of the fingers was mentioned I remembered the murder of -my brother and felt myself extremely agitated; my limbs trembled, and a -mist came over my eyes, which obliged me to lean on a chair for -support. The magistrate observed me with a keen eye and of course drew -an unfavourable augury from my manner. - -The son confirmed his father's account, but when Daniel Nugent was -called he swore positively that just before the fall of his companion, -he saw a boat, with a single man in it, at a short distance from the -shore; and as far as he could judge by the light of a few stars, it was -the same boat in which I had just landed. A woman deposed that she -lived near the beach and was standing at the door of her cottage, -waiting for the return of the fishermen, about an hour before she heard -of the discovery of the body, when she saw a boat with only one man in -it push off from that part of the shore where the corpse was afterwards -found. - -Another woman confirmed the account of the fishermen having brought the -body into her house; it was not cold. They put it into a bed and -rubbed it, and Daniel went to the town for an apothecary, but life was -quite gone. - -Several other men were examined concerning my landing, and they agreed -that, with the strong north wind that had arisen during the night, it -was very probable that I had beaten about for many hours and had been -obliged to return nearly to the same spot from which I had departed. -Besides, they observed that it appeared that I had brought the body -from another place, and it was likely that as I did not appear to know -the shore, I might have put into the harbour ignorant of the distance -of the town of ---- from the place where I had deposited the corpse. - -Mr. Kirwin, on hearing this evidence, desired that I should be taken -into the room where the body lay for interment, that it might be -observed what effect the sight of it would produce upon me. This idea -was probably suggested by the extreme agitation I had exhibited when -the mode of the murder had been described. I was accordingly -conducted, by the magistrate and several other persons, to the inn. I -could not help being struck by the strange coincidences that had taken -place during this eventful night; but, knowing that I had been -conversing with several persons in the island I had inhabited about the -time that the body had been found, I was perfectly tranquil as to the -consequences of the affair. I entered the room where the corpse lay -and was led up to the coffin. How can I describe my sensations on -beholding it? I feel yet parched with horror, nor can I reflect on -that terrible moment without shuddering and agony. The examination, -the presence of the magistrate and witnesses, passed like a dream from -my memory when I saw the lifeless form of Henry Clerval stretched -before me. I gasped for breath, and throwing myself on the body, I -exclaimed, "Have my murderous machinations deprived you also, my -dearest Henry, of life? Two I have already destroyed; other victims -await their destiny; but you, Clerval, my friend, my benefactor--" - -The human frame could no longer support the agonies that I endured, and -I was carried out of the room in strong convulsions. A fever succeeded -to this. I lay for two months on the point of death; my ravings, as I -afterwards heard, were frightful; I called myself the murderer of -William, of Justine, and of Clerval. Sometimes I entreated my -attendants to assist me in the destruction of the fiend by whom I was -tormented; and at others I felt the fingers of the monster already -grasping my neck, and screamed aloud with agony and terror. -Fortunately, as I spoke my native language, Mr. Kirwin alone understood -me; but my gestures and bitter cries were sufficient to affright the -other witnesses. Why did I not die? More miserable than man ever was -before, why did I not sink into forgetfulness and rest? Death snatches -away many blooming children, the only hopes of their doting parents; -how many brides and youthful lovers have been one day in the bloom of -health and hope, and the next a prey for worms and the decay of the -tomb! Of what materials was I made that I could thus resist so many -shocks, which, like the turning of the wheel, continually renewed the -torture? - -But I was doomed to live and in two months found myself as awaking from -a dream, in a prison, stretched on a wretched bed, surrounded by -jailers, turnkeys, bolts, and all the miserable apparatus of a dungeon. -It was morning, I remember, when I thus awoke to understanding; I had -forgotten the particulars of what had happened and only felt as if some -great misfortune had suddenly overwhelmed me; but when I looked around -and saw the barred windows and the squalidness of the room in which I -was, all flashed across my memory and I groaned bitterly. - -This sound disturbed an old woman who was sleeping in a chair beside -me. She was a hired nurse, the wife of one of the turnkeys, and her -countenance expressed all those bad qualities which often characterize -that class. The lines of her face were hard and rude, like that of -persons accustomed to see without sympathizing in sights of misery. Her -tone expressed her entire indifference; she addressed me in English, -and the voice struck me as one that I had heard during my sufferings. -"Are you better now, sir?" said she. - -I replied in the same language, with a feeble voice, "I believe I am; -but if it be all true, if indeed I did not dream, I am sorry that I am -still alive to feel this misery and horror." - -"For that matter," replied the old woman, "if you mean about the -gentleman you murdered, I believe that it were better for you if you -were dead, for I fancy it will go hard with you! However, that's none -of my business; I am sent to nurse you and get you well; I do my duty -with a safe conscience; it were well if everybody did the same." - -I turned with loathing from the woman who could utter so unfeeling a -speech to a person just saved, on the very edge of death; but I felt -languid and unable to reflect on all that had passed. The whole series -of my life appeared to me as a dream; I sometimes doubted if indeed it -were all true, for it never presented itself to my mind with the force -of reality. - -As the images that floated before me became more distinct, I grew -feverish; a darkness pressed around me; no one was near me who soothed -me with the gentle voice of love; no dear hand supported me. The -physician came and prescribed medicines, and the old woman prepared -them for me; but utter carelessness was visible in the first, and the -expression of brutality was strongly marked in the visage of the -second. Who could be interested in the fate of a murderer but the -hangman who would gain his fee? - -These were my first reflections, but I soon learned that Mr. Kirwin had -shown me extreme kindness. He had caused the best room in the prison -to be prepared for me (wretched indeed was the best); and it was he who -had provided a physician and a nurse. It is true, he seldom came to -see me, for although he ardently desired to relieve the sufferings of -every human creature, he did not wish to be present at the agonies and -miserable ravings of a murderer. He came, therefore, sometimes to see -that I was not neglected, but his visits were short and with long -intervals. One day, while I was gradually recovering, I was seated in -a chair, my eyes half open and my cheeks livid like those in death. I -was overcome by gloom and misery and often reflected I had better seek -death than desire to remain in a world which to me was replete with -wretchedness. At one time I considered whether I should not declare -myself guilty and suffer the penalty of the law, less innocent than -poor Justine had been. Such were my thoughts when the door of my -apartment was opened and Mr. Kirwin entered. His countenance expressed -sympathy and compassion; he drew a chair close to mine and addressed me -in French, "I fear that this place is very shocking to you; can I do -anything to make you more comfortable?" - -"I thank you, but all that you mention is nothing to me; on the whole -earth there is no comfort which I am capable of receiving." - -"I know that the sympathy of a stranger can be but of little relief to -one borne down as you are by so strange a misfortune. But you will, I -hope, soon quit this melancholy abode, for doubtless evidence can -easily be brought to free you from the criminal charge." - -"That is my least concern; I am, by a course of strange events, become -the most miserable of mortals. Persecuted and tortured as I am and -have been, can death be any evil to me?" - -"Nothing indeed could be more unfortunate and agonizing than the -strange chances that have lately occurred. You were thrown, by some -surprising accident, on this shore, renowned for its hospitality, -seized immediately, and charged with murder. The first sight that was -presented to your eyes was the body of your friend, murdered in so -unaccountable a manner and placed, as it were, by some fiend across -your path." - -As Mr. Kirwin said this, notwithstanding the agitation I endured on -this retrospect of my sufferings, I also felt considerable surprise at -the knowledge he seemed to possess concerning me. I suppose some -astonishment was exhibited in my countenance, for Mr. Kirwin hastened -to say, "Immediately upon your being taken ill, all the papers that -were on your person were brought me, and I examined them that I might -discover some trace by which I could send to your relations an account -of your misfortune and illness. I found several letters, and, among -others, one which I discovered from its commencement to be from your -father. I instantly wrote to Geneva; nearly two months have elapsed -since the departure of my letter. But you are ill; even now you -tremble; you are unfit for agitation of any kind." - -"This suspense is a thousand times worse than the most horrible event; -tell me what new scene of death has been acted, and whose murder I am -now to lament?" - -"Your family is perfectly well," said Mr. Kirwin with gentleness; "and -someone, a friend, is come to visit you." - -I know not by what chain of thought the idea presented itself, but it -instantly darted into my mind that the murderer had come to mock at my -misery and taunt me with the death of Clerval, as a new incitement for -me to comply with his hellish desires. I put my hand before my eyes, -and cried out in agony, "Oh! Take him away! I cannot see him; for -God's sake, do not let him enter!" - -Mr. Kirwin regarded me with a troubled countenance. He could not help -regarding my exclamation as a presumption of my guilt and said in -rather a severe tone, "I should have thought, young man, that the -presence of your father would have been welcome instead of inspiring -such violent repugnance." - -"My father!" cried I, while every feature and every muscle was relaxed -from anguish to pleasure. "Is my father indeed come? How kind, how -very kind! But where is he, why does he not hasten to me?" - -My change of manner surprised and pleased the magistrate; perhaps he -thought that my former exclamation was a momentary return of delirium, -and now he instantly resumed his former benevolence. He rose and -quitted the room with my nurse, and in a moment my father entered it. - -Nothing, at this moment, could have given me greater pleasure than the -arrival of my father. I stretched out my hand to him and cried, "Are -you, then, safe--and Elizabeth--and Ernest?" My father calmed me with -assurances of their welfare and endeavoured, by dwelling on these -subjects so interesting to my heart, to raise my desponding spirits; -but he soon felt that a prison cannot be the abode of cheerfulness. - -"What a place is this that you inhabit, my son!" said he, looking -mournfully at the barred windows and wretched appearance of the room. -"You travelled to seek happiness, but a fatality seems to pursue you. -And poor Clerval--" - -The name of my unfortunate and murdered friend was an agitation too -great to be endured in my weak state; I shed tears. "Alas! Yes, my -father," replied I; "some destiny of the most horrible kind hangs over -me, and I must live to fulfil it, or surely I should have died on the -coffin of Henry." - -We were not allowed to converse for any length of time, for the -precarious state of my health rendered every precaution necessary that -could ensure tranquillity. Mr. Kirwin came in and insisted that my -strength should not be exhausted by too much exertion. But the -appearance of my father was to me like that of my good angel, and I -gradually recovered my health. - -As my sickness quitted me, I was absorbed by a gloomy and black -melancholy that nothing could dissipate. The image of Clerval was -forever before me, ghastly and murdered. More than once the agitation -into which these reflections threw me made my friends dread a dangerous -relapse. Alas! Why did they preserve so miserable and detested a -life? It was surely that I might fulfil my destiny, which is now -drawing to a close. Soon, oh, very soon, will death extinguish these -throbbings and relieve me from the mighty weight of anguish that bears -me to the dust; and, in executing the award of justice, I shall also -sink to rest. Then the appearance of death was distant, although the -wish was ever present to my thoughts; and I often sat for hours -motionless and speechless, wishing for some mighty revolution that -might bury me and my destroyer in its ruins. - -The season of the assizes approached. I had already been three months -in prison, and although I was still weak and in continual danger of a -relapse, I was obliged to travel nearly a hundred miles to the country -town where the court was held. Mr. Kirwin charged himself with every -care of collecting witnesses and arranging my defence. I was spared -the disgrace of appearing publicly as a criminal, as the case was not -brought before the court that decides on life and death. The grand -jury rejected the bill, on its being proved that I was on the Orkney -Islands at the hour the body of my friend was found; and a fortnight -after my removal I was liberated from prison. - -My father was enraptured on finding me freed from the vexations of a -criminal charge, that I was again allowed to breathe the fresh -atmosphere and permitted to return to my native country. I did not -participate in these feelings, for to me the walls of a dungeon or a -palace were alike hateful. The cup of life was poisoned forever, and -although the sun shone upon me, as upon the happy and gay of heart, I -saw around me nothing but a dense and frightful darkness, penetrated by -no light but the glimmer of two eyes that glared upon me. Sometimes -they were the expressive eyes of Henry, languishing in death, the dark -orbs nearly covered by the lids and the long black lashes that fringed -them; sometimes it was the watery, clouded eyes of the monster, as I -first saw them in my chamber at Ingolstadt. - -My father tried to awaken in me the feelings of affection. He talked -of Geneva, which I should soon visit, of Elizabeth and Ernest; but -these words only drew deep groans from me. Sometimes, indeed, I felt a -wish for happiness and thought with melancholy delight of my beloved -cousin or longed, with a devouring maladie du pays, to see once more -the blue lake and rapid Rhone, that had been so dear to me in early -childhood; but my general state of feeling was a torpor in which a -prison was as welcome a residence as the divinest scene in nature; and -these fits were seldom interrupted but by paroxysms of anguish and -despair. At these moments I often endeavoured to put an end to the -existence I loathed, and it required unceasing attendance and vigilance -to restrain me from committing some dreadful act of violence. - -Yet one duty remained to me, the recollection of which finally -triumphed over my selfish despair. It was necessary that I should -return without delay to Geneva, there to watch over the lives of those -I so fondly loved and to lie in wait for the murderer, that if any -chance led me to the place of his concealment, or if he dared again to -blast me by his presence, I might, with unfailing aim, put an end to -the existence of the monstrous image which I had endued with the -mockery of a soul still more monstrous. My father still desired to -delay our departure, fearful that I could not sustain the fatigues of a -journey, for I was a shattered wreck--the shadow of a human being. My -strength was gone. I was a mere skeleton, and fever night and day -preyed upon my wasted frame. Still, as I urged our leaving Ireland -with such inquietude and impatience, my father thought it best to -yield. We took our passage on board a vessel bound for Havre-de-Grace -and sailed with a fair wind from the Irish shores. It was midnight. I -lay on the deck looking at the stars and listening to the dashing of -the waves. I hailed the darkness that shut Ireland from my sight, and -my pulse beat with a feverish joy when I reflected that I should soon -see Geneva. The past appeared to me in the light of a frightful dream; -yet the vessel in which I was, the wind that blew me from the detested -shore of Ireland, and the sea which surrounded me told me too forcibly -that I was deceived by no vision and that Clerval, my friend and -dearest companion, had fallen a victim to me and the monster of my -creation. I repassed, in my memory, my whole life--my quiet happiness -while residing with my family in Geneva, the death of my mother, and my -departure for Ingolstadt. I remembered, shuddering, the mad enthusiasm -that hurried me on to the creation of my hideous enemy, and I called to -mind the night in which he first lived. I was unable to pursue the -train of thought; a thousand feelings pressed upon me, and I wept -bitterly. Ever since my recovery from the fever I had been in the -custom of taking every night a small quantity of laudanum, for it was -by means of this drug only that I was enabled to gain the rest -necessary for the preservation of life. Oppressed by the recollection -of my various misfortunes, I now swallowed double my usual quantity and -soon slept profoundly. But sleep did not afford me respite from -thought and misery; my dreams presented a thousand objects that scared -me. Towards morning I was possessed by a kind of nightmare; I felt the -fiend's grasp in my neck and could not free myself from it; groans and -cries rang in my ears. My father, who was watching over me, perceiving -my restlessness, awoke me; the dashing waves were around, the cloudy -sky above, the fiend was not here: a sense of security, a feeling that -a truce was established between the present hour and the irresistible, -disastrous future imparted to me a kind of calm forgetfulness, of which -the human mind is by its structure peculiarly susceptible. - - - -Chapter 22 - -The voyage came to an end. We landed, and proceeded to Paris. I soon -found that I had overtaxed my strength and that I must repose before I -could continue my journey. My father's care and attentions were -indefatigable, but he did not know the origin of my sufferings and -sought erroneous methods to remedy the incurable ill. He wished me to -seek amusement in society. I abhorred the face of man. Oh, not -abhorred! They were my brethren, my fellow beings, and I felt -attracted even to the most repulsive among them, as to creatures of an -angelic nature and celestial mechanism. But I felt that I had no right -to share their intercourse. I had unchained an enemy among them whose -joy it was to shed their blood and to revel in their groans. How they -would, each and all, abhor me and hunt me from the world did they know -my unhallowed acts and the crimes which had their source in me! - -My father yielded at length to my desire to avoid society and strove by -various arguments to banish my despair. Sometimes he thought that I -felt deeply the degradation of being obliged to answer a charge of -murder, and he endeavoured to prove to me the futility of pride. - -"Alas! My father," said I, "how little do you know me. Human beings, -their feelings and passions, would indeed be degraded if such a wretch -as I felt pride. Justine, poor unhappy Justine, was as innocent as I, -and she suffered the same charge; she died for it; and I am the cause -of this--I murdered her. William, Justine, and Henry--they all died by -my hands." - -My father had often, during my imprisonment, heard me make the same -assertion; when I thus accused myself, he sometimes seemed to desire an -explanation, and at others he appeared to consider it as the offspring -of delirium, and that, during my illness, some idea of this kind had -presented itself to my imagination, the remembrance of which I -preserved in my convalescence. - -I avoided explanation and maintained a continual silence concerning the -wretch I had created. I had a persuasion that I should be supposed -mad, and this in itself would forever have chained my tongue. But, -besides, I could not bring myself to disclose a secret which would fill -my hearer with consternation and make fear and unnatural horror the -inmates of his breast. I checked, therefore, my impatient thirst for -sympathy and was silent when I would have given the world to have -confided the fatal secret. Yet, still, words like those I have -recorded would burst uncontrollably from me. I could offer no -explanation of them, but their truth in part relieved the burden of my -mysterious woe. Upon this occasion my father said, with an expression -of unbounded wonder, "My dearest Victor, what infatuation is this? My -dear son, I entreat you never to make such an assertion again." - -"I am not mad," I cried energetically; "the sun and the heavens, who -have viewed my operations, can bear witness of my truth. I am the -assassin of those most innocent victims; they died by my machinations. -A thousand times would I have shed my own blood, drop by drop, to have -saved their lives; but I could not, my father, indeed I could not -sacrifice the whole human race." - -The conclusion of this speech convinced my father that my ideas were -deranged, and he instantly changed the subject of our conversation and -endeavoured to alter the course of my thoughts. He wished as much as -possible to obliterate the memory of the scenes that had taken place in -Ireland and never alluded to them or suffered me to speak of my -misfortunes. - -As time passed away I became more calm; misery had her dwelling in my -heart, but I no longer talked in the same incoherent manner of my own -crimes; sufficient for me was the consciousness of them. By the utmost -self-violence I curbed the imperious voice of wretchedness, which -sometimes desired to declare itself to the whole world, and my manners -were calmer and more composed than they had ever been since my journey -to the sea of ice. A few days before we left Paris on our way to -Switzerland, I received the following letter from Elizabeth: - - -"My dear Friend, - -"It gave me the greatest pleasure to receive a letter from my uncle -dated at Paris; you are no longer at a formidable distance, and I may -hope to see you in less than a fortnight. My poor cousin, how much you -must have suffered! I expect to see you looking even more ill than -when you quitted Geneva. This winter has been passed most miserably, -tortured as I have been by anxious suspense; yet I hope to see peace in -your countenance and to find that your heart is not totally void of -comfort and tranquillity. - -"Yet I fear that the same feelings now exist that made you so miserable -a year ago, even perhaps augmented by time. I would not disturb you at -this period, when so many misfortunes weigh upon you, but a -conversation that I had with my uncle previous to his departure renders -some explanation necessary before we meet. Explanation! You may -possibly say, What can Elizabeth have to explain? If you really say -this, my questions are answered and all my doubts satisfied. But you -are distant from me, and it is possible that you may dread and yet be -pleased with this explanation; and in a probability of this being the -case, I dare not any longer postpone writing what, during your absence, -I have often wished to express to you but have never had the courage to -begin. - -"You well know, Victor, that our union had been the favourite plan of -your parents ever since our infancy. We were told this when young, and -taught to look forward to it as an event that would certainly take -place. We were affectionate playfellows during childhood, and, I -believe, dear and valued friends to one another as we grew older. But -as brother and sister often entertain a lively affection towards each -other without desiring a more intimate union, may not such also be our -case? Tell me, dearest Victor. Answer me, I conjure you by our mutual -happiness, with simple truth--Do you not love another? - -"You have travelled; you have spent several years of your life at -Ingolstadt; and I confess to you, my friend, that when I saw you last -autumn so unhappy, flying to solitude from the society of every -creature, I could not help supposing that you might regret our -connection and believe yourself bound in honour to fulfil the wishes of -your parents, although they opposed themselves to your inclinations. -But this is false reasoning. I confess to you, my friend, that I love -you and that in my airy dreams of futurity you have been my constant -friend and companion. But it is your happiness I desire as well as my -own when I declare to you that our marriage would render me eternally -miserable unless it were the dictate of your own free choice. Even now -I weep to think that, borne down as you are by the cruellest -misfortunes, you may stifle, by the word 'honour,' all hope of that -love and happiness which would alone restore you to yourself. I, who -have so disinterested an affection for you, may increase your miseries -tenfold by being an obstacle to your wishes. Ah! Victor, be assured -that your cousin and playmate has too sincere a love for you not to be -made miserable by this supposition. Be happy, my friend; and if you -obey me in this one request, remain satisfied that nothing on earth -will have the power to interrupt my tranquillity. - -"Do not let this letter disturb you; do not answer tomorrow, or the -next day, or even until you come, if it will give you pain. My uncle -will send me news of your health, and if I see but one smile on your -lips when we meet, occasioned by this or any other exertion of mine, I -shall need no other happiness. - - "Elizabeth Lavenza - - - "Geneva, May 18th, 17--" - - -This letter revived in my memory what I had before forgotten, the -threat of the fiend--"I WILL BE WITH YOU ON YOUR WEDDING-NIGHT!" Such -was my sentence, and on that night would the daemon employ every art to -destroy me and tear me from the glimpse of happiness which promised -partly to console my sufferings. On that night he had determined to -consummate his crimes by my death. Well, be it so; a deadly struggle -would then assuredly take place, in which if he were victorious I -should be at peace and his power over me be at an end. If he were -vanquished, I should be a free man. Alas! What freedom? Such as the -peasant enjoys when his family have been massacred before his eyes, his -cottage burnt, his lands laid waste, and he is turned adrift, homeless, -penniless, and alone, but free. Such would be my liberty except that in -my Elizabeth I possessed a treasure, alas, balanced by those horrors of -remorse and guilt which would pursue me until death. - -Sweet and beloved Elizabeth! I read and reread her letter, and some -softened feelings stole into my heart and dared to whisper paradisiacal -dreams of love and joy; but the apple was already eaten, and the -angel's arm bared to drive me from all hope. Yet I would die to make -her happy. If the monster executed his threat, death was inevitable; -yet, again, I considered whether my marriage would hasten my fate. My -destruction might indeed arrive a few months sooner, but if my torturer -should suspect that I postponed it, influenced by his menaces, he would -surely find other and perhaps more dreadful means of revenge. - -He had vowed TO BE WITH ME ON MY WEDDING-NIGHT, yet he did not consider -that threat as binding him to peace in the meantime, for as if to show -me that he was not yet satiated with blood, he had murdered Clerval -immediately after the enunciation of his threats. I resolved, -therefore, that if my immediate union with my cousin would conduce -either to hers or my father's happiness, my adversary's designs against -my life should not retard it a single hour. - -In this state of mind I wrote to Elizabeth. My letter was calm and -affectionate. "I fear, my beloved girl," I said, "little happiness -remains for us on earth; yet all that I may one day enjoy is centred in -you. Chase away your idle fears; to you alone do I consecrate my life -and my endeavours for contentment. I have one secret, Elizabeth, a -dreadful one; when revealed to you, it will chill your frame with -horror, and then, far from being surprised at my misery, you will only -wonder that I survive what I have endured. I will confide this tale of -misery and terror to you the day after our marriage shall take place, -for, my sweet cousin, there must be perfect confidence between us. But -until then, I conjure you, do not mention or allude to it. This I most -earnestly entreat, and I know you will comply." - -In about a week after the arrival of Elizabeth's letter we returned to -Geneva. The sweet girl welcomed me with warm affection, yet tears were -in her eyes as she beheld my emaciated frame and feverish cheeks. I -saw a change in her also. She was thinner and had lost much of that -heavenly vivacity that had before charmed me; but her gentleness and -soft looks of compassion made her a more fit companion for one blasted -and miserable as I was. The tranquillity which I now enjoyed did not -endure. Memory brought madness with it, and when I thought of what had -passed, a real insanity possessed me; sometimes I was furious and burnt -with rage, sometimes low and despondent. I neither spoke nor looked at -anyone, but sat motionless, bewildered by the multitude of miseries -that overcame me. - -Elizabeth alone had the power to draw me from these fits; her gentle -voice would soothe me when transported by passion and inspire me with -human feelings when sunk in torpor. She wept with me and for me. When -reason returned, she would remonstrate and endeavour to inspire me with -resignation. Ah! It is well for the unfortunate to be resigned, but -for the guilty there is no peace. The agonies of remorse poison the -luxury there is otherwise sometimes found in indulging the excess of -grief. Soon after my arrival my father spoke of my immediate marriage -with Elizabeth. I remained silent. - -"Have you, then, some other attachment?" - -"None on earth. I love Elizabeth and look forward to our union with -delight. Let the day therefore be fixed; and on it I will consecrate -myself, in life or death, to the happiness of my cousin." - -"My dear Victor, do not speak thus. Heavy misfortunes have befallen -us, but let us only cling closer to what remains and transfer our love -for those whom we have lost to those who yet live. Our circle will be -small but bound close by the ties of affection and mutual misfortune. -And when time shall have softened your despair, new and dear objects of -care will be born to replace those of whom we have been so cruelly -deprived." - -Such were the lessons of my father. But to me the remembrance of the -threat returned; nor can you wonder that, omnipotent as the fiend had -yet been in his deeds of blood, I should almost regard him as -invincible, and that when he had pronounced the words "I SHALL BE WITH -YOU ON YOUR WEDDING-NIGHT," I should regard the threatened fate as -unavoidable. But death was no evil to me if the loss of Elizabeth were -balanced with it, and I therefore, with a contented and even cheerful -countenance, agreed with my father that if my cousin would consent, the -ceremony should take place in ten days, and thus put, as I imagined, -the seal to my fate. - -Great God! If for one instant I had thought what might be the hellish -intention of my fiendish adversary, I would rather have banished myself -forever from my native country and wandered a friendless outcast over -the earth than have consented to this miserable marriage. But, as if -possessed of magic powers, the monster had blinded me to his real -intentions; and when I thought that I had prepared only my own death, I -hastened that of a far dearer victim. - -As the period fixed for our marriage drew nearer, whether from -cowardice or a prophetic feeling, I felt my heart sink within me. But -I concealed my feelings by an appearance of hilarity that brought -smiles and joy to the countenance of my father, but hardly deceived the -ever-watchful and nicer eye of Elizabeth. She looked forward to our -union with placid contentment, not unmingled with a little fear, which -past misfortunes had impressed, that what now appeared certain and -tangible happiness might soon dissipate into an airy dream and leave no -trace but deep and everlasting regret. Preparations were made for the -event, congratulatory visits were received, and all wore a smiling -appearance. I shut up, as well as I could, in my own heart the anxiety -that preyed there and entered with seeming earnestness into the plans -of my father, although they might only serve as the decorations of my -tragedy. Through my father's exertions a part of the inheritance of -Elizabeth had been restored to her by the Austrian government. A small -possession on the shores of Como belonged to her. It was agreed that, -immediately after our union, we should proceed to Villa Lavenza and -spend our first days of happiness beside the beautiful lake near which -it stood. - -In the meantime I took every precaution to defend my person in case the -fiend should openly attack me. I carried pistols and a dagger -constantly about me and was ever on the watch to prevent artifice, and -by these means gained a greater degree of tranquillity. Indeed, as the -period approached, the threat appeared more as a delusion, not to be -regarded as worthy to disturb my peace, while the happiness I hoped for -in my marriage wore a greater appearance of certainty as the day fixed -for its solemnization drew nearer and I heard it continually spoken of -as an occurrence which no accident could possibly prevent. - -Elizabeth seemed happy; my tranquil demeanour contributed greatly to -calm her mind. But on the day that was to fulfil my wishes and my -destiny, she was melancholy, and a presentiment of evil pervaded her; -and perhaps also she thought of the dreadful secret which I had -promised to reveal to her on the following day. My father was in the -meantime overjoyed and in the bustle of preparation only recognized in -the melancholy of his niece the diffidence of a bride. - -After the ceremony was performed a large party assembled at my -father's, but it was agreed that Elizabeth and I should commence our -journey by water, sleeping that night at Evian and continuing our -voyage on the following day. The day was fair, the wind favourable; -all smiled on our nuptial embarkation. - -Those were the last moments of my life during which I enjoyed the -feeling of happiness. We passed rapidly along; the sun was hot, but we -were sheltered from its rays by a kind of canopy while we enjoyed the -beauty of the scene, sometimes on one side of the lake, where we saw -Mont Saleve, the pleasant banks of Montalegre, and at a distance, -surmounting all, the beautiful Mont Blanc and the assemblage of snowy -mountains that in vain endeavour to emulate her; sometimes coasting the -opposite banks, we saw the mighty Jura opposing its dark side to the -ambition that would quit its native country, and an almost -insurmountable barrier to the invader who should wish to enslave it. - -I took the hand of Elizabeth. "You are sorrowful, my love. Ah! If -you knew what I have suffered and what I may yet endure, you would -endeavour to let me taste the quiet and freedom from despair that this -one day at least permits me to enjoy." - -"Be happy, my dear Victor," replied Elizabeth; "there is, I hope, -nothing to distress you; and be assured that if a lively joy is not -painted in my face, my heart is contented. Something whispers to me -not to depend too much on the prospect that is opened before us, but I -will not listen to such a sinister voice. Observe how fast we move -along and how the clouds, which sometimes obscure and sometimes rise -above the dome of Mont Blanc, render this scene of beauty still more -interesting. Look also at the innumerable fish that are swimming in -the clear waters, where we can distinguish every pebble that lies at -the bottom. What a divine day! How happy and serene all nature -appears!" - -Thus Elizabeth endeavoured to divert her thoughts and mine from all -reflection upon melancholy subjects. But her temper was fluctuating; -joy for a few instants shone in her eyes, but it continually gave place -to distraction and reverie. - -The sun sank lower in the heavens; we passed the river Drance and -observed its path through the chasms of the higher and the glens of the -lower hills. The Alps here come closer to the lake, and we approached -the amphitheatre of mountains which forms its eastern boundary. The -spire of Evian shone under the woods that surrounded it and the range -of mountain above mountain by which it was overhung. - -The wind, which had hitherto carried us along with amazing rapidity, -sank at sunset to a light breeze; the soft air just ruffled the water -and caused a pleasant motion among the trees as we approached the -shore, from which it wafted the most delightful scent of flowers and -hay. The sun sank beneath the horizon as we landed, and as I touched -the shore I felt those cares and fears revive which soon were to clasp -me and cling to me forever. - - - -Chapter 23 - -It was eight o'clock when we landed; we walked for a short time on the -shore, enjoying the transitory light, and then retired to the inn and -contemplated the lovely scene of waters, woods, and mountains, obscured -in darkness, yet still displaying their black outlines. - -The wind, which had fallen in the south, now rose with great violence -in the west. The moon had reached her summit in the heavens and was -beginning to descend; the clouds swept across it swifter than the -flight of the vulture and dimmed her rays, while the lake reflected the -scene of the busy heavens, rendered still busier by the restless waves -that were beginning to rise. Suddenly a heavy storm of rain descended. - -I had been calm during the day, but so soon as night obscured the -shapes of objects, a thousand fears arose in my mind. I was anxious -and watchful, while my right hand grasped a pistol which was hidden in -my bosom; every sound terrified me, but I resolved that I would sell my -life dearly and not shrink from the conflict until my own life or that -of my adversary was extinguished. Elizabeth observed my agitation for -some time in timid and fearful silence, but there was something in my -glance which communicated terror to her, and trembling, she asked, -"What is it that agitates you, my dear Victor? What is it you fear?" - -"Oh! Peace, peace, my love," replied I; "this night, and all will be -safe; but this night is dreadful, very dreadful." - -I passed an hour in this state of mind, when suddenly I reflected how -fearful the combat which I momentarily expected would be to my wife, -and I earnestly entreated her to retire, resolving not to join her -until I had obtained some knowledge as to the situation of my enemy. - -She left me, and I continued some time walking up and down the passages -of the house and inspecting every corner that might afford a retreat to -my adversary. But I discovered no trace of him and was beginning to -conjecture that some fortunate chance had intervened to prevent the -execution of his menaces when suddenly I heard a shrill and dreadful -scream. It came from the room into which Elizabeth had retired. As I -heard it, the whole truth rushed into my mind, my arms dropped, the -motion of every muscle and fibre was suspended; I could feel the blood -trickling in my veins and tingling in the extremities of my limbs. This -state lasted but for an instant; the scream was repeated, and I rushed -into the room. Great God! Why did I not then expire! Why am I here -to relate the destruction of the best hope and the purest creature on -earth? She was there, lifeless and inanimate, thrown across the bed, -her head hanging down and her pale and distorted features half covered -by her hair. Everywhere I turn I see the same figure--her bloodless -arms and relaxed form flung by the murderer on its bridal bier. Could -I behold this and live? Alas! Life is obstinate and clings closest -where it is most hated. For a moment only did I lose recollection; I -fell senseless on the ground. - -When I recovered I found myself surrounded by the people of the inn; -their countenances expressed a breathless terror, but the horror of -others appeared only as a mockery, a shadow of the feelings that -oppressed me. I escaped from them to the room where lay the body of -Elizabeth, my love, my wife, so lately living, so dear, so worthy. She -had been moved from the posture in which I had first beheld her, and -now, as she lay, her head upon her arm and a handkerchief thrown across -her face and neck, I might have supposed her asleep. I rushed towards -her and embraced her with ardour, but the deadly languor and coldness -of the limbs told me that what I now held in my arms had ceased to be -the Elizabeth whom I had loved and cherished. The murderous mark of -the fiend's grasp was on her neck, and the breath had ceased to issue -from her lips. While I still hung over her in the agony of despair, I -happened to look up. The windows of the room had before been darkened, -and I felt a kind of panic on seeing the pale yellow light of the moon -illuminate the chamber. The shutters had been thrown back, and with a -sensation of horror not to be described, I saw at the open window a -figure the most hideous and abhorred. A grin was on the face of the -monster; he seemed to jeer, as with his fiendish finger he pointed -towards the corpse of my wife. I rushed towards the window, and -drawing a pistol from my bosom, fired; but he eluded me, leaped from -his station, and running with the swiftness of lightning, plunged into -the lake. - -The report of the pistol brought a crowd into the room. I pointed to -the spot where he had disappeared, and we followed the track with -boats; nets were cast, but in vain. After passing several hours, we -returned hopeless, most of my companions believing it to have been a -form conjured up by my fancy. After having landed, they proceeded to -search the country, parties going in different directions among the -woods and vines. - -I attempted to accompany them and proceeded a short distance from the -house, but my head whirled round, my steps were like those of a drunken -man, I fell at last in a state of utter exhaustion; a film covered my -eyes, and my skin was parched with the heat of fever. In this state I -was carried back and placed on a bed, hardly conscious of what had -happened; my eyes wandered round the room as if to seek something that -I had lost. - -After an interval I arose, and as if by instinct, crawled into the room -where the corpse of my beloved lay. There were women weeping around; I -hung over it and joined my sad tears to theirs; all this time no -distinct idea presented itself to my mind, but my thoughts rambled to -various subjects, reflecting confusedly on my misfortunes and their -cause. I was bewildered, in a cloud of wonder and horror. The death -of William, the execution of Justine, the murder of Clerval, and lastly -of my wife; even at that moment I knew not that my only remaining -friends were safe from the malignity of the fiend; my father even now -might be writhing under his grasp, and Ernest might be dead at his -feet. This idea made me shudder and recalled me to action. I started -up and resolved to return to Geneva with all possible speed. - -There were no horses to be procured, and I must return by the lake; but -the wind was unfavourable, and the rain fell in torrents. However, it -was hardly morning, and I might reasonably hope to arrive by night. I -hired men to row and took an oar myself, for I had always experienced -relief from mental torment in bodily exercise. But the overflowing -misery I now felt, and the excess of agitation that I endured rendered -me incapable of any exertion. I threw down the oar, and leaning my -head upon my hands, gave way to every gloomy idea that arose. If I -looked up, I saw scenes which were familiar to me in my happier time -and which I had contemplated but the day before in the company of her -who was now but a shadow and a recollection. Tears streamed from my -eyes. The rain had ceased for a moment, and I saw the fish play in the -waters as they had done a few hours before; they had then been observed -by Elizabeth. Nothing is so painful to the human mind as a great and -sudden change. The sun might shine or the clouds might lower, but -nothing could appear to me as it had done the day before. A fiend had -snatched from me every hope of future happiness; no creature had ever -been so miserable as I was; so frightful an event is single in the -history of man. But why should I dwell upon the incidents that followed -this last overwhelming event? Mine has been a tale of horrors; I have -reached their acme, and what I must now relate can but be tedious to -you. Know that, one by one, my friends were snatched away; I was left -desolate. My own strength is exhausted, and I must tell, in a few -words, what remains of my hideous narration. I arrived at Geneva. My -father and Ernest yet lived, but the former sunk under the tidings that -I bore. I see him now, excellent and venerable old man! His eyes -wandered in vacancy, for they had lost their charm and their -delight--his Elizabeth, his more than daughter, whom he doted on with -all that affection which a man feels, who in the decline of life, -having few affections, clings more earnestly to those that remain. -Cursed, cursed be the fiend that brought misery on his grey hairs and -doomed him to waste in wretchedness! He could not live under the -horrors that were accumulated around him; the springs of existence -suddenly gave way; he was unable to rise from his bed, and in a few -days he died in my arms. - -What then became of me? I know not; I lost sensation, and chains and -darkness were the only objects that pressed upon me. Sometimes, -indeed, I dreamt that I wandered in flowery meadows and pleasant vales -with the friends of my youth, but I awoke and found myself in a -dungeon. Melancholy followed, but by degrees I gained a clear -conception of my miseries and situation and was then released from my -prison. For they had called me mad, and during many months, as I -understood, a solitary cell had been my habitation. - -Liberty, however, had been a useless gift to me, had I not, as I -awakened to reason, at the same time awakened to revenge. As the -memory of past misfortunes pressed upon me, I began to reflect on their -cause--the monster whom I had created, the miserable daemon whom I had -sent abroad into the world for my destruction. I was possessed by a -maddening rage when I thought of him, and desired and ardently prayed -that I might have him within my grasp to wreak a great and signal -revenge on his cursed head. - -Nor did my hate long confine itself to useless wishes; I began to -reflect on the best means of securing him; and for this purpose, about -a month after my release, I repaired to a criminal judge in the town -and told him that I had an accusation to make, that I knew the -destroyer of my family, and that I required him to exert his whole -authority for the apprehension of the murderer. The magistrate -listened to me with attention and kindness. - -"Be assured, sir," said he, "no pains or exertions on my part shall be -spared to discover the villain." - -"I thank you," replied I; "listen, therefore, to the deposition that I -have to make. It is indeed a tale so strange that I should fear you -would not credit it were there not something in truth which, however -wonderful, forces conviction. The story is too connected to be -mistaken for a dream, and I have no motive for falsehood." My manner as -I thus addressed him was impressive but calm; I had formed in my own -heart a resolution to pursue my destroyer to death, and this purpose -quieted my agony and for an interval reconciled me to life. I now -related my history briefly but with firmness and precision, marking the -dates with accuracy and never deviating into invective or exclamation. - -The magistrate appeared at first perfectly incredulous, but as I -continued he became more attentive and interested; I saw him sometimes -shudder with horror; at others a lively surprise, unmingled with -disbelief, was painted on his countenance. When I had concluded my -narration I said, "This is the being whom I accuse and for whose -seizure and punishment I call upon you to exert your whole power. It -is your duty as a magistrate, and I believe and hope that your feelings -as a man will not revolt from the execution of those functions on this -occasion." This address caused a considerable change in the -physiognomy of my own auditor. He had heard my story with that half -kind of belief that is given to a tale of spirits and supernatural -events; but when he was called upon to act officially in consequence, -the whole tide of his incredulity returned. He, however, answered -mildly, "I would willingly afford you every aid in your pursuit, but -the creature of whom you speak appears to have powers which would put -all my exertions to defiance. Who can follow an animal which can -traverse the sea of ice and inhabit caves and dens where no man would -venture to intrude? Besides, some months have elapsed since the -commission of his crimes, and no one can conjecture to what place he -has wandered or what region he may now inhabit." - -"I do not doubt that he hovers near the spot which I inhabit, and if he -has indeed taken refuge in the Alps, he may be hunted like the chamois -and destroyed as a beast of prey. But I perceive your thoughts; you do -not credit my narrative and do not intend to pursue my enemy with the -punishment which is his desert." As I spoke, rage sparkled in my eyes; -the magistrate was intimidated. "You are mistaken," said he. "I will -exert myself, and if it is in my power to seize the monster, be assured -that he shall suffer punishment proportionate to his crimes. But I -fear, from what you have yourself described to be his properties, that -this will prove impracticable; and thus, while every proper measure is -pursued, you should make up your mind to disappointment." - -"That cannot be; but all that I can say will be of little avail. My -revenge is of no moment to you; yet, while I allow it to be a vice, I -confess that it is the devouring and only passion of my soul. My rage -is unspeakable when I reflect that the murderer, whom I have turned -loose upon society, still exists. You refuse my just demand; I have -but one resource, and I devote myself, either in my life or death, to -his destruction." - -I trembled with excess of agitation as I said this; there was a frenzy -in my manner, and something, I doubt not, of that haughty fierceness -which the martyrs of old are said to have possessed. But to a Genevan -magistrate, whose mind was occupied by far other ideas than those of -devotion and heroism, this elevation of mind had much the appearance of -madness. He endeavoured to soothe me as a nurse does a child and -reverted to my tale as the effects of delirium. - -"Man," I cried, "how ignorant art thou in thy pride of wisdom! Cease; -you know not what it is you say." - -I broke from the house angry and disturbed and retired to meditate on -some other mode of action. - - - -Chapter 24 - -My present situation was one in which all voluntary thought was -swallowed up and lost. I was hurried away by fury; revenge alone -endowed me with strength and composure; it moulded my feelings and -allowed me to be calculating and calm at periods when otherwise -delirium or death would have been my portion. - -My first resolution was to quit Geneva forever; my country, which, when -I was happy and beloved, was dear to me, now, in my adversity, became -hateful. I provided myself with a sum of money, together with a few -jewels which had belonged to my mother, and departed. And now my -wanderings began which are to cease but with life. I have traversed a -vast portion of the earth and have endured all the hardships which -travellers in deserts and barbarous countries are wont to meet. How I -have lived I hardly know; many times have I stretched my failing limbs -upon the sandy plain and prayed for death. But revenge kept me alive; -I dared not die and leave my adversary in being. - -When I quitted Geneva my first labour was to gain some clue by which I -might trace the steps of my fiendish enemy. But my plan was unsettled, -and I wandered many hours round the confines of the town, uncertain -what path I should pursue. As night approached I found myself at the -entrance of the cemetery where William, Elizabeth, and my father -reposed. I entered it and approached the tomb which marked their -graves. Everything was silent except the leaves of the trees, which -were gently agitated by the wind; the night was nearly dark, and the -scene would have been solemn and affecting even to an uninterested -observer. The spirits of the departed seemed to flit around and to -cast a shadow, which was felt but not seen, around the head of the -mourner. - -The deep grief which this scene had at first excited quickly gave way -to rage and despair. They were dead, and I lived; their murderer also -lived, and to destroy him I must drag out my weary existence. I knelt -on the grass and kissed the earth and with quivering lips exclaimed, -"By the sacred earth on which I kneel, by the shades that wander near -me, by the deep and eternal grief that I feel, I swear; and by thee, O -Night, and the spirits that preside over thee, to pursue the daemon who -caused this misery, until he or I shall perish in mortal conflict. For -this purpose I will preserve my life; to execute this dear revenge will -I again behold the sun and tread the green herbage of earth, which -otherwise should vanish from my eyes forever. And I call on you, -spirits of the dead, and on you, wandering ministers of vengeance, to -aid and conduct me in my work. Let the cursed and hellish monster -drink deep of agony; let him feel the despair that now torments me." I -had begun my adjuration with solemnity and an awe which almost assured -me that the shades of my murdered friends heard and approved my -devotion, but the furies possessed me as I concluded, and rage choked -my utterance. - -I was answered through the stillness of night by a loud and fiendish -laugh. It rang on my ears long and heavily; the mountains re-echoed -it, and I felt as if all hell surrounded me with mockery and laughter. -Surely in that moment I should have been possessed by frenzy and have -destroyed my miserable existence but that my vow was heard and that I -was reserved for vengeance. The laughter died away, when a well-known -and abhorred voice, apparently close to my ear, addressed me in an -audible whisper, "I am satisfied, miserable wretch! You have -determined to live, and I am satisfied." - -I darted towards the spot from which the sound proceeded, but the devil -eluded my grasp. Suddenly the broad disk of the moon arose and shone -full upon his ghastly and distorted shape as he fled with more than -mortal speed. - -I pursued him, and for many months this has been my task. Guided by a -slight clue, I followed the windings of the Rhone, but vainly. The -blue Mediterranean appeared, and by a strange chance, I saw the fiend -enter by night and hide himself in a vessel bound for the Black Sea. I -took my passage in the same ship, but he escaped, I know not how. - -Amidst the wilds of Tartary and Russia, although he still evaded me, I -have ever followed in his track. Sometimes the peasants, scared by -this horrid apparition, informed me of his path; sometimes he himself, -who feared that if I lost all trace of him I should despair and die, -left some mark to guide me. The snows descended on my head, and I saw -the print of his huge step on the white plain. To you first entering -on life, to whom care is new and agony unknown, how can you understand -what I have felt and still feel? Cold, want, and fatigue were the -least pains which I was destined to endure; I was cursed by some devil -and carried about with me my eternal hell; yet still a spirit of good -followed and directed my steps and when I most murmured would suddenly -extricate me from seemingly insurmountable difficulties. Sometimes, -when nature, overcome by hunger, sank under the exhaustion, a repast -was prepared for me in the desert that restored and inspirited me. The -fare was, indeed, coarse, such as the peasants of the country ate, but -I will not doubt that it was set there by the spirits that I had -invoked to aid me. Often, when all was dry, the heavens cloudless, and -I was parched by thirst, a slight cloud would bedim the sky, shed the -few drops that revived me, and vanish. - -I followed, when I could, the courses of the rivers; but the daemon -generally avoided these, as it was here that the population of the -country chiefly collected. In other places human beings were seldom -seen, and I generally subsisted on the wild animals that crossed my -path. I had money with me and gained the friendship of the villagers -by distributing it; or I brought with me some food that I had killed, -which, after taking a small part, I always presented to those who had -provided me with fire and utensils for cooking. - -My life, as it passed thus, was indeed hateful to me, and it was during -sleep alone that I could taste joy. O blessed sleep! Often, when most -miserable, I sank to repose, and my dreams lulled me even to rapture. -The spirits that guarded me had provided these moments, or rather -hours, of happiness that I might retain strength to fulfil my -pilgrimage. Deprived of this respite, I should have sunk under my -hardships. During the day I was sustained and inspirited by the hope -of night, for in sleep I saw my friends, my wife, and my beloved -country; again I saw the benevolent countenance of my father, heard the -silver tones of my Elizabeth's voice, and beheld Clerval enjoying -health and youth. Often, when wearied by a toilsome march, I persuaded -myself that I was dreaming until night should come and that I should -then enjoy reality in the arms of my dearest friends. What agonizing -fondness did I feel for them! How did I cling to their dear forms, as -sometimes they haunted even my waking hours, and persuade myself that -they still lived! At such moments vengeance, that burned within me, -died in my heart, and I pursued my path towards the destruction of the -daemon more as a task enjoined by heaven, as the mechanical impulse of -some power of which I was unconscious, than as the ardent desire of my -soul. What his feelings were whom I pursued I cannot know. Sometimes, -indeed, he left marks in writing on the barks of the trees or cut in -stone that guided me and instigated my fury. "My reign is not yet -over"--these words were legible in one of these inscriptions--"you -live, and my power is complete. Follow me; I seek the everlasting ices -of the north, where you will feel the misery of cold and frost, to -which I am impassive. You will find near this place, if you follow not -too tardily, a dead hare; eat and be refreshed. Come on, my enemy; we -have yet to wrestle for our lives, but many hard and miserable hours -must you endure until that period shall arrive." - -Scoffing devil! Again do I vow vengeance; again do I devote thee, -miserable fiend, to torture and death. Never will I give up my search -until he or I perish; and then with what ecstasy shall I join my -Elizabeth and my departed friends, who even now prepare for me the -reward of my tedious toil and horrible pilgrimage! - -As I still pursued my journey to the northward, the snows thickened and -the cold increased in a degree almost too severe to support. The -peasants were shut up in their hovels, and only a few of the most hardy -ventured forth to seize the animals whom starvation had forced from -their hiding-places to seek for prey. The rivers were covered with -ice, and no fish could be procured; and thus I was cut off from my -chief article of maintenance. The triumph of my enemy increased with -the difficulty of my labours. One inscription that he left was in -these words: "Prepare! Your toils only begin; wrap yourself in furs -and provide food, for we shall soon enter upon a journey where your -sufferings will satisfy my everlasting hatred." - -My courage and perseverance were invigorated by these scoffing words; I -resolved not to fail in my purpose, and calling on heaven to support -me, I continued with unabated fervour to traverse immense deserts, -until the ocean appeared at a distance and formed the utmost boundary -of the horizon. Oh! How unlike it was to the blue seasons of the -south! Covered with ice, it was only to be distinguished from land by -its superior wildness and ruggedness. The Greeks wept for joy when -they beheld the Mediterranean from the hills of Asia, and hailed with -rapture the boundary of their toils. I did not weep, but I knelt down -and with a full heart thanked my guiding spirit for conducting me in -safety to the place where I hoped, notwithstanding my adversary's gibe, -to meet and grapple with him. - -Some weeks before this period I had procured a sledge and dogs and thus -traversed the snows with inconceivable speed. I know not whether the -fiend possessed the same advantages, but I found that, as before I had -daily lost ground in the pursuit, I now gained on him, so much so that -when I first saw the ocean he was but one day's journey in advance, and -I hoped to intercept him before he should reach the beach. With new -courage, therefore, I pressed on, and in two days arrived at a wretched -hamlet on the seashore. I inquired of the inhabitants concerning the -fiend and gained accurate information. A gigantic monster, they said, -had arrived the night before, armed with a gun and many pistols, -putting to flight the inhabitants of a solitary cottage through fear of -his terrific appearance. He had carried off their store of winter -food, and placing it in a sledge, to draw which he had seized on a -numerous drove of trained dogs, he had harnessed them, and the same -night, to the joy of the horror-struck villagers, had pursued his -journey across the sea in a direction that led to no land; and they -conjectured that he must speedily be destroyed by the breaking of the -ice or frozen by the eternal frosts. - -On hearing this information I suffered a temporary access of despair. -He had escaped me, and I must commence a destructive and almost endless -journey across the mountainous ices of the ocean, amidst cold that few -of the inhabitants could long endure and which I, the native of a -genial and sunny climate, could not hope to survive. Yet at the idea -that the fiend should live and be triumphant, my rage and vengeance -returned, and like a mighty tide, overwhelmed every other feeling. -After a slight repose, during which the spirits of the dead hovered -round and instigated me to toil and revenge, I prepared for my journey. -I exchanged my land-sledge for one fashioned for the inequalities of -the frozen ocean, and purchasing a plentiful stock of provisions, I -departed from land. - -I cannot guess how many days have passed since then, but I have endured -misery which nothing but the eternal sentiment of a just retribution -burning within my heart could have enabled me to support. Immense and -rugged mountains of ice often barred up my passage, and I often heard -the thunder of the ground sea, which threatened my destruction. But -again the frost came and made the paths of the sea secure. - -By the quantity of provision which I had consumed, I should guess that -I had passed three weeks in this journey; and the continual protraction -of hope, returning back upon the heart, often wrung bitter drops of -despondency and grief from my eyes. Despair had indeed almost secured -her prey, and I should soon have sunk beneath this misery. Once, after -the poor animals that conveyed me had with incredible toil gained the -summit of a sloping ice mountain, and one, sinking under his fatigue, -died, I viewed the expanse before me with anguish, when suddenly my eye -caught a dark speck upon the dusky plain. I strained my sight to -discover what it could be and uttered a wild cry of ecstasy when I -distinguished a sledge and the distorted proportions of a well-known -form within. Oh! With what a burning gush did hope revisit my heart! -Warm tears filled my eyes, which I hastily wiped away, that they might -not intercept the view I had of the daemon; but still my sight was -dimmed by the burning drops, until, giving way to the emotions that -oppressed me, I wept aloud. - -But this was not the time for delay; I disencumbered the dogs of their -dead companion, gave them a plentiful portion of food, and after an -hour's rest, which was absolutely necessary, and yet which was bitterly -irksome to me, I continued my route. The sledge was still visible, nor -did I again lose sight of it except at the moments when for a short -time some ice-rock concealed it with its intervening crags. I indeed -perceptibly gained on it, and when, after nearly two days' journey, I -beheld my enemy at no more than a mile distant, my heart bounded within -me. - -But now, when I appeared almost within grasp of my foe, my hopes were -suddenly extinguished, and I lost all trace of him more utterly than I -had ever done before. A ground sea was heard; the thunder of its -progress, as the waters rolled and swelled beneath me, became every -moment more ominous and terrific. I pressed on, but in vain. The wind -arose; the sea roared; and, as with the mighty shock of an earthquake, -it split and cracked with a tremendous and overwhelming sound. The -work was soon finished; in a few minutes a tumultuous sea rolled -between me and my enemy, and I was left drifting on a scattered piece -of ice that was continually lessening and thus preparing for me a -hideous death. In this manner many appalling hours passed; several of -my dogs died, and I myself was about to sink under the accumulation of -distress when I saw your vessel riding at anchor and holding forth to -me hopes of succour and life. I had no conception that vessels ever -came so far north and was astounded at the sight. I quickly destroyed -part of my sledge to construct oars, and by these means was enabled, -with infinite fatigue, to move my ice raft in the direction of your -ship. I had determined, if you were going southwards, still to trust -myself to the mercy of the seas rather than abandon my purpose. I -hoped to induce you to grant me a boat with which I could pursue my -enemy. But your direction was northwards. You took me on board when -my vigour was exhausted, and I should soon have sunk under my -multiplied hardships into a death which I still dread, for my task is -unfulfilled. - -Oh! When will my guiding spirit, in conducting me to the daemon, allow -me the rest I so much desire; or must I die, and he yet live? If I do, -swear to me, Walton, that he shall not escape, that you will seek him -and satisfy my vengeance in his death. And do I dare to ask of you to -undertake my pilgrimage, to endure the hardships that I have undergone? -No; I am not so selfish. Yet, when I am dead, if he should appear, if -the ministers of vengeance should conduct him to you, swear that he -shall not live--swear that he shall not triumph over my accumulated -woes and survive to add to the list of his dark crimes. He is eloquent -and persuasive, and once his words had even power over my heart; but -trust him not. His soul is as hellish as his form, full of treachery -and fiend-like malice. Hear him not; call on the names of William, -Justine, Clerval, Elizabeth, my father, and of the wretched Victor, and -thrust your sword into his heart. I will hover near and direct the -steel aright. - - - Walton, in continuation. - - - - August 26th, 17-- - - -You have read this strange and terrific story, Margaret; and do you not -feel your blood congeal with horror, like that which even now curdles -mine? Sometimes, seized with sudden agony, he could not continue his -tale; at others, his voice broken, yet piercing, uttered with -difficulty the words so replete with anguish. His fine and lovely eyes -were now lighted up with indignation, now subdued to downcast sorrow -and quenched in infinite wretchedness. Sometimes he commanded his -countenance and tones and related the most horrible incidents with a -tranquil voice, suppressing every mark of agitation; then, like a -volcano bursting forth, his face would suddenly change to an expression -of the wildest rage as he shrieked out imprecations on his persecutor. - -His tale is connected and told with an appearance of the simplest -truth, yet I own to you that the letters of Felix and Safie, which he -showed me, and the apparition of the monster seen from our ship, -brought to me a greater conviction of the truth of his narrative than -his asseverations, however earnest and connected. Such a monster has, -then, really existence! I cannot doubt it, yet I am lost in surprise -and admiration. Sometimes I endeavoured to gain from Frankenstein the -particulars of his creature's formation, but on this point he was -impenetrable. "Are you mad, my friend?" said he. "Or whither does your -senseless curiosity lead you? Would you also create for yourself and -the world a demoniacal enemy? Peace, peace! Learn my miseries and do -not seek to increase your own." Frankenstein discovered that I made -notes concerning his history; he asked to see them and then himself -corrected and augmented them in many places, but principally in giving -the life and spirit to the conversations he held with his enemy. "Since -you have preserved my narration," said he, "I would not that a -mutilated one should go down to posterity." - -Thus has a week passed away, while I have listened to the strangest -tale that ever imagination formed. My thoughts and every feeling of my -soul have been drunk up by the interest for my guest which this tale -and his own elevated and gentle manners have created. I wish to soothe -him, yet can I counsel one so infinitely miserable, so destitute of -every hope of consolation, to live? Oh, no! The only joy that he can -now know will be when he composes his shattered spirit to peace and -death. Yet he enjoys one comfort, the offspring of solitude and -delirium; he believes that when in dreams he holds converse with his -friends and derives from that communion consolation for his miseries or -excitements to his vengeance, that they are not the creations of his -fancy, but the beings themselves who visit him from the regions of a -remote world. This faith gives a solemnity to his reveries that render -them to me almost as imposing and interesting as truth. - -Our conversations are not always confined to his own history and -misfortunes. On every point of general literature he displays -unbounded knowledge and a quick and piercing apprehension. His -eloquence is forcible and touching; nor can I hear him, when he relates -a pathetic incident or endeavours to move the passions of pity or love, -without tears. What a glorious creature must he have been in the days -of his prosperity, when he is thus noble and godlike in ruin! He seems -to feel his own worth and the greatness of his fall. - -"When younger," said he, "I believed myself destined for some great -enterprise. My feelings are profound, but I possessed a coolness of -judgment that fitted me for illustrious achievements. This sentiment -of the worth of my nature supported me when others would have been -oppressed, for I deemed it criminal to throw away in useless grief -those talents that might be useful to my fellow creatures. When I -reflected on the work I had completed, no less a one than the creation -of a sensitive and rational animal, I could not rank myself with the -herd of common projectors. But this thought, which supported me in the -commencement of my career, now serves only to plunge me lower in the -dust. All my speculations and hopes are as nothing, and like the -archangel who aspired to omnipotence, I am chained in an eternal hell. -My imagination was vivid, yet my powers of analysis and application -were intense; by the union of these qualities I conceived the idea and -executed the creation of a man. Even now I cannot recollect without -passion my reveries while the work was incomplete. I trod heaven in my -thoughts, now exulting in my powers, now burning with the idea of their -effects. From my infancy I was imbued with high hopes and a lofty -ambition; but how am I sunk! Oh! My friend, if you had known me as I -once was, you would not recognize me in this state of degradation. -Despondency rarely visited my heart; a high destiny seemed to bear me -on, until I fell, never, never again to rise." Must I then lose this -admirable being? I have longed for a friend; I have sought one who -would sympathize with and love me. Behold, on these desert seas I have -found such a one, but I fear I have gained him only to know his value -and lose him. I would reconcile him to life, but he repulses the idea. - -"I thank you, Walton," he said, "for your kind intentions towards so -miserable a wretch; but when you speak of new ties and fresh -affections, think you that any can replace those who are gone? Can any -man be to me as Clerval was, or any woman another Elizabeth? Even -where the affections are not strongly moved by any superior excellence, -the companions of our childhood always possess a certain power over our -minds which hardly any later friend can obtain. They know our -infantine dispositions, which, however they may be afterwards modified, -are never eradicated; and they can judge of our actions with more -certain conclusions as to the integrity of our motives. A sister or a -brother can never, unless indeed such symptoms have been shown early, -suspect the other of fraud or false dealing, when another friend, -however strongly he may be attached, may, in spite of himself, be -contemplated with suspicion. But I enjoyed friends, dear not only -through habit and association, but from their own merits; and wherever -I am, the soothing voice of my Elizabeth and the conversation of -Clerval will be ever whispered in my ear. They are dead, and but one -feeling in such a solitude can persuade me to preserve my life. If I -were engaged in any high undertaking or design, fraught with extensive -utility to my fellow creatures, then could I live to fulfil it. But -such is not my destiny; I must pursue and destroy the being to whom I -gave existence; then my lot on earth will be fulfilled and I may die." - - - - -September 2nd - -My beloved Sister, - -I write to you, encompassed by peril and ignorant whether I am ever -doomed to see again dear England and the dearer friends that inhabit -it. I am surrounded by mountains of ice which admit of no escape and -threaten every moment to crush my vessel. The brave fellows whom I -have persuaded to be my companions look towards me for aid, but I have -none to bestow. There is something terribly appalling in our -situation, yet my courage and hopes do not desert me. Yet it is -terrible to reflect that the lives of all these men are endangered -through me. If we are lost, my mad schemes are the cause. - -And what, Margaret, will be the state of your mind? You will not hear -of my destruction, and you will anxiously await my return. Years will -pass, and you will have visitings of despair and yet be tortured by -hope. Oh! My beloved sister, the sickening failing of your heart-felt -expectations is, in prospect, more terrible to me than my own death. - -But you have a husband and lovely children; you may be happy. Heaven -bless you and make you so! - -My unfortunate guest regards me with the tenderest compassion. He -endeavours to fill me with hope and talks as if life were a possession -which he valued. He reminds me how often the same accidents have -happened to other navigators who have attempted this sea, and in spite -of myself, he fills me with cheerful auguries. Even the sailors feel -the power of his eloquence; when he speaks, they no longer despair; he -rouses their energies, and while they hear his voice they believe these -vast mountains of ice are mole-hills which will vanish before the -resolutions of man. These feelings are transitory; each day of -expectation delayed fills them with fear, and I almost dread a mutiny -caused by this despair. - - - -September 5th - - -A scene has just passed of such uncommon interest that, although it is -highly probable that these papers may never reach you, yet I cannot -forbear recording it. - -We are still surrounded by mountains of ice, still in imminent danger -of being crushed in their conflict. The cold is excessive, and many of -my unfortunate comrades have already found a grave amidst this scene of -desolation. Frankenstein has daily declined in health; a feverish fire -still glimmers in his eyes, but he is exhausted, and when suddenly -roused to any exertion, he speedily sinks again into apparent -lifelessness. - -I mentioned in my last letter the fears I entertained of a mutiny. -This morning, as I sat watching the wan countenance of my friend--his -eyes half closed and his limbs hanging listlessly--I was roused by half -a dozen of the sailors, who demanded admission into the cabin. They -entered, and their leader addressed me. He told me that he and his -companions had been chosen by the other sailors to come in deputation -to me to make me a requisition which, in justice, I could not refuse. -We were immured in ice and should probably never escape, but they -feared that if, as was possible, the ice should dissipate and a free -passage be opened, I should be rash enough to continue my voyage and -lead them into fresh dangers, after they might happily have surmounted -this. They insisted, therefore, that I should engage with a solemn -promise that if the vessel should be freed I would instantly direct my -course southwards. - -This speech troubled me. I had not despaired, nor had I yet conceived -the idea of returning if set free. Yet could I, in justice, or even in -possibility, refuse this demand? I hesitated before I answered, when -Frankenstein, who had at first been silent, and indeed appeared hardly -to have force enough to attend, now roused himself; his eyes sparkled, -and his cheeks flushed with momentary vigour. Turning towards the men, -he said, "What do you mean? What do you demand of your captain? Are -you, then, so easily turned from your design? Did you not call this a -glorious expedition? - -"And wherefore was it glorious? Not because the way was smooth and -placid as a southern sea, but because it was full of dangers and -terror, because at every new incident your fortitude was to be called -forth and your courage exhibited, because danger and death surrounded -it, and these you were to brave and overcome. For this was it a -glorious, for this was it an honourable undertaking. You were -hereafter to be hailed as the benefactors of your species, your names -adored as belonging to brave men who encountered death for honour and -the benefit of mankind. And now, behold, with the first imagination of -danger, or, if you will, the first mighty and terrific trial of your -courage, you shrink away and are content to be handed down as men who -had not strength enough to endure cold and peril; and so, poor souls, -they were chilly and returned to their warm firesides. Why, that -requires not this preparation; ye need not have come thus far and -dragged your captain to the shame of a defeat merely to prove -yourselves cowards. Oh! Be men, or be more than men. Be steady to -your purposes and firm as a rock. This ice is not made of such stuff as -your hearts may be; it is mutable and cannot withstand you if you say -that it shall not. Do not return to your families with the stigma of -disgrace marked on your brows. Return as heroes who have fought and -conquered and who know not what it is to turn their backs on the foe." -He spoke this with a voice so modulated to the different feelings -expressed in his speech, with an eye so full of lofty design and -heroism, that can you wonder that these men were moved? They looked at -one another and were unable to reply. I spoke; I told them to retire -and consider of what had been said, that I would not lead them farther -north if they strenuously desired the contrary, but that I hoped that, -with reflection, their courage would return. They retired and I turned -towards my friend, but he was sunk in languor and almost deprived of -life. - -How all this will terminate, I know not, but I had rather die than -return shamefully, my purpose unfulfilled. Yet I fear such will be my -fate; the men, unsupported by ideas of glory and honour, can never -willingly continue to endure their present hardships. - - - -September 7th - - -The die is cast; I have consented to return if we are not destroyed. -Thus are my hopes blasted by cowardice and indecision; I come back -ignorant and disappointed. It requires more philosophy than I possess -to bear this injustice with patience. - - - -September 12th - - -It is past; I am returning to England. I have lost my hopes of utility -and glory; I have lost my friend. But I will endeavour to detail these -bitter circumstances to you, my dear sister; and while I am wafted -towards England and towards you, I will not despond. - -September 9th, the ice began to move, and roarings like thunder were -heard at a distance as the islands split and cracked in every -direction. We were in the most imminent peril, but as we could only -remain passive, my chief attention was occupied by my unfortunate guest -whose illness increased in such a degree that he was entirely confined -to his bed. The ice cracked behind us and was driven with force -towards the north; a breeze sprang from the west, and on the 11th the -passage towards the south became perfectly free. When the sailors saw -this and that their return to their native country was apparently -assured, a shout of tumultuous joy broke from them, loud and -long-continued. Frankenstein, who was dozing, awoke and asked the -cause of the tumult. "They shout," I said, "because they will soon -return to England." - -"Do you, then, really return?" - -"Alas! Yes; I cannot withstand their demands. I cannot lead them -unwillingly to danger, and I must return." - -"Do so, if you will; but I will not. You may give up your purpose, but -mine is assigned to me by heaven, and I dare not. I am weak, but -surely the spirits who assist my vengeance will endow me with -sufficient strength." Saying this, he endeavoured to spring from the -bed, but the exertion was too great for him; he fell back and fainted. - -It was long before he was restored, and I often thought that life was -entirely extinct. At length he opened his eyes; he breathed with -difficulty and was unable to speak. The surgeon gave him a composing -draught and ordered us to leave him undisturbed. In the meantime he -told me that my friend had certainly not many hours to live. - -His sentence was pronounced, and I could only grieve and be patient. I -sat by his bed, watching him; his eyes were closed, and I thought he -slept; but presently he called to me in a feeble voice, and bidding me -come near, said, "Alas! The strength I relied on is gone; I feel that -I shall soon die, and he, my enemy and persecutor, may still be in -being. Think not, Walton, that in the last moments of my existence I -feel that burning hatred and ardent desire of revenge I once expressed; -but I feel myself justified in desiring the death of my adversary. -During these last days I have been occupied in examining my past -conduct; nor do I find it blamable. In a fit of enthusiastic madness I -created a rational creature and was bound towards him to assure, as far -as was in my power, his happiness and well-being. - -"This was my duty, but there was another still paramount to that. My -duties towards the beings of my own species had greater claims to my -attention because they included a greater proportion of happiness or -misery. Urged by this view, I refused, and I did right in refusing, to -create a companion for the first creature. He showed unparalleled -malignity and selfishness in evil; he destroyed my friends; he devoted -to destruction beings who possessed exquisite sensations, happiness, -and wisdom; nor do I know where this thirst for vengeance may end. -Miserable himself that he may render no other wretched, he ought to -die. The task of his destruction was mine, but I have failed. When -actuated by selfish and vicious motives, I asked you to undertake my -unfinished work, and I renew this request now, when I am only induced -by reason and virtue. - -"Yet I cannot ask you to renounce your country and friends to fulfil -this task; and now that you are returning to England, you will have -little chance of meeting with him. But the consideration of these -points, and the well balancing of what you may esteem your duties, I -leave to you; my judgment and ideas are already disturbed by the near -approach of death. I dare not ask you to do what I think right, for I -may still be misled by passion. - -"That he should live to be an instrument of mischief disturbs me; in -other respects, this hour, when I momentarily expect my release, is the -only happy one which I have enjoyed for several years. The forms of -the beloved dead flit before me, and I hasten to their arms. Farewell, -Walton! Seek happiness in tranquillity and avoid ambition, even if it -be only the apparently innocent one of distinguishing yourself in -science and discoveries. Yet why do I say this? I have myself been -blasted in these hopes, yet another may succeed." - -His voice became fainter as he spoke, and at length, exhausted by his -effort, he sank into silence. About half an hour afterwards he -attempted again to speak but was unable; he pressed my hand feebly, and -his eyes closed forever, while the irradiation of a gentle smile passed -away from his lips. - -Margaret, what comment can I make on the untimely extinction of this -glorious spirit? What can I say that will enable you to understand the -depth of my sorrow? All that I should express would be inadequate and -feeble. My tears flow; my mind is overshadowed by a cloud of -disappointment. But I journey towards England, and I may there find -consolation. - -I am interrupted. What do these sounds portend? It is midnight; the -breeze blows fairly, and the watch on deck scarcely stir. Again there -is a sound as of a human voice, but hoarser; it comes from the cabin -where the remains of Frankenstein still lie. I must arise and examine. -Good night, my sister. - -Great God! what a scene has just taken place! I am yet dizzy with the -remembrance of it. I hardly know whether I shall have the power to -detail it; yet the tale which I have recorded would be incomplete -without this final and wonderful catastrophe. I entered the cabin where -lay the remains of my ill-fated and admirable friend. Over him hung a -form which I cannot find words to describe--gigantic in stature, yet -uncouth and distorted in its proportions. As he hung over the coffin, -his face was concealed by long locks of ragged hair; but one vast hand -was extended, in colour and apparent texture like that of a mummy. When -he heard the sound of my approach, he ceased to utter exclamations of -grief and horror and sprung towards the window. Never did I behold a -vision so horrible as his face, of such loathsome yet appalling -hideousness. I shut my eyes involuntarily and endeavoured to recollect -what were my duties with regard to this destroyer. I called on him to -stay. - -He paused, looking on me with wonder, and again turning towards the -lifeless form of his creator, he seemed to forget my presence, and -every feature and gesture seemed instigated by the wildest rage of some -uncontrollable passion. - -"That is also my victim!" he exclaimed. "In his murder my crimes are -consummated; the miserable series of my being is wound to its close! -Oh, Frankenstein! Generous and self-devoted being! What does it avail -that I now ask thee to pardon me? I, who irretrievably destroyed thee -by destroying all thou lovedst. Alas! He is cold, he cannot answer -me." His voice seemed suffocated, and my first impulses, which had -suggested to me the duty of obeying the dying request of my friend in -destroying his enemy, were now suspended by a mixture of curiosity and -compassion. I approached this tremendous being; I dared not again -raise my eyes to his face, there was something so scaring and unearthly -in his ugliness. I attempted to speak, but the words died away on my -lips. The monster continued to utter wild and incoherent -self-reproaches. At length I gathered resolution to address him in a -pause of the tempest of his passion. - -"Your repentance," I said, "is now superfluous. If you had listened to -the voice of conscience and heeded the stings of remorse before you had -urged your diabolical vengeance to this extremity, Frankenstein would -yet have lived." - -"And do you dream?" said the daemon. "Do you think that I was then -dead to agony and remorse? He," he continued, pointing to the corpse, -"he suffered not in the consummation of the deed. Oh! Not the -ten-thousandth portion of the anguish that was mine during the -lingering detail of its execution. A frightful selfishness hurried me -on, while my heart was poisoned with remorse. Think you that the -groans of Clerval were music to my ears? My heart was fashioned to be -susceptible of love and sympathy, and when wrenched by misery to vice -and hatred, it did not endure the violence of the change without -torture such as you cannot even imagine. - -"After the murder of Clerval I returned to Switzerland, heart-broken -and overcome. I pitied Frankenstein; my pity amounted to horror; I -abhorred myself. But when I discovered that he, the author at once of -my existence and of its unspeakable torments, dared to hope for -happiness, that while he accumulated wretchedness and despair upon me -he sought his own enjoyment in feelings and passions from the -indulgence of which I was forever barred, then impotent envy and bitter -indignation filled me with an insatiable thirst for vengeance. I -recollected my threat and resolved that it should be accomplished. I -knew that I was preparing for myself a deadly torture, but I was the -slave, not the master, of an impulse which I detested yet could not -disobey. Yet when she died! Nay, then I was not miserable. I had -cast off all feeling, subdued all anguish, to riot in the excess of my -despair. Evil thenceforth became my good. Urged thus far, I had no -choice but to adapt my nature to an element which I had willingly -chosen. The completion of my demoniacal design became an insatiable -passion. And now it is ended; there is my last victim!" - -I was at first touched by the expressions of his misery; yet, when I -called to mind what Frankenstein had said of his powers of eloquence -and persuasion, and when I again cast my eyes on the lifeless form of -my friend, indignation was rekindled within me. "Wretch!" I said. "It -is well that you come here to whine over the desolation that you have -made. You throw a torch into a pile of buildings, and when they are -consumed, you sit among the ruins and lament the fall. Hypocritical -fiend! If he whom you mourn still lived, still would he be the object, -again would he become the prey, of your accursed vengeance. It is not -pity that you feel; you lament only because the victim of your -malignity is withdrawn from your power." - -"Oh, it is not thus--not thus," interrupted the being. "Yet such must -be the impression conveyed to you by what appears to be the purport of -my actions. Yet I seek not a fellow feeling in my misery. No sympathy -may I ever find. When I first sought it, it was the love of virtue, -the feelings of happiness and affection with which my whole being -overflowed, that I wished to be participated. But now that virtue has -become to me a shadow, and that happiness and affection are turned into -bitter and loathing despair, in what should I seek for sympathy? I am -content to suffer alone while my sufferings shall endure; when I die, I -am well satisfied that abhorrence and opprobrium should load my memory. -Once my fancy was soothed with dreams of virtue, of fame, and of -enjoyment. Once I falsely hoped to meet with beings who, pardoning my -outward form, would love me for the excellent qualities which I was -capable of unfolding. I was nourished with high thoughts of honour and -devotion. But now crime has degraded me beneath the meanest animal. No -guilt, no mischief, no malignity, no misery, can be found comparable to -mine. When I run over the frightful catalogue of my sins, I cannot -believe that I am the same creature whose thoughts were once filled -with sublime and transcendent visions of the beauty and the majesty of -goodness. But it is even so; the fallen angel becomes a malignant -devil. Yet even that enemy of God and man had friends and associates -in his desolation; I am alone. - -"You, who call Frankenstein your friend, seem to have a knowledge of my -crimes and his misfortunes. But in the detail which he gave you of them -he could not sum up the hours and months of misery which I endured -wasting in impotent passions. For while I destroyed his hopes, I did -not satisfy my own desires. They were forever ardent and craving; still -I desired love and fellowship, and I was still spurned. Was there no -injustice in this? Am I to be thought the only criminal, when all -humankind sinned against me? Why do you not hate Felix, who drove his -friend from his door with contumely? Why do you not execrate the rustic -who sought to destroy the saviour of his child? Nay, these are virtuous -and immaculate beings! I, the miserable and the abandoned, am an -abortion, to be spurned at, and kicked, and trampled on. Even now my -blood boils at the recollection of this injustice. - -"But it is true that I am a wretch. I have murdered the lovely and the -helpless; I have strangled the innocent as they slept and grasped to -death his throat who never injured me or any other living thing. I -have devoted my creator, the select specimen of all that is worthy of -love and admiration among men, to misery; I have pursued him even to -that irremediable ruin. - -"There he lies, white and cold in death. You hate me, but your -abhorrence cannot equal that with which I regard myself. I look on the -hands which executed the deed; I think on the heart in which the -imagination of it was conceived and long for the moment when these -hands will meet my eyes, when that imagination will haunt my thoughts -no more. - -"Fear not that I shall be the instrument of future mischief. My work -is nearly complete. Neither yours nor any man's death is needed to -consummate the series of my being and accomplish that which must be -done, but it requires my own. Do not think that I shall be slow to -perform this sacrifice. I shall quit your vessel on the ice raft which -brought me thither and shall seek the most northern extremity of the -globe; I shall collect my funeral pile and consume to ashes this -miserable frame, that its remains may afford no light to any curious -and unhallowed wretch who would create such another as I have been. I -shall die. I shall no longer feel the agonies which now consume me or -be the prey of feelings unsatisfied, yet unquenched. He is dead who -called me into being; and when I shall be no more, the very remembrance -of us both will speedily vanish. I shall no longer see the sun or -stars or feel the winds play on my cheeks. - -"Light, feeling, and sense will pass away; and in this condition must I -find my happiness. Some years ago, when the images which this world -affords first opened upon me, when I felt the cheering warmth of summer -and heard the rustling of the leaves and the warbling of the birds, and -these were all to me, I should have wept to die; now it is my only -consolation. Polluted by crimes and torn by the bitterest remorse, -where can I find rest but in death? - -"Farewell! I leave you, and in you the last of humankind whom these -eyes will ever behold. Farewell, Frankenstein! If thou wert yet alive -and yet cherished a desire of revenge against me, it would be better -satiated in my life than in my destruction. But it was not so; thou -didst seek my extinction, that I might not cause greater wretchedness; -and if yet, in some mode unknown to me, thou hadst not ceased to think -and feel, thou wouldst not desire against me a vengeance greater than -that which I feel. Blasted as thou wert, my agony was still superior to -thine, for the bitter sting of remorse will not cease to rankle in my -wounds until death shall close them forever. - -"But soon," he cried with sad and solemn enthusiasm, "I shall die, and -what I now feel be no longer felt. Soon these burning miseries will be -extinct. I shall ascend my funeral pile triumphantly and exult in the -agony of the torturing flames. The light of that conflagration will -fade away; my ashes will be swept into the sea by the winds. My spirit -will sleep in peace, or if it thinks, it will not surely think thus. -Farewell." - -He sprang from the cabin window as he said this, upon the ice raft -which lay close to the vessel. He was soon borne away by the waves and -lost in darkness and distance. - - - - - - - - - - -End of the Project Gutenberg EBook of Frankenstein, by -Mary Wollstonecraft (Godwin) Shelley - -*** END OF THIS PROJECT GUTENBERG EBOOK FRANKENSTEIN *** - -***** This file should be named 84.txt or 84.zip ***** -This and all associated files of various formats will be found in: - http://www.gutenberg.org/8/84/ - -Produced by Judith Boss, Christy Phillips, Lynn Hanninen, -and David Meltzer. HTML version by Al Haines. - - -Updated editions will replace the previous one--the old editions -will be renamed. - -Creating the works from public domain print editions means that no -one owns a United States copyright in these works, so the Foundation -(and you!) can copy and distribute it in the United States without -permission and without paying copyright royalties. Special rules, -set forth in the General Terms of Use part of this license, apply to -copying and distributing Project Gutenberg-tm electronic works to -protect the PROJECT GUTENBERG-tm concept and trademark. Project -Gutenberg is a registered trademark, and may not be used if you -charge for the eBooks, unless you receive specific permission. If you -do not charge anything for copies of this eBook, complying with the -rules is very easy. You may use this eBook for nearly any purpose -such as creation of derivative works, reports, performances and -research. They may be modified and printed and given away--you may do -practically ANYTHING with public domain eBooks. Redistribution is -subject to the trademark license, especially commercial -redistribution. - - - -*** START: FULL LICENSE *** - -THE FULL PROJECT GUTENBERG LICENSE -PLEASE READ THIS BEFORE YOU DISTRIBUTE OR USE THIS WORK - -To protect the Project Gutenberg-tm mission of promoting the free -distribution of electronic works, by using or distributing this work -(or any other work associated in any way with the phrase "Project -Gutenberg"), you agree to comply with all the terms of the Full Project -Gutenberg-tm License (available with this file or online at -http://gutenberg.net/license). - - -Section 1. General Terms of Use and Redistributing Project Gutenberg-tm -electronic works - -1.A. By reading or using any part of this Project Gutenberg-tm -electronic work, you indicate that you have read, understand, agree to -and accept all the terms of this license and intellectual property -(trademark/copyright) agreement. If you do not agree to abide by all -the terms of this agreement, you must cease using and return or destroy -all copies of Project Gutenberg-tm electronic works in your possession. -If you paid a fee for obtaining a copy of or access to a Project -Gutenberg-tm electronic work and you do not agree to be bound by the -terms of this agreement, you may obtain a refund from the person or -entity to whom you paid the fee as set forth in paragraph 1.E.8. - -1.B. "Project Gutenberg" is a registered trademark. It may only be -used on or associated in any way with an electronic work by people who -agree to be bound by the terms of this agreement. There are a few -things that you can do with most Project Gutenberg-tm electronic works -even without complying with the full terms of this agreement. See -paragraph 1.C below. There are a lot of things you can do with Project -Gutenberg-tm electronic works if you follow the terms of this agreement -and help preserve free future access to Project Gutenberg-tm electronic -works. See paragraph 1.E below. - -1.C. The Project Gutenberg Literary Archive Foundation ("the Foundation" -or PGLAF), owns a compilation copyright in the collection of Project -Gutenberg-tm electronic works. Nearly all the individual works in the -collection are in the public domain in the United States. If an -individual work is in the public domain in the United States and you are -located in the United States, we do not claim a right to prevent you from -copying, distributing, performing, displaying or creating derivative -works based on the work as long as all references to Project Gutenberg -are removed. Of course, we hope that you will support the Project -Gutenberg-tm mission of promoting free access to electronic works by -freely sharing Project Gutenberg-tm works in compliance with the terms of -this agreement for keeping the Project Gutenberg-tm name associated with -the work. You can easily comply with the terms of this agreement by -keeping this work in the same format with its attached full Project -Gutenberg-tm License when you share it without charge with others. - -1.D. The copyright laws of the place where you are located also govern -what you can do with this work. Copyright laws in most countries are in -a constant state of change. If you are outside the United States, check -the laws of your country in addition to the terms of this agreement -before downloading, copying, displaying, performing, distributing or -creating derivative works based on this work or any other Project -Gutenberg-tm work. The Foundation makes no representations concerning -the copyright status of any work in any country outside the United -States. - -1.E. Unless you have removed all references to Project Gutenberg: - -1.E.1. The following sentence, with active links to, or other immediate -access to, the full Project Gutenberg-tm License must appear prominently -whenever any copy of a Project Gutenberg-tm work (any work on which the -phrase "Project Gutenberg" appears, or with which the phrase "Project -Gutenberg" is associated) is accessed, displayed, performed, viewed, -copied or distributed: - -This eBook is for the use of anyone anywhere at no cost and with -almost no restrictions whatsoever. You may copy it, give it away or -re-use it under the terms of the Project Gutenberg License included -with this eBook or online at www.gutenberg.net - -1.E.2. If an individual Project Gutenberg-tm electronic work is derived -from the public domain (does not contain a notice indicating that it is -posted with permission of the copyright holder), the work can be copied -and distributed to anyone in the United States without paying any fees -or charges. If you are redistributing or providing access to a work -with the phrase "Project Gutenberg" associated with or appearing on the -work, you must comply either with the requirements of paragraphs 1.E.1 -through 1.E.7 or obtain permission for the use of the work and the -Project Gutenberg-tm trademark as set forth in paragraphs 1.E.8 or -1.E.9. - -1.E.3. If an individual Project Gutenberg-tm electronic work is posted -with the permission of the copyright holder, your use and distribution -must comply with both paragraphs 1.E.1 through 1.E.7 and any additional -terms imposed by the copyright holder. Additional terms will be linked -to the Project Gutenberg-tm License for all works posted with the -permission of the copyright holder found at the beginning of this work. - -1.E.4. Do not unlink or detach or remove the full Project Gutenberg-tm -License terms from this work, or any files containing a part of this -work or any other work associated with Project Gutenberg-tm. - -1.E.5. Do not copy, display, perform, distribute or redistribute this -electronic work, or any part of this electronic work, without -prominently displaying the sentence set forth in paragraph 1.E.1 with -active links or immediate access to the full terms of the Project -Gutenberg-tm License. - -1.E.6. You may convert to and distribute this work in any binary, -compressed, marked up, nonproprietary or proprietary form, including any -word processing or hypertext form. However, if you provide access to or -distribute copies of a Project Gutenberg-tm work in a format other than -"Plain Vanilla ASCII" or other format used in the official version -posted on the official Project Gutenberg-tm web site (www.gutenberg.net), -you must, at no additional cost, fee or expense to the user, provide a -copy, a means of exporting a copy, or a means of obtaining a copy upon -request, of the work in its original "Plain Vanilla ASCII" or other -form. Any alternate format must include the full Project Gutenberg-tm -License as specified in paragraph 1.E.1. - -1.E.7. Do not charge a fee for access to, viewing, displaying, -performing, copying or distributing any Project Gutenberg-tm works -unless you comply with paragraph 1.E.8 or 1.E.9. - -1.E.8. You may charge a reasonable fee for copies of or providing -access to or distributing Project Gutenberg-tm electronic works provided -that - -- You pay a royalty fee of 20% of the gross profits you derive from - the use of Project Gutenberg-tm works calculated using the method - you already use to calculate your applicable taxes. The fee is - owed to the owner of the Project Gutenberg-tm trademark, but he - has agreed to donate royalties under this paragraph to the - Project Gutenberg Literary Archive Foundation. Royalty payments - must be paid within 60 days following each date on which you - prepare (or are legally required to prepare) your periodic tax - returns. Royalty payments should be clearly marked as such and - sent to the Project Gutenberg Literary Archive Foundation at the - address specified in Section 4, "Information about donations to - the Project Gutenberg Literary Archive Foundation." - -- You provide a full refund of any money paid by a user who notifies - you in writing (or by e-mail) within 30 days of receipt that s/he - does not agree to the terms of the full Project Gutenberg-tm - License. You must require such a user to return or - destroy all copies of the works possessed in a physical medium - and discontinue all use of and all access to other copies of - Project Gutenberg-tm works. - -- You provide, in accordance with paragraph 1.F.3, a full refund of any - money paid for a work or a replacement copy, if a defect in the - electronic work is discovered and reported to you within 90 days - of receipt of the work. - -- You comply with all other terms of this agreement for free - distribution of Project Gutenberg-tm works. - -1.E.9. If you wish to charge a fee or distribute a Project Gutenberg-tm -electronic work or group of works on different terms than are set -forth in this agreement, you must obtain permission in writing from -both the Project Gutenberg Literary Archive Foundation and Michael -Hart, the owner of the Project Gutenberg-tm trademark. Contact the -Foundation as set forth in Section 3 below. - -1.F. - -1.F.1. Project Gutenberg volunteers and employees expend considerable -effort to identify, do copyright research on, transcribe and proofread -public domain works in creating the Project Gutenberg-tm -collection. Despite these efforts, Project Gutenberg-tm electronic -works, and the medium on which they may be stored, may contain -"Defects," such as, but not limited to, incomplete, inaccurate or -corrupt data, transcription errors, a copyright or other intellectual -property infringement, a defective or damaged disk or other medium, a -computer virus, or computer codes that damage or cannot be read by -your equipment. - -1.F.2. LIMITED WARRANTY, DISCLAIMER OF DAMAGES - Except for the "Right -of Replacement or Refund" described in paragraph 1.F.3, the Project -Gutenberg Literary Archive Foundation, the owner of the Project -Gutenberg-tm trademark, and any other party distributing a Project -Gutenberg-tm electronic work under this agreement, disclaim all -liability to you for damages, costs and expenses, including legal -fees. YOU AGREE THAT YOU HAVE NO REMEDIES FOR NEGLIGENCE, STRICT -LIABILITY, BREACH OF WARRANTY OR BREACH OF CONTRACT EXCEPT THOSE -PROVIDED IN PARAGRAPH F3. YOU AGREE THAT THE FOUNDATION, THE -TRADEMARK OWNER, AND ANY DISTRIBUTOR UNDER THIS AGREEMENT WILL NOT BE -LIABLE TO YOU FOR ACTUAL, DIRECT, INDIRECT, CONSEQUENTIAL, PUNITIVE OR -INCIDENTAL DAMAGES EVEN IF YOU GIVE NOTICE OF THE POSSIBILITY OF SUCH -DAMAGE. - -1.F.3. LIMITED RIGHT OF REPLACEMENT OR REFUND - If you discover a -defect in this electronic work within 90 days of receiving it, you can -receive a refund of the money (if any) you paid for it by sending a -written explanation to the person you received the work from. If you -received the work on a physical medium, you must return the medium with -your written explanation. The person or entity that provided you with -the defective work may elect to provide a replacement copy in lieu of a -refund. If you received the work electronically, the person or entity -providing it to you may choose to give you a second opportunity to -receive the work electronically in lieu of a refund. If the second copy -is also defective, you may demand a refund in writing without further -opportunities to fix the problem. - -1.F.4. Except for the limited right of replacement or refund set forth -in paragraph 1.F.3, this work is provided to you 'AS-IS' WITH NO OTHER -WARRANTIES OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO -WARRANTIES OF MERCHANTIBILITY OR FITNESS FOR ANY PURPOSE. - -1.F.5. Some states do not allow disclaimers of certain implied -warranties or the exclusion or limitation of certain types of damages. -If any disclaimer or limitation set forth in this agreement violates the -law of the state applicable to this agreement, the agreement shall be -interpreted to make the maximum disclaimer or limitation permitted by -the applicable state law. The invalidity or unenforceability of any -provision of this agreement shall not void the remaining provisions. - -1.F.6. INDEMNITY - You agree to indemnify and hold the Foundation, the -trademark owner, any agent or employee of the Foundation, anyone -providing copies of Project Gutenberg-tm electronic works in accordance -with this agreement, and any volunteers associated with the production, -promotion and distribution of Project Gutenberg-tm electronic works, -harmless from all liability, costs and expenses, including legal fees, -that arise directly or indirectly from any of the following which you do -or cause to occur: (a) distribution of this or any Project Gutenberg-tm -work, (b) alteration, modification, or additions or deletions to any -Project Gutenberg-tm work, and (c) any Defect you cause. - - -Section 2. Information about the Mission of Project Gutenberg-tm - -Project Gutenberg-tm is synonymous with the free distribution of -electronic works in formats readable by the widest variety of computers -including obsolete, old, middle-aged and new computers. It exists -because of the efforts of hundreds of volunteers and donations from -people in all walks of life. - -Volunteers and financial support to provide volunteers with the -assistance they need, is critical to reaching Project Gutenberg-tm's -goals and ensuring that the Project Gutenberg-tm collection will -remain freely available for generations to come. In 2001, the Project -Gutenberg Literary Archive Foundation was created to provide a secure -and permanent future for Project Gutenberg-tm and future generations. -To learn more about the Project Gutenberg Literary Archive Foundation -and how your efforts and donations can help, see Sections 3 and 4 -and the Foundation web page at http://www.pglaf.org. - - -Section 3. Information about the Project Gutenberg Literary Archive -Foundation - -The Project Gutenberg Literary Archive Foundation is a non profit -501(c)(3) educational corporation organized under the laws of the -state of Mississippi and granted tax exempt status by the Internal -Revenue Service. The Foundation's EIN or federal tax identification -number is 64-6221541. Its 501(c)(3) letter is posted at -http://pglaf.org/fundraising. Contributions to the Project Gutenberg -Literary Archive Foundation are tax deductible to the full extent -permitted by U.S. federal laws and your state's laws. - -The Foundation's principal office is located at 4557 Melan Dr. S. -Fairbanks, AK, 99712., but its volunteers and employees are scattered -throughout numerous locations. Its business office is located at -809 North 1500 West, Salt Lake City, UT 84116, (801) 596-1887, email -business@pglaf.org. Email contact links and up to date contact -information can be found at the Foundation's web site and official -page at http://pglaf.org - -For additional contact information: - Dr. Gregory B. Newby - Chief Executive and Director - gbnewby@pglaf.org - - -Section 4. Information about Donations to the Project Gutenberg -Literary Archive Foundation - -Project Gutenberg-tm depends upon and cannot survive without wide -spread public support and donations to carry out its mission of -increasing the number of public domain and licensed works that can be -freely distributed in machine readable form accessible by the widest -array of equipment including outdated equipment. Many small donations -($1 to $5,000) are particularly important to maintaining tax exempt -status with the IRS. - -The Foundation is committed to complying with the laws regulating -charities and charitable donations in all 50 states of the United -States. Compliance requirements are not uniform and it takes a -considerable effort, much paperwork and many fees to meet and keep up -with these requirements. We do not solicit donations in locations -where we have not received written confirmation of compliance. To -SEND DONATIONS or determine the status of compliance for any -particular state visit http://pglaf.org - -While we cannot and do not solicit contributions from states where we -have not met the solicitation requirements, we know of no prohibition -against accepting unsolicited donations from donors in such states who -approach us with offers to donate. - -International donations are gratefully accepted, but we cannot make -any statements concerning tax treatment of donations received from -outside the United States. U.S. laws alone swamp our small staff. - -Please check the Project Gutenberg Web pages for current donation -methods and addresses. Donations are accepted in a number of other -ways including including checks, online payments and credit card -donations. To donate, please visit: http://pglaf.org/donate - - -Section 5. General Information About Project Gutenberg-tm electronic -works. - -Professor Michael S. Hart is the originator of the Project Gutenberg-tm -concept of a library of electronic works that could be freely shared -with anyone. For thirty years, he produced and distributed Project -Gutenberg-tm eBooks with only a loose network of volunteer support. - - -Project Gutenberg-tm eBooks are often created from several printed -editions, all of which are confirmed as Public Domain in the U.S. -unless a copyright notice is included. Thus, we do not necessarily -keep eBooks in compliance with any particular paper edition. - - -Most people start at our Web site which has the main PG search facility: - - http://www.gutenberg.net - -This Web site includes information about Project Gutenberg-tm, -including how to make donations to the Project Gutenberg Literary -Archive Foundation, how to help produce our new eBooks, and how to -subscribe to our email newsletter to hear about new eBooks. \ No newline at end of file diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Advanced Data/IntListLottery/IntListLottery.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Advanced Data/IntListLottery/IntListLottery.pde deleted file mode 100644 index de89108..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Advanced Data/IntListLottery/IntListLottery.pde +++ /dev/null @@ -1,99 +0,0 @@ -/** - * IntList Lottery example - * by Daniel Shiffman. - * - * This example demonstrates an IntList can be used to store a list of numbers. - * While an array of integers serves a similar purpose it is of fixed size. The - * An IntList can easily have values added or deleted and it can also be - * shuffled and sorted. For lists of floats or Strings, you can use FloatList - * and StringList. For lists of objects, use ArrayList. - * - * In this example, three lists of integers are created. One is a pool of numbers - * that is shuffled and picked randomly from. One is the list of "picked" numbers. - * And one is a lottery "ticket" which includes 5 numbers that are trying to be matched. - */ - -// Three lists of integers -IntList lottery; -IntList results; -IntList ticket; - -void setup() { - size(640, 360); - frameRate(30); - // Create empy lists - lottery = new IntList(); - results = new IntList(); - ticket = new IntList(); - - - // Add 20 integers in order to the lottery list - for (int i = 0; i < 20; i++) { - lottery.append(i); - } - - // Pick five numbers from the lottery list to go into the Ticket list - for (int i = 0; i < 5; i++) { - int index = int(random(lottery.size())); - ticket.append(lottery.get(index)); - } -} - -void draw() { - background(51); - - // The shuffle() method randomly shuffles the order of the values in the list - lottery.shuffle(); - - // Call a method that will display the integers in the list at an x,y location - showList(lottery, 16, 48); - showList(results, 16, 100); - showList(ticket, 16, 140); - - - // This loop checks if the picked numbers (results) - // match the ticket numbers - for (int i = 0; i < results.size(); i++) { - // Are the integers equal? - if (results.get(i) == ticket.get(i)) { - fill(0, 255, 0, 100); // if so green - } else { - fill(255, 0, 0, 100); // if not red - } - ellipse(16+i*32, 140, 24, 24); - } - - - // One every 30 frames we pick a new lottery number to go in results - if (frameCount % 30 == 0) { - if (results.size() < 5) { - // Get the first value in the lottery list and remove it - int val = lottery.remove(0); - // Put it in the results - results.append(val); - } else { - // Ok we picked five numbers, let's reset - for (int i = 0; i < results.size(); i++) { - // Put the picked results back into the lottery - lottery.append(results.get(i)); - } - // Clear the results and start over - results.clear(); - } - } -} - -// Draw a list of numbers starting at an x,y location -void showList(IntList list, float x, float y) { - for (int i = 0; i < list.size(); i++) { - // Use get() to pull a value from the list at the specified index - int val = list.get(i); - stroke(255); - noFill(); - ellipse(x+i*32, y, 24, 24); - textAlign(CENTER); - fill(255); - text(val, x+i*32, y+6); - } -} - diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Advanced Data/LoadSaveJSON/Bubble.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Advanced Data/LoadSaveJSON/Bubble.pde deleted file mode 100644 index 3a7b9b7..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Advanced Data/LoadSaveJSON/Bubble.pde +++ /dev/null @@ -1,40 +0,0 @@ -// A Bubble class - -class Bubble { - float x,y; - float diameter; - String name; - - boolean over = false; - - // Create the Bubble - Bubble(float x_, float y_, float diameter_, String s) { - x = x_; - y = y_; - diameter = diameter_; - name = s; - } - - // CHecking if mouse is over the Bubble - void rollover(float px, float py) { - float d = dist(px,py,x,y); - if (d < diameter/2) { - over = true; - } else { - over = false; - } - } - - // Display the Bubble - void display() { - stroke(0); - strokeWeight(2); - noFill(); - ellipse(x,y,diameter,diameter); - if (over) { - fill(0); - textAlign(CENTER); - text(name,x,y+diameter/2+20); - } - } -} diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Advanced Data/LoadSaveJSON/LoadSaveJSON.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Advanced Data/LoadSaveJSON/LoadSaveJSON.pde deleted file mode 100644 index b402763..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Advanced Data/LoadSaveJSON/LoadSaveJSON.pde +++ /dev/null @@ -1,111 +0,0 @@ -/** - * Loading JSON Data - * by Daniel Shiffman. - * - * This example demonstrates how to use loadJSON() - * to retrieve data from a JSON file and make objects - * from that data. - * - * Here is what the JSON looks like (partial): - * - { - "bubbles": [ - { - "position": { - "x": 160, - "y": 103 - }, - "diameter": 43.19838, - "label": "Happy" - }, - { - "position": { - "x": 372, - "y": 137 - }, - "diameter": 52.42526, - "label": "Sad" - } - ] - } - */ - -// An Array of Bubble objects -Bubble[] bubbles; -// A JSON object -JSONObject json; - -void setup() { - size(640, 360); - loadData(); -} - -void draw() { - background(255); - // Display all bubbles - for (Bubble b : bubbles) { - b.display(); - b.rollover(mouseX, mouseY); - } - // - textAlign(LEFT); - fill(0); - text("Click to add bubbles.", 10, height-10); -} - void loadData() { - // Load JSON file - // Temporary full path until path problem resolved. - json = loadJSONObject("data.json"); - - JSONArray bubbleData = json.getJSONArray("bubbles"); - - // The size of the array of Bubble objects is determined by the total XML elements named "bubble" - bubbles = new Bubble[bubbleData.size()]; - - for (int i = 0; i < bubbleData.size(); i++) { - // Get each object in the array - JSONObject bubble = bubbleData.getJSONObject(i); - // Get a position object - JSONObject position = bubble.getJSONObject("position"); - // Get x,y from position - int x = position.getInt("x"); - int y = position.getInt("y"); - - // Get diamter and label - float diameter = bubble.getFloat("diameter"); - String label = bubble.getString("label"); - - // Put object in array - bubbles[i] = new Bubble(x, y, diameter, label); - } -} - - void mousePressed() { - // Create a new JSON bubble object - JSONObject newBubble = new JSONObject(); - - // Create a new JSON position object - JSONObject position = new JSONObject(); - position.setInt("x", mouseX); - position.setInt("y", mouseY); - - // Add position to bubble - newBubble.setJSONObject("position", position); - - // Add diamater and label to bubble - newBubble.setFloat("diameter", random(40, 80)); - newBubble.setString("label", "New label"); - - // Append the new JSON bubble object to the array - JSONArray bubbleData = json.getJSONArray("bubbles"); - bubbleData.append(newBubble); - - if (bubbleData.size() > 10) { - bubbleData.remove(0); - } - - // Save new data - saveJSONObject(json,"data/data.json"); - loadData(); -} - diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Advanced Data/LoadSaveJSON/data/data.json b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Advanced Data/LoadSaveJSON/data/data.json deleted file mode 100644 index bcb0079..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Advanced Data/LoadSaveJSON/data/data.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "bubbles": [ - { - "position": { - "x": 160, - "y": 103 - }, - "diameter": 43.19838, - "label": "Happy" - }, - { - "position": { - "x": 372, - "y": 137 - }, - "diameter": 52.42526, - "label": "Sad" - }, - { - "position": { - "x": 273, - "y": 235 - }, - "diameter": 61.14072, - "label": "Joyous" - }, - { - "position": { - "x": 121, - "y": 179 - }, - "diameter": 44.758068, - "label": "Melancholy" - } - ] -} \ No newline at end of file diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Advanced Data/LoadSaveTable/Bubble.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Advanced Data/LoadSaveTable/Bubble.pde deleted file mode 100644 index 3a7b9b7..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Advanced Data/LoadSaveTable/Bubble.pde +++ /dev/null @@ -1,40 +0,0 @@ -// A Bubble class - -class Bubble { - float x,y; - float diameter; - String name; - - boolean over = false; - - // Create the Bubble - Bubble(float x_, float y_, float diameter_, String s) { - x = x_; - y = y_; - diameter = diameter_; - name = s; - } - - // CHecking if mouse is over the Bubble - void rollover(float px, float py) { - float d = dist(px,py,x,y); - if (d < diameter/2) { - over = true; - } else { - over = false; - } - } - - // Display the Bubble - void display() { - stroke(0); - strokeWeight(2); - noFill(); - ellipse(x,y,diameter,diameter); - if (over) { - fill(0); - textAlign(CENTER); - text(name,x,y+diameter/2+20); - } - } -} diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Advanced Data/LoadSaveTable/LoadSaveTable.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Advanced Data/LoadSaveTable/LoadSaveTable.pde deleted file mode 100644 index 3baeb9a..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Advanced Data/LoadSaveTable/LoadSaveTable.pde +++ /dev/null @@ -1,83 +0,0 @@ -/** - * Loading Tabular Data - * by Daniel Shiffman. - * - * This example demonstrates how to use loadTable() - * to retrieve data from a CSV file and make objects - * from that data. - * - * Here is what the CSV looks like: - * - x,y,diameter,name - 160,103,43.19838,Happy - 372,137,52.42526,Sad - 273,235,61.14072,Joyous - 121,179,44.758068,Melancholy - */ - -// An Array of Bubble objects -Bubble[] bubbles; -// A Table object -Table table; - -void setup() { - size(640, 360); - loadData(); -} - -void draw() { - background(255); - // Display all bubbles - for (Bubble b : bubbles) { - b.display(); - b.rollover(mouseX, mouseY); - } - - textAlign(LEFT); - fill(0); - text("Click to add bubbles.", 10, height-10); -} - -void loadData() { - // Load CSV file into a Table object - // "header" option indicates the file has a header row - table = loadTable("data.csv", "header"); - - // The size of the array of Bubble objects is determined by the total number of rows in the CSV - bubbles = new Bubble[table.getRowCount()]; - - // You can access iterate over all the rows in a table - int rowCount = 0; - for (TableRow row : table.rows()) { - // You can access the fields via their column name (or index) - float x = row.getFloat("x"); - float y = row.getFloat("y"); - float d = row.getFloat("diameter"); - String n = row.getString("name"); - // Make a Bubble object out of the data read - bubbles[rowCount] = new Bubble(x, y, d, n); - rowCount++; - } -} - -void mousePressed() { - // Create a new row - TableRow row = table.addRow(); - // Set the values of that row - row.setFloat("x", mouseX); - row.setFloat("y", mouseY); - row.setFloat("diameter", random(40, 80)); - row.setString("name", "Blah"); - - // If the table has more than 10 rows - if (table.getRowCount() > 10) { - // Delete the oldest row - table.removeRow(0); - } - - // Writing the CSV back to the same file - saveTable(table, "data/data.csv"); - // And reloading it - loadData(); -} - diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Advanced Data/LoadSaveTable/data/data.csv b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Advanced Data/LoadSaveTable/data/data.csv deleted file mode 100644 index 88ac4c1..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Advanced Data/LoadSaveTable/data/data.csv +++ /dev/null @@ -1,5 +0,0 @@ -x,y,diameter,name -160,103,43.19838,Happy -372,137,52.42526,Sad -273,235,61.14072,Joyous -121,179,44.758068,Melancholy \ No newline at end of file diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Advanced Data/LoadSaveXML/Bubble.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Advanced Data/LoadSaveXML/Bubble.pde deleted file mode 100644 index 3a7b9b7..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Advanced Data/LoadSaveXML/Bubble.pde +++ /dev/null @@ -1,40 +0,0 @@ -// A Bubble class - -class Bubble { - float x,y; - float diameter; - String name; - - boolean over = false; - - // Create the Bubble - Bubble(float x_, float y_, float diameter_, String s) { - x = x_; - y = y_; - diameter = diameter_; - name = s; - } - - // CHecking if mouse is over the Bubble - void rollover(float px, float py) { - float d = dist(px,py,x,y); - if (d < diameter/2) { - over = true; - } else { - over = false; - } - } - - // Display the Bubble - void display() { - stroke(0); - strokeWeight(2); - noFill(); - ellipse(x,y,diameter,diameter); - if (over) { - fill(0); - textAlign(CENTER); - text(name,x,y+diameter/2+20); - } - } -} diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Advanced Data/LoadSaveXML/LoadSaveXML.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Advanced Data/LoadSaveXML/LoadSaveXML.pde deleted file mode 100644 index b8a1d99..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Advanced Data/LoadSaveXML/LoadSaveXML.pde +++ /dev/null @@ -1,118 +0,0 @@ -/** - * Loading XML Data - * by Daniel Shiffman. - * - * This example demonstrates how to use loadXML() - * to retrieve data from an XML file and make objects - * from that data. - * - * Here is what the XML looks like: - * - - - - - 43.19838 - - - - - 52.42526 - - - - */ - -// An Array of Bubble objects -Bubble[] bubbles; -// A Table object -XML xml; - -void setup() { - size(640, 360); - loadData(); -} - -void draw() { - background(255); - // Display all bubbles - for (Bubble b : bubbles) { - b.display(); - b.rollover(mouseX, mouseY); - } - - textAlign(LEFT); - fill(0); - text("Click to add bubbles.", 10, height-10); -} - -void loadData() { - // Load XML file - xml = loadXML("data.xml"); - // Get all the child nodes named "bubble" - XML[] children = xml.getChildren("bubble"); - - // The size of the array of Bubble objects is determined by the total XML elements named "bubble" - bubbles = new Bubble[children.length]; - - for (int i = 0; i < bubbles.length; i++) { - - // The position element has two attributes: x and y - XML positionElement = children[i].getChild("position"); - // Note how with attributes we can get an integer or float via getInt() and getFloat() - float x = positionElement.getInt("x"); - float y = positionElement.getInt("y"); - - // The diameter is the content of the child named "diamater" - XML diameterElement = children[i].getChild("diameter"); - // Note how with the content of an XML node, we retrieve via getIntContent() and getFloatContent() - float diameter = diameterElement.getFloatContent(); - - // The label is the content of the child named "label" - XML labelElement = children[i].getChild("label"); - String label = labelElement.getContent(); - - // Make a Bubble object out of the data read - bubbles[i] = new Bubble(x, y, diameter, label); - } - -} - -// Still need to work on adding and deleting - -void mousePressed() { - - // Create a new XML bubble element - XML bubble = xml.addChild("bubble"); - - // Set the poisition element - XML position = bubble.addChild("position"); - // Here we can set attributes as integers directly - position.setInt("x",mouseX); - position.setInt("y",mouseY); - - // Set the diameter element - XML diameter = bubble.addChild("diameter"); - // Here for a node's content, we have to convert to a String - diameter.setFloatContent(random(40,80)); - - // Set a label - XML label = bubble.addChild("label"); - label.setContent("New label"); - - - // Here we are removing the oldest bubble if there are more than 10 - XML[] children = xml.getChildren("bubble"); - // If the XML file has more than 10 bubble elements - if (children.length > 10) { - // Delete the first one - xml.removeChild(children[0]); - } - - // Save a new XML file - saveXML(xml,"data/data.xml"); - - // reload the new data - loadData(); -} - diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Advanced Data/LoadSaveXML/data/data.xml b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Advanced Data/LoadSaveXML/data/data.xml deleted file mode 100644 index 24bbf2a..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Advanced Data/LoadSaveXML/data/data.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - - - 43.19838 - - - - - 52.42526 - - - - - 61.14072 - - - - - 44.758068 - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Advanced Data/Regex/Regex.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Advanced Data/Regex/Regex.pde deleted file mode 100644 index 608549a..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Advanced Data/Regex/Regex.pde +++ /dev/null @@ -1,56 +0,0 @@ -/** - * Regular Expression example - * by Daniel Shiffman. - * - * This example demonstrates how to use matchAll() to create - * a list of all matches of a given regex. - * - * Here we'll load the raw HTML from a URL and search for any - * links - */ - -// Our source url -String url = "http://processing.org"; -// We'll store the results in an array -String[] links; - -void setup() { - size(640, 360); - // Load the links - links = loadLinks(url); -} - -void draw() { - background(0); - // Display the raw links - fill(255); - for (int i = 0; i < links.length; i++) { - text(links[i],10,16+i*16); - } -} - -String[] loadLinks(String s) { - // Load the raw HTML - String[] lines = loadStrings(s); - // Put it in one big string - String html = join(lines,"\n"); - - // A wacky regex for matching a URL - String regex = "<\\s*a\\s+href\\s*=\\s*\"(.*?)\""; - // The matches are in a two dimensional array - // The first dimension is all matches - // The second dimension is the groups - String[][] matches = matchAll(html, regex); - - // An array for the results - String[] results = new String[matches.length]; - - // We want group 1 for each result - for (int i = 0; i < results.length; i++) { - results[i] = matches[i][1]; - } - - // Return the results - return results; -} - diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Advanced Data/Threads/Threads.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Advanced Data/Threads/Threads.pde deleted file mode 100644 index f43bc3d..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Advanced Data/Threads/Threads.pde +++ /dev/null @@ -1,109 +0,0 @@ -/** - * Thread function example - * by Daniel Shiffman. - * - * This example demonstrates how to use thread() to spawn - * a process that happens outside of the main animation thread. - * - * When thread() is called, the draw() loop will continue while - * the code inside the function passed to thread() will operate - * in the background. - * - * For more about threads, see: http://wiki.processing.org/w/Threading - */ - -// This sketch will load data from all of these URLs in a separate thread -String[] urls = { - "http://processing.org", - "http://www.processing.org/exhibition/", - "http://www.processing.org/reference/", - "http://www.processing.org/reference/libraries", - "http://www.processing.org/reference/tools", - "http://www.processing.org/reference/environment", - "http://www.processing.org/learning/", - "http://www.processing.org/learning/basics/", - "http://www.processing.org/learning/topics/", - "http://www.processing.org/learning/gettingstarted/", - "http://www.processing.org/download/", - "http://www.processing.org/shop/", - "http://www.processing.org/about/" -}; - -// This will keep track of whether the thread is finished -boolean finished = false; -// And how far along -float percent = 0; - -// A variable to keep all the data loaded -String allData; - -void setup() { - size(640, 360); - // Spawn the thread! - thread("loadData"); -} - -void draw() { - background(0); - - // If we're not finished draw a "loading bar" - // This is so that we can see the progress of the thread - // This would not be necessary in a sketch where you wanted to load data in the background - // and hide this from the user, allowing the draw() loop to simply continue - if (!finished) { - stroke(255); - noFill(); - rect(width/2-150, height/2, 300, 10); - fill(255); - // The size of the rectangle is mapped to the percentage completed - float w = map(percent, 0, 1, 0, 300); - rect(width/2-150, height/2, w, 10); - textSize(16); - textAlign(CENTER); - fill(255); - text("Loading", width/2, height/2+30); - } - else { - // The thread is complete! - textAlign(CENTER); - textSize(24); - fill(255); - text("Finished loading. Click the mouse to load again.", width/2, height/2); - } -} - -void mousePressed() { - thread("loadData"); -} - -void loadData() { - // The thread is not completed - finished = false; - // Reset the data to empty - allData = ""; - - // Look at each URL - // This example is doing some highly arbitrary things just to make it take longer - // If you had a lot of data parsing you needed to do, this can all happen in the background - for (int i = 0; i < urls.length; i++) { - String[] lines = loadStrings(urls[i]); - // Demonstrating some arbitrary text splitting, joining, and sorting to make the thread take longer - String allTxt = join(lines, " "); - String[] words = splitTokens(allTxt, "\t+\n <>=\\-!@#$%^&*(),.;:/?\"\'"); - for (int j = 0; j < words.length; j++) { - words[j] = words[j].trim(); - words[j] = words[j].toLowerCase(); - } - words = sort(words); - allData += join(words, " "); - percent = float(i)/urls.length; - } - - String[] words = split(allData," "); - words = sort(words); - allData = join(words, " "); - - // The thread is completed! - finished = true; -} - diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Advanced Data/XMLYahooWeather/XMLYahooWeather.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Advanced Data/XMLYahooWeather/XMLYahooWeather.pde deleted file mode 100644 index 7f1d904..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Advanced Data/XMLYahooWeather/XMLYahooWeather.pde +++ /dev/null @@ -1,52 +0,0 @@ -/** - * Loading XML Data - * by Daniel Shiffman. - * - * This example demonstrates how to use loadXML() - * to retrieve data from an XML document via a URL - */ - -// We're going to store the temperature -int temperature = 0; -// We're going to store text about the weather -String weather = ""; - - -// Yahoo weather uses something called A WOEID (Where On Earth IDentifier) -// https://en.wikipedia.org/wiki/WOEID -// This is the WOEID for zip code 10003 -String zip = "10003"; -String woeid = "12761335"; - -PFont font; - -void setup() { - size(600, 360); - - font = createFont("Merriweather-Light.ttf", 28); - textFont(font); - - // The URL for the XML document - String url = "http://query.yahooapis.com/v1/public/yql?format=xml&q=select+*+from+weather.forecast+where+woeid=" + woeid + "+and+u='F'"; - - // Load the XML document - XML xml = loadXML(url); - - // Grab the element we want - XML forecast = xml.getChild("results/channel/item/yweather:forecast"); - - // Get the attributes we want - temperature = forecast.getInt("high"); - weather = forecast.getString("text"); -} - -void draw() { - background(255); - fill(0); - - // Display all the stuff we want to display - text("Zip: " + zip, width*0.15, height*0.33); - text("Today’s high: " + temperature + "°F", width*0.15, height*0.5); - text("Forecast: " + weather, width*0.15, height*0.66); - -} \ No newline at end of file diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Advanced Data/XMLYahooWeather/data/Merriweather-Light.ttf b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Advanced Data/XMLYahooWeather/data/Merriweather-Light.ttf deleted file mode 100644 index 7b7731a..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Advanced Data/XMLYahooWeather/data/Merriweather-Light.ttf and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Advanced Data/XMLYahooWeather/data/SourceCodePro-Regular.ttf b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Advanced Data/XMLYahooWeather/data/SourceCodePro-Regular.ttf deleted file mode 100644 index b2cff92..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Advanced Data/XMLYahooWeather/data/SourceCodePro-Regular.ttf and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/AnimatedSprite.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/AnimatedSprite.pde deleted file mode 100644 index 17d560c..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/AnimatedSprite.pde +++ /dev/null @@ -1,39 +0,0 @@ -/** - * Animated Sprite (Shifty + Teddy) - * by James Paterson. - * - * Press the mouse button to change animations. - * Demonstrates loading, displaying, and animating GIF images. - * It would be easy to write a program to display - * animated GIFs, but would not allow as much control over - * the display sequence and rate of display. - */ - -Animation animation1, animation2; - -float xpos; -float ypos; -float drag = 30.0; - -void setup() { - size(640, 360); - background(255, 204, 0); - frameRate(24); - animation1 = new Animation("PT_Shifty_", 38); - animation2 = new Animation("PT_Teddy_", 60); - ypos = height * 0.25; -} - -void draw() { - float dx = mouseX - xpos; - xpos = xpos + dx/drag; - - // Display the sprite at the position xpos, ypos - if (mousePressed) { - background(153, 153, 0); - animation1.display(xpos-animation1.getWidth()/2, ypos); - } else { - background(255, 204, 0); - animation2.display(xpos-animation1.getWidth()/2, ypos); - } -} diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/Animation.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/Animation.pde deleted file mode 100644 index 6c98ef2..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/Animation.pde +++ /dev/null @@ -1,27 +0,0 @@ -// Class for animating a sequence of GIFs - -class Animation { - PImage[] images; - int imageCount; - int frame; - - Animation(String imagePrefix, int count) { - imageCount = count; - images = new PImage[imageCount]; - - for (int i = 0; i < imageCount; i++) { - // Use nf() to number format 'i' into four digits - String filename = imagePrefix + nf(i, 4) + ".gif"; - images[i] = loadImage(filename); - } - } - - void display(float xpos, float ypos) { - frame = (frame+1) % imageCount; - image(images[frame], xpos, ypos); - } - - int getWidth() { - return images[0].width; - } -} diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Shifty_0000.gif b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Shifty_0000.gif deleted file mode 100644 index 1a9893a..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Shifty_0000.gif and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Shifty_0001.gif b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Shifty_0001.gif deleted file mode 100644 index 1a9893a..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Shifty_0001.gif and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Shifty_0002.gif b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Shifty_0002.gif deleted file mode 100644 index c53edb9..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Shifty_0002.gif and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Shifty_0003.gif b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Shifty_0003.gif deleted file mode 100644 index b9c4fc6..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Shifty_0003.gif and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Shifty_0004.gif b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Shifty_0004.gif deleted file mode 100644 index b43d0b3..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Shifty_0004.gif and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Shifty_0005.gif b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Shifty_0005.gif deleted file mode 100644 index 36f3732..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Shifty_0005.gif and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Shifty_0006.gif b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Shifty_0006.gif deleted file mode 100644 index b4c6ab5..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Shifty_0006.gif and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Shifty_0007.gif b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Shifty_0007.gif deleted file mode 100644 index a53c6ab..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Shifty_0007.gif and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Shifty_0008.gif b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Shifty_0008.gif deleted file mode 100644 index 1ce59b9..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Shifty_0008.gif and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Shifty_0009.gif b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Shifty_0009.gif deleted file mode 100644 index 557bedf..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Shifty_0009.gif and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Shifty_0010.gif b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Shifty_0010.gif deleted file mode 100644 index 31fd776..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Shifty_0010.gif and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Shifty_0011.gif b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Shifty_0011.gif deleted file mode 100644 index a690836..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Shifty_0011.gif and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Shifty_0012.gif b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Shifty_0012.gif deleted file mode 100644 index fe81e42..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Shifty_0012.gif and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Shifty_0013.gif b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Shifty_0013.gif deleted file mode 100644 index c8ede5d..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Shifty_0013.gif and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Shifty_0014.gif b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Shifty_0014.gif deleted file mode 100644 index 1f14137..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Shifty_0014.gif and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Shifty_0015.gif b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Shifty_0015.gif deleted file mode 100644 index de472df..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Shifty_0015.gif and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Shifty_0016.gif b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Shifty_0016.gif deleted file mode 100644 index 5bc583f..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Shifty_0016.gif and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Shifty_0017.gif b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Shifty_0017.gif deleted file mode 100644 index 8ff4386..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Shifty_0017.gif and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Shifty_0018.gif b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Shifty_0018.gif deleted file mode 100644 index 0b99e37..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Shifty_0018.gif and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Shifty_0019.gif b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Shifty_0019.gif deleted file mode 100644 index 7a9217a..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Shifty_0019.gif and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Shifty_0020.gif b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Shifty_0020.gif deleted file mode 100644 index fe8fdae..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Shifty_0020.gif and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Shifty_0021.gif b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Shifty_0021.gif deleted file mode 100644 index ab36afe..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Shifty_0021.gif and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Shifty_0022.gif b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Shifty_0022.gif deleted file mode 100644 index 98dc00b..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Shifty_0022.gif and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Shifty_0023.gif b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Shifty_0023.gif deleted file mode 100644 index a3dd7f3..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Shifty_0023.gif and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Shifty_0024.gif b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Shifty_0024.gif deleted file mode 100644 index f828785..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Shifty_0024.gif and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Shifty_0025.gif b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Shifty_0025.gif deleted file mode 100644 index 0107f47..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Shifty_0025.gif and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Shifty_0026.gif b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Shifty_0026.gif deleted file mode 100644 index e05a139..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Shifty_0026.gif and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Shifty_0027.gif b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Shifty_0027.gif deleted file mode 100644 index decdebe..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Shifty_0027.gif and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Shifty_0028.gif b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Shifty_0028.gif deleted file mode 100644 index ec2bae7..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Shifty_0028.gif and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Shifty_0029.gif b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Shifty_0029.gif deleted file mode 100644 index 67d14b1..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Shifty_0029.gif and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Shifty_0030.gif b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Shifty_0030.gif deleted file mode 100644 index 619c30c..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Shifty_0030.gif and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Shifty_0031.gif b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Shifty_0031.gif deleted file mode 100644 index aae6bfb..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Shifty_0031.gif and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Shifty_0032.gif b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Shifty_0032.gif deleted file mode 100644 index 7cdd356..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Shifty_0032.gif and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Shifty_0033.gif b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Shifty_0033.gif deleted file mode 100644 index 97fc084..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Shifty_0033.gif and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Shifty_0034.gif b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Shifty_0034.gif deleted file mode 100644 index 85e71dd..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Shifty_0034.gif and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Shifty_0035.gif b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Shifty_0035.gif deleted file mode 100644 index 7523936..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Shifty_0035.gif and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Shifty_0036.gif b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Shifty_0036.gif deleted file mode 100644 index 92bf1c3..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Shifty_0036.gif and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Shifty_0037.gif b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Shifty_0037.gif deleted file mode 100644 index 397590e..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Shifty_0037.gif and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0000.gif b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0000.gif deleted file mode 100644 index 2f824d4..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0000.gif and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0001.gif b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0001.gif deleted file mode 100644 index 08badda..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0001.gif and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0002.gif b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0002.gif deleted file mode 100644 index 06624ab..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0002.gif and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0003.gif b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0003.gif deleted file mode 100644 index ea92ccc..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0003.gif and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0004.gif b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0004.gif deleted file mode 100644 index 4bd1120..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0004.gif and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0005.gif b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0005.gif deleted file mode 100644 index 35dd95a..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0005.gif and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0006.gif b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0006.gif deleted file mode 100644 index e031102..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0006.gif and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0007.gif b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0007.gif deleted file mode 100644 index c64d4f8..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0007.gif and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0008.gif b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0008.gif deleted file mode 100644 index 3ceb22e..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0008.gif and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0009.gif b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0009.gif deleted file mode 100644 index e641c42..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0009.gif and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0010.gif b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0010.gif deleted file mode 100644 index fcf8234..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0010.gif and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0011.gif b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0011.gif deleted file mode 100644 index 0a66343..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0011.gif and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0012.gif b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0012.gif deleted file mode 100644 index d99ab85..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0012.gif and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0013.gif b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0013.gif deleted file mode 100644 index bf83cac..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0013.gif and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0014.gif b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0014.gif deleted file mode 100644 index 5cf3997..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0014.gif and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0015.gif b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0015.gif deleted file mode 100644 index 2389da3..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0015.gif and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0016.gif b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0016.gif deleted file mode 100644 index 837b6e5..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0016.gif and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0017.gif b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0017.gif deleted file mode 100644 index be36c20..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0017.gif and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0018.gif b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0018.gif deleted file mode 100644 index e2da21d..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0018.gif and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0019.gif b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0019.gif deleted file mode 100644 index c7125f6..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0019.gif and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0020.gif b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0020.gif deleted file mode 100644 index 21084a4..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0020.gif and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0021.gif b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0021.gif deleted file mode 100644 index 5a7d2b4..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0021.gif and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0022.gif b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0022.gif deleted file mode 100644 index aa4d8b3..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0022.gif and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0023.gif b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0023.gif deleted file mode 100644 index 8195294..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0023.gif and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0024.gif b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0024.gif deleted file mode 100644 index f0cfcd1..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0024.gif and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0025.gif b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0025.gif deleted file mode 100644 index d3e55f4..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0025.gif and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0026.gif b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0026.gif deleted file mode 100644 index 19aa7b6..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0026.gif and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0027.gif b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0027.gif deleted file mode 100644 index 0291b3f..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0027.gif and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0028.gif b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0028.gif deleted file mode 100644 index 84d403c..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0028.gif and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0029.gif b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0029.gif deleted file mode 100644 index a15ef90..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0029.gif and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0030.gif b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0030.gif deleted file mode 100644 index 945a005..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0030.gif and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0031.gif b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0031.gif deleted file mode 100644 index f922e56..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0031.gif and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0032.gif b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0032.gif deleted file mode 100644 index 0aff666..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0032.gif and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0033.gif b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0033.gif deleted file mode 100644 index 7fedb48..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0033.gif and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0034.gif b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0034.gif deleted file mode 100644 index 19a4d20..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0034.gif and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0035.gif b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0035.gif deleted file mode 100644 index 3dd6abc..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0035.gif and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0036.gif b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0036.gif deleted file mode 100644 index 93277ef..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0036.gif and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0037.gif b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0037.gif deleted file mode 100644 index c9c0a09..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0037.gif and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0038.gif b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0038.gif deleted file mode 100644 index f0a00a1..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0038.gif and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0039.gif b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0039.gif deleted file mode 100644 index 4a8b14e..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0039.gif and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0040.gif b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0040.gif deleted file mode 100644 index 88e8eb1..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0040.gif and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0041.gif b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0041.gif deleted file mode 100644 index 0353138..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0041.gif and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0042.gif b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0042.gif deleted file mode 100644 index 4ef9475..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0042.gif and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0043.gif b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0043.gif deleted file mode 100644 index aebe104..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0043.gif and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0044.gif b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0044.gif deleted file mode 100644 index 96464a3..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0044.gif and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0045.gif b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0045.gif deleted file mode 100644 index 35e40b8..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0045.gif and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0046.gif b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0046.gif deleted file mode 100644 index 8476318..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0046.gif and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0047.gif b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0047.gif deleted file mode 100644 index 512c6ee..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0047.gif and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0048.gif b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0048.gif deleted file mode 100644 index 9fdecf6..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0048.gif and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0049.gif b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0049.gif deleted file mode 100644 index 5988e0f..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0049.gif and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0050.gif b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0050.gif deleted file mode 100644 index 2dde61e..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0050.gif and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0051.gif b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0051.gif deleted file mode 100644 index 24ef034..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0051.gif and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0052.gif b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0052.gif deleted file mode 100644 index 132a9ad..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0052.gif and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0053.gif b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0053.gif deleted file mode 100644 index d5ffebc..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0053.gif and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0054.gif b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0054.gif deleted file mode 100644 index e09375a..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0054.gif and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0055.gif b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0055.gif deleted file mode 100644 index e09375a..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0055.gif and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0056.gif b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0056.gif deleted file mode 100644 index 80ee11d..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0056.gif and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0057.gif b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0057.gif deleted file mode 100644 index 9af1fba..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0057.gif and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0058.gif b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0058.gif deleted file mode 100644 index 7265b9f..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0058.gif and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0059.gif b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0059.gif deleted file mode 100644 index c4f730e..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/AnimatedSprite/data/PT_Teddy_0059.gif and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/Sequential/Sequential.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/Sequential/Sequential.pde deleted file mode 100644 index 947aedc..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/Sequential/Sequential.pde +++ /dev/null @@ -1,51 +0,0 @@ -/** - * Sequential - * by James Paterson. - * - * Displaying a sequence of images creates the illusion of motion. - * Twelve images are loaded and each is displayed individually in a loop. - */ - -int numFrames = 12; // The number of frames in the animation -int currentFrame = 0; -PImage[] images = new PImage[numFrames]; - -void setup() { - size(640, 360); - frameRate(24); - - images[0] = loadImage("PT_anim0000.gif"); - images[1] = loadImage("PT_anim0001.gif"); - images[2] = loadImage("PT_anim0002.gif"); - images[3] = loadImage("PT_anim0003.gif"); - images[4] = loadImage("PT_anim0004.gif"); - images[5] = loadImage("PT_anim0005.gif"); - images[6] = loadImage("PT_anim0006.gif"); - images[7] = loadImage("PT_anim0007.gif"); - images[8] = loadImage("PT_anim0008.gif"); - images[9] = loadImage("PT_anim0009.gif"); - images[10] = loadImage("PT_anim0010.gif"); - images[11] = loadImage("PT_anim0011.gif"); - - // If you don't want to load each image separately - // and you know how many frames you have, you - // can create the filenames as the program runs. - // The nf() command does number formatting, which will - // ensure that the number is (in this case) 4 digits. - //for (int i = 0; i < numFrames; i++) { - // String imageName = "PT_anim" + nf(i, 4) + ".gif"; - // images[i] = loadImage(imageName); - //} -} - -void draw() { - background(0); - currentFrame = (currentFrame+1) % numFrames; // Use % to cycle through frames - int offset = 0; - for (int x = -100; x < width; x += images[0].width) { - image(images[(currentFrame+offset) % numFrames], x, -20); - offset+=2; - image(images[(currentFrame+offset) % numFrames], x, height/2); - offset+=2; - } -} diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/Sequential/data/PT_anim0000.gif b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/Sequential/data/PT_anim0000.gif deleted file mode 100644 index b0e3f04..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/Sequential/data/PT_anim0000.gif and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/Sequential/data/PT_anim0001.gif b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/Sequential/data/PT_anim0001.gif deleted file mode 100644 index 4f7cb90..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/Sequential/data/PT_anim0001.gif and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/Sequential/data/PT_anim0002.gif b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/Sequential/data/PT_anim0002.gif deleted file mode 100644 index 4d37297..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/Sequential/data/PT_anim0002.gif and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/Sequential/data/PT_anim0003.gif b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/Sequential/data/PT_anim0003.gif deleted file mode 100644 index d3ab403..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/Sequential/data/PT_anim0003.gif and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/Sequential/data/PT_anim0004.gif b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/Sequential/data/PT_anim0004.gif deleted file mode 100644 index 44cd62b..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/Sequential/data/PT_anim0004.gif and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/Sequential/data/PT_anim0005.gif b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/Sequential/data/PT_anim0005.gif deleted file mode 100644 index 185298a..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/Sequential/data/PT_anim0005.gif and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/Sequential/data/PT_anim0006.gif b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/Sequential/data/PT_anim0006.gif deleted file mode 100644 index 30de511..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/Sequential/data/PT_anim0006.gif and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/Sequential/data/PT_anim0007.gif b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/Sequential/data/PT_anim0007.gif deleted file mode 100644 index cc9f8f8..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/Sequential/data/PT_anim0007.gif and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/Sequential/data/PT_anim0008.gif b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/Sequential/data/PT_anim0008.gif deleted file mode 100644 index 76475fa..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/Sequential/data/PT_anim0008.gif and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/Sequential/data/PT_anim0009.gif b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/Sequential/data/PT_anim0009.gif deleted file mode 100644 index 3b22462..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/Sequential/data/PT_anim0009.gif and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/Sequential/data/PT_anim0010.gif b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/Sequential/data/PT_anim0010.gif deleted file mode 100644 index 9c008f3..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/Sequential/data/PT_anim0010.gif and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/Sequential/data/PT_anim0011.gif b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/Sequential/data/PT_anim0011.gif deleted file mode 100644 index db227e2..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Animation/Sequential/data/PT_anim0011.gif and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Cellular Automata/GameOfLife/GameOfLife.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Cellular Automata/GameOfLife/GameOfLife.pde deleted file mode 100644 index 68646ed..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Cellular Automata/GameOfLife/GameOfLife.pde +++ /dev/null @@ -1,182 +0,0 @@ -/** - * A Processing implementation of Game of Life - * By Joan Soler-Adillon - * - * Press SPACE BAR to pause and change the cell's values with the mouse - * On pause, click to activate/deactivate cells - * Press R to randomly reset the cells' grid - * Press C to clear the cells' grid - * - * The original Game of Life was created by John Conway in 1970. - */ - -// Size of cells -int cellSize = 5; - -// How likely for a cell to be alive at start (in percentage) -float probabilityOfAliveAtStart = 15; - -// Variables for timer -int interval = 100; -int lastRecordedTime = 0; - -// Colors for active/inactive cells -color alive = color(0, 200, 0); -color dead = color(0); - -// Array of cells -int[][] cells; -// Buffer to record the state of the cells and use this while changing the others in the interations -int[][] cellsBuffer; - -// Pause -boolean pause = false; - -void setup() { - size (640, 360); - - // Instantiate arrays - cells = new int[width/cellSize][height/cellSize]; - cellsBuffer = new int[width/cellSize][height/cellSize]; - - // This stroke will draw the background grid - stroke(48); - - noSmooth(); - - // Initialization of cells - for (int x=0; x probabilityOfAliveAtStart) { - state = 0; - } - else { - state = 1; - } - cells[x][y] = int(state); // Save state of each cell - } - } - background(0); // Fill in black in case cells don't cover all the windows -} - - -void draw() { - - //Draw grid - for (int x=0; xinterval) { - if (!pause) { - iteration(); - lastRecordedTime = millis(); - } - } - - // Create new cells manually on pause - if (pause && mousePressed) { - // Map and avoid out of bound errors - int xCellOver = int(map(mouseX, 0, width, 0, width/cellSize)); - xCellOver = constrain(xCellOver, 0, width/cellSize-1); - int yCellOver = int(map(mouseY, 0, height, 0, height/cellSize)); - yCellOver = constrain(yCellOver, 0, height/cellSize-1); - - // Check against cells in buffer - if (cellsBuffer[xCellOver][yCellOver]==1) { // Cell is alive - cells[xCellOver][yCellOver]=0; // Kill - fill(dead); // Fill with kill color - } - else { // Cell is dead - cells[xCellOver][yCellOver]=1; // Make alive - fill(alive); // Fill alive color - } - } - else if (pause && !mousePressed) { // And then save to buffer once mouse goes up - // Save cells to buffer (so we opeate with one array keeping the other intact) - for (int x=0; x=0)&&(xx=0)&&(yy 3) { - cells[x][y] = 0; // Die unless it has 2 or 3 neighbours - } - } - else { // The cell is dead: make it live if necessary - if (neighbours == 3 ) { - cells[x][y] = 1; // Only if it has 3 neighbours - } - } // End of if - } // End of y loop - } // End of x loop -} // End of function - -void keyPressed() { - if (key=='r' || key == 'R') { - // Restart: reinitialization of cells - for (int x=0; x probabilityOfAliveAtStart) { - state = 0; - } - else { - state = 1; - } - cells[x][y] = int(state); // Save state of each cell - } - } - } - if (key==' ') { // On/off of pause - pause = !pause; - } - if (key=='c' || key == 'C') { // Clear all - for (int x=0; x width - 1) { - x-=width; - } - while(y < 0) { - y+=height; - } - while(y > height - 1) { - y-=height; - } - - // Cell instructions - if (w.getpix(x + 1, y) == black) { - move(0, 1); - } else if (w.getpix(x, y - 1) != black && w.getpix(x, y + 1) != black) { - move((int)random(9) - 4, (int)random(9) - 4); - } - } - - // Will move the cell (dx, dy) units if that space is empty - void move(int dx, int dy) { - if (w.getpix(x + dx, y + dy) == black) { - w.setpix(x + dx, y + dy, w.getpix(x, y)); - w.setpix(x, y, color(0)); - x += dx; - y += dy; - } - } -} - -// The World class simply provides two functions, get and set, which access the -// display in the same way as getPixel and setPixel. The only difference is that -// the World class's get and set do screen wraparound ("toroidal coordinates"). -class World { - - void setpix(int x, int y, int c) { - while(x < 0) x+=width; - while(x > width - 1) x-=width; - while(y < 0) y+=height; - while(y > height - 1) y-=height; - set(x, y, c); - } - - color getpix(int x, int y) { - while(x < 0) x+=width; - while(x > width - 1) x-=width; - while(y < 0) y+=height; - while(y > height - 1) y-=height; - return get(x, y); - } -} - -void mousePressed() { - numcells = 0; - reset(); -} - diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Cellular Automata/Spore2/Spore2.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Cellular Automata/Spore2/Spore2.pde deleted file mode 100644 index 3ed57d1..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Cellular Automata/Spore2/Spore2.pde +++ /dev/null @@ -1,169 +0,0 @@ -/** - * Spore 2 - * by Mike Davis. - * - * A short program for alife experiments. Click in the window to restart. - * Each cell is represented by a pixel on the display as well as an entry in - * the array 'cells'. Each cell has a run() method, which performs actions - * based on the cell's surroundings. Cells run one at a time (to avoid conflicts - * like wanting to move to the same space) and in random order. - */ - -World w; -int maxcells = 8000; -int numcells; -Cell[] cells = new Cell[maxcells]; -color spore1, spore2, spore3, spore4; -color black = color(0, 0, 0); -// set lower for smoother animation, higher for faster simulation -int runs_per_loop = 10000; - -void setup() -{ - size(640, 360); - frameRate(24); - reset(); -} - -void reset() { - clearScreen(); - w = new World(); - spore1 = color(128, 172, 255); - spore2 = color(64, 128, 255); - spore3 = color(255, 128, 172); - spore4 = color(255, 64, 128); - numcells = 0; - seed(); -} - -void seed() -{ - // Add cells at random places - for (int i = 0; i < maxcells; i++) - { - int cX = int(random(width)); - int cY = int(random(height)); - int c; - float r = random(1); - if (r < 0.25) c = spore1; - else if (r < 0.5) c = spore2; - else if (r < 0.75) c = spore3; - else c = spore4; - if (w.getpix(cX, cY) == black) - { - w.setpix(cX, cY, c); - cells[numcells] = new Cell(cX, cY); - numcells++; - } - } -} - -void draw() { - // Run cells in random order - for (int i = 0; i < runs_per_loop; i++) { - int selected = min((int)random(numcells), numcells - 1); - cells[selected].run(); - } -} - -void clearScreen() { - background(0); -} - -class Cell { - int x, y; - Cell(int xin, int yin) { - x = xin; - y = yin; - } - - // Perform action based on surroundings - void run() { - // Fix cell coordinates - while(x < 0) { - x+=width; - } - while(x > width - 1) { - x-=width; - } - while(y < 0) { - y+=height; - } - while(y > height - 1) { - y-=height; - } - - // Cell instructions - int myColor = w.getpix(x, y); - if (myColor == spore1) { - if (w.getpix(x - 1, y + 1) == black && w.getpix(x + 1, y + 1) == black && w.getpix(x, y + 1) == black) move(0, 1); - else if (w.getpix(x - 1, y) == spore2 && w.getpix(x - 1, y - 1) != black) move(0, -1); - else if (w.getpix(x - 1, y) == spore2 && w.getpix(x - 1, y - 1) == black) move(-1, -1); - else if (w.getpix(x + 1, y) == spore1 && w.getpix(x + 1, y - 1) != black) move(0, -1); - else if (w.getpix(x + 1, y) == spore1 && w.getpix(x + 1, y - 1) == black) move(1, -1); - else move((int)random(3) - 1, 0); - } else if (myColor == spore2) { - if (w.getpix(x - 1, y + 1) == black && w.getpix(x + 1, y + 1) == black && w.getpix(x, y + 1) == black) move(0, 1); - else if (w.getpix(x + 1, y) == spore1 && w.getpix(x + 1, y - 1) != black) move(0, -1); - else if (w.getpix(x + 1, y) == spore1 && w.getpix(x + 1, y - 1) == black) move(1, -1); - else if (w.getpix(x - 1, y) == spore2 && w.getpix(x - 1, y - 1) != black) move(0, -1); - else if (w.getpix(x - 1, y) == spore2 && w.getpix(x - 1, y - 1) == black) move(-1, -1); - else move((int)random(3) - 1, 0); - } - else if (myColor == spore3) - { - if (w.getpix(x - 1, y - 1) == black && w.getpix(x + 1, y - 1) == black && w.getpix(x, y - 1) == black) move(0, -1); - else if (w.getpix(x - 1, y) == spore4 && w.getpix(x - 1, y + 1) != black) move(0, 1); - else if (w.getpix(x - 1, y) == spore4 && w.getpix(x - 1, y + 1) == black) move(-1, 1); - else if (w.getpix(x + 1, y) == spore3 && w.getpix(x + 1, y + 1) != black) move(0, 1); - else if (w.getpix(x + 1, y) == spore3 && w.getpix(x + 1, y + 1) == black) move(1, 1); - else move((int)random(3) - 1, 0); - } - else if (myColor == spore4) - { - if (w.getpix(x - 1, y - 1) == black && w.getpix(x + 1, y - 1) == black && w.getpix(x, y - 1) == black) move(0, -1); - else if (w.getpix(x + 1, y) == spore3 && w.getpix(x + 1, y + 1) != black) move(0, 1); - else if (w.getpix(x + 1, y) == spore3 && w.getpix(x + 1, y + 1) == black) move(1, 1); - else if (w.getpix(x - 1, y) == spore4 && w.getpix(x - 1, y + 1) != black) move(0, 1); - else if (w.getpix(x - 1, y) == spore4 && w.getpix(x - 1, y + 1) == black) move(-1, 1); - else move((int)random(3) - 1, 0); - } - } - - // Will move the cell (dx, dy) units if that space is empty - void move(int dx, int dy) { - if (w.getpix(x + dx, y + dy) == black) { - w.setpix(x + dx, y + dy, w.getpix(x, y)); - w.setpix(x, y, color(0)); - x += dx; - y += dy; - } - } -} - -// The World class simply provides two functions, get and set, which access the -// display in the same way as getPixel and setPixel. The only difference is that -// the World class's get and set do screen wraparound ("toroidal coordinates"). -class World { - - void setpix(int x, int y, int c) { - while(x < 0) x+=width; - while(x > width - 1) x-=width; - while(y < 0) y+=height; - while(y > height - 1) y-=height; - set(x, y, c); - } - - color getpix(int x, int y) { - while(x < 0) x+=width; - while(x > width - 1) x-=width; - while(y < 0) y+=height; - while(y > height - 1) y-=height; - return get(x, y); - } -} - -void mousePressed() { - reset(); -} - diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Cellular Automata/Wolfram/CA.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Cellular Automata/Wolfram/CA.pde deleted file mode 100644 index 4beca4e..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Cellular Automata/Wolfram/CA.pde +++ /dev/null @@ -1,92 +0,0 @@ -class CA { - - int[] cells; // An array of 0s and 1s - int generation; // How many generations? - int scl; // How many pixels wide/high is each cell? - - int[] rules; // An array to store the ruleset, for example {0,1,1,0,1,1,0,1} - - CA(int[] r) { - rules = r; - scl = 1; - cells = new int[width/scl]; - restart(); - } - - // Set the rules of the CA - void setRules(int[] r) { - rules = r; - } - - // Make a random ruleset - void randomize() { - for (int i = 0; i < 8; i++) { - rules[i] = int(random(2)); - } - } - - // Reset to generation 0 - void restart() { - for (int i = 0; i < cells.length; i++) { - cells[i] = 0; - } - cells[cells.length/2] = 1; // We arbitrarily start with just the middle cell having a state of "1" - generation = 0; - } - - // The process of creating the new generation - void generate() { - // First we create an empty array for the new values - int[] nextgen = new int[cells.length]; - // For every spot, determine new state by examing current state, and neighbor states - // Ignore edges that only have one neighor - for (int i = 1; i < cells.length-1; i++) { - int left = cells[i-1]; // Left neighbor state - int me = cells[i]; // Current state - int right = cells[i+1]; // Right neighbor state - nextgen[i] = executeRules(left,me,right); // Compute next generation state based on ruleset - } - // Copy the array into current value - for (int i = 1; i < cells.length-1; i++) { - cells[i] = nextgen[i]; - } - //cells = (int[]) nextgen.clone(); - generation++; - } - - // This is the easy part, just draw the cells, fill 255 for '1', fill 0 for '0' - void render() { - for (int i = 0; i < cells.length; i++) { - if (cells[i] == 1) { - fill(255); - } else { - fill(0); - } - noStroke(); - rect(i*scl,generation*scl, scl,scl); - } - } - - // Implementing the Wolfram rules - // Could be improved and made more concise, but here we can explicitly see what is going on for each case - int executeRules (int a, int b, int c) { - if (a == 1 && b == 1 && c == 1) { return rules[0]; } - if (a == 1 && b == 1 && c == 0) { return rules[1]; } - if (a == 1 && b == 0 && c == 1) { return rules[2]; } - if (a == 1 && b == 0 && c == 0) { return rules[3]; } - if (a == 0 && b == 1 && c == 1) { return rules[4]; } - if (a == 0 && b == 1 && c == 0) { return rules[5]; } - if (a == 0 && b == 0 && c == 1) { return rules[6]; } - if (a == 0 && b == 0 && c == 0) { return rules[7]; } - return 0; - } - - // The CA is done if it reaches the bottom of the screen - boolean finished() { - if (generation > height/scl) { - return true; - } else { - return false; - } - } -} diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Cellular Automata/Wolfram/Wolfram.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Cellular Automata/Wolfram/Wolfram.pde deleted file mode 100644 index 936bcc3..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Cellular Automata/Wolfram/Wolfram.pde +++ /dev/null @@ -1,37 +0,0 @@ -/** - * Wolfram Cellular Automata - * by Daniel Shiffman. - * - * Simple demonstration of a Wolfram 1-dimensional cellular automata - * When the system reaches bottom of the window, it restarts with a new ruleset - * Mouse click restarts as well. - */ - -CA ca; // An instance object to describe the Wolfram basic Cellular Automata - -void setup() { - size(640, 360); - int[] ruleset = {0,1,0,1,1,0,1,0}; // An initial rule system - ca = new CA(ruleset); // Initialize CA - background(0); -} - -void draw() { - ca.render(); // Draw the CA - ca.generate(); // Generate the next level - - if (ca.finished()) { // If we're done, clear the screen, pick a new ruleset and restart - background(0); - ca.randomize(); - ca.restart(); - } -} - -void mousePressed() { - background(0); - ca.randomize(); - ca.restart(); -} - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Create Shapes/BeginEndContour/BeginEndContour.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Create Shapes/BeginEndContour/BeginEndContour.pde deleted file mode 100644 index be959b9..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Create Shapes/BeginEndContour/BeginEndContour.pde +++ /dev/null @@ -1,43 +0,0 @@ -/** - * BeginEndContour - * - * How to cut a shape out of another using beginContour() and endContour() - */ - -PShape s; - -void setup() { - size(640, 360, P2D); - - // Make a shape - s = createShape(); - s.beginShape(); - s.fill(0); - s.stroke(255); - s.strokeWeight(2); - // Exterior part of shape - s.vertex(-100,-100); - s.vertex(100,-100); - s.vertex(100,100); - s.vertex(-100,100); - - // Interior part of shape - s.beginContour(); - s.vertex(-10,-10); - s.vertex(-10,10); - s.vertex(10,10); - s.vertex(10,-10); - s.endContour(); - - // Finishing off shape - s.endShape(CLOSE); -} - -void draw() { - background(52); - // Display shape - translate(width/2, height/2); - // Shapes can be rotated - s.rotate(0.01); - shape(s); -} diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Create Shapes/GroupPShape/GroupPShape.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Create Shapes/GroupPShape/GroupPShape.pde deleted file mode 100644 index caa88c1..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Create Shapes/GroupPShape/GroupPShape.pde +++ /dev/null @@ -1,67 +0,0 @@ -/** - * GroupPShape - * - * How to group multiple PShapes into one PShape - */ - - -// A PShape that will group PShapes -PShape group; - -void setup() { - size(640, 360, P2D); - - // Create the shape as a group - group = createShape(GROUP); - - // Make a polygon PShape - PShape star = createShape(); - star.beginShape(); - star.noFill(); - star.stroke(255); - star.vertex(0, -50); - star.vertex(14, -20); - star.vertex(47, -15); - star.vertex(23, 7); - star.vertex(29, 40); - star.vertex(0, 25); - star.vertex(-29, 40); - star.vertex(-23, 7); - star.vertex(-47, -15); - star.vertex(-14, -20); - star.endShape(CLOSE); - - // Make a path PShape - PShape path = createShape(); - path.beginShape(); - path.noFill(); - path.stroke(255); - for (float a = -PI; a < 0; a += 0.1) { - float r = random(60, 70); - path.vertex(r*cos(a), r*sin(a)); - } - path.endShape(); - - // Make a primitive (Rectangle) PShape - PShape rectangle = createShape(RECT,-10,-10,20,20); - rectangle.setFill(false); - rectangle.setStroke(color(255)); - - // Add them all to the group - group.addChild(star); - group.addChild(path); - group.addChild(rectangle); -} - -void draw() { - // We can access them individually via the group PShape - PShape rectangle = group.getChild(2); - // Shapes can be rotated - rectangle.rotate(0.1); - - background(52); - // Display the group PShape - translate(mouseX, mouseY); - shape(group); -} - diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Create Shapes/ParticleSystemPShape/Particle.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Create Shapes/ParticleSystemPShape/Particle.pde deleted file mode 100644 index ccccb65..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Create Shapes/ParticleSystemPShape/Particle.pde +++ /dev/null @@ -1,82 +0,0 @@ -// An individual Particle - -class Particle { - - // Velocity - PVector center; - PVector velocity; - // Lifespane is tied to alpha - float lifespan; - - // The particle PShape - PShape part; - // The particle size - float partSize; - - // A single force - PVector gravity = new PVector(0, 0.1); - - Particle() { - partSize = random(10, 60); - // The particle is a textured quad - part = createShape(); - part.beginShape(QUAD); - part.noStroke(); - part.texture(sprite); - part.normal(0, 0, 1); - part.vertex(-partSize/2, -partSize/2, 0, 0); - part.vertex(+partSize/2, -partSize/2, sprite.width, 0); - part.vertex(+partSize/2, +partSize/2, sprite.width, sprite.height); - part.vertex(-partSize/2, +partSize/2, 0, sprite.height); - part.endShape(); - - // Initialize center vector - center = new PVector(); - - // Set the particle starting location - rebirth(width/2, height/2); - } - - PShape getShape() { - return part; - } - - void rebirth(float x, float y) { - float a = random(TWO_PI); - float speed = random(0.5, 4); - // A velocity with random angle and magnitude - velocity = PVector.fromAngle(a); - velocity.mult(speed); - // Set lifespan - lifespan = 255; - // Set location using translate - part.resetMatrix(); - part.translate(x, y); - - // Update center vector - center.set(x, y, 0); - } - - // Is it off the screen, or its lifespan is over? - boolean isDead() { - if (center.x > width || center.x < 0 || - center.y > height || center.y < 0 || lifespan < 0) { - return true; - } - else { - return false; - } - } - - void update() { - // Decrease life - lifespan = lifespan - 1; - // Apply gravity - velocity.add(gravity); - part.setTint(color(255, lifespan)); - // Move the particle according to its velocity - part.translate(velocity.x, velocity.y); - // and also update the center - center.add(velocity); - } -} diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Create Shapes/ParticleSystemPShape/ParticleSystem.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Create Shapes/ParticleSystemPShape/ParticleSystem.pde deleted file mode 100644 index e221504..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Create Shapes/ParticleSystemPShape/ParticleSystem.pde +++ /dev/null @@ -1,43 +0,0 @@ -// The Particle System - -class ParticleSystem { - // It's just an ArrayList of particle objects - ArrayList particles; - - // The PShape to group all the particle PShapes - PShape particleShape; - - ParticleSystem(int n) { - particles = new ArrayList(); - // The PShape is a group - particleShape = createShape(GROUP); - - // Make all the Particles - for (int i = 0; i < n; i++) { - Particle p = new Particle(); - particles.add(p); - // Each particle's PShape gets added to the System PShape - particleShape.addChild(p.getShape()); - } - } - - void update() { - for (Particle p : particles) { - p.update(); - } - } - - void setEmitter(float x, float y) { - for (Particle p : particles) { - // Each particle gets reborn at the emitter location - if (p.isDead()) { - p.rebirth(x, y); - } - } - } - - void display() { - shape(particleShape); - } -} - diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Create Shapes/ParticleSystemPShape/ParticleSystemPShape.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Create Shapes/ParticleSystemPShape/ParticleSystemPShape.pde deleted file mode 100644 index 479e4e1..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Create Shapes/ParticleSystemPShape/ParticleSystemPShape.pde +++ /dev/null @@ -1,41 +0,0 @@ -/** - * ParticleSystemPShape - * - * A particle system optimized for drawing using PShape - */ - -// Particle System object -ParticleSystem ps; -// A PImage for particle's texture -PImage sprite; - -void setup() { - size(640, 360, P2D); - // Load the image - sprite = loadImage("sprite.png"); - // A new particle system with 10,000 particles - ps = new ParticleSystem(10000); - - // Writing to the depth buffer is disabled to avoid rendering - // artifacts due to the fact that the particles are semi-transparent - // but not z-sorted. - hint(DISABLE_DEPTH_MASK); - -} - -void draw () { - background(0); - // Update and display system - ps.update(); - ps.display(); - - // Set the particle system's emitter location to the mouse - ps.setEmitter(mouseX,mouseY); - - // Display frame rate - fill(255); - textSize(16); - text("Frame rate: " + int(frameRate),10,20); - -} - diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Create Shapes/ParticleSystemPShape/data/sprite.png b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Create Shapes/ParticleSystemPShape/data/sprite.png deleted file mode 100644 index cc0f45c..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Create Shapes/ParticleSystemPShape/data/sprite.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Create Shapes/PathPShape/PathPShape.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Create Shapes/PathPShape/PathPShape.pde deleted file mode 100644 index dbb4bff..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Create Shapes/PathPShape/PathPShape.pde +++ /dev/null @@ -1,38 +0,0 @@ -/** - * PathPShape - * - * A simple path using PShape - */ - -// A PShape object -PShape path; - -void setup() { - size(640, 360, P2D); - - // Create the shape - path = createShape(); - path.beginShape(); - // Set fill and stroke - path.noFill(); - path.stroke(255); - path.strokeWeight(2); - - float x = 0; - // Calculate the path as a sine wave - for (float a = 0; a < TWO_PI; a+=0.1) { - path.vertex(x,sin(a)*100); - x+= 5; - } - // The path is complete - path.endShape(); - -} - -void draw() { - background(51); - // Draw the path at the mouse location - translate(mouseX, mouseY); - shape(path); -} - diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Create Shapes/PolygonPShape/PolygonPShape.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Create Shapes/PolygonPShape/PolygonPShape.pde deleted file mode 100644 index abf36ed..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Create Shapes/PolygonPShape/PolygonPShape.pde +++ /dev/null @@ -1,42 +0,0 @@ - -/** - * PrimitivePShape. - * - * Using a PShape to display a custom polygon. - */ - -// The PShape object -PShape star; - -void setup() { - size(640, 360, P2D); - - // First create the shape - star = createShape(); - star.beginShape(); - // You can set fill and stroke - star.fill(102); - star.stroke(255); - star.strokeWeight(2); - // Here, we are hardcoding a series of vertices - star.vertex(0, -50); - star.vertex(14, -20); - star.vertex(47, -15); - star.vertex(23, 7); - star.vertex(29, 40); - star.vertex(0, 25); - star.vertex(-29, 40); - star.vertex(-23, 7); - star.vertex(-47, -15); - star.vertex(-14, -20); - star.endShape(CLOSE); -} - -void draw() { - background(51); - // We can use translate to move the PShape - translate(mouseX, mouseY); - // Display the shape - shape(star); -} - diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Create Shapes/PolygonPShapeOOP/PolygonPShapeOOP.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Create Shapes/PolygonPShapeOOP/PolygonPShapeOOP.pde deleted file mode 100644 index 44b600e..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Create Shapes/PolygonPShapeOOP/PolygonPShapeOOP.pde +++ /dev/null @@ -1,30 +0,0 @@ -/** - * PolygonPShapeOOP. - * - * Wrapping a PShape inside a custom class - */ - - -// A Star object -Star s1, s2; - -void setup() { - size(640, 360, P2D); - - // Make a new Star - s1 = new Star(); - s2 = new Star(); - -} - -void draw() { - background(51); - - s1.display(); // Display the first star - s1.move(); // Move the first star - - s2.display(); // Display the second star - s2.move(); // Move the second star - -} - diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Create Shapes/PolygonPShapeOOP/Star.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Create Shapes/PolygonPShapeOOP/Star.pde deleted file mode 100644 index d75d445..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Create Shapes/PolygonPShapeOOP/Star.pde +++ /dev/null @@ -1,52 +0,0 @@ -// A class to describe a Star shape - -class Star { - - // The PShape object - PShape s; - // The location where we will draw the shape - float x, y; - float speed; - - Star() { - x = random(100, width-100); - y = random(100, height-100); - speed = random(0.5, 3); - // First create the shape - s = createShape(); - s.beginShape(); - // You can set fill and stroke - s.fill(255, 204); - s.noStroke(); - // Here, we are hardcoding a series of vertices - s.vertex(0, -50); - s.vertex(14, -20); - s.vertex(47, -15); - s.vertex(23, 7); - s.vertex(29, 40); - s.vertex(0, 25); - s.vertex(-29, 40); - s.vertex(-23, 7); - s.vertex(-47, -15); - s.vertex(-14, -20); - // The shape is complete - s.endShape(CLOSE); - } - - void move() { - // Demonstrating some simple motion - x += speed; - if (x > width+100) { - x = -100; - } - } - - void display() { - // Locating and drawing the shape - pushMatrix(); - translate(x, y); - shape(s); - popMatrix(); - } -} - diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Create Shapes/PolygonPShapeOOP2/Polygon.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Create Shapes/PolygonPShapeOOP2/Polygon.pde deleted file mode 100644 index f5bfac3..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Create Shapes/PolygonPShapeOOP2/Polygon.pde +++ /dev/null @@ -1,34 +0,0 @@ -// A class to describe a Polygon (with a PShape) - -class Polygon { - // The PShape object - PShape s; - // The location where we will draw the shape - float x, y; - // Variable for simple motion - float speed; - - Polygon(PShape s_) { - x = random(width); - y = random(-500, -100); - s = s_; - speed = random(2, 6); - } - - // Simple motion - void move() { - y += speed; - if (y > height+100) { - y = -100; - } - } - - // Draw the object - void display() { - pushMatrix(); - translate(x, y); - shape(s); - popMatrix(); - } -} - diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Create Shapes/PolygonPShapeOOP2/PolygonPShapeOOP2.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Create Shapes/PolygonPShapeOOP2/PolygonPShapeOOP2.pde deleted file mode 100644 index ea3e30c..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Create Shapes/PolygonPShapeOOP2/PolygonPShapeOOP2.pde +++ /dev/null @@ -1,53 +0,0 @@ -/** - * PolygonPShapeOOP. - * - * Wrapping a PShape inside a custom class - * and demonstrating how we can have a multiple objects each - * using the same PShape. - */ - - -// A list of objects -ArrayList polygons; - -void setup() { - size(640, 360, P2D); - - // Make a PShape - PShape star = createShape(); - star.beginShape(); - star.noStroke(); - star.fill(0, 127); - star.vertex(0, -50); - star.vertex(14, -20); - star.vertex(47, -15); - star.vertex(23, 7); - star.vertex(29, 40); - star.vertex(0, 25); - star.vertex(-29, 40); - star.vertex(-23, 7); - star.vertex(-47, -15); - star.vertex(-14, -20); - star.endShape(CLOSE); - - // Make an ArrayList - polygons = new ArrayList(); - - // Add a bunch of objects to the ArrayList - // Pass in reference to the PShape - // We coud make polygons with different PShapes - for (int i = 0; i < 25; i++) { - polygons.add(new Polygon(star)); - } -} - -void draw() { - background(255); - - // Display and move them all - for (Polygon poly : polygons) { - poly.display(); - poly.move(); - } -} - diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Create Shapes/PolygonPShapeOOP3/Polygon.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Create Shapes/PolygonPShapeOOP3/Polygon.pde deleted file mode 100644 index e775fb4..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Create Shapes/PolygonPShapeOOP3/Polygon.pde +++ /dev/null @@ -1,34 +0,0 @@ -// A class to describe a Polygon (with a PShape) - -class Polygon { - // The PShape object - PShape s; - // The location where we will draw the shape - float x, y; - // Variable for simple motion - float speed; - - Polygon(PShape s_) { - x = random(width); - y = random(-500, -100); - s = s_; - speed = random(2, 6); - } - - // Simple motion - void move() { - y+=speed; - if (y > height+100) { - y = -100; - } - } - - // Draw the object - void display() { - pushMatrix(); - translate(x, y); - shape(s); - popMatrix(); - } -} - diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Create Shapes/PolygonPShapeOOP3/PolygonPShapeOOP3.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Create Shapes/PolygonPShapeOOP3/PolygonPShapeOOP3.pde deleted file mode 100644 index 854deb0..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Create Shapes/PolygonPShapeOOP3/PolygonPShapeOOP3.pde +++ /dev/null @@ -1,60 +0,0 @@ -/** - * PolygonPShapeOOP. - * - * Wrapping a PShape inside a custom class - * and demonstrating how we can have a multiple objects each - * using the same PShape. - */ - - -// A list of objects -ArrayList polygons; - -// Three possible shapes -PShape[] shapes = new PShape[3]; - -void setup() { - size(640, 360, P2D); - - shapes[0] = createShape(ELLIPSE,0,0,100,100); - shapes[0].setFill(color(255, 127)); - shapes[0].setStroke(false); - shapes[1] = createShape(RECT,0,0,100,100); - shapes[1].setFill(color(255, 127)); - shapes[1].setStroke(false); - shapes[2] = createShape(); - shapes[2].beginShape(); - shapes[2].fill(0, 127); - shapes[2].noStroke(); - shapes[2].vertex(0, -50); - shapes[2].vertex(14, -20); - shapes[2].vertex(47, -15); - shapes[2].vertex(23, 7); - shapes[2].vertex(29, 40); - shapes[2].vertex(0, 25); - shapes[2].vertex(-29, 40); - shapes[2].vertex(-23, 7); - shapes[2].vertex(-47, -15); - shapes[2].vertex(-14, -20); - shapes[2].endShape(CLOSE); - - // Make an ArrayList - polygons = new ArrayList(); - - for (int i = 0; i < 25; i++) { - int selection = int(random(shapes.length)); // Pick a random index - Polygon p = new Polygon(shapes[selection]); // Use corresponding PShape to create Polygon - polygons.add(p); - } -} - -void draw() { - background(102); - - // Display and move them all - for (Polygon poly : polygons) { - poly.display(); - poly.move(); - } -} - diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Create Shapes/PrimitivePShape/PrimitivePShape.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Create Shapes/PrimitivePShape/PrimitivePShape.pde deleted file mode 100644 index 7b8e663..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Create Shapes/PrimitivePShape/PrimitivePShape.pde +++ /dev/null @@ -1,27 +0,0 @@ -/** - * PrimitivePShape. - * - * Using a PShape to display a primitive shape (in this case, ellipse). - */ - - -// The PShape object -PShape circle; - -void setup() { - size(640, 360, P2D); - // Creating the PShape as an ellipse - circle = createShape(ELLIPSE, 0, 0, 100, 50); -} - -void draw() { - background(51); - // We can dynamically set the stroke and fill of the shape - circle.setStroke(color(255)); - circle.setStrokeWeight(4); - circle.setFill(color(map(mouseX, 0, width, 0, 255))); - // We can use translate to move the PShape - translate(mouseX, mouseY); - // Drawing the PShape - shape(circle); -} diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Create Shapes/WigglePShape/WigglePShape.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Create Shapes/WigglePShape/WigglePShape.pde deleted file mode 100644 index 0ed8744..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Create Shapes/WigglePShape/WigglePShape.pde +++ /dev/null @@ -1,22 +0,0 @@ -/** - * WigglePShape. - * - * How to move the individual vertices of a PShape - */ - - -// A "Wiggler" object -Wiggler w; - -void setup() { - size(640, 360, P2D); - w = new Wiggler(); -} - -void draw() { - background(255); - w.display(); - w.wiggle(); -} - - diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Create Shapes/WigglePShape/Wiggler.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Create Shapes/WigglePShape/Wiggler.pde deleted file mode 100644 index be4d798..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Create Shapes/WigglePShape/Wiggler.pde +++ /dev/null @@ -1,67 +0,0 @@ -// An object that wraps the PShape - -class Wiggler { - - // The PShape to be "wiggled" - PShape s; - // Its location - float x, y; - - // For 2D Perlin noise - float yoff = 0; - - // We are using an ArrayList to keep a duplicate copy - // of vertices original locations. - ArrayList original; - - Wiggler() { - x = width/2; - y = height/2; - - // The "original" locations of the vertices make up a circle - original = new ArrayList(); - for (float a = 0; a < TWO_PI; a+=0.2) { - PVector v = PVector.fromAngle(a); - v.mult(100); - original.add(v); - } - - // Now make the PShape with those vertices - s = createShape(); - s.beginShape(); - s.fill(127); - s.stroke(0); - s.strokeWeight(2); - for (PVector v : original) { - s.vertex(v.x, v.y); - } - s.endShape(CLOSE); - } - - void wiggle() { - float xoff = 0; - // Apply an offset to each vertex - for (int i = 0; i < s.getVertexCount(); i++) { - // Calculate a new vertex location based on noise around "original" location - PVector pos = original.get(i); - float a = TWO_PI*noise(xoff,yoff); - PVector r = PVector.fromAngle(a); - r.mult(4); - r.add(pos); - // Set the location of each vertex to the new one - s.setVertex(i, r.x, r.y); - // increment perlin noise x value - xoff+= 0.5; - } - // Increment perlin noise y value - yoff += 0.02; - } - - void display() { - pushMatrix(); - translate(x, y); - shape(s); - popMatrix(); - } -} - diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Curves/ArcLengthParametrization/ArcLengthParametrization.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Curves/ArcLengthParametrization/ArcLengthParametrization.pde deleted file mode 100644 index eca9da9..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Curves/ArcLengthParametrization/ArcLengthParametrization.pde +++ /dev/null @@ -1,158 +0,0 @@ -/* - Arc Length parametrization of curves by Jakub Valtar - - This example shows how to divide a curve into segments - of an equal length and how to move along the curve with - constant speed. - - To demonstrate the technique, a cubic BĆ©zier curve is used. - However, this technique is applicable to any kind of - parametric curve. -*/ - -BezierCurve curve; - -PVector[] points; -PVector[] equidistantPoints; - -float t = 0.0; -float tStep = 0.004; - -final int POINT_COUNT = 80; - -int borderSize = 40; - -void setup() { - size(640, 360, P2D); - - frameRate(60); - smooth(8); - textAlign(CENTER); - textSize(16); - strokeWeight(2); - - PVector a = new PVector( 0, 300); - PVector b = new PVector( 440, 0); - PVector c = new PVector(-200, 0); - PVector d = new PVector( 240, 300); - - curve = new BezierCurve(a, b, c, d); - - points = curve.points(POINT_COUNT); - equidistantPoints = curve.equidistantPoints(POINT_COUNT); -} - - -void draw() { - - // Show static value when mouse is pressed, animate otherwise - if (mousePressed) { - int a = constrain(mouseX, borderSize, width - borderSize); - t = map(a, borderSize, width - borderSize, 0.0, 1.0); - } else { - t += tStep; - if (t > 1.0) t = 0.0; - } - - background(255); - - - // draw curve and circle using standard parametrization - pushMatrix(); - translate(borderSize, -50); - - labelStyle(); - text("STANDARD\nPARAMETRIZATION", 120, 310); - - curveStyle(); - beginShape(LINES); - for (int i = 0; i < points.length - 1; i += 2) { - vertex(points[i].x, points[i].y); - vertex(points[i+1].x, points[i+1].y); - } - endShape(); - - circleStyle(); - PVector pos1 = curve.pointAtParameter(t); - ellipse(pos1.x, pos1.y, 12, 12); - - popMatrix(); - - - // draw curve and circle using arc length parametrization - pushMatrix(); - translate(width/2 + borderSize, -50); - - labelStyle(); - text("ARC LENGTH\nPARAMETRIZATION", 120, 310); - - curveStyle(); - beginShape(LINES); - for (int i = 0; i < equidistantPoints.length - 1; i += 2) { - vertex(equidistantPoints[i].x, equidistantPoints[i].y); - vertex(equidistantPoints[i+1].x, equidistantPoints[i+1].y); - } - endShape(); - - circleStyle(); - PVector pos2 = curve.pointAtFraction(t); - ellipse(pos2.x, pos2.y, 12, 12); - - popMatrix(); - - - // draw seek bar - pushMatrix(); - translate(borderSize, height - 45); - - int barLength = width - 2 * borderSize; - - barBgStyle(); - line(0, 0, barLength, 0); - line(barLength, -5, barLength, 5); - - barStyle(); - line(0, -5, 0, 5); - line(0, 0, t * barLength, 0); - - barLabelStyle(); - text(nf(t, 0, 2), barLength/2, 25); - popMatrix(); - -} - - -// Styles ----- - -void curveStyle() { - stroke(170); - noFill(); -} - -void labelStyle() { - noStroke(); - fill(120); -} - -void circleStyle() { - noStroke(); - fill(0); -} - -void barBgStyle() { - stroke(220); - noFill(); -} - -void barStyle() { - stroke(50); - noFill(); -} - -void barLabelStyle() { - noStroke(); - fill(120); -} - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Curves/ArcLengthParametrization/BezierCurve.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Curves/ArcLengthParametrization/BezierCurve.pde deleted file mode 100644 index 531ea36..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Curves/ArcLengthParametrization/BezierCurve.pde +++ /dev/null @@ -1,192 +0,0 @@ -/* - This class represents a cubic BĆ©zier curve. - - getPointAtParameter() method works the same as bezierPoint(). - - Points returned from this method are closer to each other - at places where the curve bends and farther apart where the - curve runs straight. - - On the orther hand, getPointAtFraction() and getPointAtLength() - return points at fixed distances. This is useful in many scenarios: - you may want to move an object along the curve at some speed - or you may want to draw dashed BĆ©zier curves. -*/ - - -class BezierCurve { - - private final int SEGMENT_COUNT = 100; - - private PVector v0, v1, v2, v3; - - private float arcLengths[] = new float[SEGMENT_COUNT + 1]; // there are n segments between n+1 points - - private float curveLength; - - - BezierCurve(PVector a, PVector b, PVector c, PVector d) { - v0 = a.get(); // curve begins here - v1 = b.get(); - v2 = c.get(); - v3 = d.get(); // curve ends here - - // The idea here is to make a handy look up table, which contains - // parameter values with their arc lengths along the curve. Later, - // when we want a point at some arc length, we can go through our - // table, pick the place where the point is going to be located and - // interpolate the value of parameter from two surrounding parameters - // in our table. - - // we will keep current length along the curve here - float arcLength = 0; - - PVector prev = new PVector(); - prev.set(v0); - - // i goes from 0 to SEGMENT_COUNT - for (int i = 0; i <= SEGMENT_COUNT; i++) { - - // map index from range (0, SEGMENT_COUNT) to parameter in range (0.0, 1.0) - float t = (float) i / SEGMENT_COUNT; - - // get point on the curve at this parameter value - PVector point = pointAtParameter(t); - - // get distance from previous point - float distanceFromPrev = PVector.dist(prev, point); - - // add arc length of last segment to total length - arcLength += distanceFromPrev; - - // save current arc length to the look up table - arcLengths[i] = arcLength; - - // keep this point to compute length of next segment - prev.set(point); - } - - // Here we have sum of all segment lengths, which should be - // very close to the actual length of the curve. The more - // segments we use, the more accurate it becomes. - curveLength = arcLength; - } - - - // Returns the length of this curve - float length() { - return curveLength; - } - - - // Returns a point along the curve at a specified parameter value. - PVector pointAtParameter(float t) { - PVector result = new PVector(); - result.x = bezierPoint(v0.x, v1.x, v2.x, v3.x, t); - result.y = bezierPoint(v0.y, v1.y, v2.y, v3.y, t); - result.z = bezierPoint(v0.z, v1.z, v2.z, v3.z, t); - return result; - } - - - - // Returns a point at a fraction of curve's length. - // Example: pointAtFraction(0.25) returns point at one quarter of curve's length. - PVector pointAtFraction(float r) { - float wantedLength = curveLength * r; - return pointAtLength(wantedLength); - } - - - // Returns a point at a specified arc length along the curve. - PVector pointAtLength(float wantedLength) { - wantedLength = constrain(wantedLength, 0.0, curveLength); - - // look up the length in our look up table - int index = java.util.Arrays.binarySearch(arcLengths, wantedLength); - - float mappedIndex; - - if (index < 0) { - // if the index is negative, exact length is not in the table, - // but it tells us where it should be in the table - // see http://docs.oracle.com/javase/7/docs/api/java/util/Arrays.html#binarySearch(float[], float) - - // interpolate two surrounding indexes - int nextIndex = -(index + 1); - int prevIndex = nextIndex - 1; - float prevLength = arcLengths[prevIndex]; - float nextLength = arcLengths[nextIndex]; - mappedIndex = map(wantedLength, prevLength, nextLength, prevIndex, nextIndex); - - } else { - // wanted length is in the table, we know the index right away - mappedIndex = index; - } - - // map index from range (0, SEGMENT_COUNT) to parameter in range (0.0, 1.0) - float parameter = mappedIndex / SEGMENT_COUNT; - - return pointAtParameter(parameter); - } - - - // Returns an array of equidistant point on the curve - PVector[] equidistantPoints(int howMany) { - - PVector[] resultPoints = new PVector[howMany]; - - // we already know the beginning and the end of the curve - resultPoints[0] = v0.get(); - resultPoints[howMany - 1] = v3.get(); - - int arcLengthIndex = 1; - for (int i = 1; i < howMany - 1; i++) { - - // compute wanted arc length - float fraction = (float) i / (howMany - 1); - float wantedLength = fraction * curveLength; - - // move through the look up table until we find greater length - while (wantedLength > arcLengths[arcLengthIndex] && arcLengthIndex < arcLengths.length) { - arcLengthIndex++; - } - - // interpolate two surrounding indexes - int nextIndex = arcLengthIndex; - int prevIndex = arcLengthIndex - 1; - float prevLength = arcLengths[prevIndex]; - float nextLength = arcLengths[nextIndex]; - float mappedIndex = map(wantedLength, prevLength, nextLength, prevIndex, nextIndex); - - // map index from range (0, SEGMENT_COUNT) to parameter in range (0.0, 1.0) - float parameter = mappedIndex / SEGMENT_COUNT; - - resultPoints[i] = pointAtParameter(parameter); - } - - return resultPoints; - } - - - // Returns an array of points on the curve. - PVector[] points(int howMany) { - - PVector[] resultPoints = new PVector[howMany]; - - // we already know the first and the last point of the curve - resultPoints[0] = v0.get(); - resultPoints[howMany - 1] = v3.get(); - - for (int i = 1; i < howMany - 1; i++) { - - // map index to parameter in range (0.0, 1.0) - float parameter = (float) i / (howMany - 1); - - resultPoints[i] = pointAtParameter(parameter); - } - - return resultPoints; - } - -} diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Drawing/ContinuousLines/ContinuousLines.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Drawing/ContinuousLines/ContinuousLines.pde deleted file mode 100644 index a9e36e0..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Drawing/ContinuousLines/ContinuousLines.pde +++ /dev/null @@ -1,17 +0,0 @@ -/** - * Continuous Lines. - * - * Click and drag the mouse to draw a line. - */ - -void setup() { - size(640, 360); - background(102); -} - -void draw() { - stroke(255); - if (mousePressed == true) { - line(mouseX, mouseY, pmouseX, pmouseY); - } -} diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Drawing/Pattern/Pattern.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Drawing/Pattern/Pattern.pde deleted file mode 100644 index 39c16cd..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Drawing/Pattern/Pattern.pde +++ /dev/null @@ -1,30 +0,0 @@ -/** - * Patterns. - * - * Move the cursor over the image to draw with a software tool - * which responds to the speed of the mouse. - */ - -void setup() { - size(640, 360); - background(102); -} - -void draw() { - // Call the variableEllipse() method and send it the - // parameters for the current mouse position - // and the previous mouse position - variableEllipse(mouseX, mouseY, pmouseX, pmouseY); -} - - -// The simple method variableEllipse() was created specifically -// for this program. It calculates the speed of the mouse -// and draws a small ellipse if the mouse is moving slowly -// and draws a large ellipse if the mouse is moving quickly - -void variableEllipse(int x, int y, int px, int py) { - float speed = abs(x-px) + abs(y-py); - stroke(speed); - ellipse(x, y, speed, speed); -} diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Drawing/Pulses/Pulses.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Drawing/Pulses/Pulses.pde deleted file mode 100644 index 0051ec7..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Drawing/Pulses/Pulses.pde +++ /dev/null @@ -1,32 +0,0 @@ -/** - * Pulses. - * - * Software drawing instruments can follow a rhythm or abide by rules independent - * of drawn gestures. This is a form of collaborative drawing in which the draftsperson - * controls some aspects of the image and the software controls others. - */ - -int angle = 0; - -void setup() { - size(640, 360); - background(102); - noStroke(); - fill(0, 102); -} - -void draw() { - // Draw only when mouse is pressed - if (mousePressed == true) { - angle += 5; - float val = cos(radians(angle)) * 12.0; - for (int a = 0; a < 360; a += 75) { - float xoff = cos(radians(a)) * val; - float yoff = sin(radians(a)) * val; - fill(0); - ellipse(mouseX + xoff, mouseY + yoff, val, val); - } - fill(255); - ellipse(mouseX, mouseY, 2, 2); - } -} diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/File IO/DirectoryList/DirectoryList.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/File IO/DirectoryList/DirectoryList.pde deleted file mode 100644 index 80568a5..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/File IO/DirectoryList/DirectoryList.pde +++ /dev/null @@ -1,104 +0,0 @@ -/** - * Listing files in directories and subdirectories - * by Daniel Shiffman. - * - * This example has three functions:
- * 1) List the names of files in a directory
- * 2) List the names along with metadata (size, lastModified)
- * of files in a directory
- * 3) List the names along with metadata (size, lastModified)
- * of files in a directory and all subdirectories (using recursion) - */ - -import java.util.Date; - -void setup() { - - // Using just the path of this sketch to demonstrate, - // but you can list any directory you like. - String path = sketchPath(); - - println("Listing all filenames in a directory: "); - String[] filenames = listFileNames(path); - printArray(filenames); - - println("\nListing info about all files in a directory: "); - File[] files = listFiles(path); - for (int i = 0; i < files.length; i++) { - File f = files[i]; - println("Name: " + f.getName()); - println("Is directory: " + f.isDirectory()); - println("Size: " + f.length()); - String lastModified = new Date(f.lastModified()).toString(); - println("Last Modified: " + lastModified); - println("-----------------------"); - } - - println("\nListing info about all files in a directory and all subdirectories: "); - ArrayList allFiles = listFilesRecursive(path); - - for (File f : allFiles) { - println("Name: " + f.getName()); - println("Full path: " + f.getAbsolutePath()); - println("Is directory: " + f.isDirectory()); - println("Size: " + f.length()); - String lastModified = new Date(f.lastModified()).toString(); - println("Last Modified: " + lastModified); - println("-----------------------"); - } - - noLoop(); -} - -// Nothing is drawn in this program and the draw() doesn't loop because -// of the noLoop() in setup() -void draw() { -} - -// This function returns all the files in a directory as an array of Strings -String[] listFileNames(String dir) { - File file = new File(dir); - if (file.isDirectory()) { - String names[] = file.list(); - return names; - } else { - // If it's not a directory - return null; - } -} - -// This function returns all the files in a directory as an array of File objects -// This is useful if you want more info about the file -File[] listFiles(String dir) { - File file = new File(dir); - if (file.isDirectory()) { - File[] files = file.listFiles(); - return files; - } else { - // If it's not a directory - return null; - } -} - -// Function to get a list of all files in a directory and all subdirectories -ArrayList listFilesRecursive(String dir) { - ArrayList fileList = new ArrayList(); - recurseDir(fileList, dir); - return fileList; -} - -// Recursive function to traverse subdirectories -void recurseDir(ArrayList a, String dir) { - File file = new File(dir); - if (file.isDirectory()) { - // If you want to include directories in the list - a.add(file); - File[] subfiles = file.listFiles(); - for (int i = 0; i < subfiles.length; i++) { - // Call this function on all files in this directory - recurseDir(a, subfiles[i].getAbsolutePath()); - } - } else { - a.add(file); - } -} \ No newline at end of file diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/File IO/LoadFile1/LoadFile1.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/File IO/LoadFile1/LoadFile1.pde deleted file mode 100644 index ac42a81..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/File IO/LoadFile1/LoadFile1.pde +++ /dev/null @@ -1,30 +0,0 @@ -/** - * LoadFile 1 - * - * Loads a text file that contains two numbers separated by a tab ('\t'). - * A new pair of numbers is loaded each frame and used to draw a point on the screen. - */ - -String[] lines; -int index = 0; - -void setup() { - size(200, 200); - background(0); - stroke(255); - frameRate(12); - lines = loadStrings("positions.txt"); -} - -void draw() { - if (index < lines.length) { - String[] pieces = split(lines[index], '\t'); - if (pieces.length == 2) { - int x = int(pieces[0]) * 2; - int y = int(pieces[1]) * 2; - point(x, y); - } - // Go to the next line for the next run through draw() - index = index + 1; - } -} diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/File IO/LoadFile1/data/positions.txt b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/File IO/LoadFile1/data/positions.txt deleted file mode 100644 index 3b8ff2e..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/File IO/LoadFile1/data/positions.txt +++ /dev/null @@ -1,206 +0,0 @@ -70 35 -69 35 -68 39 -67 42 -66 47 -64 51 -64 54 -63 57 -60 60 -58 64 -51 69 -48 72 -44 73 -39 75 -35 75 -30 75 -25 75 -21 75 -17 73 -13 69 -12 66 -11 61 -11 57 -10 49 -10 45 -10 38 -12 32 -13 29 -16 23 -20 19 -24 16 -27 15 -31 13 -33 13 -37 13 -40 15 -42 16 -45 19 -46 21 -47 24 -48 26 -48 29 -48 33 -47 39 -43 45 -42 47 -38 50 -35 51 -32 51 -30 51 -27 50 -27 50 -26 46 -26 41 -29 36 -30 34 -31 33 -31 33 -32 33 -33 33 -34 33 -34 33 -35 33 -37 33 -39 33 -42 32 -44 31 -46 29 -48 29 -49 27 -52 24 -53 23 -57 19 -61 16 -63 14 -67 13 -69 12 -69 12 -77 11 -77 11 -80 11 -86 16 -90 21 -93 25 -95 29 -95 32 -95 33 -95 37 -94 41 -93 44 -92 46 -91 49 -89 51 -87 55 -85 59 -82 62 -80 64 -79 67 -77 69 -74 71 -68 72 -65 73 -63 73 -62 73 -60 72 -58 69 -57 67 -57 66 -56 60 -56 56 -56 54 -58 49 -60 47 -62 47 -63 47 -67 48 -70 52 -73 55 -74 57 -74 58 -74 60 -74 62 -73 65 -70 68 -67 69 -65 70 -63 70 -62 70 -60 68 -57 65 -55 64 -50 62 -46 61 -40 60 -38 60 -36 60 -32 61 -30 62 -27 64 -26 68 -25 71 -25 77 -25 81 -26 84 -28 86 -31 87 -33 88 -36 88 -39 86 -41 85 -43 83 -44 81 -45 76 -45 74 -45 71 -40 67 -37 65 -34 63 -33 61 -33 61 -32 60 -33 49 -37 45 -41 41 -45 39 -47 38 -51 37 -54 37 -58 38 -61 41 -63 44 -65 46 -66 49 -66 51 -67 55 -67 58 -67 60 -66 62 -64 65 -63 66 -61 67 -60 68 -58 68 -55 69 -54 69 -51 69 -48 69 -46 68 -45 66 -44 65 -44 63 -44 61 -44 59 -44 56 -44 55 -45 53 -47 52 -49 50 -50 48 -51 47 -52 46 -54 46 -55 45 -55 45 -56 44 -57 44 diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/File IO/LoadFile2/LoadFile2.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/File IO/LoadFile2/LoadFile2.pde deleted file mode 100644 index 356d835..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/File IO/LoadFile2/LoadFile2.pde +++ /dev/null @@ -1,55 +0,0 @@ -/** - * LoadFile 2 - * - * This example loads a data file about cars. Each element is separated - * with a tab and corresponds to a different aspect of each car. The file stores - * the miles per gallon, cylinders, displacement, etc., for more than 400 different - * makes and models. Press a mouse button to advance to the next group of entries. - */ - -Record[] records; -String[] lines; -int recordCount; -PFont body; -int num = 9; // Display this many entries on each screen. -int startingEntry = 0; // Display from this entry number - -void setup() { - size(200, 200); - fill(255); - noLoop(); - - body = loadFont("TheSans-Plain-12.vlw"); - textFont(body); - - lines = loadStrings("cars2.tsv"); - records = new Record[lines.length]; - for (int i = 0; i < lines.length; i++) { - String[] pieces = split(lines[i], TAB); // Load data into array - if (pieces.length == 9) { - records[recordCount] = new Record(pieces); - recordCount++; - } - } - if (recordCount != records.length) { - records = (Record[]) subset(records, 0, recordCount); - } -} - -void draw() { - background(0); - for (int i = 0; i < num; i++) { - int thisEntry = startingEntry + i; - if (thisEntry < recordCount) { - text(thisEntry + " > " + records[thisEntry].name, 20, 20 + i*20); - } - } -} - -void mousePressed() { - startingEntry += num; - if (startingEntry > records.length) { - startingEntry = 0; // go back to the beginning - } - redraw(); -} diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/File IO/LoadFile2/Record.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/File IO/LoadFile2/Record.pde deleted file mode 100644 index 2cc836a..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/File IO/LoadFile2/Record.pde +++ /dev/null @@ -1,23 +0,0 @@ -class Record { - String name; - float mpg; - int cylinders; - float displacement; - float horsepower; - float weight; - float acceleration; - int year; - float origin; - - public Record(String[] pieces) { - name = pieces[0]; - mpg = float(pieces[1]); - cylinders = int(pieces[2]); - displacement = float(pieces[3]); - horsepower = float(pieces[4]); - weight = float(pieces[5]); - acceleration = float(pieces[6]); - year = int(pieces[7]); - origin = float(pieces[8]); - } -} diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/File IO/LoadFile2/data/TheSans-Plain-12.vlw b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/File IO/LoadFile2/data/TheSans-Plain-12.vlw deleted file mode 100644 index 4fcefba..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/File IO/LoadFile2/data/TheSans-Plain-12.vlw and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/File IO/LoadFile2/data/cars2.tsv b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/File IO/LoadFile2/data/cars2.tsv deleted file mode 100644 index 7f658bf..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/File IO/LoadFile2/data/cars2.tsv +++ /dev/null @@ -1,406 +0,0 @@ -chevrolet chevelle malibu 18 8 307 130 3504 12 70 1 -buick skylark 320 15 8 350 165 3693 11.5 70 1 -plymouth satellite 18 8 318 150 3436 11 70 1 -amc rebel sst 16 8 304 150 3433 12 70 1 -ford torino 17 8 302 140 3449 10.5 70 1 -ford galaxie 500 15 8 429 198 4341 10 70 1 -chevrolet impala 14 8 454 220 4354 9 70 1 -plymouth fury iii 14 8 440 215 4312 8.5 70 1 -pontiac catalina 14 8 455 225 4425 10 70 1 -amc ambassador dpl 15 8 390 190 3850 8.5 70 1 -citroen ds-21 pallas NA 4 133 115 3090 17.5 70 2 -chevrolet chevelle concours (sw) NA 8 350 165 4142 11.5 70 1 -ford torino (sw) NA 8 351 153 4034 11 70 1 -plymouth satellite (sw) NA 8 383 175 4166 10.5 70 1 -amc rebel sst (sw) NA 8 360 175 3850 11 70 1 -dodge challenger se 15 8 383 170 3563 10 70 1 -plymouth 'cuda 340 14 8 340 160 3609 8 70 1 -ford mustang boss 302 NA 8 302 140 3353 8 70 1 -chevrolet monte carlo 15 8 400 150 3761 9.5 70 1 -buick estate wagon (sw) 14 8 455 225 3086 10 70 1 -toyota corona mark ii 24 4 113 95 2372 15 70 3 -plymouth duster 22 6 198 95 2833 15.5 70 1 -amc hornet 18 6 199 97 2774 15.5 70 1 -ford maverick 21 6 200 85 2587 16 70 1 -datsun pl510 27 4 97 88 2130 14.5 70 3 -volkswagen 1131 deluxe sedan 26 4 97 46 1835 20.5 70 2 -peugeot 504 25 4 110 87 2672 17.5 70 2 -audi 100 ls 24 4 107 90 2430 14.5 70 2 -saab 99e 25 4 104 95 2375 17.5 70 2 -bmw 2002 26 4 121 113 2234 12.5 70 2 -amc gremlin 21 6 199 90 2648 15 70 1 -ford f250 10 8 360 215 4615 14 70 1 -chevy c20 10 8 307 200 4376 15 70 1 -dodge d200 11 8 318 210 4382 13.5 70 1 -hi 1200d 9 8 304 193 4732 18.5 70 1 -datsun pl510 27 4 97 88 2130 14.5 71 3 -chevrolet vega 2300 28 4 140 90 2264 15.5 71 1 -toyota corona 25 4 113 95 2228 14 71 3 -ford pinto 25 4 98 NA 2046 19 71 1 -volkswagen super beetle 117 NA 4 97 48 1978 20 71 2 -amc gremlin 19 6 232 100 2634 13 71 1 -plymouth satellite custom 16 6 225 105 3439 15.5 71 1 -chevrolet chevelle malibu 17 6 250 100 3329 15.5 71 1 -ford torino 500 19 6 250 88 3302 15.5 71 1 -amc matador 18 6 232 100 3288 15.5 71 1 -chevrolet impala 14 8 350 165 4209 12 71 1 -pontiac catalina brougham 14 8 400 175 4464 11.5 71 1 -ford galaxie 500 14 8 351 153 4154 13.5 71 1 -plymouth fury iii 14 8 318 150 4096 13 71 1 -dodge monaco (sw) 12 8 383 180 4955 11.5 71 1 -ford country squire (sw) 13 8 400 170 4746 12 71 1 -pontiac safari (sw) 13 8 400 175 5140 12 71 1 -amc hornet sportabout (sw) 18 6 258 110 2962 13.5 71 1 -chevrolet vega (sw) 22 4 140 72 2408 19 71 1 -pontiac firebird 19 6 250 100 3282 15 71 1 -ford mustang 18 6 250 88 3139 14.5 71 1 -mercury capri 2000 23 4 122 86 2220 14 71 1 -opel 1900 28 4 116 90 2123 14 71 2 -peugeot 304 30 4 79 70 2074 19.5 71 2 -fiat 124b 30 4 88 76 2065 14.5 71 2 -toyota corolla 1200 31 4 71 65 1773 19 71 3 -datsun 1200 35 4 72 69 1613 18 71 3 -volkswagen model 111 27 4 97 60 1834 19 71 2 -plymouth cricket 26 4 91 70 1955 20.5 71 1 -toyota corona hardtop 24 4 113 95 2278 15.5 72 3 -dodge colt hardtop 25 4 97.5 80 2126 17 72 1 -volkswagen type 3 23 4 97 54 2254 23.5 72 2 -chevrolet vega 20 4 140 90 2408 19.5 72 1 -ford pinto runabout 21 4 122 86 2226 16.5 72 1 -chevrolet impala 13 8 350 165 4274 12 72 1 -pontiac catalina 14 8 400 175 4385 12 72 1 -plymouth fury iii 15 8 318 150 4135 13.5 72 1 -ford galaxie 500 14 8 351 153 4129 13 72 1 -amc ambassador sst 17 8 304 150 3672 11.5 72 1 -mercury marquis 11 8 429 208 4633 11 72 1 -buick lesabre custom 13 8 350 155 4502 13.5 72 1 -oldsmobile delta 88 royale 12 8 350 160 4456 13.5 72 1 -chrysler newport royal 13 8 400 190 4422 12.5 72 1 -mazda rx2 coupe 19 3 70 97 2330 13.5 72 3 -amc matador (sw) 15 8 304 150 3892 12.5 72 1 -chevrolet chevelle concours (sw) 13 8 307 130 4098 14 72 1 -ford gran torino (sw) 13 8 302 140 4294 16 72 1 -plymouth satellite custom (sw) 14 8 318 150 4077 14 72 1 -volvo 145e (sw) 18 4 121 112 2933 14.5 72 2 -volkswagen 411 (sw) 22 4 121 76 2511 18 72 2 -peugeot 504 (sw) 21 4 120 87 2979 19.5 72 2 -renault 12 (sw) 26 4 96 69 2189 18 72 2 -ford pinto (sw) 22 4 122 86 2395 16 72 1 -datsun 510 (sw) 28 4 97 92 2288 17 72 3 -toyouta corona mark ii (sw) 23 4 120 97 2506 14.5 72 3 -dodge colt (sw) 28 4 98 80 2164 15 72 1 -toyota corolla 1600 (sw) 27 4 97 88 2100 16.5 72 3 -buick century 350 13 8 350 175 4100 13 73 1 -amc matador 14 8 304 150 3672 11.5 73 1 -chevrolet malibu 13 8 350 145 3988 13 73 1 -ford gran torino 14 8 302 137 4042 14.5 73 1 -dodge coronet custom 15 8 318 150 3777 12.5 73 1 -mercury marquis brougham 12 8 429 198 4952 11.5 73 1 -chevrolet caprice classic 13 8 400 150 4464 12 73 1 -ford ltd 13 8 351 158 4363 13 73 1 -plymouth fury gran sedan 14 8 318 150 4237 14.5 73 1 -chrysler new yorker brougham 13 8 440 215 4735 11 73 1 -buick electra 225 custom 12 8 455 225 4951 11 73 1 -amc ambassador brougham 13 8 360 175 3821 11 73 1 -plymouth valiant 18 6 225 105 3121 16.5 73 1 -chevrolet nova custom 16 6 250 100 3278 18 73 1 -amc hornet 18 6 232 100 2945 16 73 1 -ford maverick 18 6 250 88 3021 16.5 73 1 -plymouth duster 23 6 198 95 2904 16 73 1 -volkswagen super beetle 26 4 97 46 1950 21 73 2 -chevrolet impala 11 8 400 150 4997 14 73 1 -ford country 12 8 400 167 4906 12.5 73 1 -plymouth custom suburb 13 8 360 170 4654 13 73 1 -oldsmobile vista cruiser 12 8 350 180 4499 12.5 73 1 -amc gremlin 18 6 232 100 2789 15 73 1 -toyota carina 20 4 97 88 2279 19 73 3 -chevrolet vega 21 4 140 72 2401 19.5 73 1 -datsun 610 22 4 108 94 2379 16.5 73 3 -maxda rx3 18 3 70 90 2124 13.5 73 3 -ford pinto 19 4 122 85 2310 18.5 73 1 -mercury capri v6 21 6 155 107 2472 14 73 1 -fiat 124 sport coupe 26 4 98 90 2265 15.5 73 2 -chevrolet monte carlo s 15 8 350 145 4082 13 73 1 -pontiac grand prix 16 8 400 230 4278 9.5 73 1 -fiat 128 29 4 68 49 1867 19.5 73 2 -opel manta 24 4 116 75 2158 15.5 73 2 -audi 100ls 20 4 114 91 2582 14 73 2 -volvo 144ea 19 4 121 112 2868 15.5 73 2 -dodge dart custom 15 8 318 150 3399 11 73 1 -saab 99le 24 4 121 110 2660 14 73 2 -toyota mark ii 20 6 156 122 2807 13.5 73 3 -oldsmobile omega 11 8 350 180 3664 11 73 1 -plymouth duster 20 6 198 95 3102 16.5 74 1 -ford maverick 21 6 200 NA 2875 17 74 1 -amc hornet 19 6 232 100 2901 16 74 1 -chevrolet nova 15 6 250 100 3336 17 74 1 -datsun b210 31 4 79 67 1950 19 74 3 -ford pinto 26 4 122 80 2451 16.5 74 1 -toyota corolla 1200 32 4 71 65 1836 21 74 3 -chevrolet vega 25 4 140 75 2542 17 74 1 -chevrolet chevelle malibu classic 16 6 250 100 3781 17 74 1 -amc matador 16 6 258 110 3632 18 74 1 -plymouth satellite sebring 18 6 225 105 3613 16.5 74 1 -ford gran torino 16 8 302 140 4141 14 74 1 -buick century luxus (sw) 13 8 350 150 4699 14.5 74 1 -dodge coronet custom (sw) 14 8 318 150 4457 13.5 74 1 -ford gran torino (sw) 14 8 302 140 4638 16 74 1 -amc matador (sw) 14 8 304 150 4257 15.5 74 1 -audi fox 29 4 98 83 2219 16.5 74 2 -volkswagen dasher 26 4 79 67 1963 15.5 74 2 -opel manta 26 4 97 78 2300 14.5 74 2 -toyota corona 31 4 76 52 1649 16.5 74 3 -datsun 710 32 4 83 61 2003 19 74 3 -dodge colt 28 4 90 75 2125 14.5 74 1 -fiat 128 24 4 90 75 2108 15.5 74 2 -fiat 124 tc 26 4 116 75 2246 14 74 2 -honda civic 24 4 120 97 2489 15 74 3 -subaru 26 4 108 93 2391 15.5 74 3 -fiat x1.9 31 4 79 67 2000 16 74 2 -plymouth valiant custom 19 6 225 95 3264 16 75 1 -chevrolet nova 18 6 250 105 3459 16 75 1 -mercury monarch 15 6 250 72 3432 21 75 1 -ford maverick 15 6 250 72 3158 19.5 75 1 -pontiac catalina 16 8 400 170 4668 11.5 75 1 -chevrolet bel air 15 8 350 145 4440 14 75 1 -plymouth grand fury 16 8 318 150 4498 14.5 75 1 -ford ltd 14 8 351 148 4657 13.5 75 1 -buick century 17 6 231 110 3907 21 75 1 -chevroelt chevelle malibu 16 6 250 105 3897 18.5 75 1 -amc matador 15 6 258 110 3730 19 75 1 -plymouth fury 18 6 225 95 3785 19 75 1 -buick skyhawk 21 6 231 110 3039 15 75 1 -chevrolet monza 2+2 20 8 262 110 3221 13.5 75 1 -ford mustang ii 13 8 302 129 3169 12 75 1 -toyota corolla 29 4 97 75 2171 16 75 3 -ford pinto 23 4 140 83 2639 17 75 1 -amc gremlin 20 6 232 100 2914 16 75 1 -pontiac astro 23 4 140 78 2592 18.5 75 1 -toyota corona 24 4 134 96 2702 13.5 75 3 -volkswagen dasher 25 4 90 71 2223 16.5 75 2 -datsun 710 24 4 119 97 2545 17 75 3 -ford pinto 18 6 171 97 2984 14.5 75 1 -volkswagen rabbit 29 4 90 70 1937 14 75 2 -amc pacer 19 6 232 90 3211 17 75 1 -audi 100ls 23 4 115 95 2694 15 75 2 -peugeot 504 23 4 120 88 2957 17 75 2 -volvo 244dl 22 4 121 98 2945 14.5 75 2 -saab 99le 25 4 121 115 2671 13.5 75 2 -honda civic cvcc 33 4 91 53 1795 17.5 75 3 -fiat 131 28 4 107 86 2464 15.5 76 2 -opel 1900 25 4 116 81 2220 16.9 76 2 -capri ii 25 4 140 92 2572 14.9 76 1 -dodge colt 26 4 98 79 2255 17.7 76 1 -renault 12tl 27 4 101 83 2202 15.3 76 2 -chevrolet chevelle malibu classic 17.5 8 305 140 4215 13 76 1 -dodge coronet brougham 16 8 318 150 4190 13 76 1 -amc matador 15.5 8 304 120 3962 13.9 76 1 -ford gran torino 14.5 8 351 152 4215 12.8 76 1 -plymouth valiant 22 6 225 100 3233 15.4 76 1 -chevrolet nova 22 6 250 105 3353 14.5 76 1 -ford maverick 24 6 200 81 3012 17.6 76 1 -amc hornet 22.5 6 232 90 3085 17.6 76 1 -chevrolet chevette 29 4 85 52 2035 22.2 76 1 -chevrolet woody 24.5 4 98 60 2164 22.1 76 1 -vw rabbit 29 4 90 70 1937 14.2 76 2 -honda civic 33 4 91 53 1795 17.4 76 3 -dodge aspen se 20 6 225 100 3651 17.7 76 1 -ford granada ghia 18 6 250 78 3574 21 76 1 -pontiac ventura sj 18.5 6 250 110 3645 16.2 76 1 -amc pacer d/l 17.5 6 258 95 3193 17.8 76 1 -volkswagen rabbit 29.5 4 97 71 1825 12.2 76 2 -datsun b-210 32 4 85 70 1990 17 76 3 -toyota corolla 28 4 97 75 2155 16.4 76 3 -ford pinto 26.5 4 140 72 2565 13.6 76 1 -volvo 245 20 4 130 102 3150 15.7 76 2 -plymouth volare premier v8 13 8 318 150 3940 13.2 76 1 -peugeot 504 19 4 120 88 3270 21.9 76 2 -toyota mark ii 19 6 156 108 2930 15.5 76 3 -mercedes-benz 280s 16.5 6 168 120 3820 16.7 76 2 -cadillac seville 16.5 8 350 180 4380 12.1 76 1 -chevy c10 13 8 350 145 4055 12 76 1 -ford f108 13 8 302 130 3870 15 76 1 -dodge d100 13 8 318 150 3755 14 76 1 -honda accord cvcc 31.5 4 98 68 2045 18.5 77 3 -buick opel isuzu deluxe 30 4 111 80 2155 14.8 77 1 -renault 5 gtl 36 4 79 58 1825 18.6 77 2 -plymouth arrow gs 25.5 4 122 96 2300 15.5 77 1 -datsun f-10 hatchback 33.5 4 85 70 1945 16.8 77 3 -chevrolet caprice classic 17.5 8 305 145 3880 12.5 77 1 -oldsmobile cutlass supreme 17 8 260 110 4060 19 77 1 -dodge monaco brougham 15.5 8 318 145 4140 13.7 77 1 -mercury cougar brougham 15 8 302 130 4295 14.9 77 1 -chevrolet concours 17.5 6 250 110 3520 16.4 77 1 -buick skylark 20.5 6 231 105 3425 16.9 77 1 -plymouth volare custom 19 6 225 100 3630 17.7 77 1 -ford granada 18.5 6 250 98 3525 19 77 1 -pontiac grand prix lj 16 8 400 180 4220 11.1 77 1 -chevrolet monte carlo landau 15.5 8 350 170 4165 11.4 77 1 -chrysler cordoba 15.5 8 400 190 4325 12.2 77 1 -ford thunderbird 16 8 351 149 4335 14.5 77 1 -volkswagen rabbit custom 29 4 97 78 1940 14.5 77 2 -pontiac sunbird coupe 24.5 4 151 88 2740 16 77 1 -toyota corolla liftback 26 4 97 75 2265 18.2 77 3 -ford mustang ii 2+2 25.5 4 140 89 2755 15.8 77 1 -chevrolet chevette 30.5 4 98 63 2051 17 77 1 -dodge colt m/m 33.5 4 98 83 2075 15.9 77 1 -subaru dl 30 4 97 67 1985 16.4 77 3 -volkswagen dasher 30.5 4 97 78 2190 14.1 77 2 -datsun 810 22 6 146 97 2815 14.5 77 3 -bmw 320i 21.5 4 121 110 2600 12.8 77 2 -mazda rx-4 21.5 3 80 110 2720 13.5 77 3 -volkswagen rabbit custom diesel 43.1 4 90 48 1985 21.5 78 2 -ford fiesta 36.1 4 98 66 1800 14.4 78 1 -mazda glc deluxe 32.8 4 78 52 1985 19.4 78 3 -datsun b210 gx 39.4 4 85 70 2070 18.6 78 3 -honda civic cvcc 36.1 4 91 60 1800 16.4 78 3 -oldsmobile cutlass salon brougham 19.9 8 260 110 3365 15.5 78 1 -dodge diplomat 19.4 8 318 140 3735 13.2 78 1 -mercury monarch ghia 20.2 8 302 139 3570 12.8 78 1 -pontiac phoenix lj 19.2 6 231 105 3535 19.2 78 1 -chevrolet malibu 20.5 6 200 95 3155 18.2 78 1 -ford fairmont (auto) 20.2 6 200 85 2965 15.8 78 1 -ford fairmont (man) 25.1 4 140 88 2720 15.4 78 1 -plymouth volare 20.5 6 225 100 3430 17.2 78 1 -amc concord 19.4 6 232 90 3210 17.2 78 1 -buick century special 20.6 6 231 105 3380 15.8 78 1 -mercury zephyr 20.8 6 200 85 3070 16.7 78 1 -dodge aspen 18.6 6 225 110 3620 18.7 78 1 -amc concord d/l 18.1 6 258 120 3410 15.1 78 1 -chevrolet monte carlo landau 19.2 8 305 145 3425 13.2 78 1 -buick regal sport coupe (turbo) 17.7 6 231 165 3445 13.4 78 1 -ford futura 18.1 8 302 139 3205 11.2 78 1 -dodge magnum xe 17.5 8 318 140 4080 13.7 78 1 -chevrolet chevette 30 4 98 68 2155 16.5 78 1 -toyota corona 27.5 4 134 95 2560 14.2 78 3 -datsun 510 27.2 4 119 97 2300 14.7 78 3 -dodge omni 30.9 4 105 75 2230 14.5 78 1 -toyota celica gt liftback 21.1 4 134 95 2515 14.8 78 3 -plymouth sapporo 23.2 4 156 105 2745 16.7 78 1 -oldsmobile starfire sx 23.8 4 151 85 2855 17.6 78 1 -datsun 200-sx 23.9 4 119 97 2405 14.9 78 3 -audi 5000 20.3 5 131 103 2830 15.9 78 2 -volvo 264gl 17 6 163 125 3140 13.6 78 2 -saab 99gle 21.6 4 121 115 2795 15.7 78 2 -peugeot 604sl 16.2 6 163 133 3410 15.8 78 2 -volkswagen scirocco 31.5 4 89 71 1990 14.9 78 2 -honda accord lx 29.5 4 98 68 2135 16.6 78 3 -pontiac lemans v6 21.5 6 231 115 3245 15.4 79 1 -mercury zephyr 6 19.8 6 200 85 2990 18.2 79 1 -ford fairmont 4 22.3 4 140 88 2890 17.3 79 1 -amc concord dl 6 20.2 6 232 90 3265 18.2 79 1 -dodge aspen 6 20.6 6 225 110 3360 16.6 79 1 -chevrolet caprice classic 17 8 305 130 3840 15.4 79 1 -ford ltd landau 17.6 8 302 129 3725 13.4 79 1 -mercury grand marquis 16.5 8 351 138 3955 13.2 79 1 -dodge st. regis 18.2 8 318 135 3830 15.2 79 1 -buick estate wagon (sw) 16.9 8 350 155 4360 14.9 79 1 -ford country squire (sw) 15.5 8 351 142 4054 14.3 79 1 -chevrolet malibu classic (sw) 19.2 8 267 125 3605 15 79 1 -chrysler lebaron town @ country (sw) 18.5 8 360 150 3940 13 79 1 -vw rabbit custom 31.9 4 89 71 1925 14 79 2 -maxda glc deluxe 34.1 4 86 65 1975 15.2 79 3 -dodge colt hatchback custom 35.7 4 98 80 1915 14.4 79 1 -amc spirit dl 27.4 4 121 80 2670 15 79 1 -mercedes benz 300d 25.4 5 183 77 3530 20.1 79 2 -cadillac eldorado 23 8 350 125 3900 17.4 79 1 -peugeot 504 27.2 4 141 71 3190 24.8 79 2 -oldsmobile cutlass salon brougham 23.9 8 260 90 3420 22.2 79 1 -plymouth horizon 34.2 4 105 70 2200 13.2 79 1 -plymouth horizon tc3 34.5 4 105 70 2150 14.9 79 1 -datsun 210 31.8 4 85 65 2020 19.2 79 3 -fiat strada custom 37.3 4 91 69 2130 14.7 79 2 -buick skylark limited 28.4 4 151 90 2670 16 79 1 -chevrolet citation 28.8 6 173 115 2595 11.3 79 1 -oldsmobile omega brougham 26.8 6 173 115 2700 12.9 79 1 -pontiac phoenix 33.5 4 151 90 2556 13.2 79 1 -vw rabbit 41.5 4 98 76 2144 14.7 80 2 -toyota corolla tercel 38.1 4 89 60 1968 18.8 80 3 -chevrolet chevette 32.1 4 98 70 2120 15.5 80 1 -datsun 310 37.2 4 86 65 2019 16.4 80 3 -chevrolet citation 28 4 151 90 2678 16.5 80 1 -ford fairmont 26.4 4 140 88 2870 18.1 80 1 -amc concord 24.3 4 151 90 3003 20.1 80 1 -dodge aspen 19.1 6 225 90 3381 18.7 80 1 -audi 4000 34.3 4 97 78 2188 15.8 80 2 -toyota corona liftback 29.8 4 134 90 2711 15.5 80 3 -mazda 626 31.3 4 120 75 2542 17.5 80 3 -datsun 510 hatchback 37 4 119 92 2434 15 80 3 -toyota corolla 32.2 4 108 75 2265 15.2 80 3 -mazda glc 46.6 4 86 65 2110 17.9 80 3 -dodge colt 27.9 4 156 105 2800 14.4 80 1 -datsun 210 40.8 4 85 65 2110 19.2 80 3 -vw rabbit c (diesel) 44.3 4 90 48 2085 21.7 80 2 -vw dasher (diesel) 43.4 4 90 48 2335 23.7 80 2 -audi 5000s (diesel) 36.4 5 121 67 2950 19.9 80 2 -mercedes-benz 240d 30 4 146 67 3250 21.8 80 2 -honda civic 1500 gl 44.6 4 91 67 1850 13.8 80 3 -renault lecar deluxe 40.9 4 85 NA 1835 17.3 80 2 -subaru dl 33.8 4 97 67 2145 18 80 3 -vokswagen rabbit 29.8 4 89 62 1845 15.3 80 2 -datsun 280-zx 32.7 6 168 132 2910 11.4 80 3 -mazda rx-7 gs 23.7 3 70 100 2420 12.5 80 3 -triumph tr7 coupe 35 4 122 88 2500 15.1 80 2 -ford mustang cobra 23.6 4 140 NA 2905 14.3 80 1 -honda accord 32.4 4 107 72 2290 17 80 3 -plymouth reliant 27.2 4 135 84 2490 15.7 81 1 -buick skylark 26.6 4 151 84 2635 16.4 81 1 -dodge aries wagon (sw) 25.8 4 156 92 2620 14.4 81 1 -chevrolet citation 23.5 6 173 110 2725 12.6 81 1 -plymouth reliant 30 4 135 84 2385 12.9 81 1 -toyota starlet 39.1 4 79 58 1755 16.9 81 3 -plymouth champ 39 4 86 64 1875 16.4 81 1 -honda civic 1300 35.1 4 81 60 1760 16.1 81 3 -subaru 32.3 4 97 67 2065 17.8 81 3 -datsun 210 mpg 37 4 85 65 1975 19.4 81 3 -toyota tercel 37.7 4 89 62 2050 17.3 81 3 -mazda glc 4 34.1 4 91 68 1985 16 81 3 -plymouth horizon 4 34.7 4 105 63 2215 14.9 81 1 -ford escort 4w 34.4 4 98 65 2045 16.2 81 1 -ford escort 2h 29.9 4 98 65 2380 20.7 81 1 -volkswagen jetta 33 4 105 74 2190 14.2 81 2 -renault 18i 34.5 4 100 NA 2320 15.8 81 2 -honda prelude 33.7 4 107 75 2210 14.4 81 3 -toyota corolla 32.4 4 108 75 2350 16.8 81 3 -datsun 200sx 32.9 4 119 100 2615 14.8 81 3 -mazda 626 31.6 4 120 74 2635 18.3 81 3 -peugeot 505s turbo diesel 28.1 4 141 80 3230 20.4 81 2 -saab 900s NA 4 121 110 2800 15.4 81 2 -volvo diesel 30.7 6 145 76 3160 19.6 81 2 -toyota cressida 25.4 6 168 116 2900 12.6 81 3 -datsun 810 maxima 24.2 6 146 120 2930 13.8 81 3 -buick century 22.4 6 231 110 3415 15.8 81 1 -oldsmobile cutlass ls 26.6 8 350 105 3725 19 81 1 -ford granada gl 20.2 6 200 88 3060 17.1 81 1 -chrysler lebaron salon 17.6 6 225 85 3465 16.6 81 1 -chevrolet cavalier 28 4 112 88 2605 19.6 82 1 -chevrolet cavalier wagon 27 4 112 88 2640 18.6 82 1 -chevrolet cavalier 2-door 34 4 112 88 2395 18 82 1 -pontiac j2000 se hatchback 31 4 112 85 2575 16.2 82 1 -dodge aries se 29 4 135 84 2525 16 82 1 -pontiac phoenix 27 4 151 90 2735 18 82 1 -ford fairmont futura 24 4 140 92 2865 16.4 82 1 -amc concord dl 23 4 151 NA 3035 20.5 82 1 -volkswagen rabbit l 36 4 105 74 1980 15.3 82 2 -mazda glc custom l 37 4 91 68 2025 18.2 82 3 -mazda glc custom 31 4 91 68 1970 17.6 82 3 -plymouth horizon miser 38 4 105 63 2125 14.7 82 1 -mercury lynx l 36 4 98 70 2125 17.3 82 1 -nissan stanza xe 36 4 120 88 2160 14.5 82 3 -honda accord 36 4 107 75 2205 14.5 82 3 -toyota corolla 34 4 108 70 2245 16.9 82 3 -honda civic 38 4 91 67 1965 15 82 3 -honda civic (auto) 32 4 91 67 1965 15.7 82 3 -datsun 310 gx 38 4 91 67 1995 16.2 82 3 -buick century limited 25 6 181 110 2945 16.4 82 1 -oldsmobile cutlass ciera (diesel) 38 6 262 85 3015 17 82 1 -chrysler lebaron medallion 26 4 156 92 2585 14.5 82 1 -ford granada l 22 6 232 112 2835 14.7 82 1 -toyota celica gt 32 4 144 96 2665 13.9 82 3 -dodge charger 2.2 36 4 135 84 2370 13 82 1 -chevrolet camaro 27 4 151 90 2950 17.3 82 1 -ford mustang gl 27 4 140 86 2790 15.6 82 1 -vw pickup 44 4 97 52 2130 24.6 82 2 -dodge rampage 32 4 135 84 2295 11.6 82 1 -ford ranger 28 4 120 79 2625 18.6 82 1 -chevy s-10 31 4 119 82 2720 19.4 82 1 \ No newline at end of file diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/File IO/SaveFile1/SaveFile1.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/File IO/SaveFile1/SaveFile1.pde deleted file mode 100644 index 510bdb8..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/File IO/SaveFile1/SaveFile1.pde +++ /dev/null @@ -1,48 +0,0 @@ -/** - * SaveFile 1 - * - * Saving files is a useful way to store data so it can be viewed after a - * program has stopped running. The saveStrings() function writes an array - * of strings to a file, with each string written to a new line. This file - * is saved to the sketch's folder. - */ - -int[] x = new int[0]; -int[] y = new int[0]; - -void setup() -{ - size(200, 200); -} - -void draw() -{ - background(204); - stroke(0); - noFill(); - beginShape(); - for (int i = 0; i < x.length; i++) { - vertex(x[i], y[i]); - } - endShape(); - // Show the next segment to be added - if (x.length >= 1) { - stroke(255); - line(mouseX, mouseY, x[x.length-1], y[x.length-1]); - } -} - -void mousePressed() { // Click to add a line segment - x = append(x, mouseX); - y = append(y, mouseY); -} - -void keyPressed() { // Press a key to save the data - String[] lines = new String[x.length]; - for (int i = 0; i < x.length; i++) { - lines[i] = x[i] + "\t" + y[i]; - } - saveStrings("lines.txt", lines); - exit(); // Stop the program -} - diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/File IO/SaveFile2/SaveFile2.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/File IO/SaveFile2/SaveFile2.pde deleted file mode 100644 index 6a41c58..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/File IO/SaveFile2/SaveFile2.pde +++ /dev/null @@ -1,33 +0,0 @@ -/** - * SaveFile 2 - * - * This file a PrintWriter object to write data continuously to a file - * while the mouse is pressed. When a key is pressed, the file closes - * itself and the program is stopped. - */ - -PrintWriter output; - -void setup() -{ - size(200, 200); - // Create a new file in the sketch directory - output = createWriter("positions.txt"); - frameRate(12); -} - -void draw() -{ - if (mousePressed) { - point(mouseX, mouseY); - // Write the coordinate to a file with a - // "\t" (TAB character) between each entry - output.println(mouseX + "\t" + mouseY); - } -} - -void keyPressed() { // Press a key to save the data - output.flush(); // Write the remaining data - output.close(); // Finish the file - exit(); // Stop the program -} diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/File IO/SaveFrames/SaveFrames.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/File IO/SaveFrames/SaveFrames.pde deleted file mode 100644 index f1365d8..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/File IO/SaveFrames/SaveFrames.pde +++ /dev/null @@ -1,68 +0,0 @@ -/** - * Save Frames - * by Daniel Shiffman. - * - * This example demonstrates how to use saveFrame() to render - * out an image sequence that you can assemble into a movie - * using the MovieMaker tool. - */ - -// A boolean to track whether we are recording are not -boolean recording = false; - -void setup() { - size(640, 360); -} - -void draw() { - background(0); - - // An arbitrary oscillating rotating animation - // so that we have something to render - for (float a = 0; a < TWO_PI; a+= 0.2) { - pushMatrix(); - translate(width/2, height/2); - rotate(a+sin(frameCount*0.004*a)); - stroke(255); - line(-100, 0, 100, 0); - popMatrix(); - } - - // If we are recording call saveFrame! - // The number signs (#) indicate to Processing to - // number the files automatically - if (recording) { - saveFrame("output/frames####.png"); - } - - // Let's draw some stuff to tell us what is happening - // It's important to note that none of this will show up in the - // rendered files b/c it is drawn *after* saveFrame() - textAlign(CENTER); - fill(255); - if (!recording) { - text("Press r to start recording.", width/2, height-24); - } - else { - text("Press r to stop recording.", width/2, height-24); - } - - // A red dot for when we are recording - stroke(255); - if (recording) { - fill(255, 0, 0); - } else { - noFill(); - } - ellipse(width/2, height-48, 16, 16); -} - -void keyPressed() { - - // If we press r, start or stop recording! - if (key == 'r' || key == 'R') { - recording = !recording; - } -} - - diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/File IO/SaveOneFrame/SaveOneImage.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/File IO/SaveOneFrame/SaveOneImage.pde deleted file mode 100644 index 8487ab5..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/File IO/SaveOneFrame/SaveOneImage.pde +++ /dev/null @@ -1,22 +0,0 @@ -/** - * Save One Image - * - * The save() function allows you to save an image from the - * display window. In this example, save() is run when a mouse - * button is pressed. The image "line.tif" is saved to the - * same folder as the sketch's program file. - */ - -void setup() { - size(200, 200); -} - -void draw() { - background(204); - line(0, 0, mouseX, height); - line(width, 0, 0, mouseY); -} - -void mousePressed() { - save("line.tif"); -} diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/File IO/TileImages/TileImages.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/File IO/TileImages/TileImages.pde deleted file mode 100644 index d577e27..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/File IO/TileImages/TileImages.pde +++ /dev/null @@ -1,37 +0,0 @@ -/** - * Tile Images - * - * Draws an image larger than the screen, and saves the image as six tiles. - * The scaleValue variable sets amount of scaling: 1 is 100%, 2 is 200%, etc. - */ - -int scaleValue = 3; // Multiplication factor -int xoffset = 0; // x-axis offset -int yoffset = 0; // y-axis offset - -void setup() { - size(600, 600); - stroke(0, 100); -} - -void draw() { - background(204); - scale(scaleValue); - translate(xoffset * (-width / scaleValue), yoffset * (-height / scaleValue)); - line(10, 150, 500, 50); - line(0, 600, 600, 0); - save("lines-" + yoffset + "-" + xoffset + ".png"); - setOffset(); -} - -void setOffset() { - xoffset++; - if (xoffset == scaleValue) { - xoffset = 0; - yoffset++; - if (yoffset == scaleValue) { - println("Tiles saved."); - exit(); - } - } -} \ No newline at end of file diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Fractals and L-Systems/Koch/Koch.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Fractals and L-Systems/Koch/Koch.pde deleted file mode 100644 index 4299f06..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Fractals and L-Systems/Koch/Koch.pde +++ /dev/null @@ -1,30 +0,0 @@ -/** - * Koch Curve - * by Daniel Shiffman. - * - * Renders a simple fractal, the Koch snowflake. - * Each recursive level is drawn in sequence. - */ - - -KochFractal k; - -void setup() { - size(640, 360); - frameRate(1); // Animate slowly - k = new KochFractal(); -} - -void draw() { - background(0); - // Draws the snowflake! - k.render(); - // Iterate - k.nextLevel(); - // Let's not do it more than 5 times. . . - if (k.getCount() > 5) { - k.restart(); - } -} - - diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Fractals and L-Systems/Koch/KochFractal.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Fractals and L-Systems/Koch/KochFractal.pde deleted file mode 100644 index 22f8f9c..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Fractals and L-Systems/Koch/KochFractal.pde +++ /dev/null @@ -1,67 +0,0 @@ -// Koch Curve -// A class to manage the list of line segments in the snowflake pattern - -class KochFractal { - PVector start; // A PVector for the start - PVector end; // A PVector for the end - ArrayList lines; // A list to keep track of all the lines - int count; - - KochFractal() { - start = new PVector(0,height-20); - end = new PVector(width,height-20); - lines = new ArrayList(); - restart(); - } - - void nextLevel() { - // For every line that is in the arraylist - // create 4 more lines in a new arraylist - lines = iterate(lines); - count++; - } - - void restart() { - count = 0; // Reset count - lines.clear(); // Empty the array list - lines.add(new KochLine(start,end)); // Add the initial line (from one end PVector to the other) - } - - int getCount() { - return count; - } - - // This is easy, just draw all the lines - void render() { - for(KochLine l : lines) { - l.display(); - } - } - - // This is where the **MAGIC** happens - // Step 1: Create an empty arraylist - // Step 2: For every line currently in the arraylist - // - calculate 4 line segments based on Koch algorithm - // - add all 4 line segments into the new arraylist - // Step 3: Return the new arraylist and it becomes the list of line segments for the structure - - // As we do this over and over again, each line gets broken into 4 lines, which gets broken into 4 lines, and so on. . . - ArrayList iterate(ArrayList before) { - ArrayList now = new ArrayList(); // Create emtpy list - for(KochLine l : before) { - // Calculate 5 koch PVectors (done for us by the line object) - PVector a = l.start(); - PVector b = l.kochleft(); - PVector c = l.kochmiddle(); - PVector d = l.kochright(); - PVector e = l.end(); - // Make line segments between all the PVectors and add them - now.add(new KochLine(a,b)); - now.add(new KochLine(b,c)); - now.add(new KochLine(c,d)); - now.add(new KochLine(d,e)); - } - return now; - } - -} diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Fractals and L-Systems/Koch/KochLine.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Fractals and L-Systems/Koch/KochLine.pde deleted file mode 100644 index f7aa9da..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Fractals and L-Systems/Koch/KochLine.pde +++ /dev/null @@ -1,64 +0,0 @@ -// The Nature of Code -// Daniel Shiffman -// http://natureofcode.com - -// Koch Curve -// A class to describe one line segment in the fractal -// Includes methods to calculate midPVectors along the line according to the Koch algorithm - -class KochLine { - - // Two PVectors, - // a is the "left" PVector and - // b is the "right PVector - PVector a; - PVector b; - - KochLine(PVector start, PVector end) { - a = start.copy(); - b = end.copy(); - } - - void display() { - stroke(255); - line(a.x, a.y, b.x, b.y); - } - - PVector start() { - return a.copy(); - } - - PVector end() { - return b.copy(); - } - - // This is easy, just 1/3 of the way - PVector kochleft() { - PVector v = PVector.sub(b, a); - v.div(3); - v.add(a); - return v; - } - - // More complicated, have to use a little trig to figure out where this PVector is! - PVector kochmiddle() { - PVector v = PVector.sub(b, a); - v.div(3); - - PVector p = a.copy(); - p.add(v); - - v.rotate(-radians(60)); - p.add(v); - - return p; - } - - // Easy, just 2/3 of the way - PVector kochright() { - PVector v = PVector.sub(a, b); - v.div(3); - v.add(b); - return v; - } -} diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Fractals and L-Systems/Mandelbrot/Mandelbrot.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Fractals and L-Systems/Mandelbrot/Mandelbrot.pde deleted file mode 100644 index 089df14..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Fractals and L-Systems/Mandelbrot/Mandelbrot.pde +++ /dev/null @@ -1,76 +0,0 @@ -/** - * The Mandelbrot Set - * by Daniel Shiffman. - * - * Simple rendering of the Mandelbrot set. - */ - -size(640, 360); -noLoop(); -background(255); - -// Establish a range of values on the complex plane -// A different range will allow us to "zoom" in or out on the fractal - -// It all starts with the width, try higher or lower values -float w = 4; -float h = (w * height) / width; - -// Start at negative half the width and height -float xmin = -w/2; -float ymin = -h/2; - -// Make sure we can write to the pixels[] array. -// Only need to do this once since we don't do any other drawing. -loadPixels(); - -// Maximum number of iterations for each point on the complex plane -int maxiterations = 100; - -// x goes from xmin to xmax -float xmax = xmin + w; -// y goes from ymin to ymax -float ymax = ymin + h; - -// Calculate amount we increment x,y for each pixel -float dx = (xmax - xmin) / (width); -float dy = (ymax - ymin) / (height); - -// Start y -float y = ymin; -for (int j = 0; j < height; j++) { - // Start x - float x = xmin; - for (int i = 0; i < width; i++) { - - // Now we test, as we iterate z = z^2 + cm does z tend towards infinity? - float a = x; - float b = y; - int n = 0; - while (n < maxiterations) { - float aa = a * a; - float bb = b * b; - float twoab = 2.0 * a * b; - a = aa - bb + x; - b = twoab + y; - // Infinty in our finite world is simple, let's just consider it 16 - if (dist(aa, bb, 0, 0) > 4.0) { - break; // Bail - } - n++; - } - - // We color each pixel based on how long it takes to get to infinity - // If we never got there, let's pick the color black - if (n == maxiterations) { - pixels[i+j*width] = color(0); - } else { - // Gosh, we could make fancy colors here if we wanted - float norm = map(n, 0, maxiterations, 0, 1); - pixels[i+j*width] = color(map(sqrt(norm), 0, 1, 0, 255)); - } - x += dx; - } - y += dy; -} -updatePixels(); \ No newline at end of file diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Fractals and L-Systems/PenroseSnowflake/LSystem.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Fractals and L-Systems/PenroseSnowflake/LSystem.pde deleted file mode 100644 index 10e694d..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Fractals and L-Systems/PenroseSnowflake/LSystem.pde +++ /dev/null @@ -1,76 +0,0 @@ -class LSystem -{ - int steps = 0; - - String axiom; - String rule; - String production; - - float startLength; - float drawLength; - float theta; - - int generations; - - LSystem() { - axiom = "F"; - rule = "F+F-F"; - startLength = 90.0; - theta = radians(120.0); - reset(); - } - - void reset() { - production = axiom; - drawLength = startLength; - generations = 0; - } - - int getAge() { - return generations; - } - - void render() { - translate(width/2, height/2); - steps += 5; - if (steps > production.length()) { - steps = production.length(); - } - for (int i = 0; i < steps; i++) { - char step = production.charAt(i); - if (step == 'F') { - rect(0, 0, -drawLength, -drawLength); - noFill(); - translate(0, -drawLength); - } - else if (step == '+') { - rotate(theta); - } - else if (step == '-') { - rotate(-theta); - } - else if (step == '[') { - pushMatrix(); - } - else if (step == ']') { - popMatrix(); - } - } - } - - void simulate(int gen) { - while (getAge() < gen) { - production = iterate(production, rule); - } - } - - String iterate(String prod_, String rule_) { - drawLength = drawLength * 0.6; - generations++; - String newProduction = prod_; - newProduction = newProduction.replaceAll("F", rule_); - return newProduction; - } -} - - diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Fractals and L-Systems/PenroseSnowflake/PenroseSnowflake.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Fractals and L-Systems/PenroseSnowflake/PenroseSnowflake.pde deleted file mode 100644 index 2b4cb37..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Fractals and L-Systems/PenroseSnowflake/PenroseSnowflake.pde +++ /dev/null @@ -1,23 +0,0 @@ -/** - * Penrose Snowflake L-System - * by Geraldine Sarmiento. - * - * This code was based on Patrick Dwyer's L-System class. - */ - -PenroseSnowflakeLSystem ps; - -void setup() { - size(640, 360); - stroke(255); - noFill(); - ps = new PenroseSnowflakeLSystem(); - ps.simulate(4); -} - -void draw() { - background(0); - ps.render(); -} - - diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Fractals and L-Systems/PenroseSnowflake/PenroseSnowflakeLSystem.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Fractals and L-Systems/PenroseSnowflake/PenroseSnowflakeLSystem.pde deleted file mode 100644 index df1f775..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Fractals and L-Systems/PenroseSnowflake/PenroseSnowflakeLSystem.pde +++ /dev/null @@ -1,100 +0,0 @@ -class PenroseSnowflakeLSystem extends LSystem { - - String ruleF; - - PenroseSnowflakeLSystem() { - axiom = "F3-F3-F3-F3-F"; - ruleF = "F3-F3-F45-F++F3-F"; - startLength = 450.0; - theta = radians(18); - reset(); - } - - void useRule(String r_) { - rule = r_; - } - - void useAxiom(String a_) { - axiom = a_; - } - - void useLength(float l_) { - startLength = l_; - } - - void useTheta(float t_) { - theta = radians(t_); - } - - void reset() { - production = axiom; - drawLength = startLength; - generations = 0; - } - - int getAge() { - return generations; - } - - void render() { - translate(width, height); - int repeats = 1; - - steps += 3; - if (steps > production.length()) { - steps = production.length(); - } - - for (int i = 0; i < steps; i++) { - char step = production.charAt(i); - if (step == 'F') { - for (int j = 0; j < repeats; j++) { - line(0,0,0, -drawLength); - translate(0, -drawLength); - } - repeats = 1; - } - else if (step == '+') { - for (int j = 0; j < repeats; j++) { - rotate(theta); - } - repeats = 1; - } - else if (step == '-') { - for (int j =0; j < repeats; j++) { - rotate(-theta); - } - repeats = 1; - } - else if (step == '[') { - pushMatrix(); - } - else if (step == ']') { - popMatrix(); - } - else if ( (step >= 48) && (step <= 57) ) { - repeats += step - 48; - } - } - } - - - String iterate(String prod_, String rule_) { - String newProduction = ""; - for (int i = 0; i < prod_.length(); i++) { - char step = production.charAt(i); - if (step == 'F') { - newProduction = newProduction + ruleF; - } - else { - if (step != 'F') { - newProduction = newProduction + step; - } - } - } - drawLength = drawLength * 0.4; - generations++; - return newProduction; - } - -} diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Fractals and L-Systems/PenroseTile/LSystem.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Fractals and L-Systems/PenroseTile/LSystem.pde deleted file mode 100644 index 8f00dda..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Fractals and L-Systems/PenroseTile/LSystem.pde +++ /dev/null @@ -1,74 +0,0 @@ -class LSystem -{ - int steps = 0; - - String axiom; - String rule; - String production; - - float startLength; - float drawLength; - float theta; - - int generations; - - LSystem() { - axiom = "F"; - rule = "F+F-F"; - startLength = 190.0; - theta = radians(120.0); - reset(); - } - - void reset() { - production = axiom; - drawLength = startLength; - generations = 0; - } - - int getAge() { - return generations; - } - - void render() { - translate(width/2, height/2); - steps += 5; - if (steps > production.length()) { - steps = production.length(); - } - for (int i = 0; i < steps; i++) { - char step = production.charAt(i); - if (step == 'F') { - rect(0, 0, -drawLength, -drawLength); - noFill(); - translate(0, -drawLength); - } - else if (step == '+') { - rotate(theta); - } - else if (step == '-') { - rotate(-theta); - } - else if (step == '[') { - pushMatrix(); - } - else if (step == ']') { - popMatrix(); - } - } - } - - void simulate(int gen) { - while (getAge() < gen) { - production = iterate(production, rule); - } - } - - String iterate(String prod_, String rule_) { - drawLength = drawLength * 0.6; - generations++; - String newProduction = prod_; - newProduction = newProduction.replaceAll("F", rule_); - return newProduction; - } -} diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Fractals and L-Systems/PenroseTile/PenroseLSystem.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Fractals and L-Systems/PenroseTile/PenroseLSystem.pde deleted file mode 100644 index 16a7f1c..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Fractals and L-Systems/PenroseTile/PenroseLSystem.pde +++ /dev/null @@ -1,128 +0,0 @@ -class PenroseLSystem extends LSystem { - - int steps = 0; - float somestep = 0.1; - String ruleW; - String ruleX; - String ruleY; - String ruleZ; - - PenroseLSystem() { - axiom = "[X]++[X]++[X]++[X]++[X]"; - ruleW = "YF++ZF4-XF[-YF4-WF]++"; - ruleX = "+YF--ZF[3-WF--XF]+"; - ruleY = "-WF++XF[+++YF++ZF]-"; - ruleZ = "--YF++++WF[+ZF++++XF]--XF"; - startLength = 460.0; - theta = radians(36); - reset(); - } - - void useRule(String r_) { - rule = r_; - } - - void useAxiom(String a_) { - axiom = a_; - } - - void useLength(float l_) { - startLength = l_; - } - - void useTheta(float t_) { - theta = radians(t_); - } - - void reset() { - production = axiom; - drawLength = startLength; - generations = 0; - } - - int getAge() { - return generations; - } - - void render() { - translate(width/2, height/2); - int pushes = 0; - int repeats = 1; - steps += 12; - if (steps > production.length()) { - steps = production.length(); - } - - for (int i = 0; i < steps; i++) { - char step = production.charAt(i); - if (step == 'F') { - stroke(255, 60); - for (int j = 0; j < repeats; j++) { - line(0, 0, 0, -drawLength); - noFill(); - translate(0, -drawLength); - } - repeats = 1; - } - else if (step == '+') { - for (int j = 0; j < repeats; j++) { - rotate(theta); - } - repeats = 1; - } - else if (step == '-') { - for (int j =0; j < repeats; j++) { - rotate(-theta); - } - repeats = 1; - } - else if (step == '[') { - pushes++; - pushMatrix(); - } - else if (step == ']') { - popMatrix(); - pushes--; - } - else if ( (step >= 48) && (step <= 57) ) { - repeats = (int)step - 48; - } - } - - // Unpush if we need too - while (pushes > 0) { - popMatrix(); - pushes--; - } - } - - String iterate(String prod_, String rule_) { - String newProduction = ""; - for (int i = 0; i < prod_.length(); i++) { - char step = production.charAt(i); - if (step == 'W') { - newProduction = newProduction + ruleW; - } - else if (step == 'X') { - newProduction = newProduction + ruleX; - } - else if (step == 'Y') { - newProduction = newProduction + ruleY; - } - else if (step == 'Z') { - newProduction = newProduction + ruleZ; - } - else { - if (step != 'F') { - newProduction = newProduction + step; - } - } - } - - drawLength = drawLength * 0.5; - generations++; - return newProduction; - } - -} - diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Fractals and L-Systems/PenroseTile/PenroseTile.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Fractals and L-Systems/PenroseTile/PenroseTile.pde deleted file mode 100644 index 763c695..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Fractals and L-Systems/PenroseTile/PenroseTile.pde +++ /dev/null @@ -1,25 +0,0 @@ -/** - * Penrose Tile L-System - * by Geraldine Sarmiento. - * - * This code was based on Patrick Dwyer's L-System class. - */ - -PenroseLSystem ds; - -void setup() { - size(640, 360); - ds = new PenroseLSystem(); - ds.simulate(4); -} - -void draw() { - background(0); - ds.render(); -} - - - - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Fractals and L-Systems/Pentigree/LSystem.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Fractals and L-Systems/Pentigree/LSystem.pde deleted file mode 100644 index 2adcabc..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Fractals and L-Systems/Pentigree/LSystem.pde +++ /dev/null @@ -1,76 +0,0 @@ -class LSystem { - - int steps = 0; - - String axiom; - String rule; - String production; - - float startLength; - float drawLength; - float theta; - - int generations; - - LSystem() { - - axiom = "F"; - rule = "F+F-F"; - startLength = 90.0; - theta = radians(120.0); - reset(); - } - - void reset() { - production = axiom; - drawLength = startLength; - generations = 0; - } - - int getAge() { - return generations; - } - - void render() { - translate(width/2, height/2); - steps += 5; - if (steps > production.length()) { - steps = production.length(); - } - for (int i = 0; i < steps; i++) { - char step = production.charAt(i); - if (step == 'F') { - rect(0, 0, -drawLength, -drawLength); - noFill(); - translate(0, -drawLength); - } - else if (step == '+') { - rotate(theta); - } - else if (step == '-') { - rotate(-theta); - } - else if (step == '[') { - pushMatrix(); - } - else if (step == ']') { - popMatrix(); - } - } - } - - void simulate(int gen) { - while (getAge() < gen) { - production = iterate(production, rule); - } - } - - String iterate(String prod_, String rule_) { - drawLength = drawLength * 0.6; - generations++; - String newProduction = prod_; - newProduction = newProduction.replaceAll("F", rule_); - return newProduction; - } -} - diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Fractals and L-Systems/Pentigree/Pentigree.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Fractals and L-Systems/Pentigree/Pentigree.pde deleted file mode 100644 index a58ee50..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Fractals and L-Systems/Pentigree/Pentigree.pde +++ /dev/null @@ -1,21 +0,0 @@ -/** - * Pentigree L-System - * by Geraldine Sarmiento. - * - * This code was based on Patrick Dwyer's L-System class. - */ - - -PentigreeLSystem ps; - -void setup() { - size(640, 360); - ps = new PentigreeLSystem(); - ps.simulate(3); -} - -void draw() { - background(0); - ps.render(); -} - diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Fractals and L-Systems/Pentigree/PentigreeLSystem.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Fractals and L-Systems/Pentigree/PentigreeLSystem.pde deleted file mode 100644 index a377c01..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Fractals and L-Systems/Pentigree/PentigreeLSystem.pde +++ /dev/null @@ -1,71 +0,0 @@ -class PentigreeLSystem extends LSystem { - - int steps = 0; - float somestep = 0.1; - float xoff = 0.01; - - PentigreeLSystem() { - axiom = "F-F-F-F-F"; - rule = "F-F++F+F-F-F"; - startLength = 60.0; - theta = radians(72); - reset(); - } - - void useRule(String r_) { - rule = r_; - } - - void useAxiom(String a_) { - axiom = a_; - } - - void useLength(float l_) { - startLength = l_; - } - - void useTheta(float t_) { - theta = radians(t_); - } - - void reset() { - production = axiom; - drawLength = startLength; - generations = 0; - } - - int getAge() { - return generations; - } - - void render() { - translate(width/4, height/2); - steps += 3; - if (steps > production.length()) { - steps = production.length(); - } - - for (int i = 0; i < steps; i++) { - char step = production.charAt(i); - if (step == 'F') { - noFill(); - stroke(255); - line(0, 0, 0, -drawLength); - translate(0, -drawLength); - } - else if (step == '+') { - rotate(theta); - } - else if (step == '-') { - rotate(-theta); - } - else if (step == '[') { - pushMatrix(); - } - else if (step == ']') { - popMatrix(); - } - } - } - -} diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Fractals and L-Systems/Tree/Tree.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Fractals and L-Systems/Tree/Tree.pde deleted file mode 100644 index aafb310..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Fractals and L-Systems/Tree/Tree.pde +++ /dev/null @@ -1,60 +0,0 @@ -/** - * Recursive Tree - * by Daniel Shiffman. - * - * Renders a simple tree-like structure via recursion. - * The branching angle is calculated as a function of - * the horizontal mouse location. Move the mouse left - * and right to change the angle. - */ - -float theta; - -void setup() { - size(640, 360); -} - -void draw() { - background(0); - frameRate(30); - stroke(255); - // Let's pick an angle 0 to 90 degrees based on the mouse position - float a = (mouseX / (float) width) * 90f; - // Convert it to radians - theta = radians(a); - // Start the tree from the bottom of the screen - translate(width/2,height); - // Draw a line 120 pixels - line(0,0,0,-120); - // Move to the end of that line - translate(0,-120); - // Start the recursive branching! - branch(120); - -} - -void branch(float h) { - // Each branch will be 2/3rds the size of the previous one - h *= 0.66; - - // All recursive functions must have an exit condition!!!! - // Here, ours is when the length of the branch is 2 pixels or less - if (h > 2) { - pushMatrix(); // Save the current state of transformation (i.e. where are we now) - rotate(theta); // Rotate by theta - line(0, 0, 0, -h); // Draw the branch - translate(0, -h); // Move to the end of the branch - branch(h); // Ok, now call myself to draw two new branches!! - popMatrix(); // Whenever we get back here, we "pop" in order to restore the previous matrix state - - // Repeat the same thing, only branch off to the "left" this time! - pushMatrix(); - rotate(-theta); - line(0, 0, 0, -h); - translate(0, -h); - branch(h); - popMatrix(); - } -} - - diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/GUI/Button/Button.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/GUI/Button/Button.pde deleted file mode 100644 index 4b8a536..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/GUI/Button/Button.pde +++ /dev/null @@ -1,93 +0,0 @@ -/** - * Button. - * - * Click on one of the colored squares in the - * center of the image to change the color of - * the background. - */ - -int rectX, rectY; // Position of square button -int circleX, circleY; // Position of circle button -int rectSize = 90; // Diameter of rect -int circleSize = 93; // Diameter of circle -color rectColor, circleColor, baseColor; -color rectHighlight, circleHighlight; -color currentColor; -boolean rectOver = false; -boolean circleOver = false; - -void setup() { - size(640, 360); - rectColor = color(0); - rectHighlight = color(51); - circleColor = color(255); - circleHighlight = color(204); - baseColor = color(102); - currentColor = baseColor; - circleX = width/2+circleSize/2+10; - circleY = height/2; - rectX = width/2-rectSize-10; - rectY = height/2-rectSize/2; - ellipseMode(CENTER); -} - -void draw() { - update(mouseX, mouseY); - background(currentColor); - - if (rectOver) { - fill(rectHighlight); - } else { - fill(rectColor); - } - stroke(255); - rect(rectX, rectY, rectSize, rectSize); - - if (circleOver) { - fill(circleHighlight); - } else { - fill(circleColor); - } - stroke(0); - ellipse(circleX, circleY, circleSize, circleSize); -} - -void update(int x, int y) { - if ( overCircle(circleX, circleY, circleSize) ) { - circleOver = true; - rectOver = false; - } else if ( overRect(rectX, rectY, rectSize, rectSize) ) { - rectOver = true; - circleOver = false; - } else { - circleOver = rectOver = false; - } -} - -void mousePressed() { - if (circleOver) { - currentColor = circleColor; - } - if (rectOver) { - currentColor = rectColor; - } -} - -boolean overRect(int x, int y, int width, int height) { - if (mouseX >= x && mouseX <= x+width && - mouseY >= y && mouseY <= y+height) { - return true; - } else { - return false; - } -} - -boolean overCircle(int x, int y, int diameter) { - float disX = x - mouseX; - float disY = y - mouseY; - if (sqrt(sq(disX) + sq(disY)) < diameter/2 ) { - return true; - } else { - return false; - } -} diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/GUI/Handles/Handles.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/GUI/Handles/Handles.pde deleted file mode 100644 index f2c9626..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/GUI/Handles/Handles.pde +++ /dev/null @@ -1,127 +0,0 @@ -/** - * Handles. - * - * Click and drag the white boxes to change their position. - */ - -Handle[] handles; - -void setup() { - size(640, 360); - int num = height/15; - handles = new Handle[num]; - int hsize = 10; - for (int i = 0; i < handles.length; i++) { - handles[i] = new Handle(width/2, 10+i*15, 50-hsize/2, 10, handles); - } -} - -void draw() { - background(153); - - for (int i = 0; i < handles.length; i++) { - handles[i].update(); - handles[i].display(); - } - - fill(0); - rect(0, 0, width/2, height); -} - -void mouseReleased() { - for (int i = 0; i < handles.length; i++) { - handles[i].releaseEvent(); - } -} - -class Handle { - - int x, y; - int boxx, boxy; - int stretch; - int size; - boolean over; - boolean press; - boolean locked = false; - boolean otherslocked = false; - Handle[] others; - - Handle(int ix, int iy, int il, int is, Handle[] o) { - x = ix; - y = iy; - stretch = il; - size = is; - boxx = x+stretch - size/2; - boxy = y - size/2; - others = o; - } - - void update() { - boxx = x+stretch; - boxy = y - size/2; - - for (int i=0; i= x && mouseX <= x+width && - mouseY >= y && mouseY <= y+height) { - return true; - } else { - return false; - } -} - -int lock(int val, int minv, int maxv) { - return min(max(val, minv), maxv); -} diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/GUI/Rollover/Rollover.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/GUI/Rollover/Rollover.pde deleted file mode 100644 index a7e3f27..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/GUI/Rollover/Rollover.pde +++ /dev/null @@ -1,82 +0,0 @@ -/** - * Rollover. - * - * Roll over the colored squares in the center of the image - * to change the color of the outside rectangle. - */ - - -int rectX, rectY; // Position of square button -int circleX, circleY; // Position of circle button -int rectSize = 90; // Diameter of rect -int circleSize = 93; // Diameter of circle - -color rectColor; -color circleColor; -color baseColor; - -boolean rectOver = false; -boolean circleOver = false; - -void setup() { - size(640, 360); - rectColor = color(0); - circleColor = color(255); - baseColor = color(102); - circleX = width/2+circleSize/2+10; - circleY = height/2; - rectX = width/2-rectSize-10; - rectY = height/2-rectSize/2; - ellipseMode(CENTER); -} - -void draw() { - update(mouseX, mouseY); - - noStroke(); - if (rectOver) { - background(rectColor); - } else if (circleOver) { - background(circleColor); - } else { - background(baseColor); - } - - stroke(255); - fill(rectColor); - rect(rectX, rectY, rectSize, rectSize); - stroke(0); - fill(circleColor); - ellipse(circleX, circleY, circleSize, circleSize); -} - -void update(int x, int y) { - if( overCircle(circleX, circleY, circleSize) ) { - circleOver = true; - rectOver = false; - } else if ( overRect(rectX, rectY, rectSize, rectSize) ) { - rectOver = true; - circleOver = false; - } else { - circleOver = rectOver = false; - } -} - -boolean overRect(int x, int y, int width, int height) { - if (mouseX >= x && mouseX <= x+width && - mouseY >= y && mouseY <= y+height) { - return true; - } else { - return false; - } -} - -boolean overCircle(int x, int y, int diameter) { - float disX = x - mouseX; - float disY = y - mouseY; - if(sqrt(sq(disX) + sq(disY)) < diameter/2 ) { - return true; - } else { - return false; - } -} diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/GUI/Scrollbar/Scrollbar.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/GUI/Scrollbar/Scrollbar.pde deleted file mode 100644 index cdcb905..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/GUI/Scrollbar/Scrollbar.pde +++ /dev/null @@ -1,121 +0,0 @@ -/** - * Scrollbar. - * - * Move the scrollbars left and right to change the positions of the images. - */ - -HScrollbar hs1, hs2; // Two scrollbars -PImage img1, img2; // Two images to load - -void setup() { - size(640, 360); - noStroke(); - - hs1 = new HScrollbar(0, height/2-8, width, 16, 16); - hs2 = new HScrollbar(0, height/2+8, width, 16, 16); - - // Load images - img1 = loadImage("seedTop.jpg"); - img2 = loadImage("seedBottom.jpg"); -} - -void draw() { - background(255); - - // Get the position of the img1 scrollbar - // and convert to a value to display the img1 image - float img1Pos = hs1.getPos()-width/2; - fill(255); - image(img1, width/2-img1.width/2 + img1Pos*1.5, 0); - - // Get the position of the img2 scrollbar - // and convert to a value to display the img2 image - float img2Pos = hs2.getPos()-width/2; - fill(255); - image(img2, width/2-img2.width/2 + img2Pos*1.5, height/2); - - hs1.update(); - hs2.update(); - hs1.display(); - hs2.display(); - - stroke(0); - line(0, height/2, width, height/2); -} - - -class HScrollbar { - int swidth, sheight; // width and height of bar - float xpos, ypos; // x and y position of bar - float spos, newspos; // x position of slider - float sposMin, sposMax; // max and min values of slider - int loose; // how loose/heavy - boolean over; // is the mouse over the slider? - boolean locked; - float ratio; - - HScrollbar (float xp, float yp, int sw, int sh, int l) { - swidth = sw; - sheight = sh; - int widthtoheight = sw - sh; - ratio = (float)sw / (float)widthtoheight; - xpos = xp; - ypos = yp-sheight/2; - spos = xpos + swidth/2 - sheight/2; - newspos = spos; - sposMin = xpos; - sposMax = xpos + swidth - sheight; - loose = l; - } - - void update() { - if (overEvent()) { - over = true; - } else { - over = false; - } - if (mousePressed && over) { - locked = true; - } - if (!mousePressed) { - locked = false; - } - if (locked) { - newspos = constrain(mouseX-sheight/2, sposMin, sposMax); - } - if (abs(newspos - spos) > 1) { - spos = spos + (newspos-spos)/loose; - } - } - - float constrain(float val, float minv, float maxv) { - return min(max(val, minv), maxv); - } - - boolean overEvent() { - if (mouseX > xpos && mouseX < xpos+swidth && - mouseY > ypos && mouseY < ypos+sheight) { - return true; - } else { - return false; - } - } - - void display() { - noStroke(); - fill(204); - rect(xpos, ypos, swidth, sheight); - if (over || locked) { - fill(0, 0, 0); - } else { - fill(102, 102, 102); - } - rect(spos, ypos, sheight, sheight); - } - - float getPos() { - // Convert spos to be values between - // 0 and the total width of the scrollbar - return spos * ratio; - } -} diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/GUI/Scrollbar/data/seedBottom.jpg b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/GUI/Scrollbar/data/seedBottom.jpg deleted file mode 100644 index 9e754df..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/GUI/Scrollbar/data/seedBottom.jpg and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/GUI/Scrollbar/data/seedTop.jpg b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/GUI/Scrollbar/data/seedTop.jpg deleted file mode 100644 index c7c0e50..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/GUI/Scrollbar/data/seedTop.jpg and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Geometry/Icosahedra/Dimension3D.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Geometry/Icosahedra/Dimension3D.pde deleted file mode 100644 index 90c9499..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Geometry/Icosahedra/Dimension3D.pde +++ /dev/null @@ -1,10 +0,0 @@ -class Dimension3D{ - float w, h, d; - - Dimension3D(float w, float h, float d){ - this.w=w; - this.h=h; - this.d=d; - } -} - diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Geometry/Icosahedra/Icosahedra.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Geometry/Icosahedra/Icosahedra.pde deleted file mode 100644 index 0c046b7..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Geometry/Icosahedra/Icosahedra.pde +++ /dev/null @@ -1,52 +0,0 @@ -/** - * I Like Icosahedra - * by Ira Greenberg. - * - * This example plots icosahedra. The Icosahdron is a regular - * polyhedron composed of twenty equalateral triangles. - */ - -Icosahedron ico1; -Icosahedron ico2; -Icosahedron ico3; - -void setup(){ - size(640, 360, P3D); - ico1 = new Icosahedron(75); - ico2 = new Icosahedron(75); - ico3 = new Icosahedron(75); -} - -void draw(){ - background(0); - lights(); - translate(width/2, height/2); - - pushMatrix(); - translate(-width/3.5, 0); - rotateX(frameCount*PI/185); - rotateY(frameCount*PI/-200); - stroke(170, 0, 0); - noFill(); - ico1.create(); - popMatrix(); - - pushMatrix(); - rotateX(frameCount*PI/200); - rotateY(frameCount*PI/300); - stroke(150, 0, 180); - fill(170, 170, 0); - ico2.create(); - popMatrix(); - - pushMatrix(); - translate(width/3.5, 0); - rotateX(frameCount*PI/-200); - rotateY(frameCount*PI/200); - noStroke(); - fill(0, 0, 185); - ico3.create(); - popMatrix(); -} - - diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Geometry/Icosahedra/Icosahedron.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Geometry/Icosahedra/Icosahedron.pde deleted file mode 100644 index 3a7f894..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Geometry/Icosahedra/Icosahedron.pde +++ /dev/null @@ -1,159 +0,0 @@ -class Icosahedron extends Shape3D{ - - // icosahedron - PVector topPoint; - PVector[] topPent = new PVector[5]; - PVector bottomPoint; - PVector[] bottomPent = new PVector[5]; - float angle = 0, radius = 150; - float triDist; - float triHt; - float a, b, c; - - // constructor - Icosahedron(float radius){ - this.radius = radius; - init(); - } - - Icosahedron(PVector v, float radius){ - super(v); - this.radius = radius; - init(); - } - - // calculate geometry - void init(){ - c = dist(cos(0)*radius, sin(0)*radius, cos(radians(72))*radius, sin(radians(72))*radius); - b = radius; - a = (float)(Math.sqrt(((c*c)-(b*b)))); - - triHt = (float)(Math.sqrt((c*c)-((c/2)*(c/2)))); - - for (int i=0; i 0.01) { - xmag -= diff/4.0; - } - - diff = ymag-newYmag; - if (abs(diff) > 0.01) { - ymag -= diff/4.0; - } - - rotateX(-ymag); - rotateY(-xmag); - - scale(90); - beginShape(QUADS); - - fill(0, 1, 1); vertex(-1, 1, 1); - fill(1, 1, 1); vertex( 1, 1, 1); - fill(1, 0, 1); vertex( 1, -1, 1); - fill(0, 0, 1); vertex(-1, -1, 1); - - fill(1, 1, 1); vertex( 1, 1, 1); - fill(1, 1, 0); vertex( 1, 1, -1); - fill(1, 0, 0); vertex( 1, -1, -1); - fill(1, 0, 1); vertex( 1, -1, 1); - - fill(1, 1, 0); vertex( 1, 1, -1); - fill(0, 1, 0); vertex(-1, 1, -1); - fill(0, 0, 0); vertex(-1, -1, -1); - fill(1, 0, 0); vertex( 1, -1, -1); - - fill(0, 1, 0); vertex(-1, 1, -1); - fill(0, 1, 1); vertex(-1, 1, 1); - fill(0, 0, 1); vertex(-1, -1, 1); - fill(0, 0, 0); vertex(-1, -1, -1); - - fill(0, 1, 0); vertex(-1, 1, -1); - fill(1, 1, 0); vertex( 1, 1, -1); - fill(1, 1, 1); vertex( 1, 1, 1); - fill(0, 1, 1); vertex(-1, 1, 1); - - fill(0, 0, 0); vertex(-1, -1, -1); - fill(1, 0, 0); vertex( 1, -1, -1); - fill(1, 0, 1); vertex( 1, -1, 1); - fill(0, 0, 1); vertex(-1, -1, 1); - - endShape(); - - popMatrix(); -} diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Geometry/ShapeTransform/ShapeTransform.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Geometry/ShapeTransform/ShapeTransform.pde deleted file mode 100644 index c779a3a..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Geometry/ShapeTransform/ShapeTransform.pde +++ /dev/null @@ -1,116 +0,0 @@ -/** - * Shape Transform - * by Ira Greenberg. - * - * Illustrates the geometric relationship - * between Cube, Pyramid, Cone and - * Cylinder 3D primitives. - * - * Instructions:
- * Up Arrow - increases points
- * Down Arrow - decreases points
- * 'p' key toggles between cube/pyramid
- */ - -int pts = 4; -float angle = 0; -float radius = 99; -float cylinderLength = 95; - -//vertices -PVector vertices[][]; -boolean isPyramid = false; - -float angleInc; - -void setup(){ - size(640, 360, P3D); - noStroke(); - angleInc = PI/300.0; -} - -void draw(){ - background(170, 95, 95); - lights(); - fill(255, 200, 200); - translate(width/2, height/2); - rotateX(frameCount * angleInc); - rotateY(frameCount * angleInc); - rotateZ(frameCount * angleInc); - - // initialize vertex arrays - vertices = new PVector[2][pts+1]; - - // fill arrays - for (int i = 0; i < 2; i++){ - angle = 0; - for(int j = 0; j <= pts; j++){ - vertices[i][j] = new PVector(); - if (isPyramid){ - if (i==1){ - vertices[i][j].x = 0; - vertices[i][j].y = 0; - } - else { - vertices[i][j].x = cos(radians(angle)) * radius; - vertices[i][j].y = sin(radians(angle)) * radius; - } - } - else { - vertices[i][j].x = cos(radians(angle)) * radius; - vertices[i][j].y = sin(radians(angle)) * radius; - } - vertices[i][j].z = cylinderLength; - // the .0 after the 360 is critical - angle += 360.0/pts; - } - cylinderLength *= -1; - } - - // draw cylinder tube - beginShape(QUAD_STRIP); - for(int j = 0; j <= pts; j++){ - vertex(vertices[0][j].x, vertices[0][j].y, vertices[0][j].z); - vertex(vertices[1][j].x, vertices[1][j].y, vertices[1][j].z); - } - endShape(); - - //draw cylinder ends - for (int i = 0; i < 2; i++){ - beginShape(); - for(int j = 0; j < pts; j++){ - vertex(vertices[i][j].x, vertices[i][j].y, vertices[i][j].z); - } - endShape(CLOSE); - } -} - - -/* - up/down arrow keys control - polygon detail. - */ -void keyPressed(){ - if(key == CODED) { - // pts - if (keyCode == UP) { - if (pts < 90){ - pts++; - } - } - else if (keyCode == DOWN) { - if (pts > 4){ - pts--; - } - } - } - if (key =='p'){ - if (isPyramid){ - isPyramid = false; - } - else { - isPyramid = true; - } - } -} - diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Geometry/SpaceJunk/Cube.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Geometry/SpaceJunk/Cube.pde deleted file mode 100644 index 121b33f..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Geometry/SpaceJunk/Cube.pde +++ /dev/null @@ -1,67 +0,0 @@ - -class Cube { - - // Properties - int w, h, d; - int shiftX, shiftY, shiftZ; - - // Constructor - Cube(int w, int h, int d, int shiftX, int shiftY, int shiftZ){ - this.w = w; - this.h = h; - this.d = d; - this.shiftX = shiftX; - this.shiftY = shiftY; - this.shiftZ = shiftZ; - } - - // Main cube drawing method, which looks - // more confusing than it really is. It's - // just a bunch of rectangles drawn for - // each cube face - void drawCube(){ - beginShape(QUADS); - // Front face - vertex(-w/2 + shiftX, -h/2 + shiftY, -d/2 + shiftZ); - vertex(w + shiftX, -h/2 + shiftY, -d/2 + shiftZ); - vertex(w + shiftX, h + shiftY, -d/2 + shiftZ); - vertex(-w/2 + shiftX, h + shiftY, -d/2 + shiftZ); - - // Back face - vertex(-w/2 + shiftX, -h/2 + shiftY, d + shiftZ); - vertex(w + shiftX, -h/2 + shiftY, d + shiftZ); - vertex(w + shiftX, h + shiftY, d + shiftZ); - vertex(-w/2 + shiftX, h + shiftY, d + shiftZ); - - // Left face - vertex(-w/2 + shiftX, -h/2 + shiftY, -d/2 + shiftZ); - vertex(-w/2 + shiftX, -h/2 + shiftY, d + shiftZ); - vertex(-w/2 + shiftX, h + shiftY, d + shiftZ); - vertex(-w/2 + shiftX, h + shiftY, -d/2 + shiftZ); - - // Right face - vertex(w + shiftX, -h/2 + shiftY, -d/2 + shiftZ); - vertex(w + shiftX, -h/2 + shiftY, d + shiftZ); - vertex(w + shiftX, h + shiftY, d + shiftZ); - vertex(w + shiftX, h + shiftY, -d/2 + shiftZ); - - // Top face - vertex(-w/2 + shiftX, -h/2 + shiftY, -d/2 + shiftZ); - vertex(w + shiftX, -h/2 + shiftY, -d/2 + shiftZ); - vertex(w + shiftX, -h/2 + shiftY, d + shiftZ); - vertex(-w/2 + shiftX, -h/2 + shiftY, d + shiftZ); - - // Bottom face - vertex(-w/2 + shiftX, h + shiftY, -d/2 + shiftZ); - vertex(w + shiftX, h + shiftY, -d/2 + shiftZ); - vertex(w + shiftX, h + shiftY, d + shiftZ); - vertex(-w/2 + shiftX, h + shiftY, d + shiftZ); - - endShape(); - - // Add some rotation to each box for pizazz. - rotateY(radians(1)); - rotateX(radians(1)); - rotateZ(radians(1)); - } -} diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Geometry/SpaceJunk/SpaceJunk.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Geometry/SpaceJunk/SpaceJunk.pde deleted file mode 100644 index d13b5dc..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Geometry/SpaceJunk/SpaceJunk.pde +++ /dev/null @@ -1,61 +0,0 @@ -/** - * Space Junk - * by Ira Greenberg (zoom suggestion by Danny Greenberg). - * - * Rotating cubes in space using a custom Cube class. - * Color controlled by light sources. Move the mouse left - * and right to zoom. - */ - -// Used for oveall rotation -float angle; - -// Cube count-lower/raise to test performance -int limit = 500; - -// Array for all cubes -Cube[] cubes = new Cube[limit]; - -void setup() { - size(640, 360, P3D); - background(0); - noStroke(); - - // Instantiate cubes, passing in random vals for size and postion - for (int i = 0; i < cubes.length; i++){ - cubes[i] = new Cube(int(random(-10, 10)), int(random(-10, 10)), - int(random(-10, 10)), int(random(-140, 140)), - int(random(-140, 140)), int(random(-140, 140))); - } -} - -void draw(){ - background(0); - fill(200); - - // Set up some different colored lights - pointLight(51, 102, 255, 65, 60, 100); - pointLight(200, 40, 60, -65, -60, -150); - - // Raise overall light in scene - ambientLight(70, 70, 10); - - // Center geometry in display windwow. - // you can changlee 3rd argument ('0') - // to move block group closer(+) / further(-) - translate(width/2, height/2, -200 + mouseX * 0.65); - - // Rotate around y and x axes - rotateY(radians(angle)); - rotateX(radians(angle)); - - // Draw cubes - for (int i = 0; i < cubes.length; i++){ - cubes[i].drawCube(); - } - - // Used in rotate function calls above - angle += 0.2; -} - - diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Geometry/Toroid/Toroid.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Geometry/Toroid/Toroid.pde deleted file mode 100644 index f79a8d1..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Geometry/Toroid/Toroid.pde +++ /dev/null @@ -1,182 +0,0 @@ -/** - * Interactive Toroid - * by Ira Greenberg. - * - * Illustrates the geometric relationship between Toroid, Sphere, and Helix - * 3D primitives, as well as lathing principal. - * - * Instructions:
- * UP arrow key pts++
- * DOWN arrow key pts--
- * LEFT arrow key segments--
- * RIGHT arrow key segments++
- * 'a' key toroid radius--
- * 's' key toroid radius++
- * 'z' key initial polygon radius--
- * 'x' key initial polygon radius++
- * 'w' key toggle wireframe/solid shading
- * 'h' key toggle sphere/helix
- */ - -int pts = 40; -float angle = 0; -float radius = 60.0; - -// lathe segments -int segments = 60; -float latheAngle = 0; -float latheRadius = 100.0; - -//vertices -PVector vertices[], vertices2[]; - -// for shaded or wireframe rendering -boolean isWireFrame = false; - -// for optional helix -boolean isHelix = false; -float helixOffset = 5.0; - -void setup(){ - size(640, 360, P3D); -} - -void draw(){ - background(50, 64, 42); - // basic lighting setup - lights(); - // 2 rendering styles - // wireframe or solid - if (isWireFrame){ - stroke(255, 255, 150); - noFill(); - } - else { - noStroke(); - fill(150, 195, 125); - } - //center and spin toroid - translate(width/2, height/2, -100); - - rotateX(frameCount*PI/150); - rotateY(frameCount*PI/170); - rotateZ(frameCount*PI/90); - - // initialize point arrays - vertices = new PVector[pts+1]; - vertices2 = new PVector[pts+1]; - - // fill arrays - for(int i=0; i<=pts; i++){ - vertices[i] = new PVector(); - vertices2[i] = new PVector(); - vertices[i].x = latheRadius + sin(radians(angle))*radius; - if (isHelix){ - vertices[i].z = cos(radians(angle))*radius-(helixOffset* - segments)/2; - } - else{ - vertices[i].z = cos(radians(angle))*radius; - } - angle+=360.0/pts; - } - - // draw toroid - latheAngle = 0; - for(int i=0; i<=segments; i++){ - beginShape(QUAD_STRIP); - for(int j=0; j<=pts; j++){ - if (i>0){ - vertex(vertices2[j].x, vertices2[j].y, vertices2[j].z); - } - vertices2[j].x = cos(radians(latheAngle))*vertices[j].x; - vertices2[j].y = sin(radians(latheAngle))*vertices[j].x; - vertices2[j].z = vertices[j].z; - // optional helix offset - if (isHelix){ - vertices[j].z+=helixOffset; - } - vertex(vertices2[j].x, vertices2[j].y, vertices2[j].z); - } - // create extra rotation for helix - if (isHelix){ - latheAngle+=720.0/segments; - } - else { - latheAngle+=360.0/segments; - } - endShape(); - } -} - -/* - left/right arrow keys control ellipse detail - up/down arrow keys control segment detail. - 'a','s' keys control lathe radius - 'z','x' keys control ellipse radius - 'w' key toggles between wireframe and solid - 'h' key toggles between toroid and helix - */ -void keyPressed(){ - if(key == CODED) { - // pts - if (keyCode == UP) { - if (pts<40){ - pts++; - } - } - else if (keyCode == DOWN) { - if (pts>3){ - pts--; - } - } - // extrusion length - if (keyCode == LEFT) { - if (segments>3){ - segments--; - } - } - else if (keyCode == RIGHT) { - if (segments<80){ - segments++; - } - } - } - // lathe radius - if (key =='a'){ - if (latheRadius>0){ - latheRadius--; - } - } - else if (key == 's'){ - latheRadius++; - } - // ellipse radius - if (key =='z'){ - if (radius>10){ - radius--; - } - } - else if (key == 'x'){ - radius++; - } - // wireframe - if (key =='w'){ - if (isWireFrame){ - isWireFrame=false; - } - else { - isWireFrame=true; - } - } - // helix - if (key =='h'){ - if (isHelix){ - isHelix=false; - } - else { - isHelix=true; - } - } -} - diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Geometry/Vertices/Vertices.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Geometry/Vertices/Vertices.pde deleted file mode 100644 index 5609ff9..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Geometry/Vertices/Vertices.pde +++ /dev/null @@ -1,67 +0,0 @@ -/** - * Vertices - * by Simon Greenwold. - * - * Draw a cylinder centered on the y-axis, going down - * from y=0 to y=height. The radius at the top can be - * different from the radius at the bottom, and the - * number of sides drawn is variable. - */ - -void setup() { - size(640, 360, P3D); -} - -void draw() { - background(0); - lights(); - translate(width / 2, height / 2); - rotateY(map(mouseX, 0, width, 0, PI)); - rotateZ(map(mouseY, 0, height, 0, -PI)); - noStroke(); - fill(255, 255, 255); - translate(0, -40, 0); - drawCylinder(10, 180, 200, 16); // Draw a mix between a cylinder and a cone - //drawCylinder(70, 70, 120, 64); // Draw a cylinder - //drawCylinder(0, 180, 200, 4); // Draw a pyramid -} - -void drawCylinder(float topRadius, float bottomRadius, float tall, int sides) { - float angle = 0; - float angleIncrement = TWO_PI / sides; - beginShape(QUAD_STRIP); - for (int i = 0; i < sides + 1; ++i) { - vertex(topRadius*cos(angle), 0, topRadius*sin(angle)); - vertex(bottomRadius*cos(angle), tall, bottomRadius*sin(angle)); - angle += angleIncrement; - } - endShape(); - - // If it is not a cone, draw the circular top cap - if (topRadius != 0) { - angle = 0; - beginShape(TRIANGLE_FAN); - - // Center point - vertex(0, 0, 0); - for (int i = 0; i < sides + 1; i++) { - vertex(topRadius * cos(angle), 0, topRadius * sin(angle)); - angle += angleIncrement; - } - endShape(); - } - - // If it is not a cone, draw the circular bottom cap - if (bottomRadius != 0) { - angle = 0; - beginShape(TRIANGLE_FAN); - - // Center point - vertex(0, tall, 0); - for (int i = 0; i < sides + 1; i++) { - vertex(bottomRadius * cos(angle), tall, bottomRadius * sin(angle)); - angle += angleIncrement; - } - endShape(); - } -} diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Image Processing/Blending/Blending.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Image Processing/Blending/Blending.pde deleted file mode 100644 index 6cdb250..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Image Processing/Blending/Blending.pde +++ /dev/null @@ -1,83 +0,0 @@ -/** - * Blending - * by Andres Colubri. - * - * Images can be blended using one of the 10 blending modes - * (currently available only in P2D and P3). - * Click to go to cycle through the modes. - */ - -// NOTE: THIS EXAMPLE IS IN PROGRESS -- REAS - -PImage img1, img2; -int selMode = REPLACE; -String name = "REPLACE"; -int picAlpha = 255; - -void setup() { - size(640, 360, P3D); - img1 = loadImage("layer1.jpg"); - img2 = loadImage("layer2.jpg"); - noStroke(); -} - -void draw() { - - picAlpha = int(map(mouseX, 0, width, 0, 255)); - - background(0); - - tint(255, 255); - image(img1, 0, 0); - - blendMode(selMode); - tint(255, picAlpha); - image(img2, 0, 0); - - blendMode(REPLACE); - fill(255); - rect(0, 0, 94, 22); - fill(0); - text(name, 10, 15); -} - -void mousePressed() { - - if (selMode == REPLACE) { - selMode = BLEND; - name = "BLEND"; - } else if (selMode == BLEND) { - selMode = ADD; - name = "ADD"; - } else if (selMode == ADD) { - selMode = SUBTRACT; - name = "SUBTRACT"; - } else if (selMode == SUBTRACT) { - selMode = LIGHTEST; - name = "LIGHTEST"; - } else if (selMode == LIGHTEST) { - selMode = DARKEST; - name = "DARKEST"; - } else if (selMode == DARKEST) { - selMode = DIFFERENCE; - name = "DIFFERENCE"; - } else if (selMode == DIFFERENCE) { - selMode = EXCLUSION; - name = "EXCLUSION"; - } else if (selMode == EXCLUSION) { - selMode = MULTIPLY; - name = "MULTIPLY"; - } else if (selMode == MULTIPLY) { - selMode = SCREEN; - name = "SCREEN"; - } else if (selMode == SCREEN) { - selMode = REPLACE; - name = "REPLACE"; - } -} - -void mouseDragged() { - if (height - 50 < mouseY) { - picAlpha = int(map(mouseX, 0, width, 0, 255)); - } -} diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Image Processing/Blending/data/layer1.jpg b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Image Processing/Blending/data/layer1.jpg deleted file mode 100644 index b2dc711..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Image Processing/Blending/data/layer1.jpg and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Image Processing/Blending/data/layer2.jpg b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Image Processing/Blending/data/layer2.jpg deleted file mode 100644 index f8a6229..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Image Processing/Blending/data/layer2.jpg and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Image Processing/Blur/Blur.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Image Processing/Blur/Blur.pde deleted file mode 100644 index 35c3046..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Image Processing/Blur/Blur.pde +++ /dev/null @@ -1,53 +0,0 @@ -/** - * Blur. - * - * A low-pass filter blurs an image. This program analyzes every - * pixel in an image and blends it with the neighboring pixels - * to blur the image. - */ - -float v = 1.0 / 9.0; -float[][] kernel = {{ v, v, v }, - { v, v, v }, - { v, v, v }}; - -PImage img; - -void setup() { - size(640, 360); - img = loadImage("moon.jpg"); // Load the original image - noLoop(); -} - -void draw() { - image(img, 0, 0); // Displays the image from point (0,0) - img.loadPixels(); - - // Create an opaque image of the same size as the original - PImage edgeImg = createImage(img.width, img.height, RGB); - - // Loop through every pixel in the image - for (int y = 1; y < img.height-1; y++) { // Skip top and bottom edges - for (int x = 1; x < img.width-1; x++) { // Skip left and right edges - float sum = 0; // Kernel sum for this pixel - for (int ky = -1; ky <= 1; ky++) { - for (int kx = -1; kx <= 1; kx++) { - // Calculate the adjacent pixel for this kernel point - int pos = (y + ky)*img.width + (x + kx); - // Image is grayscale, red/green/blue are identical - float val = red(img.pixels[pos]); - // Multiply adjacent pixels based on the kernel values - sum += kernel[ky+1][kx+1] * val; - } - } - // For this pixel in the new image, set the gray value - // based on the sum from the kernel - edgeImg.pixels[y*img.width + x] = color(sum); - } - } - // State that there are changes to edgeImg.pixels[] - edgeImg.updatePixels(); - - image(edgeImg, width/2, 0); // Draw the new image -} - diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Image Processing/Blur/data/moon.jpg b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Image Processing/Blur/data/moon.jpg deleted file mode 100644 index 0544742..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Image Processing/Blur/data/moon.jpg and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Image Processing/Brightness/Brightness.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Image Processing/Brightness/Brightness.pde deleted file mode 100644 index a9bf99b..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Image Processing/Brightness/Brightness.pde +++ /dev/null @@ -1,49 +0,0 @@ -/** - * Brightness - * by Daniel Shiffman. - * - * This program adjusts the brightness of a part of the image by - * calculating the distance of each pixel to the mouse. - */ - -PImage img; - -void setup() { - size(640, 360); - frameRate(30); - img = loadImage("moon-wide.jpg"); - img.loadPixels(); - // Only need to load the pixels[] array once, because we're only - // manipulating pixels[] inside draw(), not drawing shapes. - loadPixels(); -} - -void draw() { - for (int x = 0; x < img.width; x++) { - for (int y = 0; y < img.height; y++ ) { - // Calculate the 1D location from a 2D grid - int loc = x + y*img.width; - // Get the R,G,B values from image - float r,g,b; - r = red (img.pixels[loc]); - //g = green (img.pixels[loc]); - //b = blue (img.pixels[loc]); - // Calculate an amount to change brightness based on proximity to the mouse - float maxdist = 50;//dist(0,0,width,height); - float d = dist(x, y, mouseX, mouseY); - float adjustbrightness = 255*(maxdist-d)/maxdist; - r += adjustbrightness; - //g += adjustbrightness; - //b += adjustbrightness; - // Constrain RGB to make sure they are within 0-255 color range - r = constrain(r, 0, 255); - //g = constrain(g, 0, 255); - //b = constrain(b, 0, 255); - // Make a new color and set pixel in the window - //color c = color(r, g, b); - color c = color(r); - pixels[y*width + x] = c; - } - } - updatePixels(); -} diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Image Processing/Brightness/data/moon-wide.jpg b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Image Processing/Brightness/data/moon-wide.jpg deleted file mode 100644 index 8e51a17..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Image Processing/Brightness/data/moon-wide.jpg and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Image Processing/Convolution/Convolution.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Image Processing/Convolution/Convolution.pde deleted file mode 100644 index 37b0006..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Image Processing/Convolution/Convolution.pde +++ /dev/null @@ -1,75 +0,0 @@ -/** - * Convolution - * by Daniel Shiffman. - * - * Applies a convolution matrix to a portion of an image. Move mouse to - * apply filter to different parts of the image. This example is currently - * not accurate in JavaScript mode. - */ - -PImage img; -int w = 120; - -// It's possible to convolve the image with many different -// matrices to produce different effects. This is a high-pass -// filter; it accentuates the edges. -float[][] matrix = { { -1, -1, -1 }, - { -1, 9, -1 }, - { -1, -1, -1 } }; - -void setup() { - size(640, 360); - img = loadImage("moon-wide.jpg"); -} - -void draw() { - // We're only going to process a portion of the image - // so let's set the whole image as the background first - image(img, 0, 0); - - // Calculate the small rectangle we will process - int xstart = constrain(mouseX - w/2, 0, img.width); - int ystart = constrain(mouseY - w/2, 0, img.height); - int xend = constrain(mouseX + w/2, 0, img.width); - int yend = constrain(mouseY + w/2, 0, img.height); - int matrixsize = 3; - loadPixels(); - // Begin our loop for every pixel in the smaller image - for (int x = xstart; x < xend; x++) { - for (int y = ystart; y < yend; y++ ) { - color c = convolution(x, y, matrix, matrixsize, img); - int loc = x + y*img.width; - pixels[loc] = c; - } - } - updatePixels(); -} - -color convolution(int x, int y, float[][] matrix, int matrixsize, PImage img) -{ - float rtotal = 0.0; - float gtotal = 0.0; - float btotal = 0.0; - int offset = matrixsize / 2; - for (int i = 0; i < matrixsize; i++){ - for (int j= 0; j < matrixsize; j++){ - // What pixel are we testing - int xloc = x+i-offset; - int yloc = y+j-offset; - int loc = xloc + img.width*yloc; - // Make sure we haven't walked off our image, we could do better here - loc = constrain(loc,0,img.pixels.length-1); - // Calculate the convolution - rtotal += (red(img.pixels[loc]) * matrix[i][j]); - gtotal += (green(img.pixels[loc]) * matrix[i][j]); - btotal += (blue(img.pixels[loc]) * matrix[i][j]); - } - } - // Make sure RGB is within range - rtotal = constrain(rtotal, 0, 255); - gtotal = constrain(gtotal, 0, 255); - btotal = constrain(btotal, 0, 255); - // Return the resulting color - return color(rtotal, gtotal, btotal); -} - diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Image Processing/Convolution/data/moon-wide.jpg b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Image Processing/Convolution/data/moon-wide.jpg deleted file mode 100644 index 8e51a17..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Image Processing/Convolution/data/moon-wide.jpg and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Image Processing/EdgeDetection/EdgeDetection.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Image Processing/EdgeDetection/EdgeDetection.pde deleted file mode 100644 index 2809a29..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Image Processing/EdgeDetection/EdgeDetection.pde +++ /dev/null @@ -1,49 +0,0 @@ -/** - * Edge Detection. - * - * A high-pass filter sharpens an image. This program analyzes every - * pixel in an image in relation to the neighboring pixels to sharpen - * the image. This example is currently not accurate in JavaScript mode. - */ - -float[][] kernel = {{ -1, -1, -1}, - { -1, 9, -1}, - { -1, -1, -1}}; - -PImage img; - -void setup() { - size(640, 360); - img = loadImage("moon.jpg"); // Load the original image - noLoop(); -} - -void draw() { - image(img, 0, 0); // Displays the image from point (0,0) - img.loadPixels(); - // Create an opaque image of the same size as the original - PImage edgeImg = createImage(img.width, img.height, RGB); - // Loop through every pixel in the image. - for (int y = 1; y < img.height-1; y++) { // Skip top and bottom edges - for (int x = 1; x < img.width-1; x++) { // Skip left and right edges - float sum = 0; // Kernel sum for this pixel - for (int ky = -1; ky <= 1; ky++) { - for (int kx = -1; kx <= 1; kx++) { - // Calculate the adjacent pixel for this kernel point - int pos = (y + ky)*img.width + (x + kx); - // Image is grayscale, red/green/blue are identical - float val = red(img.pixels[pos]); - // Multiply adjacent pixels based on the kernel values - sum += kernel[ky+1][kx+1] * val; - } - } - // For this pixel in the new image, set the gray value - // based on the sum from the kernel - edgeImg.pixels[y*img.width + x] = color(sum, sum, sum); - } - } - // State that there are changes to edgeImg.pixels[] - edgeImg.updatePixels(); - image(edgeImg, width/2, 0); // Draw the new image -} - diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Image Processing/EdgeDetection/data/moon.jpg b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Image Processing/EdgeDetection/data/moon.jpg deleted file mode 100644 index 0544742..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Image Processing/EdgeDetection/data/moon.jpg and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Image Processing/Explode/Explode.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Image Processing/Explode/Explode.pde deleted file mode 100644 index 2d77b31..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Image Processing/Explode/Explode.pde +++ /dev/null @@ -1,43 +0,0 @@ -/** - * Explode - * by Daniel Shiffman. - * - * Mouse horizontal location controls breaking apart of image and - * Maps pixels from a 2D image into 3D space. Pixel brightness controls - * translation along z axis. - */ - -PImage img; // The source image -int cellsize = 2; // Dimensions of each cell in the grid -int columns, rows; // Number of columns and rows in our system - -void setup() { - size(640, 360, P3D); - img = loadImage("eames.jpg"); // Load the image - columns = img.width / cellsize; // Calculate # of columns - rows = img.height / cellsize; // Calculate # of rows -} - -void draw() { - background(0); - // Begin loop for columns - for ( int i = 0; i < columns; i++) { - // Begin loop for rows - for ( int j = 0; j < rows; j++) { - int x = i*cellsize + cellsize/2; // x position - int y = j*cellsize + cellsize/2; // y position - int loc = x + y*img.width; // Pixel array location - color c = img.pixels[loc]; // Grab the color - // Calculate a z position as a function of mouseX and pixel brightness - float z = (mouseX / float(width)) * brightness(img.pixels[loc]) - 20.0; - // Translate to the location, set fill and stroke, and draw the rect - pushMatrix(); - translate(x + 200, y + 100, z); - fill(c, 204); - noStroke(); - rectMode(CENTER); - rect(0, 0, cellsize, cellsize); - popMatrix(); - } - } -} diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Image Processing/Explode/data/eames.jpg b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Image Processing/Explode/data/eames.jpg deleted file mode 100644 index c89377e..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Image Processing/Explode/data/eames.jpg and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Image Processing/Extrusion/Extrusion.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Image Processing/Extrusion/Extrusion.pde deleted file mode 100644 index 7d3520d..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Image Processing/Extrusion/Extrusion.pde +++ /dev/null @@ -1,49 +0,0 @@ -/** - * Extrusion. - * - * Converts a flat image into spatial data points and rotates the points - * around the center. - */ - -PImage a; -boolean onetime = true; -int[][] aPixels; -int[][] values; -float angle; - -void setup() { - size(640, 360, P3D); - - aPixels = new int[width][height]; - values = new int[width][height]; - noFill(); - - // Load the image into a new array - // Extract the values and store in an array - a = loadImage("ystone08.jpg"); - a.loadPixels(); - for (int i = 0; i < a.height; i++) { - for (int j = 0; j < a.width; j++) { - aPixels[j][i] = a.pixels[i*a.width + j]; - values[j][i] = int(blue(aPixels[j][i])); - } - } -} - -void draw() { - background(0); - translate(width/2, height/2, -height/2); - scale(2.0); - - // Update and constrain the angle - angle += 0.005; - rotateY(angle); - - // Display the image mass - for (int i = 0; i < a.height; i += 4) { - for (int j = 0; j < a.width; j += 4) { - stroke(values[j][i], 255); - line(j-a.width/2, i-a.height/2, -values[j][i], j-a.width/2, i-a.height/2, -values[j][i]-10); - } - } -} diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Image Processing/Extrusion/data/ystone08.jpg b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Image Processing/Extrusion/data/ystone08.jpg deleted file mode 100644 index 5428ada..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Image Processing/Extrusion/data/ystone08.jpg and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Image Processing/Histogram/Histogram.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Image Processing/Histogram/Histogram.pde deleted file mode 100644 index 09d55b8..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Image Processing/Histogram/Histogram.pde +++ /dev/null @@ -1,41 +0,0 @@ -/** - * Histogram. - * - * Calculates the histogram of an image. - * A histogram is the frequency distribution - * of the gray levels with the number of pure black values - * displayed on the left and number of pure white values on the right. - * - * Note that this sketch will behave differently on Android, - * since most images will no longer be full 24-bit color. - */ - -size(640, 360); - -// Load an image from the data directory -// Load a different image by modifying the comments -PImage img = loadImage("frontier.jpg"); -image(img, 0, 0); -int[] hist = new int[256]; - -// Calculate the histogram -for (int i = 0; i < img.width; i++) { - for (int j = 0; j < img.height; j++) { - int bright = int(brightness(get(i, j))); - hist[bright]++; - } -} - -// Find the largest value in the histogram -int histMax = max(hist); - -stroke(255); -// Draw half of the histogram (skip every second value) -for (int i = 0; i < img.width; i += 2) { - // Map i (from 0..img.width) to a location in the histogram (0..255) - int which = int(map(i, 0, img.width, 0, 255)); - // Convert the histogram value to a location between - // the bottom and the top of the picture - int y = int(map(hist[which], 0, histMax, img.height, 0)); - line(i, img.height, i, y); -} diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Image Processing/Histogram/data/frontier.jpg b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Image Processing/Histogram/data/frontier.jpg deleted file mode 100644 index d6a3341..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Image Processing/Histogram/data/frontier.jpg and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Image Processing/LinearImage/LinearImage.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Image Processing/LinearImage/LinearImage.pde deleted file mode 100644 index 72b841b..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Image Processing/LinearImage/LinearImage.pde +++ /dev/null @@ -1,44 +0,0 @@ -/** - * Linear Image. - * - * Click and drag mouse up and down to control the signal. - * Press and hold any key to watch the scanning. - */ - -PImage img; -int direction = 1; - -float signal; - -void setup() { - size(640, 360); - stroke(255); - img = loadImage("sea.jpg"); - img.loadPixels(); - loadPixels(); -} - -void draw() { - if (signal > img.height-1 || signal < 0) { - direction = direction * -1; - } - if (mousePressed == true) { - signal = abs(mouseY % img.height); - } - else { - signal += (0.3*direction); - } - - if (keyPressed == true) { - set(0, 0, img); - line(0, signal, img.width, signal); - } - else { - int signalOffset = int(signal)*img.width; - for (int y = 0; y < img.height; y++) { - arrayCopy(img.pixels, signalOffset, pixels, y*width, img.width); - } - updatePixels(); - } -} - diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Image Processing/LinearImage/data/sea.jpg b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Image Processing/LinearImage/data/sea.jpg deleted file mode 100644 index f7e251d..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Image Processing/LinearImage/data/sea.jpg and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Image Processing/PixelArray/PixelArray.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Image Processing/PixelArray/PixelArray.pde deleted file mode 100644 index 92b9e2b..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Image Processing/PixelArray/PixelArray.pde +++ /dev/null @@ -1,46 +0,0 @@ -/** - * Pixel Array. - * - * Click and drag the mouse up and down to control the signal and - * press and hold any key to see the current pixel being read. - * This program sequentially reads the color of every pixel of an image - * and displays this color to fill the window. - */ - -PImage img; -int direction = 1; -float signal; - -void setup() { - size(640, 360); - noFill(); - stroke(255); - frameRate(30); - img = loadImage("sea.jpg"); -} - -void draw() { - if (signal > img.width*img.height-1 || signal < 0) { - direction = direction * -1; - } - - if (mousePressed) { - int mx = constrain(mouseX, 0, img.width-1); - int my = constrain(mouseY, 0, img.height-1); - signal = my*img.width + mx; - } else { - signal += 0.33*direction; - } - - int sx = int(signal) % img.width; - int sy = int(signal) / img.width; - - if (keyPressed) { - set(0, 0, img); // fast way to draw an image - point(sx, sy); - rect(sx - 5, sy - 5, 10, 10); - } else { - color c = img.get(sx, sy); - background(c); - } -} diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Image Processing/PixelArray/data/sea.jpg b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Image Processing/PixelArray/data/sea.jpg deleted file mode 100644 index f7e251d..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Image Processing/PixelArray/data/sea.jpg and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Image Processing/Zoom/Zoom.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Image Processing/Zoom/Zoom.pde deleted file mode 100644 index 492f9f1..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Image Processing/Zoom/Zoom.pde +++ /dev/null @@ -1,67 +0,0 @@ -/** - * Zoom. - * - * Move the cursor over the image to alter its position. Click and press - * the mouse to zoom. This program displays a series of lines with their - * heights corresponding to a color value read from an image. - */ - -PImage img; -int[][] imgPixels; -float sval = 1.0; -float nmx, nmy; -int res = 5; - -void setup() { - size(640, 360, P3D); - noFill(); - stroke(255); - img = loadImage("ystone08.jpg"); - imgPixels = new int[img.width][img.height]; - for (int i = 0; i < img.height; i++) { - for (int j = 0; j < img.width; j++) { - imgPixels[j][i] = img.get(j, i); - } - } -} - -void draw() { - background(0); - - nmx += (mouseX-nmx)/20; - nmy += (mouseY-nmy)/20; - - if(mousePressed) { - sval += 0.005; - } - else { - sval -= 0.01; - } - - sval = constrain(sval, 1.0, 2.0); - - translate(width/2 + nmx * sval-100, height/2 + nmy*sval - 100, -50); - scale(sval); - rotateZ(PI/9 - sval + 1.0); - rotateX(PI/sval/8 - 0.125); - rotateY(sval/8 - 0.125); - - translate(-width/2, -height/2, 0); - - for (int i = 0; i < img.height; i += res) { - for (int j = 0; j < img.width; j += res) { - float rr = red(imgPixels[j][i]); - float gg = green(imgPixels[j][i]); - float bb = blue(imgPixels[j][i]); - float tt = rr+gg+bb; - stroke(rr, gg, gg); - line(i, j, tt/10-20, i, j, tt/10 ); - } - } -} - - - - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Image Processing/Zoom/data/ystone08.jpg b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Image Processing/Zoom/data/ystone08.jpg deleted file mode 100644 index 5428ada..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Image Processing/Zoom/data/ystone08.jpg and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Interaction/Follow1/Follow1.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Interaction/Follow1/Follow1.pde deleted file mode 100644 index 7ba78c6..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Interaction/Follow1/Follow1.pde +++ /dev/null @@ -1,38 +0,0 @@ -/** - * Follow 1 - * based on code from Keith Peters. - * - * A line segment is pushed and pulled by the cursor. - */ - -float x = 100; -float y = 100; -float angle1 = 0.0; -float segLength = 50; - -void setup() { - size(640, 360); - strokeWeight(20.0); - stroke(255, 100); -} - -void draw() { - background(0); - - float dx = mouseX - x; - float dy = mouseY - y; - angle1 = atan2(dy, dx); - x = mouseX - (cos(angle1) * segLength); - y = mouseY - (sin(angle1) * segLength); - - segment(x, y, angle1); - ellipse(x, y, 20, 20); -} - -void segment(float x, float y, float a) { - pushMatrix(); - translate(x, y); - rotate(a); - line(0, 0, segLength, 0); - popMatrix(); -} diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Interaction/Follow2/Follow2.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Interaction/Follow2/Follow2.pde deleted file mode 100644 index aeafe11..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Interaction/Follow2/Follow2.pde +++ /dev/null @@ -1,41 +0,0 @@ -/** - * Follow 2 - * based on code from Keith Peters. - * - * A two-segmented arm follows the cursor position. The relative - * angle between the segments is calculated with atan2() and the - * position calculated with sin() and cos(). - */ - -float[] x = new float[2]; -float[] y = new float[2]; -float segLength = 50; - -void setup() { - size(640, 360); - strokeWeight(20.0); - stroke(255, 100); -} - -void draw() { - background(0); - dragSegment(0, mouseX, mouseY); - dragSegment(1, x[0], y[0]); -} - -void dragSegment(int i, float xin, float yin) { - float dx = xin - x[i]; - float dy = yin - y[i]; - float angle = atan2(dy, dx); - x[i] = xin - cos(angle) * segLength; - y[i] = yin - sin(angle) * segLength; - segment(x[i], y[i], angle); -} - -void segment(float x, float y, float a) { - pushMatrix(); - translate(x, y); - rotate(a); - line(0, 0, segLength, 0); - popMatrix(); -} diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Interaction/Follow3/Follow3.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Interaction/Follow3/Follow3.pde deleted file mode 100644 index 5df62c4..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Interaction/Follow3/Follow3.pde +++ /dev/null @@ -1,43 +0,0 @@ -/** - * Follow 3 - * based on code from Keith Peters. - * - * A segmented line follows the mouse. The relative angle from - * each segment to the next is calculated with atan2() and the - * position of the next is calculated with sin() and cos(). - */ - -float[] x = new float[20]; -float[] y = new float[20]; -float segLength = 18; - -void setup() { - size(640, 360); - strokeWeight(9); - stroke(255, 100); -} - -void draw() { - background(0); - dragSegment(0, mouseX, mouseY); - for(int i=0; i=1; i--) { - positionSegment(i, i-1); - } - for(int i=0; i width-25 || ballX < 25) { - ballXDirection *= -1; - } - if(ballY > height-25 || ballY < 25) { - ballYDirection *= -1; - } - ellipse(ballX, ballY, 30, 30); - - reachSegment(0, ballX, ballY); - for(int i=1; i=1; i--) { - positionSegment(i, i-1); - } - for(int i=0; i width-rad || xpos < rad) { - xdirection *= -1; - } - if (ypos > height-rad || ypos < rad) { - ydirection *= -1; - } - - // Draw the shape - ellipse(xpos, ypos, rad, rad); -} diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Motion/BouncyBubbles/BouncyBubbles.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Motion/BouncyBubbles/BouncyBubbles.pde deleted file mode 100644 index cabe9f0..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Motion/BouncyBubbles/BouncyBubbles.pde +++ /dev/null @@ -1,95 +0,0 @@ -/** - * Bouncy Bubbles - * based on code from Keith Peters. - * - * Multiple-object collision. - */ - - -int numBalls = 12; -float spring = 0.05; -float gravity = 0.03; -float friction = -0.9; -Ball[] balls = new Ball[numBalls]; - -void setup() { - size(640, 360); - for (int i = 0; i < numBalls; i++) { - balls[i] = new Ball(random(width), random(height), random(30, 70), i, balls); - } - noStroke(); - fill(255, 204); -} - -void draw() { - background(0); - for (Ball ball : balls) { - ball.collide(); - ball.move(); - ball.display(); - } -} - -class Ball { - - float x, y; - float diameter; - float vx = 0; - float vy = 0; - int id; - Ball[] others; - - Ball(float xin, float yin, float din, int idin, Ball[] oin) { - x = xin; - y = yin; - diameter = din; - id = idin; - others = oin; - } - - void collide() { - for (int i = id + 1; i < numBalls; i++) { - float dx = others[i].x - x; - float dy = others[i].y - y; - float distance = sqrt(dx*dx + dy*dy); - float minDist = others[i].diameter/2 + diameter/2; - if (distance < minDist) { - float angle = atan2(dy, dx); - float targetX = x + cos(angle) * minDist; - float targetY = y + sin(angle) * minDist; - float ax = (targetX - others[i].x) * spring; - float ay = (targetY - others[i].y) * spring; - vx -= ax; - vy -= ay; - others[i].vx += ax; - others[i].vy += ay; - } - } - } - - void move() { - vy += gravity; - x += vx; - y += vy; - if (x + diameter/2 > width) { - x = width - diameter/2; - vx *= friction; - } - else if (x - diameter/2 < 0) { - x = diameter/2; - vx *= friction; - } - if (y + diameter/2 > height) { - y = height - diameter/2; - vy *= friction; - } - else if (y - diameter/2 < 0) { - y = diameter/2; - vy *= friction; - } - } - - void display() { - ellipse(x, y, diameter, diameter); - } -} diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Motion/Brownian/Brownian.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Motion/Brownian/Brownian.pde deleted file mode 100644 index 7f8daf9..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Motion/Brownian/Brownian.pde +++ /dev/null @@ -1,48 +0,0 @@ -/** - * Brownian motion. - * - * Recording random movement as a continuous line. - */ - -int num = 2000; -int range = 6; - -float[] ax = new float[num]; -float[] ay = new float[num]; - - -void setup() -{ - size(640, 360); - for(int i = 0; i < num; i++) { - ax[i] = width/2; - ay[i] = height/2; - } - frameRate(30); -} - -void draw() -{ - background(51); - - // Shift all elements 1 place to the left - for(int i = 1; i < num; i++) { - ax[i-1] = ax[i]; - ay[i-1] = ay[i]; - } - - // Put a new value at the end of the array - ax[num-1] += random(-range, range); - ay[num-1] += random(-range, range); - - // Constrain all points to the screen - ax[num-1] = constrain(ax[num-1], 0, width); - ay[num-1] = constrain(ay[num-1], 0, height); - - // Draw a line connecting the points - for(int i=1; i width-radius) { - position.x = width-radius; - velocity.x *= -1; - } else if (position.x < radius) { - position.x = radius; - velocity.x *= -1; - } else if (position.y > height-radius) { - position.y = height-radius; - velocity.y *= -1; - } else if (position.y < radius) { - position.y = radius; - velocity.y *= -1; - } - } - - void checkCollision(Ball other) { - - // Get distances between the balls components - PVector distanceVect = PVector.sub(other.position, position); - - // Calculate magnitude of the vector separating the balls - float distanceVectMag = distanceVect.mag(); - - // Minimum distance before they are touching - float minDistance = radius + other.radius; - - if (distanceVectMag < minDistance) { - float distanceCorrection = (minDistance-distanceVectMag)/2.0; - PVector d = distanceVect.copy(); - PVector correctionVector = d.normalize().mult(distanceCorrection); - other.position.add(correctionVector); - position.sub(correctionVector); - - // get angle of distanceVect - float theta = distanceVect.heading(); - // precalculate trig values - float sine = sin(theta); - float cosine = cos(theta); - - /* bTemp will hold rotated ball positions. You - just need to worry about bTemp[1] position*/ - PVector[] bTemp = { - new PVector(), new PVector() - }; - - /* this ball's position is relative to the other - so you can use the vector between them (bVect) as the - reference point in the rotation expressions. - bTemp[0].position.x and bTemp[0].position.y will initialize - automatically to 0.0, which is what you want - since b[1] will rotate around b[0] */ - bTemp[1].x = cosine * distanceVect.x + sine * distanceVect.y; - bTemp[1].y = cosine * distanceVect.y - sine * distanceVect.x; - - // rotate Temporary velocities - PVector[] vTemp = { - new PVector(), new PVector() - }; - - vTemp[0].x = cosine * velocity.x + sine * velocity.y; - vTemp[0].y = cosine * velocity.y - sine * velocity.x; - vTemp[1].x = cosine * other.velocity.x + sine * other.velocity.y; - vTemp[1].y = cosine * other.velocity.y - sine * other.velocity.x; - - /* Now that velocities are rotated, you can use 1D - conservation of momentum equations to calculate - the final velocity along the x-axis. */ - PVector[] vFinal = { - new PVector(), new PVector() - }; - - // final rotated velocity for b[0] - vFinal[0].x = ((m - other.m) * vTemp[0].x + 2 * other.m * vTemp[1].x) / (m + other.m); - vFinal[0].y = vTemp[0].y; - - // final rotated velocity for b[0] - vFinal[1].x = ((other.m - m) * vTemp[1].x + 2 * m * vTemp[0].x) / (m + other.m); - vFinal[1].y = vTemp[1].y; - - // hack to avoid clumping - bTemp[0].x += vFinal[0].x; - bTemp[1].x += vFinal[1].x; - - /* Rotate ball positions and velocities back - Reverse signs in trig expressions to rotate - in the opposite direction */ - // rotate balls - PVector[] bFinal = { - new PVector(), new PVector() - }; - - bFinal[0].x = cosine * bTemp[0].x - sine * bTemp[0].y; - bFinal[0].y = cosine * bTemp[0].y + sine * bTemp[0].x; - bFinal[1].x = cosine * bTemp[1].x - sine * bTemp[1].y; - bFinal[1].y = cosine * bTemp[1].y + sine * bTemp[1].x; - - // update balls to screen position - other.position.x = position.x + bFinal[1].x; - other.position.y = position.y + bFinal[1].y; - - position.add(bFinal[0]); - - // update velocities - velocity.x = cosine * vFinal[0].x - sine * vFinal[0].y; - velocity.y = cosine * vFinal[0].y + sine * vFinal[0].x; - other.velocity.x = cosine * vFinal[1].x - sine * vFinal[1].y; - other.velocity.y = cosine * vFinal[1].y + sine * vFinal[1].x; - } - } - - void display() { - noStroke(); - fill(204); - ellipse(position.x, position.y, radius*2, radius*2); - } -} \ No newline at end of file diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Motion/CircleCollision/CircleCollision.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Motion/CircleCollision/CircleCollision.pde deleted file mode 100644 index 05e2a35..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Motion/CircleCollision/CircleCollision.pde +++ /dev/null @@ -1,32 +0,0 @@ -/** - * Circle Collision with Swapping Velocities - * by Ira Greenberg. - * - * Based on Keith Peter's Solution in - * Foundation Actionscript Animation: Making Things Move! - */ - -Ball[] balls = { - new Ball(100, 400, 20), - new Ball(700, 400, 80) -}; - -void setup() { - size(640, 360); -} - -void draw() { - background(51); - - for (Ball b : balls) { - b.update(); - b.display(); - b.checkBoundaryCollision(); - } - - balls[0].checkCollision(balls[1]); -} - - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Motion/CubesWithinCube/Cube.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Motion/CubesWithinCube/Cube.pde deleted file mode 100644 index 1907227..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Motion/CubesWithinCube/Cube.pde +++ /dev/null @@ -1,114 +0,0 @@ - -// Custom Cube Class - -class Cube { - // Position, velocity vectors - PVector position; - PVector velocity; - // Also using PVector to hold rotation values for 3 axes - PVector rotation; - - // Vertices of the cube - PVector[] vertices = new PVector[24]; - // width, height, depth - float w, h, d; - - // colors for faces of cube - color[] quadBG = new color[6]; - - Cube(float w, float h, float d) { - this.w = w; - this.h = h; - this.d = d; - - // Colors are hardcoded - quadBG[0] = color(0); - quadBG[1] = color(51); - quadBG[2] = color(102); - quadBG[3] = color(153); - quadBG[4] = color(204); - quadBG[5] = color(255); - - // Start in center - position = new PVector(); - // Random velocity vector - velocity = PVector.random3D(); - // Random rotation - rotation = new PVector(random(40, 100), random(40, 100), random(40, 100)); - - // cube composed of 6 quads - //front - vertices[0] = new PVector(-w/2, -h/2, d/2); - vertices[1] = new PVector(w/2, -h/2, d/2); - vertices[2] = new PVector(w/2, h/2, d/2); - vertices[3] = new PVector(-w/2, h/2, d/2); - //left - vertices[4] = new PVector(-w/2, -h/2, d/2); - vertices[5] = new PVector(-w/2, -h/2, -d/2); - vertices[6] = new PVector(-w/2, h/2, -d/2); - vertices[7] = new PVector(-w/2, h/2, d/2); - //right - vertices[8] = new PVector(w/2, -h/2, d/2); - vertices[9] = new PVector(w/2, -h/2, -d/2); - vertices[10] = new PVector(w/2, h/2, -d/2); - vertices[11] = new PVector(w/2, h/2, d/2); - //back - vertices[12] = new PVector(-w/2, -h/2, -d/2); - vertices[13] = new PVector(w/2, -h/2, -d/2); - vertices[14] = new PVector(w/2, h/2, -d/2); - vertices[15] = new PVector(-w/2, h/2, -d/2); - //top - vertices[16] = new PVector(-w/2, -h/2, d/2); - vertices[17] = new PVector(-w/2, -h/2, -d/2); - vertices[18] = new PVector(w/2, -h/2, -d/2); - vertices[19] = new PVector(w/2, -h/2, d/2); - //bottom - vertices[20] = new PVector(-w/2, h/2, d/2); - vertices[21] = new PVector(-w/2, h/2, -d/2); - vertices[22] = new PVector(w/2, h/2, -d/2); - vertices[23] = new PVector(w/2, h/2, d/2); - } - - // Cube shape itself - void drawCube() { - // Draw cube - for (int i=0; i<6; i++) { - fill(quadBG[i]); - beginShape(QUADS); - for (int j=0; j<4; j++) { - vertex(vertices[j+4*i].x, vertices[j+4*i].y, vertices[j+4*i].z); - } - endShape(); - } - } - - // Update location - void update() { - position.add(velocity); - - // Check wall collisions - if (position.x > bounds/2 || position.x < -bounds/2) { - velocity.x*=-1; - } - if (position.y > bounds/2 || position.y < -bounds/2) { - velocity.y*=-1; - } - if (position.z > bounds/2 || position.z < -bounds/2) { - velocity.z*=-1; - } - } - - - // Display method - void display() { - pushMatrix(); - translate(position.x, position.y, position.z); - rotateX(frameCount*PI/rotation.x); - rotateY(frameCount*PI/rotation.y); - rotateZ(frameCount*PI/rotation.z); - noStroke(); - drawCube(); // Farm out shape to another method - popMatrix(); - } -} - diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Motion/CubesWithinCube/CubesWithinCube.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Motion/CubesWithinCube/CubesWithinCube.pde deleted file mode 100644 index 2259ecd..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Motion/CubesWithinCube/CubesWithinCube.pde +++ /dev/null @@ -1,50 +0,0 @@ -/** - * Cubes Contained Within a Cube - * by Ira Greenberg. - * - * Collision detection against all - * outer cube's surfaces. - */ - -// 20 little internal cubes -Cube[] cubies = new Cube[20]; - -// Size of outer cube -float bounds = 300; - -void setup() { - size(640, 360, P3D); - - for (int i = 0; i < cubies.length; i++) { - // Cubies are randomly sized - float cubieSize = random(5, 15); - cubies[i] = new Cube(cubieSize, cubieSize, cubieSize); - } - -} - -void draw() { - background(50); - lights(); - - // Center in display window - translate(width/2, height/2, -130); - - // Rotate everything, including external large cube - rotateX(frameCount * 0.001); - rotateY(frameCount * 0.002); - rotateZ(frameCount * 0.001); - stroke(255); - - - // Outer transparent cube, just using box() method - noFill(); - box(bounds); - - // Move and rotate cubies - for (Cube c : cubies) { - c.update(); - c.display(); - } -} - diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Motion/Linear/Linear.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Motion/Linear/Linear.pde deleted file mode 100644 index 914055b..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Motion/Linear/Linear.pde +++ /dev/null @@ -1,25 +0,0 @@ -/** - * Linear Motion. - * - * Changing a variable to create a moving line. - * When the line moves off the edge of the window, - * the variable is set to 0, which places the line - * back at the bottom of the screen. - */ - -float a; - -void setup() { - size(640, 360); - stroke(255); - a = height/2; -} - -void draw() { - background(51); - line(0, a, width, a); - a = a - 0.5; - if (a < 0) { - a = height; - } -} diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Motion/Morph/Morph.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Motion/Morph/Morph.pde deleted file mode 100644 index e34fbad..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Motion/Morph/Morph.pde +++ /dev/null @@ -1,95 +0,0 @@ -/** - * Morph. - * - * Changing one shape into another by interpolating - * vertices from one to another - */ - -// Two ArrayLists to store the vertices for two shapes -// This example assumes that each shape will have the same -// number of vertices, i.e. the size of each ArrayList will be the same -ArrayList circle = new ArrayList(); -ArrayList square = new ArrayList(); - -// An ArrayList for a third set of vertices, the ones we will be drawing -// in the window -ArrayList morph = new ArrayList(); - -// This boolean variable will control if we are morphing to a circle or square -boolean state = false; - -void setup() { - size(640, 360); - - // Create a circle using vectors pointing from center - for (int angle = 0; angle < 360; angle += 9) { - // Note we are not starting from 0 in order to match the - // path of a circle. - PVector v = PVector.fromAngle(radians(angle-135)); - v.mult(100); - circle.add(v); - // Let's fill out morph ArrayList with blank PVectors while we are at it - morph.add(new PVector()); - } - - // A square is a bunch of vertices along straight lines - // Top of square - for (int x = -50; x < 50; x += 10) { - square.add(new PVector(x, -50)); - } - // Right side - for (int y = -50; y < 50; y += 10) { - square.add(new PVector(50, y)); - } - // Bottom - for (int x = 50; x > -50; x -= 10) { - square.add(new PVector(x, 50)); - } - // Left side - for (int y = 50; y > -50; y -= 10) { - square.add(new PVector(-50, y)); - } -} - -void draw() { - background(51); - - // We will keep how far the vertices are from their target - float totalDistance = 0; - - // Look at each vertex - for (int i = 0; i < circle.size(); i++) { - PVector v1; - // Are we lerping to the circle or square? - if (state) { - v1 = circle.get(i); - } - else { - v1 = square.get(i); - } - // Get the vertex we will draw - PVector v2 = morph.get(i); - // Lerp to the target - v2.lerp(v1, 0.1); - // Check how far we are from target - totalDistance += PVector.dist(v1, v2); - } - - // If all the vertices are close, switch shape - if (totalDistance < 0.1) { - state = !state; - } - - // Draw relative to center - translate(width/2, height/2); - strokeWeight(4); - // Draw a polygon that makes up all the vertices - beginShape(); - noFill(); - stroke(255); - for (PVector v : morph) { - vertex(v.x, v.y); - } - endShape(CLOSE); -} - diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Motion/MovingOnCurves/MovingOnCurves.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Motion/MovingOnCurves/MovingOnCurves.pde deleted file mode 100644 index b2022ad..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Motion/MovingOnCurves/MovingOnCurves.pde +++ /dev/null @@ -1,47 +0,0 @@ -/** - * Moving On Curves. - * - * In this example, the circles moves along the curve y = x^4. - * Click the mouse to have it move to a new position. - */ - -float beginX = 20.0; // Initial x-coordinate -float beginY = 10.0; // Initial y-coordinate -float endX = 570.0; // Final x-coordinate -float endY = 320.0; // Final y-coordinate -float distX; // X-axis distance to move -float distY; // Y-axis distance to move -float exponent = 4; // Determines the curve -float x = 0.0; // Current x-coordinate -float y = 0.0; // Current y-coordinate -float step = 0.01; // Size of each step along the path -float pct = 0.0; // Percentage traveled (0.0 to 1.0) - -void setup() { - size(640, 360); - noStroke(); - distX = endX - beginX; - distY = endY - beginY; -} - -void draw() { - fill(0, 2); - rect(0, 0, width, height); - pct += step; - if (pct < 1.0) { - x = beginX + (pct * distX); - y = beginY + (pow(pct, exponent) * distY); - } - fill(255); - ellipse(x, y, 20, 20); -} - -void mousePressed() { - pct = 0.0; - beginX = x; - beginY = y; - endX = mouseX; - endY = mouseY; - distX = endX - beginX; - distY = endY - beginY; -} diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Motion/Reflection1/Reflection1.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Motion/Reflection1/Reflection1.pde deleted file mode 100644 index a6bc607..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Motion/Reflection1/Reflection1.pde +++ /dev/null @@ -1,124 +0,0 @@ -/** - * Non-orthogonal Reflection - * by Ira Greenberg. - * - * Based on the equation (R = 2N(N*L)-L) where R is the - * reflection vector, N is the normal, and L is the incident - * vector. - */ - -// Position of left hand side of floor -PVector base1; -// Position of right hand side of floor -PVector base2; -// Length of floor -float baseLength; - -// An array of subpoints along the floor path -PVector[] coords; - -// Variables related to moving ball -PVector position; -PVector velocity; -float r = 6; -float speed = 3.5; - -void setup() { - size(640, 360); - - fill(128); - base1 = new PVector(0, height-150); - base2 = new PVector(width, height); - createGround(); - - // start ellipse at middle top of screen - position = new PVector(width/2, 0); - - // calculate initial random velocity - velocity = PVector.random2D(); - velocity.mult(speed); -} - -void draw() { - // draw background - fill(0, 12); - noStroke(); - rect(0, 0, width, height); - - // draw base - fill(200); - quad(base1.x, base1.y, base2.x, base2.y, base2.x, height, 0, height); - - // calculate base top normal - PVector baseDelta = PVector.sub(base2, base1); - baseDelta.normalize(); - PVector normal = new PVector(-baseDelta.y, baseDelta.x); - - // draw ellipse - noStroke(); - fill(255); - ellipse(position.x, position.y, r*2, r*2); - - // move elipse - position.add(velocity); - - // normalized incidence vector - PVector incidence = PVector.mult(velocity, -1); - incidence.normalize(); - - // detect and handle collision - for (int i=0; i width-r) { - position.x = width-r; - velocity.x *= -1; - } - // left - if (position.x < r) { - position.x = r; - velocity.x *= -1; - } - // top - if (position.y < r) { - position.y = r; - velocity.y *= -1; - // randomize base top - base1.y = random(height-100, height); - base2.y = random(height-100, height); - createGround(); - } -} - - -// Calculate variables for the ground -void createGround() { - // calculate length of base top - baseLength = PVector.dist(base1, base2); - - // fill base top coordinate array - coords = new PVector[ceil(baseLength)]; - for (int i=0; i width-r) { - position.x = width-r; - velocity.x *= -damping; - } - else if (position.x < r) { - position.x = r; - velocity.x *= -damping; - } - } - - void checkGroundCollision(Ground groundSegment) { - - // Get difference between orb and ground - float deltaX = position.x - groundSegment.x; - float deltaY = position.y - groundSegment.y; - - // Precalculate trig values - float cosine = cos(groundSegment.rot); - float sine = sin(groundSegment.rot); - - /* Rotate ground and velocity to allow - orthogonal collision calculations */ - float groundXTemp = cosine * deltaX + sine * deltaY; - float groundYTemp = cosine * deltaY - sine * deltaX; - float velocityXTemp = cosine * velocity.x + sine * velocity.y; - float velocityYTemp = cosine * velocity.y - sine * velocity.x; - - /* Ground collision - check for surface - collision and also that orb is within - left/rights bounds of ground segment */ - if (groundYTemp > -r && - position.x > groundSegment.x1 && - position.x < groundSegment.x2 ) { - // keep orb from going into ground - groundYTemp = -r; - // bounce and slow down orb - velocityYTemp *= -1.0; - velocityYTemp *= damping; - } - - // Reset ground, velocity and orb - deltaX = cosine * groundXTemp - sine * groundYTemp; - deltaY = cosine * groundYTemp + sine * groundXTemp; - velocity.x = cosine * velocityXTemp - sine * velocityYTemp; - velocity.y = cosine * velocityYTemp + sine * velocityXTemp; - position.x = groundSegment.x + deltaX; - position.y = groundSegment.y + deltaY; - } -} - diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Motion/Reflection2/Reflection2.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Motion/Reflection2/Reflection2.pde deleted file mode 100644 index d227e73..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Motion/Reflection2/Reflection2.pde +++ /dev/null @@ -1,75 +0,0 @@ -/** - * Non-orthogonal Collision with Multiple Ground Segments - * by Ira Greenberg. - * - * Based on Keith Peter's Solution in - * Foundation Actionscript Animation: Making Things Move! - */ - -Orb orb; - -PVector gravity = new PVector(0,0.05); -// The ground is an array of "Ground" objects -int segments = 40; -Ground[] ground = new Ground[segments]; - -void setup(){ - size(640, 360); - // An orb object that will fall and bounce around - orb = new Orb(50, 50, 3); - - // Calculate ground peak heights - float[] peakHeights = new float[segments+1]; - for (int i=0; i 0.5) { - gl_FragColor = live; - } else { - gl_FragColor = blue; - } - } else { - float sum = 0.; - sum += texture2D(ppixels, position + pixel * vec2(-1., -1.)).g; - sum += texture2D(ppixels, position + pixel * vec2(-1., 0.)).g; - sum += texture2D(ppixels, position + pixel * vec2(-1., 1.)).g; - sum += texture2D(ppixels, position + pixel * vec2(1., -1.)).g; - sum += texture2D(ppixels, position + pixel * vec2(1., 0.)).g; - sum += texture2D(ppixels, position + pixel * vec2(1., 1.)).g; - sum += texture2D(ppixels, position + pixel * vec2(0., -1.)).g; - sum += texture2D(ppixels, position + pixel * vec2(0., 1.)).g; - vec4 me = texture2D(ppixels, position); - - if (me.g <= 0.1) { - if ((sum >= 2.9) && (sum <= 3.1)) { - gl_FragColor = live; - } else if (me.b > 0.004) { - gl_FragColor = vec4(0., 0., max(me.b - 0.004, 0.25), 0.); - } else { - gl_FragColor = dead; - } - } else { - if ((sum >= 1.9) && (sum <= 3.1)) { - gl_FragColor = live; - } else { - gl_FragColor = blue; - } - } - } -} \ No newline at end of file diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Shaders/CustomBlend/CustomBlend.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Shaders/CustomBlend/CustomBlend.pde deleted file mode 100644 index c6fb40b..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Shaders/CustomBlend/CustomBlend.pde +++ /dev/null @@ -1,110 +0,0 @@ -/** - * Custom Blend - * - * The OpenGL-based renderers (P2D and P3D) only support some of the - * blending modes available in the default renderer. The reason for this - * is that the blend equations in OpenGL allow for combinations of the - * form dest_factor * dest_color + src_factor * src_color of the source and - * destination colors (see this page http://www.opengl.org/wiki/Blending - * for an extensive discussion of blending in OpenGL). - * Complex blending modes typically available in photo editing tools, - * like hard light or dodge, cannot be modeled with those equations. - * However, we can implement virtually any blending math directly in the - * fragment shader. - * - * This example shows how custom blend shaders can be loaded and used in - * Processing. - * For detailed information on how to implement Photoshop-like blending modes, - * check the following pages (a bit old but still useful): - * http://www.pegtop.net/delphi/articles/blendmodes/index.htm - * http://mouaif.wordpress.com/2009/01/05/photoshop-math-with-glsl-shaders/ - * - */ - -PImage destImage; -PImage srcImage; -PShader dodge; -PShader burn; -PShader overlay; -PShader difference; - -void setup() { - size(640, 360, P2D); - destImage = loadImage("leaves.jpg"); - srcImage = loadImage("moonwalk.jpg"); - - initShaders(); -} - -void draw() { - background(0); - - shader(dodge); - drawOutput(0, 0, width/2, height/2); - shader(burn); - drawOutput(width/2, 0, width/2, height/2); - shader(overlay); - drawOutput(0, height/2, width/2, height/2); - shader(difference); - drawOutput(width/2, height/2, width/2, height/2); - - noLoop(); -} - -void initShaders() { - dodge = loadShader("dodge.glsl"); - burn = loadShader("burn.glsl"); - overlay = loadShader("overlay.glsl"); - difference = loadShader("difference.glsl"); - - // The names destination and source come from the OpenGL terminology: - // destination from the image already in the framebuffer, or "base layer", - // and source for the image that will be blended into the framebuffer, or - // "blend layer": - dodge.set("destSampler", destImage); - dodge.set("srcSampler", srcImage); - burn.set("destSampler", destImage); - burn.set("srcSampler", srcImage); - overlay.set("destSampler", destImage); - overlay.set("srcSampler", srcImage); - difference.set("destSampler", destImage); - difference.set("srcSampler", srcImage); - - // We set the sizes of de st and src images, and the rectangular areas - // from the images that we will use for blending: - dodge.set("destSize", 640, 360); - dodge.set("destRect", 100, 50, 200, 200); - burn.set("destSize", 640, 360); - burn.set("destRect", 100, 50, 200, 200); - overlay.set("destSize", 640, 360); - overlay.set("destRect", 100, 50, 200, 200); - difference.set("destSize", 640, 360); - difference.set("destRect", 100, 50, 200, 200); - - dodge.set("srcSize", 640, 360); - dodge.set("srcRect", 0, 0, 640, 360); - burn.set("srcSize", 640, 360); - burn.set("srcRect", 0, 0, 640, 360); - overlay.set("srcSize", 640, 360); - overlay.set("srcRect", 0, 0, 640, 360); - difference.set("srcSize", 640, 360); - difference.set("srcRect", 0, 0, 640, 360); -} - -void drawOutput(float x, float y, float w, float h) { - pushMatrix(); - translate(x, y); - noStroke(); - beginShape(QUAD); - // Although we are not associating a texture to - // this shape, the uv coordinates will be stored - // anyways so they can be used in the fragment - // shader to access the destination and source - // images. - vertex(0, 0, 0, 0); - vertex(w, 0, 1, 0); - vertex(w, h, 1, 1); - vertex(0, h, 0, 1); - endShape(); - popMatrix(); -} diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Shaders/CustomBlend/data/burn.glsl b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Shaders/CustomBlend/data/burn.glsl deleted file mode 100644 index 0d090a6..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Shaders/CustomBlend/data/burn.glsl +++ /dev/null @@ -1,22 +0,0 @@ -uniform sampler2D destSampler; -uniform sampler2D srcSampler; - -uniform ivec2 destSize; -uniform ivec4 destRect; - -uniform ivec2 srcSize; -uniform ivec4 srcRect; - -varying vec4 vertTexCoord; - -void main() { - vec2 st = vertTexCoord.st; - - vec2 dest = vec2(destRect.xy) / vec2(destSize) + st * vec2(destRect.zw) / vec2(destSize); - vec2 src = vec2(srcRect.xy) / vec2(srcSize) + st * vec2(srcRect.zw) / vec2(srcSize); - - vec3 destColor = texture2D(destSampler, dest).rgb; - vec3 srcColor = texture2D(srcSampler, src).rgb; - - gl_FragColor = vec4(1.0 - (1.0 - destColor) / srcColor, 1.0); -} \ No newline at end of file diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Shaders/CustomBlend/data/difference.glsl b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Shaders/CustomBlend/data/difference.glsl deleted file mode 100644 index 7f0040a..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Shaders/CustomBlend/data/difference.glsl +++ /dev/null @@ -1,22 +0,0 @@ -uniform sampler2D destSampler; -uniform sampler2D srcSampler; - -uniform ivec2 destSize; -uniform ivec4 destRect; - -uniform ivec2 srcSize; -uniform ivec4 srcRect; - -varying vec4 vertTexCoord; - -void main() { - vec2 st = vertTexCoord.st; - - vec2 dest = vec2(destRect.xy) / vec2(destSize) + st * vec2(destRect.zw) / vec2(destSize); - vec2 src = vec2(srcRect.xy) / vec2(srcSize) + st * vec2(srcRect.zw) / vec2(srcSize); - - vec3 destColor = texture2D(destSampler, dest).rgb; - vec3 srcColor = texture2D(srcSampler, src).rgb; - - gl_FragColor = vec4(abs(srcColor - destColor), 1.0); -} \ No newline at end of file diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Shaders/CustomBlend/data/dodge.glsl b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Shaders/CustomBlend/data/dodge.glsl deleted file mode 100644 index 115dbaa..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Shaders/CustomBlend/data/dodge.glsl +++ /dev/null @@ -1,22 +0,0 @@ -uniform sampler2D destSampler; -uniform sampler2D srcSampler; - -uniform ivec2 destSize; -uniform ivec4 destRect; - -uniform ivec2 srcSize; -uniform ivec4 srcRect; - -varying vec4 vertTexCoord; - -void main() { - vec2 st = vertTexCoord.st; - - vec2 dest = vec2(destRect.xy) / vec2(destSize) + st * vec2(destRect.zw) / vec2(destSize); - vec2 src = vec2(srcRect.xy) / vec2(srcSize) + st * vec2(srcRect.zw) / vec2(srcSize); - - vec3 destColor = texture2D(destSampler, dest).rgb; - vec3 srcColor = texture2D(srcSampler, src).rgb; - - gl_FragColor = vec4(destColor / (1.0 - srcColor), 1.0); -} \ No newline at end of file diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Shaders/CustomBlend/data/leaves.jpg b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Shaders/CustomBlend/data/leaves.jpg deleted file mode 100644 index 72c86a0..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Shaders/CustomBlend/data/leaves.jpg and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Shaders/CustomBlend/data/moonwalk.jpg b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Shaders/CustomBlend/data/moonwalk.jpg deleted file mode 100644 index 793781a..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Shaders/CustomBlend/data/moonwalk.jpg and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Shaders/CustomBlend/data/overlay.glsl b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Shaders/CustomBlend/data/overlay.glsl deleted file mode 100644 index f7d28ef..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Shaders/CustomBlend/data/overlay.glsl +++ /dev/null @@ -1,28 +0,0 @@ -uniform sampler2D destSampler; -uniform sampler2D srcSampler; - -uniform ivec2 destSize; -uniform ivec4 destRect; - -uniform ivec2 srcSize; -uniform ivec4 srcRect; - -varying vec4 vertTexCoord; - -void main() { - vec2 st = vertTexCoord.st; - - vec2 dest = vec2(destRect.xy) / vec2(destSize) + st * vec2(destRect.zw) / vec2(destSize); - vec2 src = vec2(srcRect.xy) / vec2(srcSize) + st * vec2(srcRect.zw) / vec2(srcSize); - - vec3 destColor = texture2D(destSampler, dest).rgb; - vec3 srcColor = texture2D(srcSampler, src).rgb; - - float luminance = dot(vec3(0.2126, 0.7152, 0.0722), destColor); - - if (luminance < 0.5) { - gl_FragColor = vec4(2.0 * destColor * srcColor, 1.0); - } else { - gl_FragColor = vec4(1.0 - 2.0 * (1.0 - destColor) * (1.0 - srcColor), 1); - } -} \ No newline at end of file diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Shaders/Deform/Deform.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Shaders/Deform/Deform.pde deleted file mode 100644 index b47cfc3..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Shaders/Deform/Deform.pde +++ /dev/null @@ -1,29 +0,0 @@ -/** - * Deform. - * - * A GLSL version of the oldschool 2D deformation effect, by Inigo Quilez. - * Ported from the webGL version available in ShaderToy: - * http://www.iquilezles.org/apps/shadertoy/ - * (Look for Deform under the Plane Deformations Presets) - * - */ - -PImage tex; -PShader deform; - -void setup() { - size(640, 360, P2D); - - textureWrap(REPEAT); - tex = loadImage("tex1.jpg"); - - deform = loadShader("deform.glsl"); - deform.set("resolution", float(width), float(height)); -} - -void draw() { - deform.set("time", millis() / 1000.0); - deform.set("mouse", float(mouseX), float(mouseY)); - shader(deform); - image(tex, 0, 0, width, height); -} diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Shaders/Deform/data/deform.glsl b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Shaders/Deform/data/deform.glsl deleted file mode 100644 index 0c69cfd..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Shaders/Deform/data/deform.glsl +++ /dev/null @@ -1,31 +0,0 @@ -#ifdef GL_ES -precision mediump float; -precision mediump int; -#endif - -#define PROCESSING_TEXTURE_SHADER - -uniform sampler2D texture; - -uniform float time; -uniform vec2 resolution; -uniform vec2 mouse; - -void main(void) { - vec2 p = -1.0 + 2.0 * gl_FragCoord.xy / resolution.xy; - vec2 m = -1.0 + 2.0 * mouse.xy / resolution.xy; - - float a1 = atan(p.y - m.y, p.x - m.x); - float r1 = sqrt(dot(p - m, p - m)); - float a2 = atan(p.y + m.y, p.x + m.x); - float r2 = sqrt(dot(p + m, p + m)); - - vec2 uv; - uv.x = 0.2 * time + (r1 - r2) * 0.25; - uv.y = sin(2.0 * (a1 - a2)); - - float w = r1 * r2 * 0.8; - vec3 col = texture2D(texture, 0.5 - 0.495 * uv).xyz; - - gl_FragColor = vec4(col / (0.1 + w), 1.0); -} \ No newline at end of file diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Shaders/Deform/data/tex1.jpg b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Shaders/Deform/data/tex1.jpg deleted file mode 100644 index 432e859..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Shaders/Deform/data/tex1.jpg and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Shaders/DomeProjection/CubeMapUtils.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Shaders/DomeProjection/CubeMapUtils.pde deleted file mode 100644 index 8a82b75..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Shaders/DomeProjection/CubeMapUtils.pde +++ /dev/null @@ -1,98 +0,0 @@ -void initCubeMap() { - sphereDetail(50); - domeSphere = createShape(SPHERE, height/2.0f); - domeSphere.rotateX(HALF_PI); - domeSphere.setStroke(false); - - PGL pgl = beginPGL(); - - envMapTextureID = IntBuffer.allocate(1); - pgl.genTextures(1, envMapTextureID); - pgl.bindTexture(PGL.TEXTURE_CUBE_MAP, envMapTextureID.get(0)); - pgl.texParameteri(PGL.TEXTURE_CUBE_MAP, PGL.TEXTURE_WRAP_S, PGL.CLAMP_TO_EDGE); - pgl.texParameteri(PGL.TEXTURE_CUBE_MAP, PGL.TEXTURE_WRAP_T, PGL.CLAMP_TO_EDGE); - pgl.texParameteri(PGL.TEXTURE_CUBE_MAP, PGL.TEXTURE_WRAP_R, PGL.CLAMP_TO_EDGE); - pgl.texParameteri(PGL.TEXTURE_CUBE_MAP, PGL.TEXTURE_MIN_FILTER, PGL.NEAREST); - pgl.texParameteri(PGL.TEXTURE_CUBE_MAP, PGL.TEXTURE_MAG_FILTER, PGL.NEAREST); - for (int i = PGL.TEXTURE_CUBE_MAP_POSITIVE_X; i < PGL.TEXTURE_CUBE_MAP_POSITIVE_X + 6; i++) { - pgl.texImage2D(i, 0, PGL.RGBA8, envMapSize, envMapSize, 0, PGL.RGBA, PGL.UNSIGNED_BYTE, null); - } - - // Init fbo, rbo - fbo = IntBuffer.allocate(1); - rbo = IntBuffer.allocate(1); - pgl.genFramebuffers(1, fbo); - pgl.bindFramebuffer(PGL.FRAMEBUFFER, fbo.get(0)); - pgl.framebufferTexture2D(PGL.FRAMEBUFFER, PGL.COLOR_ATTACHMENT0, PGL.TEXTURE_CUBE_MAP_POSITIVE_X, envMapTextureID.get(0), 0); - - pgl.genRenderbuffers(1, rbo); - pgl.bindRenderbuffer(PGL.RENDERBUFFER, rbo.get(0)); - pgl.renderbufferStorage(PGL.RENDERBUFFER, PGL.DEPTH_COMPONENT24, envMapSize, envMapSize); - - // Attach depth buffer to FBO - pgl.framebufferRenderbuffer(PGL.FRAMEBUFFER, PGL.DEPTH_ATTACHMENT, PGL.RENDERBUFFER, rbo.get(0)); - - endPGL(); - - // Load cubemap shader. - cubemapShader = loadShader("cubemapfrag.glsl", "cubemapvert.glsl"); - cubemapShader.set("cubemap", 1); -} - -void drawCubeMap() { - PGL pgl = beginPGL(); - pgl.activeTexture(PGL.TEXTURE1); - pgl.enable(PGL.TEXTURE_CUBE_MAP); - pgl.bindTexture(PGL.TEXTURE_CUBE_MAP, envMapTextureID.get(0)); - regenerateEnvMap(pgl); - endPGL(); - - drawDomeMaster(); - - pgl.bindTexture(PGL.TEXTURE_CUBE_MAP, 0); -} - -void drawDomeMaster() { - camera(); - ortho(); - resetMatrix(); - shader(cubemapShader); - shape(domeSphere); - resetShader(); -} - -// Called to regenerate the envmap -void regenerateEnvMap(PGL pgl) { - // bind fbo - pgl.bindFramebuffer(PGL.FRAMEBUFFER, fbo.get(0)); - - // generate 6 views from origin(0, 0, 0) - pgl.viewport(0, 0, envMapSize, envMapSize); - perspective(90.0f * DEG_TO_RAD, 1.0f, 1.0f, 1025.0f); - for (int face = PGL.TEXTURE_CUBE_MAP_POSITIVE_X; face < - PGL.TEXTURE_CUBE_MAP_NEGATIVE_Z; face++) { - resetMatrix(); - - if (face == PGL.TEXTURE_CUBE_MAP_POSITIVE_X) { - camera(0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 0.0f, -1.0f, 0.0f); - } else if (face == PGL.TEXTURE_CUBE_MAP_NEGATIVE_X) { - camera(0.0f, 0.0f, 0.0f, -1.0f, 0.0f, 0.0f, 0.0f, -1.0f, 0.0f); - } else if (face == PGL.TEXTURE_CUBE_MAP_POSITIVE_Y) { - camera(0.0f, 0.0f, 0.0f, 0.0f, -1.0f, 0.0f, 0.0f, 0.0f, -1.0f); - } else if (face == PGL.TEXTURE_CUBE_MAP_NEGATIVE_Y) { - camera(0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 0.0f, 1.0f); - } else if (face == PGL.TEXTURE_CUBE_MAP_POSITIVE_Z) { - camera(0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, -1.0f, 0.0f); - } - - scale(-1, 1, -1); - translate(-width * 0.5f, -height * 0.5f, -500); - - pgl.framebufferTexture2D(PGL.FRAMEBUFFER, PGL.COLOR_ATTACHMENT0, face, envMapTextureID.get(0), 0); - - drawScene(); // Draw objects in the scene - flush(); // Make sure that the geometry in the scene is pushed to the GPU - noLights(); // Disabling lights to avoid adding many times - pgl.framebufferTexture2D(PGL.FRAMEBUFFER, PGL.COLOR_ATTACHMENT0, face, 0, 0); - } -} \ No newline at end of file diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Shaders/DomeProjection/DomeProjection.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Shaders/DomeProjection/DomeProjection.pde deleted file mode 100644 index 863133e..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Shaders/DomeProjection/DomeProjection.pde +++ /dev/null @@ -1,54 +0,0 @@ -/** - * DomeProjection - * - * This sketch uses use environmental mapping to render the output - * on a full spherical dome. - * - * Based on the FullDomeTemplate code from Christopher Warnow: - * https://github.com/mphasize/FullDome - * - * Note: This example needs desktop-class graphics to function. - * - */ - -import java.nio.IntBuffer; - -PShader cubemapShader; -PShape domeSphere; - -IntBuffer fbo; -IntBuffer rbo; -IntBuffer envMapTextureID; - -int envMapSize = 1024; - -void setup() { - size(640, 640, P3D); - initCubeMap(); -} - -void draw() { - background(0); - drawCubeMap(); -} - -void drawScene() { - background(0); - - stroke(255, 0, 0); - strokeWeight(2); - for (int i = -width; i < 2 * width; i += 50) { - line(i, -height, -100, i, 2 *height, -100); - } - for (int i = -height; i < 2 * height; i += 50) { - line(-width, i, -100, 2 * width, i, -100); - } - - lights(); - noStroke(); - translate(mouseX, mouseY, 200); - rotateX(frameCount * 0.01); - rotateY(frameCount * 0.01); - box(100); -} - diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Shaders/DomeProjection/data/cubemapfrag.glsl b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Shaders/DomeProjection/data/cubemapfrag.glsl deleted file mode 100644 index 0d47ce1..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Shaders/DomeProjection/data/cubemapfrag.glsl +++ /dev/null @@ -1 +0,0 @@ -uniform samplerCube cubemap; varying vec3 reflectDir; void main() { vec3 color = vec3(textureCube(cubemap, reflectDir)); gl_FragColor = vec4(color, 1.0); } \ No newline at end of file diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Shaders/DomeProjection/data/cubemapvert.glsl b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Shaders/DomeProjection/data/cubemapvert.glsl deleted file mode 100644 index 1d96e9b..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Shaders/DomeProjection/data/cubemapvert.glsl +++ /dev/null @@ -1 +0,0 @@ -uniform mat4 transform; uniform mat4 modelview; uniform mat3 normalMatrix; attribute vec4 vertex; attribute vec3 normal; varying vec3 reflectDir; void main() { gl_Position = transform * vertex; vec3 ecNormal = normalize(normalMatrix * normal); // Vertex in eye coordinates vec3 ecVertex = vec3(modelview * vertex); // Normal vector in eye coordinates vec3 eyeDir = ecVertex.xyz; reflectDir = reflect(eyeDir, ecNormal); } \ No newline at end of file diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Shaders/EdgeDetect/EdgeDetect.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Shaders/EdgeDetect/EdgeDetect.pde deleted file mode 100644 index db61751..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Shaders/EdgeDetect/EdgeDetect.pde +++ /dev/null @@ -1,31 +0,0 @@ -/** - * Edge Detection - * - * Change the default shader to apply a simple, custom edge detection filter. - * - * Press the mouse to switch between the custom and default shader. - */ - -PShader edges; -PImage img; -boolean enabled = true; - -void setup() { - size(640, 360, P2D); - img = loadImage("leaves.jpg"); - edges = loadShader("edges.glsl"); -} - -void draw() { - if (enabled == true) { - shader(edges); - } - image(img, 0, 0); -} - -void mousePressed() { - enabled = !enabled; - if (!enabled == true) { - resetShader(); - } -} diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Shaders/EdgeDetect/data/edges.glsl b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Shaders/EdgeDetect/data/edges.glsl deleted file mode 100644 index 9d43cda..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Shaders/EdgeDetect/data/edges.glsl +++ /dev/null @@ -1,40 +0,0 @@ -#ifdef GL_ES -precision mediump float; -precision mediump int; -#endif - -#define PROCESSING_TEXTURE_SHADER - -uniform sampler2D texture; -uniform vec2 texOffset; - -varying vec4 vertColor; -varying vec4 vertTexCoord; - -void main(void) { - // Grouping texcoord variables in order to make it work in the GMA 950. See post #13 - // in this thread: - // http://www.idevgames.com/forums/thread-3467.html - vec2 tc0 = vertTexCoord.st + vec2(-texOffset.s, -texOffset.t); - vec2 tc1 = vertTexCoord.st + vec2( 0.0, -texOffset.t); - vec2 tc2 = vertTexCoord.st + vec2(+texOffset.s, -texOffset.t); - vec2 tc3 = vertTexCoord.st + vec2(-texOffset.s, 0.0); - vec2 tc4 = vertTexCoord.st + vec2( 0.0, 0.0); - vec2 tc5 = vertTexCoord.st + vec2(+texOffset.s, 0.0); - vec2 tc6 = vertTexCoord.st + vec2(-texOffset.s, +texOffset.t); - vec2 tc7 = vertTexCoord.st + vec2( 0.0, +texOffset.t); - vec2 tc8 = vertTexCoord.st + vec2(+texOffset.s, +texOffset.t); - - vec4 col0 = texture2D(texture, tc0); - vec4 col1 = texture2D(texture, tc1); - vec4 col2 = texture2D(texture, tc2); - vec4 col3 = texture2D(texture, tc3); - vec4 col4 = texture2D(texture, tc4); - vec4 col5 = texture2D(texture, tc5); - vec4 col6 = texture2D(texture, tc6); - vec4 col7 = texture2D(texture, tc7); - vec4 col8 = texture2D(texture, tc8); - - vec4 sum = 8.0 * col4 - (col0 + col1 + col2 + col3 + col5 + col6 + col7 + col8); - gl_FragColor = vec4(sum.rgb, 1.0) * vertColor; -} diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Shaders/EdgeDetect/data/leaves.jpg b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Shaders/EdgeDetect/data/leaves.jpg deleted file mode 100644 index 72c86a0..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Shaders/EdgeDetect/data/leaves.jpg and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Shaders/EdgeFilter/EdgeFilter.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Shaders/EdgeFilter/EdgeFilter.pde deleted file mode 100644 index 845a9fb..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Shaders/EdgeFilter/EdgeFilter.pde +++ /dev/null @@ -1,42 +0,0 @@ -/** - * Edge Filter - * - * Apply a custom shader to the filter() function to affect the geometry drawn to the screen. - * - * Press the mouse to turn the filter on and off. - */ - - PShader edges; -boolean applyFilter = true; - -void setup() { - size(640, 360, P3D); - edges = loadShader("edges.glsl"); - noStroke(); -} - -void draw() { - background(0); - lights(); - - translate(width/2, height/2); - pushMatrix(); - rotateX(frameCount * 0.01); - rotateY(frameCount * 0.01); - box(120); - popMatrix(); - - if (applyFilter == true) { - filter(edges); - } - - // The sphere doesn't have the edge detection applied - // on it because it is drawn after filter() is called. - rotateY(frameCount * 0.02); - translate(150, 0); - sphere(40); -} - -void mousePressed() { - applyFilter = !applyFilter; -} diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Shaders/EdgeFilter/data/edges.glsl b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Shaders/EdgeFilter/data/edges.glsl deleted file mode 100644 index 9d43cda..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Shaders/EdgeFilter/data/edges.glsl +++ /dev/null @@ -1,40 +0,0 @@ -#ifdef GL_ES -precision mediump float; -precision mediump int; -#endif - -#define PROCESSING_TEXTURE_SHADER - -uniform sampler2D texture; -uniform vec2 texOffset; - -varying vec4 vertColor; -varying vec4 vertTexCoord; - -void main(void) { - // Grouping texcoord variables in order to make it work in the GMA 950. See post #13 - // in this thread: - // http://www.idevgames.com/forums/thread-3467.html - vec2 tc0 = vertTexCoord.st + vec2(-texOffset.s, -texOffset.t); - vec2 tc1 = vertTexCoord.st + vec2( 0.0, -texOffset.t); - vec2 tc2 = vertTexCoord.st + vec2(+texOffset.s, -texOffset.t); - vec2 tc3 = vertTexCoord.st + vec2(-texOffset.s, 0.0); - vec2 tc4 = vertTexCoord.st + vec2( 0.0, 0.0); - vec2 tc5 = vertTexCoord.st + vec2(+texOffset.s, 0.0); - vec2 tc6 = vertTexCoord.st + vec2(-texOffset.s, +texOffset.t); - vec2 tc7 = vertTexCoord.st + vec2( 0.0, +texOffset.t); - vec2 tc8 = vertTexCoord.st + vec2(+texOffset.s, +texOffset.t); - - vec4 col0 = texture2D(texture, tc0); - vec4 col1 = texture2D(texture, tc1); - vec4 col2 = texture2D(texture, tc2); - vec4 col3 = texture2D(texture, tc3); - vec4 col4 = texture2D(texture, tc4); - vec4 col5 = texture2D(texture, tc5); - vec4 col6 = texture2D(texture, tc6); - vec4 col7 = texture2D(texture, tc7); - vec4 col8 = texture2D(texture, tc8); - - vec4 sum = 8.0 * col4 - (col0 + col1 + col2 + col3 + col5 + col6 + col7 + col8); - gl_FragColor = vec4(sum.rgb, 1.0) * vertColor; -} diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Shaders/GlossyFishEye/GlossyFishEye.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Shaders/GlossyFishEye/GlossyFishEye.pde deleted file mode 100644 index 075913a..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Shaders/GlossyFishEye/GlossyFishEye.pde +++ /dev/null @@ -1,72 +0,0 @@ -/** - * Glossy Fish Eye - * - * A fish-eye shader is used on the main surface and - * a glossy specular reflection shader is used on the - * offscreen canvas. - */ - -PShader fisheye; -PShader glossy; -PGraphics canvas; -PImage img; -PShape ball; - -boolean useFishEye = true; - -void setup() { - size(640, 640, P3D); - canvas = createGraphics(width, height, P3D); - - fisheye = loadShader("FishEye.glsl"); - fisheye.set("aperture", 180.0); - - glossy = loadShader("GlossyFrag.glsl", "GlossyVert.glsl"); - glossy.set("AmbientColour", 0.0, 0.0, 0.0); - glossy.set("DiffuseColour", 0.9, 0.2, 0.2); - glossy.set("SpecularColour", 1.0, 1.0, 1.0); - glossy.set("AmbientIntensity", 1.0); - glossy.set("DiffuseIntensity", 1.0); - glossy.set("SpecularIntensity", 0.7); - glossy.set("Roughness", 0.7); - glossy.set("Sharpness", 0.0); - - ball = createShape(SPHERE, 50); - ball.setStroke(false); -} - -void draw() { - canvas.beginDraw(); - canvas.shader(glossy); - canvas.noStroke(); - canvas.background(0); - canvas.pushMatrix(); - canvas.rotateY(frameCount * 0.01); - canvas.pointLight(204, 204, 204, 1000, 1000, 1000); - canvas.popMatrix(); - for (float x = 0; x < canvas.width + 100; x += 100) { - for (float y = 0; y < canvas.height + 100; y += 100) { - for (float z = 0; z < 400; z += 100) { - canvas.pushMatrix(); - canvas.translate(x, y, -z); - canvas.shape(ball); - canvas.popMatrix(); - } - } - } - canvas.endDraw(); - - if (useFishEye == true) { - shader(fisheye); - } - image(canvas, 0, 0, width, height); -} - -void mousePressed() { - if (useFishEye) { - useFishEye = false; - resetShader(); - } else { - useFishEye = true; - } -} diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Shaders/GlossyFishEye/data/FishEye.glsl b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Shaders/GlossyFishEye/data/FishEye.glsl deleted file mode 100644 index 9865603..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Shaders/GlossyFishEye/data/FishEye.glsl +++ /dev/null @@ -1,59 +0,0 @@ -// Inspired by the "Angular Fisheye Ć  la Bourke" sketch from -// Jonathan Cremieux, as shown in the OpenProcessing website: -// http://openprocessing.org/visuals/?visualID=12140 -// Using the inverse transform of the angular fisheye as -// explained in Paul Bourke's website: -// http://paulbourke.net/miscellaneous/domefisheye/fisheye/ - -#ifdef GL_ES -precision mediump float; -precision mediump int; -#endif - -#define PROCESSING_TEXTURE_SHADER - -uniform sampler2D texture; -uniform mat4 texMatrix; - -varying vec4 vertColor; -varying vec4 vertTexCoord; - -uniform float aperture; - -const float PI = 3.1415926535; - -void main(void) { - float apertureHalf = 0.5 * aperture * (PI / 180.0); - - // This factor ajusts the coordinates in the case that - // the aperture angle is less than 180 degrees, in which - // case the area displayed is not the entire half-sphere. - float maxFactor = sin(apertureHalf); - - // The st factor takes into account the situation when non-pot - // textures are not supported, so that the maximum texture - // coordinate to cover the entire image might not be 1. - vec2 stFactor = vec2(1.0 / abs(texMatrix[0][0]), 1.0 / abs(texMatrix[1][1])); - vec2 pos = (2.0 * vertTexCoord.st * stFactor - 1.0); - - float l = length(pos); - if (l > 1.0) { - gl_FragColor = vec4(0, 0, 0, 1); - } else { - float x = maxFactor * pos.x; - float y = maxFactor * pos.y; - - float n = length(vec2(x, y)); - - float z = sqrt(1.0 - n * n); - - float r = atan(n, z) / PI; - - float phi = atan(y, x); - - float u = r * cos(phi) + 0.5; - float v = r * sin(phi) + 0.5; - - gl_FragColor = texture2D(texture, vec2(u, v) / stFactor) * vertColor; - } -} \ No newline at end of file diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Shaders/GlossyFishEye/data/GlossyFrag.glsl b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Shaders/GlossyFishEye/data/GlossyFrag.glsl deleted file mode 100644 index 239b292..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Shaders/GlossyFishEye/data/GlossyFrag.glsl +++ /dev/null @@ -1,44 +0,0 @@ -// Copyright (C) 2007 Dave Griffiths -// Copyright (C) 2007 Dave Griffiths -// Licence: GPLv2 (see COPYING) -// Fluxus Shader Library -// --------------------- -// Glossy Specular Reflection Shader -// A more controllable version of blinn shading, -// Useful for ceramic or fluids - from Advanced -// Renderman, thanks to Larry Gritz - -#ifdef GL_ES -precision mediump float; -precision mediump int; -#endif - -uniform vec3 AmbientColour; -uniform vec3 DiffuseColour; -uniform vec3 SpecularColour; -uniform float AmbientIntensity; -uniform float DiffuseIntensity; -uniform float SpecularIntensity; -uniform float Roughness; -uniform float Sharpness; - -varying vec3 N; -varying vec3 P; -varying vec3 V; -varying vec3 L; - -void main() { - float w = 0.18*(1.0-Sharpness); - - vec3 l = normalize(L); - vec3 n = normalize(N); - vec3 v = normalize(V); - vec3 h = normalize(l+v); - - float diffuse = dot(l,n); - float specular = smoothstep(0.72-w,0.72+w,pow(max(0.0,dot(n,h)),1.0/Roughness)); - - gl_FragColor = vec4(AmbientColour*AmbientIntensity + - DiffuseColour*diffuse*DiffuseIntensity + - SpecularColour*specular*SpecularIntensity,1); -} diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Shaders/GlossyFishEye/data/GlossyVert.glsl b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Shaders/GlossyFishEye/data/GlossyVert.glsl deleted file mode 100644 index ee06523..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Shaders/GlossyFishEye/data/GlossyVert.glsl +++ /dev/null @@ -1,33 +0,0 @@ -// Copyright (C) 2007 Dave Griffiths -// Licence: GPLv2 (see COPYING) -// Fluxus Shader Library -// --------------------- -// Glossy Specular Reflection Shader -// A more controllable version of blinn shading, -// Useful for ceramic or fluids - from Advanced -// Renderman, thanks to Larry Gritz - -#define PROCESSING_LIGHT_SHADER - -uniform mat4 modelview; -uniform mat4 transform; -uniform mat3 normalMatrix; - -uniform vec4 lightPosition[8]; - -attribute vec4 vertex; -attribute vec3 normal; - -varying vec3 N; -varying vec3 P; -varying vec3 V; -varying vec3 L; - -void main() { - N = normalize(normalMatrix * normal); - P = vertex.xyz; - V = -vec3(modelview * vertex); - L = vec3(modelview * (lightPosition[0] - vertex)); - gl_Position = transform * vertex; -} - diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Shaders/ImageMask/ImageMask.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Shaders/ImageMask/ImageMask.pde deleted file mode 100644 index 4a30e76..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Shaders/ImageMask/ImageMask.pde +++ /dev/null @@ -1,34 +0,0 @@ -/** - * Image Mask - * - * Move the mouse to reveal the image through the dynamic mask. - */ - -PShader maskShader; -PImage srcImage; -PGraphics maskImage; - -void setup() { - size(640, 360, P2D); - srcImage = loadImage("leaves.jpg"); - maskImage = createGraphics(srcImage.width, srcImage.height, P2D); - maskImage.noSmooth(); - maskShader = loadShader("mask.glsl"); - maskShader.set("mask", maskImage); - background(255); -} - -void draw() { - maskImage.beginDraw(); - maskImage.background(0); - if (mouseX != 0 && mouseY != 0) { - maskImage.noStroke(); - maskImage.fill(255, 0, 0); - maskImage.ellipse(mouseX, mouseY, 50, 50); - } - maskImage.endDraw(); - - shader(maskShader); - image(srcImage, 0, 0, width, height); -} - diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Shaders/ImageMask/data/leaves.jpg b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Shaders/ImageMask/data/leaves.jpg deleted file mode 100644 index 1ec4d01..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Shaders/ImageMask/data/leaves.jpg and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Shaders/ImageMask/data/mask.glsl b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Shaders/ImageMask/data/mask.glsl deleted file mode 100644 index 006219d..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Shaders/ImageMask/data/mask.glsl +++ /dev/null @@ -1,19 +0,0 @@ -#ifdef GL_ES -precision mediump float; -precision mediump int; -#endif - -#define PROCESSING_TEXTURE_SHADER - -uniform sampler2D texture; -uniform sampler2D mask; - -uniform vec2 texOffset; -varying vec4 vertColor; -varying vec4 vertTexCoord; - -void main() { - vec4 texColor = texture2D(texture, vertTexCoord.st).rgba; - vec4 maskColor = texture2D(mask, vec2(vertTexCoord.s, 1.0 - vertTexCoord.t)).rgba; - gl_FragColor = mix(texColor, vec4(0, 0, 0, 0), 1.0 - maskColor.r); -} \ No newline at end of file diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Shaders/InfiniteTiles/InfiniteTiles.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Shaders/InfiniteTiles/InfiniteTiles.pde deleted file mode 100644 index ae0af48..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Shaders/InfiniteTiles/InfiniteTiles.pde +++ /dev/null @@ -1,26 +0,0 @@ -//------------------------------------------------------------- -// Display endless moving background using a tile texture. -// Contributed by martiSteiger -//------------------------------------------------------------- - -PImage tileTexture; -PShader tileShader; - -void setup() { - size(640, 480, P2D); - textureWrap(REPEAT); - tileTexture = loadImage("penrose.jpg"); - loadTileShader(); -} - -void loadTileShader() { - tileShader = loadShader("scroller.glsl"); - tileShader.set("resolution", float(width), float(height)); - tileShader.set("tileImage", tileTexture); -} - -void draw() { - tileShader.set("time", millis() / 1000.0); - shader(tileShader); - rect(0, 0, width, height); -} \ No newline at end of file diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Shaders/InfiniteTiles/data/penrose.jpg b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Shaders/InfiniteTiles/data/penrose.jpg deleted file mode 100644 index 94e1060..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Shaders/InfiniteTiles/data/penrose.jpg and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Shaders/InfiniteTiles/data/scroller.glsl b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Shaders/InfiniteTiles/data/scroller.glsl deleted file mode 100644 index 0717bea..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Shaders/InfiniteTiles/data/scroller.glsl +++ /dev/null @@ -1,17 +0,0 @@ -//--------------------------------------------------------- -// Display endless moving background using a tile texture. -// Contributed by martiSteiger -//--------------------------------------------------------- - -uniform float time; -uniform vec2 resolution; -uniform sampler2D tileImage; - -#define TILES_COUNT_X 4.0 - -void main() { - vec2 pos = gl_FragCoord.xy - vec2(4.0 * time); - vec2 p = (resolution - TILES_COUNT_X * pos) / resolution.x; - vec3 col = texture2D (tileImage, p).xyz; - gl_FragColor = vec4 (col, 1.0); -} \ No newline at end of file diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Shaders/Landscape/Landscape.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Shaders/Landscape/Landscape.pde deleted file mode 100644 index a373709..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Shaders/Landscape/Landscape.pde +++ /dev/null @@ -1,31 +0,0 @@ -/** - * Elevated - * https://www.shadertoy.com/view/MdX3Rr by inigo quilez - * Created by inigo quilez - iq/2013 - * License Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License. - * Processing port by RaphaĆ«l de Courville. - */ - -PShader landscape; - -void setup() { - size(640, 360, P2D); - noStroke(); - - // This GLSL code shows how to use shaders from - // shadertoy in Processing with minimal changes. - landscape = loadShader("landscape.glsl"); - landscape.set("resolution", float(width), float(height)); -} - -void draw() { - background(0); - - landscape.set("time", millis() / 1000.0); - shader(landscape); - rect(0, 0, width, height); - - if (frameCount % 10 == 0) { // every 10th frame - println("frame: " + frameCount + " - fps: " + frameRate); - } -} diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Shaders/Landscape/data/landscape.glsl b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Shaders/Landscape/data/landscape.glsl deleted file mode 100644 index b334641..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Shaders/Landscape/data/landscape.glsl +++ /dev/null @@ -1,352 +0,0 @@ -// Elevated shader -// https://www.shadertoy.com/view/MdX3Rr by inigo quilez - -// Created by inigo quilez - iq/2013 -// License Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License. - -// Processing port by RaphaĆ«l de Courville. - -#ifdef GL_ES -precision highp float; -#endif - -// Type of shader expected by Processing -#define PROCESSING_COLOR_SHADER - -// Processing specific input -uniform float time; -uniform vec2 resolution; -uniform vec2 mouse; - -// Layer between Processing and Shadertoy uniforms -vec3 iResolution = vec3(resolution,0.0); -float iGlobalTime = time; -vec4 iMouse = vec4(mouse,0.0,0.0); // zw would normally be the click status - -// ------- Below is the unmodified Shadertoy code ---------- -// Created by inigo quilez - iq/2013 -// License Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License. - -//stereo thanks to Croqueteer -//#define STEREO - -mat3 m = mat3( 0.00, 0.80, 0.60, - -0.80, 0.36, -0.48, - -0.60, -0.48, 0.64 ); - -float hash( float n ) -{ - return fract(sin(n)*43758.5453123); -} - - -float noise( in vec3 x ) -{ - vec3 p = floor(x); - vec3 f = fract(x); - - f = f*f*(3.0-2.0*f); - - float n = p.x + p.y*57.0 + 113.0*p.z; - - float res = mix(mix(mix( hash(n+ 0.0), hash(n+ 1.0),f.x), - mix( hash(n+ 57.0), hash(n+ 58.0),f.x),f.y), - mix(mix( hash(n+113.0), hash(n+114.0),f.x), - mix( hash(n+170.0), hash(n+171.0),f.x),f.y),f.z); - return res; -} - - - - -vec3 noised( in vec2 x ) -{ - vec2 p = floor(x); - vec2 f = fract(x); - - vec2 u = f*f*(3.0-2.0*f); - - float n = p.x + p.y*57.0; - - float a = hash(n+ 0.0); - float b = hash(n+ 1.0); - float c = hash(n+ 57.0); - float d = hash(n+ 58.0); - return vec3(a+(b-a)*u.x+(c-a)*u.y+(a-b-c+d)*u.x*u.y, - 30.0*f*f*(f*(f-2.0)+1.0)*(vec2(b-a,c-a)+(a-b-c+d)*u.yx)); - -} - -float noise( in vec2 x ) -{ - vec2 p = floor(x); - vec2 f = fract(x); - - f = f*f*(3.0-2.0*f); - - float n = p.x + p.y*57.0; - - float res = mix(mix( hash(n+ 0.0), hash(n+ 1.0),f.x), - mix( hash(n+ 57.0), hash(n+ 58.0),f.x),f.y); - - return res; -} - -float fbm( vec3 p ) -{ - float f = 0.0; - - f += 0.5000*noise( p ); p = m*p*2.02; - f += 0.2500*noise( p ); p = m*p*2.03; - f += 0.1250*noise( p ); p = m*p*2.01; - f += 0.0625*noise( p ); - - return f/0.9375; -} - -mat2 m2 = mat2(1.6,-1.2,1.2,1.6); - -float fbm( vec2 p ) -{ - float f = 0.0; - - f += 0.5000*noise( p ); p = m2*p*2.02; - f += 0.2500*noise( p ); p = m2*p*2.03; - f += 0.1250*noise( p ); p = m2*p*2.01; - f += 0.0625*noise( p ); - - return f/0.9375; -} - -float terrain( in vec2 x ) -{ - vec2 p = x*0.003; - float a = 0.0; - float b = 1.0; - vec2 d = vec2(0.0); - for(int i=0;i<5; i++) - { - vec3 n = noised(p); - d += n.yz; - a += b*n.x/(1.0+dot(d,d)); - b *= 0.5; - p=mat2(1.6,-1.2,1.2,1.6)*p; - } - - return 140.0*a; -} - -float terrain2( in vec2 x ) -{ - vec2 p = x*0.003; - float a = 0.0; - float b = 1.0; - vec2 d = vec2(0.0); - for(int i=0;i<14; i++) - { - vec3 n = noised(p); - d += n.yz; - a += b*n.x/(1.0+dot(d,d)); - b *= 0.5; - p=m2*p; - } - - return 140.0*a; -} - - -float map( in vec3 p ) -{ - float h = terrain(p.xz); - - float ss = 0.03; - float hh = h*ss; - float fh = fract(hh); - float ih = floor(hh); - fh = mix( sqrt(fh), fh, smoothstep(50.0,140.0,h) ); - h = (ih+fh)/ss; - - return p.y - h; -} - -float map2( in vec3 p ) -{ - float h = terrain2(p.xz); - - - float ss = 0.03; - float hh = h*ss; - float fh = fract(hh); - float ih = floor(hh); - fh = mix( sqrt(fh), fh, smoothstep(50.0,140.0,h) ); - h = (ih+fh)/ss; - - return p.y - h; -} - -bool jinteresct(in vec3 rO, in vec3 rD, out float resT ) -{ - float h = 0.0; - float t = 0.0; - for( int j=0; j<120; j++ ) - { - //if( t>2000.0 ) break; - - vec3 p = rO + t*rD; -if( p.y>300.0 ) break; - h = map( p ); - - if( h<0.1 ) - { - resT = t; - return true; - } - t += max(0.1,0.5*h); - - } - - if( h<5.0 ) - { - resT = t; - return true; - } - return false; -} - -float sinteresct(in vec3 rO, in vec3 rD ) -{ - float res = 1.0; - float t = 0.0; - for( int j=0; j<50; j++ ) - { - //if( t>1000.0 ) break; - vec3 p = rO + t*rD; - - float h = map( p ); - - if( h<0.1 ) - { - return 0.0; - } - res = min( res, 16.0*h/t ); - t += h; - - } - - return clamp( res, 0.0, 1.0 ); -} - -vec3 calcNormal( in vec3 pos, float t ) -{ - float e = 0.001; - e = 0.001*t; - vec3 eps = vec3(e,0.0,0.0); - vec3 nor; - nor.x = map2(pos+eps.xyy) - map2(pos-eps.xyy); - nor.y = map2(pos+eps.yxy) - map2(pos-eps.yxy); - nor.z = map2(pos+eps.yyx) - map2(pos-eps.yyx); - return normalize(nor); -} - -vec3 camPath( float time ) -{ - vec2 p = 600.0*vec2( cos(1.4+0.37*time), - cos(3.2+0.31*time) ); - - return vec3( p.x, 0.0, p.y ); -} - -void main(void) -{ - vec2 xy = -1.0 + 2.0*gl_FragCoord.xy / iResolution.xy; - - vec2 s = xy*vec2(1.75,1.0); - - #ifdef STEREO - float isCyan = mod(gl_FragCoord.x + mod(gl_FragCoord.y,2.0),2.0); - #endif - - float time = iGlobalTime*.15; - - vec3 light1 = normalize( vec3( 0.4, 0.22, 0.6 ) ); - vec3 light2 = vec3( -0.707, 0.000, -0.707 ); - - - vec3 campos = camPath( time ); - vec3 camtar = camPath( time + 3.0 ); - campos.y = terrain( campos.xz ) + 15.0; - camtar.y = campos.y*0.5; - - float roll = 0.1*cos(0.1*time); - vec3 cw = normalize(camtar-campos); - vec3 cp = vec3(sin(roll), cos(roll),0.0); - vec3 cu = normalize(cross(cw,cp)); - vec3 cv = normalize(cross(cu,cw)); - vec3 rd = normalize( s.x*cu + s.y*cv + 1.6*cw ); - - #ifdef STEREO - campos += 2.0*cu*isCyan; // move camera to the right - the rd vector is still good - #endif - - float sundot = clamp(dot(rd,light1),0.0,1.0); - vec3 col; - float t; - if( !jinteresct(campos,rd,t) ) - { - col = 0.9*vec3(0.97,.99,1.0)*(1.0-0.3*rd.y); - col += 0.2*vec3(0.8,0.7,0.5)*pow( sundot, 4.0 ); - } - else - { - vec3 pos = campos + t*rd; - - vec3 nor = calcNormal( pos, t ); - - float dif1 = clamp( dot( light1, nor ), 0.0, 1.0 ); - float dif2 = clamp( 0.2 + 0.8*dot( light2, nor ), 0.0, 1.0 ); - float sh = 1.0; - if( dif1>0.001 ) - sh = sinteresct(pos+light1*20.0,light1); - - vec3 dif1v = vec3(dif1); - dif1v *= vec3( sh, sh*sh*0.5+0.5*sh, sh*sh ); - - float r = noise( 7.0*pos.xz ); - - col = (r*0.25+0.75)*0.9*mix( vec3(0.10,0.05,0.03), vec3(0.13,0.10,0.08), clamp(terrain2( vec2(pos.x,pos.y*48.0))/200.0,0.0,1.0) ); - col = mix( col, 0.17*vec3(0.5,.23,0.04)*(0.50+0.50*r),smoothstep(0.70,0.9,nor.y) ); - col = mix( col, 0.10*vec3(0.2,.30,0.00)*(0.25+0.75*r),smoothstep(0.95,1.0,nor.y) ); - col *= 0.75; - // snow - #if 1 - float h = smoothstep(55.0,80.0,pos.y + 25.0*fbm(0.01*pos.xz) ); - float e = smoothstep(1.0-0.5*h,1.0-0.1*h,nor.y); - float o = 0.3 + 0.7*smoothstep(0.0,0.1,nor.x+h*h); - float s = h*e*o; - s = smoothstep( 0.1, 0.9, s ); - col = mix( col, 0.4*vec3(0.6,0.65,0.7), s ); - #endif - - - vec3 brdf = 2.0*vec3(0.17,0.19,0.20)*clamp(nor.y,0.0,1.0); - brdf += 6.0*vec3(1.00,0.95,0.80)*dif1v; - brdf += 2.0*vec3(0.20,0.20,0.20)*dif2; - - col *= brdf; - - float fo = 1.0-exp(-pow(0.0015*t,1.5)); - vec3 fco = vec3(0.7) + 0.6*vec3(0.8,0.7,0.5)*pow( sundot, 4.0 ); - col = mix( col, fco, fo ); - } - - col = sqrt(col); - - vec2 uv = xy*0.5+0.5; - col *= 0.7 + 0.3*pow(16.0*uv.x*uv.y*(1.0-uv.x)*(1.0-uv.y),0.1); - - #ifdef STEREO - col *= vec3( isCyan, 1.0-isCyan, 1.0-isCyan ); - #endif - - gl_FragColor=vec4(col,1.0); -} diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Shaders/Monjori/Monjori.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Shaders/Monjori/Monjori.pde deleted file mode 100644 index 8ff7ca4..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Shaders/Monjori/Monjori.pde +++ /dev/null @@ -1,31 +0,0 @@ -/** - * Monjori. - * - * GLSL version of the 1k intro Monjori from the demoscene - * (http://www.pouet.net/prod.php?which=52761) - * Ported from the webGL version available in ShaderToy: - * http://www.iquilezles.org/apps/shadertoy/ - * (Look for Monjori under the Plane Deformations Presets) - */ - -PShader monjori; - -void setup() { - size(640, 360, P2D); - noStroke(); - - monjori = loadShader("monjori.glsl"); - monjori.set("resolution", float(width), float(height)); -} - -void draw() { - monjori.set("time", millis() / 1000.0); - - shader(monjori); - // This kind of effects are entirely implemented in the - // fragment shader, they only need a quad covering the - // entire view area so every pixel is pushed through the - // shader. - rect(0, 0, width, height); -} - diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Shaders/Monjori/data/monjori.glsl b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Shaders/Monjori/data/monjori.glsl deleted file mode 100644 index 96e53f6..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Shaders/Monjori/data/monjori.glsl +++ /dev/null @@ -1,30 +0,0 @@ -#define PROCESSING_COLOR_SHADER - -uniform vec2 resolution; -uniform float time; - -void main(void) { - vec2 p = -1.0 + 2.0 * gl_FragCoord.xy / resolution.xy; - float a = time*40.0; - float d,e,f,g=1.0/40.0,h,i,r,q; - e=400.0*(p.x*0.5+0.5); - f=400.0*(p.y*0.5+0.5); - i=200.0+sin(e*g+a/150.0)*20.0; - d=200.0+cos(f*g/2.0)*18.0+cos(e*g)*7.0; - r=sqrt(pow(i-e,2.0)+pow(d-f,2.0)); - q=f/r; - e=(r*cos(q))-a/2.0;f=(r*sin(q))-a/2.0; - d=sin(e*g)*176.0+sin(e*g)*164.0+r; - h=((f+d)+a/2.0)*g; - i=cos(h+r*p.x/1.3)*(e+e+a)+cos(q*g*6.0)*(r+h/3.0); - h=sin(f*g)*144.0-sin(e*g)*212.0*p.x; - h=(h+(f-e)*q+sin(r-(a+h)/7.0)*10.0+i/4.0)*g; - i+=cos(h*2.3*sin(a/350.0-q))*184.0*sin(q-(r*4.3+a/12.0)*g)+tan(r*g+h)*184.0*cos(r*g+h); - i=mod(i/5.6,256.0)/64.0; - if(i<0.0) i+=4.0; - if(i>=2.0) i=4.0-i; - d=r/350.0; - d+=sin(d*d*8.0)*0.52; - f=(sin(a*g)+1.0)/2.0; - gl_FragColor=vec4(vec3(f*i/1.6,i/2.0+d/13.0,i)*d*p.x+vec3(i/1.3+d/8.0,i/2.0+d/18.0,i)*d*(1.0-p.x),1.0); -} diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Shaders/Nebula/Nebula.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Shaders/Nebula/Nebula.pde deleted file mode 100644 index c8b0923..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Shaders/Nebula/Nebula.pde +++ /dev/null @@ -1,27 +0,0 @@ -/** - * Nebula. - * - * From CoffeeBreakStudios.com (CBS) - * Ported from the webGL version in GLSL Sandbox: - * http://glsl.heroku.com/e#3265.2 - */ - -PShader nebula; - -void setup() { - size(640, 360, P2D); - noStroke(); - - nebula = loadShader("nebula.glsl"); - nebula.set("resolution", float(width), float(height)); -} - -void draw() { - nebula.set("time", millis() / 500.0); - shader(nebula); - // This kind of raymarching effects are entirely implemented in the - // fragment shader, they only need a quad covering the entire view - // area so every pixel is pushed through the shader. - rect(0, 0, width, height); -} - diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Shaders/Nebula/data/nebula.glsl b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Shaders/Nebula/data/nebula.glsl deleted file mode 100644 index 11717c9..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Shaders/Nebula/data/nebula.glsl +++ /dev/null @@ -1,111 +0,0 @@ -#define PROCESSING_COLOR_SHADER - -uniform float time; -uniform vec2 resolution; - -// NEBULA - CoffeeBreakStudios.com (CBS) -// Work in progress... -// -// 3148.26: Switched from classic to simplex noise -// 3148.27: Reduced number of stars -// 3249.0: Switched to fast computed 3D noise. Less quality but ~ 2x faster -// 3249.5: Removed use of random number generator to gain performance -// 3265.0: Added rotation: glsl.heroku.com/e#3005.1 - -//Utility functions - -vec3 fade(vec3 t) { - return vec3(1.0,1.0,1.0);//t*t*t*(t*(t*6.0-15.0)+10.0); -} - -vec2 rotate(vec2 point, float rads) { - float cs = cos(rads); - float sn = sin(rads); - return point * mat2(cs, -sn, sn, cs); -} - -vec4 randomizer4(const vec4 x) -{ - vec4 z = mod(x, vec4(5612.0)); - z = mod(z, vec4(3.1415927 * 2.0)); - return(fract(cos(z) * vec4(56812.5453))); -} - -// Fast computed noise -// http://www.gamedev.net/topic/502913-fast-computed-noise/ - -const float A = 1.0; -const float B = 57.0; -const float C = 113.0; -const vec3 ABC = vec3(A, B, C); -const vec4 A3 = vec4(0, B, C, C+B); -const vec4 A4 = vec4(A, A+B, C+A, C+A+B); - -float cnoise4(const in vec3 xx) -{ - vec3 x = mod(xx + 32768.0, 65536.0); - vec3 ix = floor(x); - vec3 fx = fract(x); - vec3 wx = fx*fx*(3.0-2.0*fx); - float nn = dot(ix, ABC); - - vec4 N1 = nn + A3; - vec4 N2 = nn + A4; - vec4 R1 = randomizer4(N1); - vec4 R2 = randomizer4(N2); - vec4 R = mix(R1, R2, wx.x); - float re = mix(mix(R.x, R.y, wx.y), mix(R.z, R.w, wx.y), wx.z); - - return 1.0 - 2.0 * re; -} -float surface3 ( vec3 coord, float frequency ) { - - float n = 0.0; - - n += 1.0 * abs( cnoise4( coord * frequency ) ); - n += 0.5 * abs( cnoise4( coord * frequency * 2.0 ) ); - n += 0.25 * abs( cnoise4( coord * frequency * 4.0 ) ); - n += 0.125 * abs( cnoise4( coord * frequency * 8.0 ) ); - n += 0.0625 * abs( cnoise4( coord * frequency * 16.0 ) ); - - return n; -} - -void main( void ) { - float rads = radians(time*3.15); - vec2 position = gl_FragCoord.xy / resolution.xy; - position += rotate(position, rads); - float n = surface3(vec3(position*sin(time*0.1), time * 0.05)*mat3(1,0,0,0,.8,.6,0,-.6,.8),0.9); - float n2 = surface3(vec3(position*cos(time*0.1), time * 0.04)*mat3(1,0,0,0,.8,.6,0,-.6,.8),0.8); - float lum = length(n); - float lum2 = length(n2); - - vec3 tc = pow(vec3(1.0-lum),vec3(sin(position.x)+cos(time)+4.0,8.0+sin(time)+4.0,8.0)); - vec3 tc2 = pow(vec3(1.1-lum2),vec3(5.0,position.y+cos(time)+7.0,sin(position.x)+sin(time)+2.0)); - vec3 curr_color = (tc*0.8) + (tc2*0.5); - - - //Let's draw some stars - - float scale = sin(0.3 * time) + 5.0; - vec2 position2 = (((gl_FragCoord.xy / resolution) - 0.5) * scale); - float gradient = 0.0; - vec3 color = vec3(0.0); - float fade = 0.0; - float z = 0.0; - vec2 centered_coord = position2 - vec2(sin(time*0.1),sin(time*0.1)); - centered_coord = rotate(centered_coord, rads); - - for (float i=1.0; i<=60.0; i++) - { - vec2 star_pos = vec2(sin(i) * 250.0, sin(i*i*i) * 250.0); - float z = mod(i*i - 10.0*time, 256.0); - float fade = (256.0 - z) /256.0; - vec2 blob_coord = star_pos / z; - gradient += ((fade / 384.0) / pow(length(centered_coord - blob_coord), 1.5)) * ( fade); - } - - curr_color += gradient; - - gl_FragColor = vec4(curr_color, 1.0); -} \ No newline at end of file diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Shaders/SepBlur/SepBlur.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Shaders/SepBlur/SepBlur.pde deleted file mode 100644 index e9e61a1..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Shaders/SepBlur/SepBlur.pde +++ /dev/null @@ -1,68 +0,0 @@ -/** - * Separate Blur Shader - * - * This blur shader works by applying two successive passes, one horizontal - * and the other vertical. - * - * Press the mouse to switch between the custom and default shader. - */ - -PShader blur; -PGraphics src; -PGraphics pass1, pass2; - -void setup() { - size(640, 360, P2D); - - blur = loadShader("blur.glsl"); - blur.set("blurSize", 9); - blur.set("sigma", 5.0f); - - src = createGraphics(width, height, P2D); - - pass1 = createGraphics(width, height, P2D); - pass1.noSmooth(); - - pass2 = createGraphics(width, height, P2D); - pass2.noSmooth(); -} - -void draw() { - src.beginDraw(); - src.background(0); - src.fill(255); - src.ellipse(width/2, height/2, 100, 100); - src.endDraw(); - - // Applying the blur shader along the vertical direction - blur.set("horizontalPass", 0); - pass1.beginDraw(); - pass1.shader(blur); - pass1.image(src, 0, 0); - pass1.endDraw(); - - // Applying the blur shader along the horizontal direction - blur.set("horizontalPass", 1); - pass2.beginDraw(); - pass2.shader(blur); - pass2.image(pass1, 0, 0); - pass2.endDraw(); - - image(pass2, 0, 0); -} - -void keyPressed() { - if (key == '9') { - blur.set("blurSize", 9); - blur.set("sigma", 5.0); - } else if (key == '7') { - blur.set("blurSize", 7); - blur.set("sigma", 3.0); - } else if (key == '5') { - blur.set("blurSize", 5); - blur.set("sigma", 2.0); - } else if (key == '3') { - blur.set("blurSize", 5); - blur.set("sigma", 1.0); - } -} diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Shaders/SepBlur/data/blur.glsl b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Shaders/SepBlur/data/blur.glsl deleted file mode 100644 index 1b15094..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Shaders/SepBlur/data/blur.glsl +++ /dev/null @@ -1,59 +0,0 @@ -// Adapted from: -// http://callumhay.blogspot.com/2010/09/gaussian-blur-shader-glsl.html - -#ifdef GL_ES -precision mediump float; -precision mediump int; -#endif - -#define PROCESSING_TEXTURE_SHADER - -uniform sampler2D texture; - -// The inverse of the texture dimensions along X and Y -uniform vec2 texOffset; - -varying vec4 vertColor; -varying vec4 vertTexCoord; - -uniform int blurSize; -uniform int horizontalPass; // 0 or 1 to indicate vertical or horizontal pass -uniform float sigma; // The sigma value for the gaussian function: higher value means more blur - // A good value for 9x9 is around 3 to 5 - // A good value for 7x7 is around 2.5 to 4 - // A good value for 5x5 is around 2 to 3.5 - // ... play around with this based on what you need :) - -const float pi = 3.14159265; - -void main() { - float numBlurPixelsPerSide = float(blurSize / 2); - - vec2 blurMultiplyVec = 0 < horizontalPass ? vec2(1.0, 0.0) : vec2(0.0, 1.0); - - // Incremental Gaussian Coefficent Calculation (See GPU Gems 3 pp. 877 - 889) - vec3 incrementalGaussian; - incrementalGaussian.x = 1.0 / (sqrt(2.0 * pi) * sigma); - incrementalGaussian.y = exp(-0.5 / (sigma * sigma)); - incrementalGaussian.z = incrementalGaussian.y * incrementalGaussian.y; - - vec4 avgValue = vec4(0.0, 0.0, 0.0, 0.0); - float coefficientSum = 0.0; - - // Take the central sample first... - avgValue += texture2D(texture, vertTexCoord.st) * incrementalGaussian.x; - coefficientSum += incrementalGaussian.x; - incrementalGaussian.xy *= incrementalGaussian.yz; - - // Go through the remaining 8 vertical samples (4 on each side of the center) - for (float i = 1.0; i <= numBlurPixelsPerSide; i++) { - avgValue += texture2D(texture, vertTexCoord.st - i * texOffset * - blurMultiplyVec) * incrementalGaussian.x; - avgValue += texture2D(texture, vertTexCoord.st + i * texOffset * - blurMultiplyVec) * incrementalGaussian.x; - coefficientSum += 2.0 * incrementalGaussian.x; - incrementalGaussian.xy *= incrementalGaussian.yz; - } - - gl_FragColor = avgValue / coefficientSum; -} \ No newline at end of file diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Shaders/ToonShading/ToonShading.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Shaders/ToonShading/ToonShading.pde deleted file mode 100644 index 644a74c..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Shaders/ToonShading/ToonShading.pde +++ /dev/null @@ -1,43 +0,0 @@ -/** - * Toon Shading. - * - * Example showing the use of a custom lighting shader in order - * to apply a "toon" effect on the scene. Based on the glsl tutorial - * from lighthouse 3D: - * http://www.lighthouse3d.com/tutorials/glsl-tutorial/toon-shader-version-ii/ - */ - -PShader toon; -boolean shaderEnabled = true; - -void setup() { - size(640, 360, P3D); - noStroke(); - fill(204); - toon = loadShader("ToonFrag.glsl", "ToonVert.glsl"); -} - -void draw() { - if (shaderEnabled == true) { - shader(toon); - } - - noStroke(); - background(0); - float dirY = (mouseY / float(height) - 0.5) * 2; - float dirX = (mouseX / float(width) - 0.5) * 2; - directionalLight(204, 204, 204, -dirX, -dirY, -1); - translate(width/2, height/2); - sphere(120); -} - -void mousePressed() { - if (shaderEnabled) { - shaderEnabled = false; - resetShader(); - } - else { - shaderEnabled = true; - } -} - diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Shaders/ToonShading/data/ToonFrag.glsl b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Shaders/ToonShading/data/ToonFrag.glsl deleted file mode 100644 index 054bb0d..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Shaders/ToonShading/data/ToonFrag.glsl +++ /dev/null @@ -1,25 +0,0 @@ -#ifdef GL_ES -precision mediump float; -precision mediump int; -#endif - -varying vec3 vertNormal; -varying vec3 vertLightDir; - -void main() { - float intensity; - vec4 color; - intensity = max(0.0, dot(vertLightDir, vertNormal)); - - if (intensity > 0.95) { - color = vec4(1.0, 0.5, 0.5, 1.0); - } else if (intensity > 0.5) { - color = vec4(0.6, 0.3, 0.3, 1.0); - } else if (intensity > 0.25) { - color = vec4(0.4, 0.2, 0.2, 1.0); - } else { - color = vec4(0.2, 0.1, 0.1, 1.0); - } - - gl_FragColor = color; -} \ No newline at end of file diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Shaders/ToonShading/data/ToonVert.glsl b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Shaders/ToonShading/data/ToonVert.glsl deleted file mode 100644 index 01b77b2..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Shaders/ToonShading/data/ToonVert.glsl +++ /dev/null @@ -1,31 +0,0 @@ -// Toon shader using per-pixel lighting. Based on the glsl -// tutorial from lighthouse 3D: -// http://www.lighthouse3d.com/tutorials/glsl-tutorial/toon-shader-version-ii/ - -#define PROCESSING_LIGHT_SHADER - -uniform mat4 modelview; -uniform mat4 transform; -uniform mat3 normalMatrix; - -uniform vec3 lightNormal[8]; - -attribute vec4 vertex; -attribute vec3 normal; - -varying vec3 vertNormal; -varying vec3 vertLightDir; - -void main() { - // Vertex in clip coordinates - gl_Position = transform * vertex; - - // Normal vector in eye coordinates is passed - // to the fragment shader - vertNormal = normalize(normalMatrix * normal); - - // Assuming that there is only one directional light. - // Its normal vector is passed to the fragment shader - // in order to perform per-pixel lighting calculation. - vertLightDir = -lightNormal[0]; -} \ No newline at end of file diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Simulate/Chain/Chain.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Simulate/Chain/Chain.pde deleted file mode 100644 index 75b7ea3..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Simulate/Chain/Chain.pde +++ /dev/null @@ -1,65 +0,0 @@ -/** - * Chain. - * - * One mass is attached to the mouse position and the other - * is attached the position of the other mass. The gravity - * in the environment pulls down on both. - */ - - -Spring2D s1, s2; - -float gravity = 9.0; -float mass = 2.0; - -void setup() { - size(640, 360); - fill(255, 126); - // Inputs: x, y, mass, gravity - s1 = new Spring2D(0.0, width/2, mass, gravity); - s2 = new Spring2D(0.0, width/2, mass, gravity); -} - -void draw() { - background(0); - s1.update(mouseX, mouseY); - s1.display(mouseX, mouseY); - s2.update(s1.x, s1.y); - s2.display(s1.x, s1.y); -} - -class Spring2D { - float vx, vy; // The x- and y-axis velocities - float x, y; // The x- and y-coordinates - float gravity; - float mass; - float radius = 30; - float stiffness = 0.2; - float damping = 0.7; - - Spring2D(float xpos, float ypos, float m, float g) { - x = xpos; - y = ypos; - mass = m; - gravity = g; - } - - void update(float targetX, float targetY) { - float forceX = (targetX - x) * stiffness; - float ax = forceX / mass; - vx = damping * (vx + ax); - x += vx; - float forceY = (targetY - y) * stiffness; - forceY += gravity; - float ay = forceY / mass; - vy = damping * (vy + ay); - y += vy; - } - - void display(float nx, float ny) { - noStroke(); - ellipse(x, y, radius*2, radius*2); - stroke(255); - line(x, y, nx, ny); - } -} diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Simulate/Flocking/Boid.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Simulate/Flocking/Boid.pde deleted file mode 100644 index fbcc177..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Simulate/Flocking/Boid.pde +++ /dev/null @@ -1,202 +0,0 @@ -// The Boid class - -class Boid { - - PVector position; - PVector velocity; - PVector acceleration; - float r; - float maxforce; // Maximum steering force - float maxspeed; // Maximum speed - - Boid(float x, float y) { - acceleration = new PVector(0, 0); - - // This is a new PVector method not yet implemented in JS - // velocity = PVector.random2D(); - - // Leaving the code temporarily this way so that this example runs in JS - float angle = random(TWO_PI); - velocity = new PVector(cos(angle), sin(angle)); - - position = new PVector(x, y); - r = 2.0; - maxspeed = 2; - maxforce = 0.03; - } - - void run(ArrayList boids) { - flock(boids); - update(); - borders(); - render(); - } - - void applyForce(PVector force) { - // We could add mass here if we want A = F / M - acceleration.add(force); - } - - // We accumulate a new acceleration each time based on three rules - void flock(ArrayList boids) { - PVector sep = separate(boids); // Separation - PVector ali = align(boids); // Alignment - PVector coh = cohesion(boids); // Cohesion - // Arbitrarily weight these forces - sep.mult(1.5); - ali.mult(1.0); - coh.mult(1.0); - // Add the force vectors to acceleration - applyForce(sep); - applyForce(ali); - applyForce(coh); - } - - // Method to update position - void update() { - // Update velocity - velocity.add(acceleration); - // Limit speed - velocity.limit(maxspeed); - position.add(velocity); - // Reset accelertion to 0 each cycle - acceleration.mult(0); - } - - // A method that calculates and applies a steering force towards a target - // STEER = DESIRED MINUS VELOCITY - PVector seek(PVector target) { - PVector desired = PVector.sub(target, position); // A vector pointing from the position to the target - // Scale to maximum speed - desired.normalize(); - desired.mult(maxspeed); - - // Above two lines of code below could be condensed with new PVector setMag() method - // Not using this method until Processing.js catches up - // desired.setMag(maxspeed); - - // Steering = Desired minus Velocity - PVector steer = PVector.sub(desired, velocity); - steer.limit(maxforce); // Limit to maximum steering force - return steer; - } - - void render() { - // Draw a triangle rotated in the direction of velocity - float theta = velocity.heading2D() + radians(90); - // heading2D() above is now heading() but leaving old syntax until Processing.js catches up - - fill(200, 100); - stroke(255); - pushMatrix(); - translate(position.x, position.y); - rotate(theta); - beginShape(TRIANGLES); - vertex(0, -r*2); - vertex(-r, r*2); - vertex(r, r*2); - endShape(); - popMatrix(); - } - - // Wraparound - void borders() { - if (position.x < -r) position.x = width+r; - if (position.y < -r) position.y = height+r; - if (position.x > width+r) position.x = -r; - if (position.y > height+r) position.y = -r; - } - - // Separation - // Method checks for nearby boids and steers away - PVector separate (ArrayList boids) { - float desiredseparation = 25.0f; - PVector steer = new PVector(0, 0, 0); - int count = 0; - // For every boid in the system, check if it's too close - for (Boid other : boids) { - float d = PVector.dist(position, other.position); - // If the distance is greater than 0 and less than an arbitrary amount (0 when you are yourself) - if ((d > 0) && (d < desiredseparation)) { - // Calculate vector pointing away from neighbor - PVector diff = PVector.sub(position, other.position); - diff.normalize(); - diff.div(d); // Weight by distance - steer.add(diff); - count++; // Keep track of how many - } - } - // Average -- divide by how many - if (count > 0) { - steer.div((float)count); - } - - // As long as the vector is greater than 0 - if (steer.mag() > 0) { - // First two lines of code below could be condensed with new PVector setMag() method - // Not using this method until Processing.js catches up - // steer.setMag(maxspeed); - - // Implement Reynolds: Steering = Desired - Velocity - steer.normalize(); - steer.mult(maxspeed); - steer.sub(velocity); - steer.limit(maxforce); - } - return steer; - } - - // Alignment - // For every nearby boid in the system, calculate the average velocity - PVector align (ArrayList boids) { - float neighbordist = 50; - PVector sum = new PVector(0, 0); - int count = 0; - for (Boid other : boids) { - float d = PVector.dist(position, other.position); - if ((d > 0) && (d < neighbordist)) { - sum.add(other.velocity); - count++; - } - } - if (count > 0) { - sum.div((float)count); - // First two lines of code below could be condensed with new PVector setMag() method - // Not using this method until Processing.js catches up - // sum.setMag(maxspeed); - - // Implement Reynolds: Steering = Desired - Velocity - sum.normalize(); - sum.mult(maxspeed); - PVector steer = PVector.sub(sum, velocity); - steer.limit(maxforce); - return steer; - } - else { - return new PVector(0, 0); - } - } - - // Cohesion - // For the average position (i.e. center) of all nearby boids, calculate steering vector towards that position - PVector cohesion (ArrayList boids) { - float neighbordist = 50; - PVector sum = new PVector(0, 0); // Start with empty vector to accumulate all positions - int count = 0; - for (Boid other : boids) { - float d = PVector.dist(position, other.position); - if ((d > 0) && (d < neighbordist)) { - sum.add(other.position); // Add position - count++; - } - } - if (count > 0) { - sum.div(count); - return seek(sum); // Steer towards the position - } - else { - return new PVector(0, 0); - } - } -} - diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Simulate/Flocking/Flock.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Simulate/Flocking/Flock.pde deleted file mode 100644 index cea728a..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Simulate/Flocking/Flock.pde +++ /dev/null @@ -1,21 +0,0 @@ -// The Flock (a list of Boid objects) - -class Flock { - ArrayList boids; // An ArrayList for all the boids - - Flock() { - boids = new ArrayList(); // Initialize the ArrayList - } - - void run() { - for (Boid b : boids) { - b.run(boids); // Passing the entire list of boids to each boid individually - } - } - - void addBoid(Boid b) { - boids.add(b); - } - -} - diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Simulate/Flocking/Flocking.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Simulate/Flocking/Flocking.pde deleted file mode 100644 index ac73022..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Simulate/Flocking/Flocking.pde +++ /dev/null @@ -1,31 +0,0 @@ -/** - * Flocking - * by Daniel Shiffman. - * - * An implementation of Craig Reynold's Boids program to simulate - * the flocking behavior of birds. Each boid steers itself based on - * rules of avoidance, alignment, and coherence. - * - * Click the mouse to add a new boid. - */ - -Flock flock; - -void setup() { - size(640, 360); - flock = new Flock(); - // Add an initial set of boids into the system - for (int i = 0; i < 150; i++) { - flock.addBoid(new Boid(width/2,height/2)); - } -} - -void draw() { - background(50); - flock.run(); -} - -// Add a new boid into the System -void mousePressed() { - flock.addBoid(new Boid(mouseX,mouseY)); -} diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Simulate/ForcesWithVectors/ForcesWithVectors.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Simulate/ForcesWithVectors/ForcesWithVectors.pde deleted file mode 100644 index 46b2681..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Simulate/ForcesWithVectors/ForcesWithVectors.pde +++ /dev/null @@ -1,68 +0,0 @@ -/** - * Forces (Gravity and Fluid Resistence) with Vectors - * by Daniel Shiffman. - * - * Demonstration of multiple force acting on bodies (Mover class) - * Bodies experience gravity continuously - * Bodies experience fluid resistance when in "water" - * - * For the basics of working with PVector, see - * http://processing.org/learning/pvector/ - * as well as examples in Topics/Vectors/ - * - */ - -// Five moving bodies -Mover[] movers = new Mover[10]; - -// Liquid -Liquid liquid; - -void setup() { - size(640, 360); - reset(); - // Create liquid object - liquid = new Liquid(0, height/2, width, height/2, 0.1); -} - -void draw() { - background(0); - - // Draw water - liquid.display(); - - for (Mover mover : movers) { - - // Is the Mover in the liquid? - if (liquid.contains(mover)) { - // Calculate drag force - PVector drag = liquid.drag(mover); - // Apply drag force to Mover - mover.applyForce(drag); - } - - // Gravity is scaled by mass here! - PVector gravity = new PVector(0, 0.1*mover.mass); - // Apply gravity - mover.applyForce(gravity); - - // Update and display - mover.update(); - mover.display(); - mover.checkEdges(); - } - - fill(255); - text("click mouse to reset", 10, 30); -} - -void mousePressed() { - reset(); -} - -// Restart all the Mover objects randomly -void reset() { - for (int i = 0; i < movers.length; i++) { - movers[i] = new Mover(random(0.5, 3), 40+i*70, 0); - } -} \ No newline at end of file diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Simulate/ForcesWithVectors/Liquid.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Simulate/ForcesWithVectors/Liquid.pde deleted file mode 100644 index 2f5b93b..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Simulate/ForcesWithVectors/Liquid.pde +++ /dev/null @@ -1,57 +0,0 @@ -/** - * Forces (Gravity and Fluid Resistence) with Vectors - * by Daniel Shiffman. - * - * Demonstration of multiple force acting on bodies (Mover class) - * Bodies experience gravity continuously - * Bodies experience fluid resistance when in "water" - */ - -// Liquid class -class Liquid { - - - // Liquid is a rectangle - float x, y, w, h; - // Coefficient of drag - float c; - - Liquid(float x_, float y_, float w_, float h_, float c_) { - x = x_; - y = y_; - w = w_; - h = h_; - c = c_; - } - - // Is the Mover in the Liquid? - boolean contains(Mover m) { - PVector l = m.position; - if (l.x > x && l.x < x + w && l.y > y && l.y < y + h) { - return true; - } else { - return false; - } - } - - // Calculate drag force - PVector drag(Mover m) { - // Magnitude is coefficient * speed squared - float speed = m.velocity.mag(); - float dragMagnitude = c * speed * speed; - - // Direction is inverse of velocity - PVector drag = m.velocity.copy(); - drag.mult(-1); - - // Scale according to magnitude - drag.setMag(dragMagnitude); - return drag; - } - - void display() { - noStroke(); - fill(127); - rect(x, y, w, h); - } -} \ No newline at end of file diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Simulate/ForcesWithVectors/Mover.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Simulate/ForcesWithVectors/Mover.pde deleted file mode 100644 index 2dd5111..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Simulate/ForcesWithVectors/Mover.pde +++ /dev/null @@ -1,62 +0,0 @@ -/** - * Forces (Gravity and Fluid Resistence) with Vectors - * by Daniel Shiffman. - * - * Demonstration of multiple force acting on bodies (Mover class) - * Bodies experience gravity continuously - * Bodies experience fluid resistance when in "water" - */ - - -class Mover { - - // position, velocity, and acceleration - PVector position; - PVector velocity; - PVector acceleration; - - // Mass is tied to size - float mass; - - Mover(float m, float x, float y) { - mass = m; - position = new PVector(x, y); - velocity = new PVector(0, 0); - acceleration = new PVector(0, 0); - } - - // Newton's 2nd law: F = M * A - // or A = F / M - void applyForce(PVector force) { - // Divide by mass - PVector f = PVector.div(force, mass); - // Accumulate all forces in acceleration - acceleration.add(f); - } - - void update() { - - // Velocity changes according to acceleration - velocity.add(acceleration); - // position changes by velocity - position.add(velocity); - // We must clear acceleration each frame - acceleration.mult(0); - } - - // Draw Mover - void display() { - stroke(255); - strokeWeight(2); - fill(255, 200); - ellipse(position.x, position.y, mass*16, mass*16); - } - - // Bounce off bottom of window - void checkEdges() { - if (position.y > height) { - velocity.y *= -0.9; // A little dampening when hitting the bottom - position.y = height; - } - } -} \ No newline at end of file diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Simulate/GravitationalAttraction3D/GravitationalAttraction3D.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Simulate/GravitationalAttraction3D/GravitationalAttraction3D.pde deleted file mode 100644 index 44ac4b4..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Simulate/GravitationalAttraction3D/GravitationalAttraction3D.pde +++ /dev/null @@ -1,60 +0,0 @@ -/** - * Gravitational Attraction (3D) - * by Daniel Shiffman. - * - * Simulating gravitational attraction - * G ---> universal gravitational constant - * m1 --> mass of object #1 - * m2 --> mass of object #2 - * d ---> distance between objects - * F = (G*m1*m2)/(d*d) - * - * For the basics of working with PVector, see - * http://processing.org/learning/pvector/ - * as well as examples in Topics/Vectors/ - * - */ - -// A bunch of planets -Planet[] planets = new Planet[10]; -// One sun (note sun is not attracted to planets (violation of Newton's 3rd Law) -Sun s; - -// An angle to rotate around the scene -float angle = 0; - -void setup() { - size(640, 360, P3D); - // Some random planets - for (int i = 0; i < planets.length; i++) { - planets[i] = new Planet(random(0.1, 2), random(-width/2, width/2), random(-height/2, height/2), random(-100, 100)); - } - // A single sun - s = new Sun(); -} - -void draw() { - background(0); - // Setup the scene - sphereDetail(8); - lights(); - translate(width/2, height/2); - rotateY(angle); - - - // Display the Sun - s.display(); - - // All the Planets - for (Planet planet : planets) { - // Sun attracts Planets - PVector force = s.attract(planet); - planet.applyForce(force); - // Update and draw Planets - planet.update(); - planet.display(); - } - - // Rotate around the scene - angle += 0.003; -} diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Simulate/GravitationalAttraction3D/Planet.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Simulate/GravitationalAttraction3D/Planet.pde deleted file mode 100644 index ec93bde..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Simulate/GravitationalAttraction3D/Planet.pde +++ /dev/null @@ -1,43 +0,0 @@ -// Gravitational Attraction (3D) -// Daniel Shiffman - -// A class for an orbiting Planet - -class Planet { - - // Basic physics model (position, velocity, acceleration, mass) - PVector position; - PVector velocity; - PVector acceleration; - float mass; - - Planet(float m, float x, float y, float z) { - mass = m; - position = new PVector(x, y, z); - velocity = new PVector(1, 0); // Arbitrary starting velocity - acceleration = new PVector(0, 0); - } - - // Newton's 2nd Law (F = M*A) applied - void applyForce(PVector force) { - PVector f = PVector.div(force, mass); - acceleration.add(f); - } - - // Our motion algorithm (aka Euler Integration) - void update() { - velocity.add(acceleration); // Velocity changes according to acceleration - position.add(velocity); // position changes according to velocity - acceleration.mult(0); - } - - // Draw the Planet - void display() { - noStroke(); - fill(255); - pushMatrix(); - translate(position.x, position.y, position.z); - sphere(mass*8); - popMatrix(); - } -} \ No newline at end of file diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Simulate/GravitationalAttraction3D/Sun.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Simulate/GravitationalAttraction3D/Sun.pde deleted file mode 100644 index b8ea259..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Simulate/GravitationalAttraction3D/Sun.pde +++ /dev/null @@ -1,36 +0,0 @@ -// Gravitational Attraction (3D) -// Daniel Shiffman - -// A class for an attractive body in our world - -class Sun { - float mass; // Mass, tied to size - PVector position; // position - float G; // Universal gravitational constant (arbitrary value) - - Sun() { - position = new PVector(0, 0); - mass = 20; - G = 0.4; - } - - - PVector attract(Planet m) { - PVector force = PVector.sub(position, m.position); // Calculate direction of force - float d = force.mag(); // Distance between objects - d = constrain(d, 5.0, 25.0); // Limiting the distance to eliminate "extreme" results for very close or very far objects - float strength = (G * mass * m.mass) / (d * d); // Calculate gravitional force magnitude - force.setMag(strength); // Get force vector --> magnitude * direction - return force; - } - - // Draw Sun - void display() { - stroke(255); - noFill(); - pushMatrix(); - translate(position.x, position.y, position.z); - sphere(mass*2); - popMatrix(); - } -} \ No newline at end of file diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Simulate/MultipleParticleSystems/CrazyParticle.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Simulate/MultipleParticleSystems/CrazyParticle.pde deleted file mode 100644 index f18d04e..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Simulate/MultipleParticleSystems/CrazyParticle.pde +++ /dev/null @@ -1,39 +0,0 @@ -// A subclass of Particle - -class CrazyParticle extends Particle { - - // Just adding one new variable to a CrazyParticle - // It inherits all other fields from "Particle", and we don't have to retype them! - float theta; - - // The CrazyParticle constructor can call the parent class (super class) constructor - CrazyParticle(PVector l) { - // "super" means do everything from the constructor in Particle - super(l); - // One more line of code to deal with the new variable, theta - theta = 0.0; - } - - // Notice we don't have the method run() here; it is inherited from Particle - - // This update() method overrides the parent class update() method - void update() { - super.update(); - // Increment rotation based on horizontal velocity - float theta_vel = (velocity.x * velocity.mag()) / 10.0f; - theta += theta_vel; - } - - // This display() method overrides the parent class display() method - void display() { - // Render the ellipse just like in a regular particle - super.display(); - // Then add a rotating line - pushMatrix(); - translate(position.x, position.y); - rotate(theta); - stroke(255, lifespan); - line(0, 0, 25, 0); - popMatrix(); - } -} \ No newline at end of file diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Simulate/MultipleParticleSystems/MultipleParticleSystems.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Simulate/MultipleParticleSystems/MultipleParticleSystems.pde deleted file mode 100644 index 605f1a9..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Simulate/MultipleParticleSystems/MultipleParticleSystems.pde +++ /dev/null @@ -1,35 +0,0 @@ -/** - * Multiple Particle Systems - * by Daniel Shiffman. - * - * Click the mouse to generate a burst of particles - * at mouse position. - * - * Each burst is one instance of a particle system - * with Particles and CrazyParticles (a subclass of Particle) - * Note use of Inheritance and Polymorphism here. - */ - -ArrayList systems; - -void setup() { - size(640, 360); - systems = new ArrayList(); -} - -void draw() { - background(0); - for (ParticleSystem ps : systems) { - ps.run(); - ps.addParticle(); - } - if (systems.isEmpty()) { - fill(255); - textAlign(CENTER); - text("click mouse to add particle systems", width/2, height/2); - } -} - -void mousePressed() { - systems.add(new ParticleSystem(1, new PVector(mouseX, mouseY))); -} \ No newline at end of file diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Simulate/MultipleParticleSystems/Particle.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Simulate/MultipleParticleSystems/Particle.pde deleted file mode 100644 index a3d0b87..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Simulate/MultipleParticleSystems/Particle.pde +++ /dev/null @@ -1,39 +0,0 @@ -// A simple Particle class - -class Particle { - PVector position; - PVector velocity; - PVector acceleration; - float lifespan; - - Particle(PVector l) { - acceleration = new PVector(0, 0.05); - velocity = new PVector(random(-1, 1), random(-2, 0)); - position = l.copy(); - lifespan = 255.0; - } - - void run() { - update(); - display(); - } - - // Method to update position - void update() { - velocity.add(acceleration); - position.add(velocity); - lifespan -= 2.0; - } - - // Method to display - void display() { - stroke(255, lifespan); - fill(255, lifespan); - ellipse(position.x, position.y, 8, 8); - } - - // Is the particle still useful? - boolean isDead() { - return (lifespan < 0.0); - } -} \ No newline at end of file diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Simulate/MultipleParticleSystems/ParticleSystem.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Simulate/MultipleParticleSystems/ParticleSystem.pde deleted file mode 100644 index 8db8462..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Simulate/MultipleParticleSystems/ParticleSystem.pde +++ /dev/null @@ -1,48 +0,0 @@ -// An ArrayList is used to manage the list of Particles - -class ParticleSystem { - - ArrayList particles; // An arraylist for all the particles - PVector origin; // An origin point for where particles are birthed - - ParticleSystem(int num, PVector v) { - particles = new ArrayList(); // Initialize the arraylist - origin = v.copy(); // Store the origin point - for (int i = 0; i < num; i++) { - particles.add(new Particle(origin)); // Add "num" amount of particles to the arraylist - } - } - - - void run() { - // Cycle through the ArrayList backwards, because we are deleting while iterating - for (int i = particles.size()-1; i >= 0; i--) { - Particle p = particles.get(i); - p.run(); - if (p.isDead()) { - particles.remove(i); - } - } - } - - void addParticle() { - Particle p; - // Add either a Particle or CrazyParticle to the system - if (int(random(0, 2)) == 0) { - p = new Particle(origin); - } - else { - p = new CrazyParticle(origin); - } - particles.add(p); - } - - void addParticle(Particle p) { - particles.add(p); - } - - // A method to test if the particle system still has particles - boolean dead() { - return particles.isEmpty(); - } -} diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Simulate/SimpleParticleSystem/Particle.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Simulate/SimpleParticleSystem/Particle.pde deleted file mode 100644 index 6d949c7..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Simulate/SimpleParticleSystem/Particle.pde +++ /dev/null @@ -1,43 +0,0 @@ -// A simple Particle class - -class Particle { - PVector position; - PVector velocity; - PVector acceleration; - float lifespan; - - Particle(PVector l) { - acceleration = new PVector(0, 0.05); - velocity = new PVector(random(-1, 1), random(-2, 0)); - position = l.copy(); - lifespan = 255.0; - } - - void run() { - update(); - display(); - } - - // Method to update position - void update() { - velocity.add(acceleration); - position.add(velocity); - lifespan -= 1.0; - } - - // Method to display - void display() { - stroke(255, lifespan); - fill(255, lifespan); - ellipse(position.x, position.y, 8, 8); - } - - // Is the particle still useful? - boolean isDead() { - if (lifespan < 0.0) { - return true; - } else { - return false; - } - } -} \ No newline at end of file diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Simulate/SimpleParticleSystem/ParticleSystem.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Simulate/SimpleParticleSystem/ParticleSystem.pde deleted file mode 100644 index 94a528a..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Simulate/SimpleParticleSystem/ParticleSystem.pde +++ /dev/null @@ -1,26 +0,0 @@ -// A class to describe a group of Particles -// An ArrayList is used to manage the list of Particles - -class ParticleSystem { - ArrayList particles; - PVector origin; - - ParticleSystem(PVector position) { - origin = position.copy(); - particles = new ArrayList(); - } - - void addParticle() { - particles.add(new Particle(origin)); - } - - void run() { - for (int i = particles.size()-1; i >= 0; i--) { - Particle p = particles.get(i); - p.run(); - if (p.isDead()) { - particles.remove(i); - } - } - } -} \ No newline at end of file diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Simulate/SimpleParticleSystem/SimpleParticleSystem.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Simulate/SimpleParticleSystem/SimpleParticleSystem.pde deleted file mode 100644 index e198edb..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Simulate/SimpleParticleSystem/SimpleParticleSystem.pde +++ /dev/null @@ -1,22 +0,0 @@ -/** - * Simple Particle System - * by Daniel Shiffman. - * - * Particles are generated each cycle through draw(), - * fall with gravity and fade out over time - * A ParticleSystem object manages a variable size (ArrayList) - * list of particles. - */ - -ParticleSystem ps; - -void setup() { - size(640, 360); - ps = new ParticleSystem(new PVector(width/2, 50)); -} - -void draw() { - background(0); - ps.addParticle(); - ps.run(); -} \ No newline at end of file diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Simulate/SmokeParticleSystem/Particle.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Simulate/SmokeParticleSystem/Particle.pde deleted file mode 100644 index a0948b4..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Simulate/SmokeParticleSystem/Particle.pde +++ /dev/null @@ -1,59 +0,0 @@ - -// A simple Particle class, renders the particle as an image - -class Particle { - PVector loc; - PVector vel; - PVector acc; - float lifespan; - PImage img; - - Particle(PVector l, PImage img_) { - acc = new PVector(0, 0); - float vx = randomGaussian()*0.3; - float vy = randomGaussian()*0.3 - 1.0; - vel = new PVector(vx, vy); - loc = l.copy(); - lifespan = 100.0; - img = img_; - } - - void run() { - update(); - render(); - } - - // Method to apply a force vector to the Particle object - // Note we are ignoring "mass" here - void applyForce(PVector f) { - acc.add(f); - } - - // Method to update position - void update() { - vel.add(acc); - loc.add(vel); - lifespan -= 2.5; - acc.mult(0); // clear Acceleration - } - - // Method to display - void render() { - imageMode(CENTER); - tint(255, lifespan); - image(img, loc.x, loc.y); - // Drawing a circle instead - // fill(255,lifespan); - // noStroke(); - // ellipse(loc.x,loc.y,img.width,img.height); - } - - // Is the particle still useful? - boolean isDead() { - if (lifespan <= 0.0) { - return true; - } else { - return false; - } - } -} \ No newline at end of file diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Simulate/SmokeParticleSystem/ParticleSystem.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Simulate/SmokeParticleSystem/ParticleSystem.pde deleted file mode 100644 index ba77243..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Simulate/SmokeParticleSystem/ParticleSystem.pde +++ /dev/null @@ -1,40 +0,0 @@ -// A class to describe a group of Particles -// An ArrayList is used to manage the list of Particles - -class ParticleSystem { - - ArrayList particles; // An arraylist for all the particles - PVector origin; // An origin point for where particles are birthed - PImage img; - - ParticleSystem(int num, PVector v, PImage img_) { - particles = new ArrayList(); // Initialize the arraylist - origin = v.copy(); // Store the origin point - img = img_; - for (int i = 0; i < num; i++) { - particles.add(new Particle(origin, img)); // Add "num" amount of particles to the arraylist - } - } - - void run() { - for (int i = particles.size()-1; i >= 0; i--) { - Particle p = particles.get(i); - p.run(); - if (p.isDead()) { - particles.remove(i); - } - } - } - - // Method to add a force vector to all particles currently in the system - void applyForce(PVector dir) { - // Enhanced loop!!! - for (Particle p : particles) { - p.applyForce(dir); - } - } - - void addParticle() { - particles.add(new Particle(origin, img)); - } -} \ No newline at end of file diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Simulate/SmokeParticleSystem/SmokeParticleSystem.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Simulate/SmokeParticleSystem/SmokeParticleSystem.pde deleted file mode 100644 index 3b1e51f..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Simulate/SmokeParticleSystem/SmokeParticleSystem.pde +++ /dev/null @@ -1,49 +0,0 @@ -/** - * Smoke Particle System - * by Daniel Shiffman. - * - * A basic smoke effect using a particle system. Each particle - * is rendered as an alpha masked image. - */ - -ParticleSystem ps; - -void setup() { - size(640, 360); - PImage img = loadImage("texture.png"); - ps = new ParticleSystem(0, new PVector(width/2, height-60), img); -} - -void draw() { - background(0); - - // Calculate a "wind" force based on mouse horizontal position - float dx = map(mouseX, 0, width, -0.2, 0.2); - PVector wind = new PVector(dx, 0); - ps.applyForce(wind); - ps.run(); - for (int i = 0; i < 2; i++) { - ps.addParticle(); - } - - // Draw an arrow representing the wind force - drawVector(wind, new PVector(width/2, 50, 0), 500); -} - -// Renders a vector object 'v' as an arrow and a position 'loc' -void drawVector(PVector v, PVector loc, float scayl) { - pushMatrix(); - float arrowsize = 4; - // Translate to position to render vector - translate(loc.x, loc.y); - stroke(255); - // Call vector heading function to get direction (note that pointing up is a heading of 0) and rotate - rotate(v.heading()); - // Calculate length of vector & scale it to be bigger or smaller if necessary - float len = v.mag()*scayl; - // Draw three lines to make an arrow (draw pointing up since we've rotate to the proper direction) - line(0, 0, len, 0); - line(len, 0, len-arrowsize, +arrowsize/2); - line(len, 0, len-arrowsize, -arrowsize/2); - popMatrix(); -} \ No newline at end of file diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Simulate/SmokeParticleSystem/data/texture.gif b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Simulate/SmokeParticleSystem/data/texture.gif deleted file mode 100644 index 17e84e8..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Simulate/SmokeParticleSystem/data/texture.gif and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Simulate/SmokeParticleSystem/data/texture.png b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Simulate/SmokeParticleSystem/data/texture.png deleted file mode 100644 index 0852c88..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Simulate/SmokeParticleSystem/data/texture.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Simulate/SoftBody/SoftBody.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Simulate/SoftBody/SoftBody.pde deleted file mode 100644 index e3d0d26..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Simulate/SoftBody/SoftBody.pde +++ /dev/null @@ -1,98 +0,0 @@ -/** - * Soft Body - * by Ira Greenberg. - * - * Softbody dynamics simulation using curveVertex() and curveTightness(). - */ - -// center point -float centerX = 0, centerY = 0; - -float radius = 45, rotAngle = -90; -float accelX, accelY; -float springing = .0009, damping = .98; - -//corner nodes -int nodes = 5; -float nodeStartX[] = new float[nodes]; -float nodeStartY[] = new float[nodes]; -float[]nodeX = new float[nodes]; -float[]nodeY = new float[nodes]; -float[]angle = new float[nodes]; -float[]frequency = new float[nodes]; - -// soft-body dynamics -float organicConstant = 1; - -void setup() { - size(640, 360); - //center shape in window - centerX = width/2; - centerY = height/2; - // iniitalize frequencies for corner nodes - for (int i=0; i left && mouseX < right && mouseY > ps && mouseY < ps + springHeight) { - over = true; - } else { - over = false; - } - - // Set and constrain the position of top bar - if(move) { - ps = mouseY - springHeight/2; - ps = constrain(ps, min, max); - } -} - -void mousePressed() { - if(over) { - move = true; - } -} - -void mouseReleased() { - move = false; -} diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Simulate/Springs/Springs.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Simulate/Springs/Springs.pde deleted file mode 100644 index 877e79e..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Simulate/Springs/Springs.pde +++ /dev/null @@ -1,151 +0,0 @@ -/** - * Springs. - * - * Move the mouse over one of the circles and click to re-position. - * When you release the mouse, it will snap back into position. - * Each circle has a slightly different behavior. - */ - - -int num = 3; -Spring[] springs = new Spring[num]; - -void setup() { - size(640, 360); - noStroke(); - springs[0] = new Spring(240, 260, 40, 0.98, 8.0, 0.1, springs, 0); - springs[1] = new Spring(320, 210, 120, 0.95, 9.0, 0.1, springs, 1); - springs[2] = new Spring(180, 170, 200, 0.90, 9.9, 0.1, springs, 2); -} - -void draw() { - background(51); - - for (Spring spring : springs) { - spring.update(); - spring.display(); - } -} - -void mousePressed() { - for (Spring spring : springs) { - spring.pressed(); - } -} - -void mouseReleased() { - for (Spring spring : springs) { - spring.released(); - } -} - -class Spring { - // Screen values - float xpos, ypos; - float tempxpos, tempypos; - int size = 20; - boolean over = false; - boolean move = false; - - // Spring simulation constants - float mass; // Mass - float k = 0.2; // Spring constant - float damp; // Damping - float rest_posx; // Rest position X - float rest_posy; // Rest position Y - - // Spring simulation variables - //float pos = 20.0; // Position - float velx = 0.0; // X Velocity - float vely = 0.0; // Y Velocity - float accel = 0; // Acceleration - float force = 0; // Force - - Spring[] friends; - int me; - - // Constructor - Spring(float x, float y, int s, float d, float m, - float k_in, Spring[] others, int id) { - xpos = tempxpos = x; - ypos = tempypos = y; - rest_posx = x; - rest_posy = y; - size = s; - damp = d; - mass = m; - k = k_in; - friends = others; - me = id; - } - - void update() { - if (move) { - rest_posy = mouseY; - rest_posx = mouseX; - } - - force = -k * (tempypos - rest_posy); // f=-ky - accel = force / mass; // Set the acceleration, f=ma == a=f/m - vely = damp * (vely + accel); // Set the velocity - tempypos = tempypos + vely; // Updated position - - force = -k * (tempxpos - rest_posx); // f=-ky - accel = force / mass; // Set the acceleration, f=ma == a=f/m - velx = damp * (velx + accel); // Set the velocity - tempxpos = tempxpos + velx; // Updated position - - - if ((overEvent() || move) && !otherOver() ) { - over = true; - } else { - over = false; - } - } - - // Test to see if mouse is over this spring - boolean overEvent() { - float disX = tempxpos - mouseX; - float disY = tempypos - mouseY; - if (sqrt(sq(disX) + sq(disY)) < size/2 ) { - return true; - } else { - return false; - } - } - - // Make sure no other springs are active - boolean otherOver() { - for (int i=0; i width) || (location.x < 0)) { - velocity.x = velocity.x * -1; - } - if (location.y > height) { - // We're reducing velocity ever so slightly - // when it hits the bottom of the window - velocity.y = velocity.y * -0.95; - location.y = height; - } - - // Display circle at location vector - stroke(255); - strokeWeight(2); - fill(127); - ellipse(location.x,location.y,48,48); -} - - diff --git a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Vectors/VectorMath/VectorMath.pde b/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Vectors/VectorMath/VectorMath.pde deleted file mode 100644 index cc60fed..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/examples/Topics/Vectors/VectorMath/VectorMath.pde +++ /dev/null @@ -1,35 +0,0 @@ -/** - * Vector - * by Daniel Shiffman. - * - * Demonstration some basic vector math: subtraction, normalization, scaling - * Normalizing a vector sets its length to 1. - */ - -void setup() { - size(640,360); -} - -void draw() { - background(0); - - // A vector that points to the mouse location - PVector mouse = new PVector(mouseX,mouseY); - // A vector that points to the center of the window - PVector center = new PVector(width/2,height/2); - // Subtract center from mouse which results in a vector that points from center to mouse - mouse.sub(center); - - // Normalize the vector - mouse.normalize(); - - // Multiply its length by 150 (Scaling its length) - mouse.mult(150); - - translate(width/2,height/2); - // Draw the resulting vector - stroke(255); - strokeWeight(4); - line(0,0,mouse.x,mouse.y); - -} diff --git a/Java/Processing/processing-3.3.6/modes/java/generated/processing/mode/java/preproc/JavaLexer.java b/Java/Processing/processing-3.3.6/modes/java/generated/processing/mode/java/preproc/JavaLexer.java deleted file mode 100644 index 4b92fa7..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/generated/processing/mode/java/preproc/JavaLexer.java +++ /dev/null @@ -1,2061 +0,0 @@ -// $ANTLR 2.7.7 (2006-11-01): "java15.g" -> "JavaLexer.java"$ - -package processing.mode.java.preproc; - -import java.io.InputStream; -import antlr.TokenStreamException; -import antlr.TokenStreamIOException; -import antlr.TokenStreamRecognitionException; -import antlr.CharStreamException; -import antlr.CharStreamIOException; -import antlr.ANTLRException; -import java.io.Reader; -import java.util.Hashtable; -import antlr.CharScanner; -import antlr.InputBuffer; -import antlr.ByteBuffer; -import antlr.CharBuffer; -import antlr.Token; -import antlr.CommonToken; -import antlr.RecognitionException; -import antlr.NoViableAltForCharException; -import antlr.MismatchedCharException; -import antlr.TokenStream; -import antlr.ANTLRHashString; -import antlr.LexerSharedInputState; -import antlr.collections.impl.BitSet; -import antlr.SemanticException; - -public class JavaLexer extends antlr.CharScanner implements JavaTokenTypes, TokenStream - { - - /** flag for enabling the "assert" keyword */ - private boolean assertEnabled = true; - /** flag for enabling the "enum" keyword */ - private boolean enumEnabled = true; - - /** Enable the "assert" keyword */ - public void enableAssert(boolean shouldEnable) { assertEnabled = shouldEnable; } - /** Query the "assert" keyword state */ - public boolean isAssertEnabled() { return assertEnabled; } - /** Enable the "enum" keyword */ - public void enableEnum(boolean shouldEnable) { enumEnabled = shouldEnable; } - /** Query the "enum" keyword state */ - public boolean isEnumEnabled() { return enumEnabled; } -public JavaLexer(InputStream in) { - this(new ByteBuffer(in)); -} -public JavaLexer(Reader in) { - this(new CharBuffer(in)); -} -public JavaLexer(InputBuffer ib) { - this(new LexerSharedInputState(ib)); -} -public JavaLexer(LexerSharedInputState state) { - super(state); - caseSensitiveLiterals = true; - setCaseSensitive(true); - literals = new Hashtable(); - literals.put(new ANTLRHashString("byte", this), new Integer(80)); - literals.put(new ANTLRHashString("public", this), new Integer(89)); - literals.put(new ANTLRHashString("case", this), new Integer(123)); - literals.put(new ANTLRHashString("short", this), new Integer(82)); - literals.put(new ANTLRHashString("break", this), new Integer(116)); - literals.put(new ANTLRHashString("while", this), new Integer(114)); - literals.put(new ANTLRHashString("new", this), new Integer(159)); - literals.put(new ANTLRHashString("instanceof", this), new Integer(146)); - literals.put(new ANTLRHashString("implements", this), new Integer(107)); - literals.put(new ANTLRHashString("synchronized", this), new Integer(94)); - literals.put(new ANTLRHashString("float", this), new Integer(84)); - literals.put(new ANTLRHashString("package", this), new Integer(62)); - literals.put(new ANTLRHashString("return", this), new Integer(118)); - literals.put(new ANTLRHashString("throw", this), new Integer(120)); - literals.put(new ANTLRHashString("null", this), new Integer(158)); - literals.put(new ANTLRHashString("threadsafe", this), new Integer(93)); - literals.put(new ANTLRHashString("protected", this), new Integer(90)); - literals.put(new ANTLRHashString("class", this), new Integer(102)); - literals.put(new ANTLRHashString("throws", this), new Integer(109)); - literals.put(new ANTLRHashString("do", this), new Integer(115)); - literals.put(new ANTLRHashString("strictfp", this), new Integer(41)); - literals.put(new ANTLRHashString("super", this), new Integer(72)); - literals.put(new ANTLRHashString("transient", this), new Integer(91)); - literals.put(new ANTLRHashString("native", this), new Integer(92)); - literals.put(new ANTLRHashString("interface", this), new Integer(103)); - literals.put(new ANTLRHashString("final", this), new Integer(39)); - literals.put(new ANTLRHashString("if", this), new Integer(112)); - literals.put(new ANTLRHashString("double", this), new Integer(86)); - literals.put(new ANTLRHashString("volatile", this), new Integer(95)); - literals.put(new ANTLRHashString("assert", this), new Integer(121)); - literals.put(new ANTLRHashString("catch", this), new Integer(126)); - literals.put(new ANTLRHashString("try", this), new Integer(124)); - literals.put(new ANTLRHashString("enum", this), new Integer(104)); - literals.put(new ANTLRHashString("int", this), new Integer(83)); - literals.put(new ANTLRHashString("for", this), new Integer(122)); - literals.put(new ANTLRHashString("extends", this), new Integer(71)); - literals.put(new ANTLRHashString("boolean", this), new Integer(79)); - literals.put(new ANTLRHashString("char", this), new Integer(81)); - literals.put(new ANTLRHashString("private", this), new Integer(88)); - literals.put(new ANTLRHashString("default", this), new Integer(106)); - literals.put(new ANTLRHashString("false", this), new Integer(157)); - literals.put(new ANTLRHashString("this", this), new Integer(108)); - literals.put(new ANTLRHashString("static", this), new Integer(65)); - literals.put(new ANTLRHashString("abstract", this), new Integer(40)); - literals.put(new ANTLRHashString("continue", this), new Integer(117)); - literals.put(new ANTLRHashString("finally", this), new Integer(125)); - literals.put(new ANTLRHashString("else", this), new Integer(113)); - literals.put(new ANTLRHashString("import", this), new Integer(64)); - literals.put(new ANTLRHashString("void", this), new Integer(78)); - literals.put(new ANTLRHashString("switch", this), new Integer(119)); - literals.put(new ANTLRHashString("true", this), new Integer(156)); - literals.put(new ANTLRHashString("long", this), new Integer(85)); -} - -public Token nextToken() throws TokenStreamException { - Token theRetToken=null; -tryAgain: - for (;;) { - Token _token = null; - int _ttype = Token.INVALID_TYPE; - resetText(); - try { // for char stream error handling - try { // for lexical error handling - switch ( LA(1)) { - case '?': - { - mQUESTION(true); - theRetToken=_returnToken; - break; - } - case '(': - { - mLPAREN(true); - theRetToken=_returnToken; - break; - } - case ')': - { - mRPAREN(true); - theRetToken=_returnToken; - break; - } - case '[': - { - mLBRACK(true); - theRetToken=_returnToken; - break; - } - case ']': - { - mRBRACK(true); - theRetToken=_returnToken; - break; - } - case '{': - { - mLCURLY(true); - theRetToken=_returnToken; - break; - } - case '}': - { - mRCURLY(true); - theRetToken=_returnToken; - break; - } - case ':': - { - mCOLON(true); - theRetToken=_returnToken; - break; - } - case ',': - { - mCOMMA(true); - theRetToken=_returnToken; - break; - } - case '~': - { - mBNOT(true); - theRetToken=_returnToken; - break; - } - case ';': - { - mSEMI(true); - theRetToken=_returnToken; - break; - } - case '\t': case '\n': case '\u000c': case '\r': - case ' ': - { - mWS(true); - theRetToken=_returnToken; - break; - } - case '\'': - { - mCHAR_LITERAL(true); - theRetToken=_returnToken; - break; - } - case '"': - { - mSTRING_LITERAL(true); - theRetToken=_returnToken; - break; - } - case '$': case 'A': case 'B': case 'C': - case 'D': case 'E': case 'F': case 'G': - case 'H': case 'I': case 'J': case 'K': - case 'L': case 'M': case 'N': case 'O': - case 'P': case 'Q': case 'R': case 'S': - case 'T': case 'U': case 'V': case 'W': - case 'X': case 'Y': case 'Z': case '_': - case 'a': case 'b': case 'c': case 'd': - case 'e': case 'f': case 'g': case 'h': - case 'i': case 'j': case 'k': case 'l': - case 'm': case 'n': case 'o': case 'p': - case 'q': case 'r': case 's': case 't': - case 'u': case 'v': case 'w': case 'x': - case 'y': case 'z': - { - mIDENT(true); - theRetToken=_returnToken; - break; - } - case '.': case '0': case '1': case '2': - case '3': case '4': case '5': case '6': - case '7': case '8': case '9': - { - mNUM_INT(true); - theRetToken=_returnToken; - break; - } - case '@': - { - mAT(true); - theRetToken=_returnToken; - break; - } - default: - if ((LA(1)=='>') && (LA(2)=='>') && (LA(3)=='>') && (LA(4)=='=')) { - mBSR_ASSIGN(true); - theRetToken=_returnToken; - } - else if ((LA(1)=='>') && (LA(2)=='>') && (LA(3)=='=')) { - mSR_ASSIGN(true); - theRetToken=_returnToken; - } - else if ((LA(1)=='>') && (LA(2)=='>') && (LA(3)=='>') && (true)) { - mBSR(true); - theRetToken=_returnToken; - } - else if ((LA(1)=='<') && (LA(2)=='<') && (LA(3)=='=')) { - mSL_ASSIGN(true); - theRetToken=_returnToken; - } - else if ((LA(1)=='=') && (LA(2)=='=')) { - mEQUAL(true); - theRetToken=_returnToken; - } - else if ((LA(1)=='!') && (LA(2)=='=')) { - mNOT_EQUAL(true); - theRetToken=_returnToken; - } - else if ((LA(1)=='/') && (LA(2)=='=')) { - mDIV_ASSIGN(true); - theRetToken=_returnToken; - } - else if ((LA(1)=='+') && (LA(2)=='=')) { - mPLUS_ASSIGN(true); - theRetToken=_returnToken; - } - else if ((LA(1)=='+') && (LA(2)=='+')) { - mINC(true); - theRetToken=_returnToken; - } - else if ((LA(1)=='-') && (LA(2)=='=')) { - mMINUS_ASSIGN(true); - theRetToken=_returnToken; - } - else if ((LA(1)=='-') && (LA(2)=='-')) { - mDEC(true); - theRetToken=_returnToken; - } - else if ((LA(1)=='*') && (LA(2)=='=')) { - mSTAR_ASSIGN(true); - theRetToken=_returnToken; - } - else if ((LA(1)=='%') && (LA(2)=='=')) { - mMOD_ASSIGN(true); - theRetToken=_returnToken; - } - else if ((LA(1)=='>') && (LA(2)=='>') && (true)) { - mSR(true); - theRetToken=_returnToken; - } - else if ((LA(1)=='>') && (LA(2)=='=')) { - mGE(true); - theRetToken=_returnToken; - } - else if ((LA(1)=='<') && (LA(2)=='<') && (true)) { - mSL(true); - theRetToken=_returnToken; - } - else if ((LA(1)=='<') && (LA(2)=='=')) { - mLE(true); - theRetToken=_returnToken; - } - else if ((LA(1)=='^') && (LA(2)=='=')) { - mBXOR_ASSIGN(true); - theRetToken=_returnToken; - } - else if ((LA(1)=='|') && (LA(2)=='=')) { - mBOR_ASSIGN(true); - theRetToken=_returnToken; - } - else if ((LA(1)=='|') && (LA(2)=='|')) { - mLOR(true); - theRetToken=_returnToken; - } - else if ((LA(1)=='&') && (LA(2)=='=')) { - mBAND_ASSIGN(true); - theRetToken=_returnToken; - } - else if ((LA(1)=='&') && (LA(2)=='&')) { - mLAND(true); - theRetToken=_returnToken; - } - else if ((LA(1)=='/') && (LA(2)=='/')) { - mSL_COMMENT(true); - theRetToken=_returnToken; - } - else if ((LA(1)=='/') && (LA(2)=='*')) { - mML_COMMENT(true); - theRetToken=_returnToken; - } - else if ((LA(1)=='=') && (true)) { - mASSIGN(true); - theRetToken=_returnToken; - } - else if ((LA(1)=='!') && (true)) { - mLNOT(true); - theRetToken=_returnToken; - } - else if ((LA(1)=='/') && (true)) { - mDIV(true); - theRetToken=_returnToken; - } - else if ((LA(1)=='+') && (true)) { - mPLUS(true); - theRetToken=_returnToken; - } - else if ((LA(1)=='-') && (true)) { - mMINUS(true); - theRetToken=_returnToken; - } - else if ((LA(1)=='*') && (true)) { - mSTAR(true); - theRetToken=_returnToken; - } - else if ((LA(1)=='%') && (true)) { - mMOD(true); - theRetToken=_returnToken; - } - else if ((LA(1)=='>') && (true)) { - mGT(true); - theRetToken=_returnToken; - } - else if ((LA(1)=='<') && (true)) { - mLT(true); - theRetToken=_returnToken; - } - else if ((LA(1)=='^') && (true)) { - mBXOR(true); - theRetToken=_returnToken; - } - else if ((LA(1)=='|') && (true)) { - mBOR(true); - theRetToken=_returnToken; - } - else if ((LA(1)=='&') && (true)) { - mBAND(true); - theRetToken=_returnToken; - } - else { - if (LA(1)==EOF_CHAR) {uponEOF(); _returnToken = makeToken(Token.EOF_TYPE);} - else {throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());} - } - } - if ( _returnToken==null ) continue tryAgain; // found SKIP token - _ttype = _returnToken.getType(); - _returnToken.setType(_ttype); - return _returnToken; - } - catch (RecognitionException e) { - throw new TokenStreamRecognitionException(e); - } - } - catch (CharStreamException cse) { - if ( cse instanceof CharStreamIOException ) { - throw new TokenStreamIOException(((CharStreamIOException)cse).io); - } - else { - throw new TokenStreamException(cse.getMessage()); - } - } - } -} - - public final void mQUESTION(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { - int _ttype; Token _token=null; int _begin=text.length(); - _ttype = QUESTION; - int _saveIndex; - - match('?'); - if ( _createToken && _token==null && _ttype!=Token.SKIP ) { - _token = makeToken(_ttype); - _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); - } - _returnToken = _token; - } - - public final void mLPAREN(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { - int _ttype; Token _token=null; int _begin=text.length(); - _ttype = LPAREN; - int _saveIndex; - - match('('); - if ( _createToken && _token==null && _ttype!=Token.SKIP ) { - _token = makeToken(_ttype); - _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); - } - _returnToken = _token; - } - - public final void mRPAREN(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { - int _ttype; Token _token=null; int _begin=text.length(); - _ttype = RPAREN; - int _saveIndex; - - match(')'); - if ( _createToken && _token==null && _ttype!=Token.SKIP ) { - _token = makeToken(_ttype); - _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); - } - _returnToken = _token; - } - - public final void mLBRACK(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { - int _ttype; Token _token=null; int _begin=text.length(); - _ttype = LBRACK; - int _saveIndex; - - match('['); - if ( _createToken && _token==null && _ttype!=Token.SKIP ) { - _token = makeToken(_ttype); - _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); - } - _returnToken = _token; - } - - public final void mRBRACK(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { - int _ttype; Token _token=null; int _begin=text.length(); - _ttype = RBRACK; - int _saveIndex; - - match(']'); - if ( _createToken && _token==null && _ttype!=Token.SKIP ) { - _token = makeToken(_ttype); - _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); - } - _returnToken = _token; - } - - public final void mLCURLY(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { - int _ttype; Token _token=null; int _begin=text.length(); - _ttype = LCURLY; - int _saveIndex; - - match('{'); - if ( _createToken && _token==null && _ttype!=Token.SKIP ) { - _token = makeToken(_ttype); - _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); - } - _returnToken = _token; - } - - public final void mRCURLY(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { - int _ttype; Token _token=null; int _begin=text.length(); - _ttype = RCURLY; - int _saveIndex; - - match('}'); - if ( _createToken && _token==null && _ttype!=Token.SKIP ) { - _token = makeToken(_ttype); - _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); - } - _returnToken = _token; - } - - public final void mCOLON(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { - int _ttype; Token _token=null; int _begin=text.length(); - _ttype = COLON; - int _saveIndex; - - match(':'); - if ( _createToken && _token==null && _ttype!=Token.SKIP ) { - _token = makeToken(_ttype); - _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); - } - _returnToken = _token; - } - - public final void mCOMMA(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { - int _ttype; Token _token=null; int _begin=text.length(); - _ttype = COMMA; - int _saveIndex; - - match(','); - if ( _createToken && _token==null && _ttype!=Token.SKIP ) { - _token = makeToken(_ttype); - _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); - } - _returnToken = _token; - } - - public final void mASSIGN(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { - int _ttype; Token _token=null; int _begin=text.length(); - _ttype = ASSIGN; - int _saveIndex; - - match('='); - if ( _createToken && _token==null && _ttype!=Token.SKIP ) { - _token = makeToken(_ttype); - _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); - } - _returnToken = _token; - } - - public final void mEQUAL(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { - int _ttype; Token _token=null; int _begin=text.length(); - _ttype = EQUAL; - int _saveIndex; - - match("=="); - if ( _createToken && _token==null && _ttype!=Token.SKIP ) { - _token = makeToken(_ttype); - _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); - } - _returnToken = _token; - } - - public final void mLNOT(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { - int _ttype; Token _token=null; int _begin=text.length(); - _ttype = LNOT; - int _saveIndex; - - match('!'); - if ( _createToken && _token==null && _ttype!=Token.SKIP ) { - _token = makeToken(_ttype); - _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); - } - _returnToken = _token; - } - - public final void mBNOT(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { - int _ttype; Token _token=null; int _begin=text.length(); - _ttype = BNOT; - int _saveIndex; - - match('~'); - if ( _createToken && _token==null && _ttype!=Token.SKIP ) { - _token = makeToken(_ttype); - _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); - } - _returnToken = _token; - } - - public final void mNOT_EQUAL(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { - int _ttype; Token _token=null; int _begin=text.length(); - _ttype = NOT_EQUAL; - int _saveIndex; - - match("!="); - if ( _createToken && _token==null && _ttype!=Token.SKIP ) { - _token = makeToken(_ttype); - _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); - } - _returnToken = _token; - } - - public final void mDIV(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { - int _ttype; Token _token=null; int _begin=text.length(); - _ttype = DIV; - int _saveIndex; - - match('/'); - if ( _createToken && _token==null && _ttype!=Token.SKIP ) { - _token = makeToken(_ttype); - _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); - } - _returnToken = _token; - } - - public final void mDIV_ASSIGN(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { - int _ttype; Token _token=null; int _begin=text.length(); - _ttype = DIV_ASSIGN; - int _saveIndex; - - match("/="); - if ( _createToken && _token==null && _ttype!=Token.SKIP ) { - _token = makeToken(_ttype); - _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); - } - _returnToken = _token; - } - - public final void mPLUS(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { - int _ttype; Token _token=null; int _begin=text.length(); - _ttype = PLUS; - int _saveIndex; - - match('+'); - if ( _createToken && _token==null && _ttype!=Token.SKIP ) { - _token = makeToken(_ttype); - _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); - } - _returnToken = _token; - } - - public final void mPLUS_ASSIGN(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { - int _ttype; Token _token=null; int _begin=text.length(); - _ttype = PLUS_ASSIGN; - int _saveIndex; - - match("+="); - if ( _createToken && _token==null && _ttype!=Token.SKIP ) { - _token = makeToken(_ttype); - _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); - } - _returnToken = _token; - } - - public final void mINC(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { - int _ttype; Token _token=null; int _begin=text.length(); - _ttype = INC; - int _saveIndex; - - match("++"); - if ( _createToken && _token==null && _ttype!=Token.SKIP ) { - _token = makeToken(_ttype); - _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); - } - _returnToken = _token; - } - - public final void mMINUS(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { - int _ttype; Token _token=null; int _begin=text.length(); - _ttype = MINUS; - int _saveIndex; - - match('-'); - if ( _createToken && _token==null && _ttype!=Token.SKIP ) { - _token = makeToken(_ttype); - _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); - } - _returnToken = _token; - } - - public final void mMINUS_ASSIGN(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { - int _ttype; Token _token=null; int _begin=text.length(); - _ttype = MINUS_ASSIGN; - int _saveIndex; - - match("-="); - if ( _createToken && _token==null && _ttype!=Token.SKIP ) { - _token = makeToken(_ttype); - _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); - } - _returnToken = _token; - } - - public final void mDEC(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { - int _ttype; Token _token=null; int _begin=text.length(); - _ttype = DEC; - int _saveIndex; - - match("--"); - if ( _createToken && _token==null && _ttype!=Token.SKIP ) { - _token = makeToken(_ttype); - _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); - } - _returnToken = _token; - } - - public final void mSTAR(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { - int _ttype; Token _token=null; int _begin=text.length(); - _ttype = STAR; - int _saveIndex; - - match('*'); - if ( _createToken && _token==null && _ttype!=Token.SKIP ) { - _token = makeToken(_ttype); - _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); - } - _returnToken = _token; - } - - public final void mSTAR_ASSIGN(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { - int _ttype; Token _token=null; int _begin=text.length(); - _ttype = STAR_ASSIGN; - int _saveIndex; - - match("*="); - if ( _createToken && _token==null && _ttype!=Token.SKIP ) { - _token = makeToken(_ttype); - _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); - } - _returnToken = _token; - } - - public final void mMOD(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { - int _ttype; Token _token=null; int _begin=text.length(); - _ttype = MOD; - int _saveIndex; - - match('%'); - if ( _createToken && _token==null && _ttype!=Token.SKIP ) { - _token = makeToken(_ttype); - _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); - } - _returnToken = _token; - } - - public final void mMOD_ASSIGN(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { - int _ttype; Token _token=null; int _begin=text.length(); - _ttype = MOD_ASSIGN; - int _saveIndex; - - match("%="); - if ( _createToken && _token==null && _ttype!=Token.SKIP ) { - _token = makeToken(_ttype); - _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); - } - _returnToken = _token; - } - - public final void mSR(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { - int _ttype; Token _token=null; int _begin=text.length(); - _ttype = SR; - int _saveIndex; - - match(">>"); - if ( _createToken && _token==null && _ttype!=Token.SKIP ) { - _token = makeToken(_ttype); - _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); - } - _returnToken = _token; - } - - public final void mSR_ASSIGN(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { - int _ttype; Token _token=null; int _begin=text.length(); - _ttype = SR_ASSIGN; - int _saveIndex; - - match(">>="); - if ( _createToken && _token==null && _ttype!=Token.SKIP ) { - _token = makeToken(_ttype); - _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); - } - _returnToken = _token; - } - - public final void mBSR(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { - int _ttype; Token _token=null; int _begin=text.length(); - _ttype = BSR; - int _saveIndex; - - match(">>>"); - if ( _createToken && _token==null && _ttype!=Token.SKIP ) { - _token = makeToken(_ttype); - _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); - } - _returnToken = _token; - } - - public final void mBSR_ASSIGN(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { - int _ttype; Token _token=null; int _begin=text.length(); - _ttype = BSR_ASSIGN; - int _saveIndex; - - match(">>>="); - if ( _createToken && _token==null && _ttype!=Token.SKIP ) { - _token = makeToken(_ttype); - _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); - } - _returnToken = _token; - } - - public final void mGE(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { - int _ttype; Token _token=null; int _begin=text.length(); - _ttype = GE; - int _saveIndex; - - match(">="); - if ( _createToken && _token==null && _ttype!=Token.SKIP ) { - _token = makeToken(_ttype); - _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); - } - _returnToken = _token; - } - - public final void mGT(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { - int _ttype; Token _token=null; int _begin=text.length(); - _ttype = GT; - int _saveIndex; - - match(">"); - if ( _createToken && _token==null && _ttype!=Token.SKIP ) { - _token = makeToken(_ttype); - _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); - } - _returnToken = _token; - } - - public final void mSL(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { - int _ttype; Token _token=null; int _begin=text.length(); - _ttype = SL; - int _saveIndex; - - match("<<"); - if ( _createToken && _token==null && _ttype!=Token.SKIP ) { - _token = makeToken(_ttype); - _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); - } - _returnToken = _token; - } - - public final void mSL_ASSIGN(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { - int _ttype; Token _token=null; int _begin=text.length(); - _ttype = SL_ASSIGN; - int _saveIndex; - - match("<<="); - if ( _createToken && _token==null && _ttype!=Token.SKIP ) { - _token = makeToken(_ttype); - _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); - } - _returnToken = _token; - } - - public final void mLE(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { - int _ttype; Token _token=null; int _begin=text.length(); - _ttype = LE; - int _saveIndex; - - match("<="); - if ( _createToken && _token==null && _ttype!=Token.SKIP ) { - _token = makeToken(_ttype); - _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); - } - _returnToken = _token; - } - - public final void mLT(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { - int _ttype; Token _token=null; int _begin=text.length(); - _ttype = LT; - int _saveIndex; - - match('<'); - if ( _createToken && _token==null && _ttype!=Token.SKIP ) { - _token = makeToken(_ttype); - _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); - } - _returnToken = _token; - } - - public final void mBXOR(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { - int _ttype; Token _token=null; int _begin=text.length(); - _ttype = BXOR; - int _saveIndex; - - match('^'); - if ( _createToken && _token==null && _ttype!=Token.SKIP ) { - _token = makeToken(_ttype); - _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); - } - _returnToken = _token; - } - - public final void mBXOR_ASSIGN(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { - int _ttype; Token _token=null; int _begin=text.length(); - _ttype = BXOR_ASSIGN; - int _saveIndex; - - match("^="); - if ( _createToken && _token==null && _ttype!=Token.SKIP ) { - _token = makeToken(_ttype); - _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); - } - _returnToken = _token; - } - - public final void mBOR(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { - int _ttype; Token _token=null; int _begin=text.length(); - _ttype = BOR; - int _saveIndex; - - match('|'); - if ( _createToken && _token==null && _ttype!=Token.SKIP ) { - _token = makeToken(_ttype); - _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); - } - _returnToken = _token; - } - - public final void mBOR_ASSIGN(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { - int _ttype; Token _token=null; int _begin=text.length(); - _ttype = BOR_ASSIGN; - int _saveIndex; - - match("|="); - if ( _createToken && _token==null && _ttype!=Token.SKIP ) { - _token = makeToken(_ttype); - _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); - } - _returnToken = _token; - } - - public final void mLOR(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { - int _ttype; Token _token=null; int _begin=text.length(); - _ttype = LOR; - int _saveIndex; - - match("||"); - if ( _createToken && _token==null && _ttype!=Token.SKIP ) { - _token = makeToken(_ttype); - _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); - } - _returnToken = _token; - } - - public final void mBAND(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { - int _ttype; Token _token=null; int _begin=text.length(); - _ttype = BAND; - int _saveIndex; - - match('&'); - if ( _createToken && _token==null && _ttype!=Token.SKIP ) { - _token = makeToken(_ttype); - _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); - } - _returnToken = _token; - } - - public final void mBAND_ASSIGN(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { - int _ttype; Token _token=null; int _begin=text.length(); - _ttype = BAND_ASSIGN; - int _saveIndex; - - match("&="); - if ( _createToken && _token==null && _ttype!=Token.SKIP ) { - _token = makeToken(_ttype); - _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); - } - _returnToken = _token; - } - - public final void mLAND(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { - int _ttype; Token _token=null; int _begin=text.length(); - _ttype = LAND; - int _saveIndex; - - match("&&"); - if ( _createToken && _token==null && _ttype!=Token.SKIP ) { - _token = makeToken(_ttype); - _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); - } - _returnToken = _token; - } - - public final void mSEMI(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { - int _ttype; Token _token=null; int _begin=text.length(); - _ttype = SEMI; - int _saveIndex; - - match(';'); - if ( _createToken && _token==null && _ttype!=Token.SKIP ) { - _token = makeToken(_ttype); - _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); - } - _returnToken = _token; - } - - public final void mWS(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { - int _ttype; Token _token=null; int _begin=text.length(); - _ttype = WS; - int _saveIndex; - - { - int _cnt369=0; - _loop369: - do { - switch ( LA(1)) { - case ' ': - { - match(' '); - break; - } - case '\t': - { - match('\t'); - break; - } - case '\u000c': - { - match('\f'); - break; - } - case '\n': case '\r': - { - { - if ((LA(1)=='\r') && (LA(2)=='\n') && (true) && (true)) { - match("\r\n"); - } - else if ((LA(1)=='\r') && (true) && (true) && (true)) { - match('\r'); - } - else if ((LA(1)=='\n')) { - match('\n'); - } - else { - throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn()); - } - - } - if ( inputState.guessing==0 ) { - newline(); - } - break; - } - default: - { - if ( _cnt369>=1 ) { break _loop369; } else {throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());} - } - } - _cnt369++; - } while (true); - } - if ( inputState.guessing==0 ) { - _ttype = Token.SKIP; - } - if ( _createToken && _token==null && _ttype!=Token.SKIP ) { - _token = makeToken(_ttype); - _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); - } - _returnToken = _token; - } - - public final void mSL_COMMENT(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { - int _ttype; Token _token=null; int _begin=text.length(); - _ttype = SL_COMMENT; - int _saveIndex; - - match("//"); - { - _loop373: - do { - if ((_tokenSet_0.member(LA(1)))) { - { - match(_tokenSet_0); - } - } - else { - break _loop373; - } - - } while (true); - } - { - switch ( LA(1)) { - case '\n': - { - match('\n'); - break; - } - case '\r': - { - match('\r'); - { - if ((LA(1)=='\n')) { - match('\n'); - } - else { - } - - } - break; - } - default: - { - throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn()); - } - } - } - if ( inputState.guessing==0 ) { - _ttype = Token.SKIP; newline(); - } - if ( _createToken && _token==null && _ttype!=Token.SKIP ) { - _token = makeToken(_ttype); - _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); - } - _returnToken = _token; - } - - public final void mML_COMMENT(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { - int _ttype; Token _token=null; int _begin=text.length(); - _ttype = ML_COMMENT; - int _saveIndex; - - match("/*"); - { - _loop379: - do { - if ((LA(1)=='\r') && (LA(2)=='\n') && ((LA(3) >= '\u0003' && LA(3) <= '\uffff')) && ((LA(4) >= '\u0003' && LA(4) <= '\uffff'))) { - match('\r'); - match('\n'); - if ( inputState.guessing==0 ) { - newline(); - } - } - else if (((LA(1)=='*') && ((LA(2) >= '\u0003' && LA(2) <= '\uffff')) && ((LA(3) >= '\u0003' && LA(3) <= '\uffff')))&&( LA(2)!='/' )) { - match('*'); - } - else if ((LA(1)=='\r') && ((LA(2) >= '\u0003' && LA(2) <= '\uffff')) && ((LA(3) >= '\u0003' && LA(3) <= '\uffff')) && (true)) { - match('\r'); - if ( inputState.guessing==0 ) { - newline(); - } - } - else if ((LA(1)=='\n')) { - match('\n'); - if ( inputState.guessing==0 ) { - newline(); - } - } - else if ((_tokenSet_1.member(LA(1)))) { - { - match(_tokenSet_1); - } - } - else { - break _loop379; - } - - } while (true); - } - match("*/"); - if ( inputState.guessing==0 ) { - _ttype = Token.SKIP; - } - if ( _createToken && _token==null && _ttype!=Token.SKIP ) { - _token = makeToken(_ttype); - _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); - } - _returnToken = _token; - } - - public final void mCHAR_LITERAL(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { - int _ttype; Token _token=null; int _begin=text.length(); - _ttype = CHAR_LITERAL; - int _saveIndex; - - match('\''); - { - if ((LA(1)=='\\')) { - mESC(false); - } - else if ((_tokenSet_2.member(LA(1)))) { - { - match(_tokenSet_2); - } - } - else { - throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn()); - } - - } - match('\''); - if ( _createToken && _token==null && _ttype!=Token.SKIP ) { - _token = makeToken(_ttype); - _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); - } - _returnToken = _token; - } - - protected final void mESC(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { - int _ttype; Token _token=null; int _begin=text.length(); - _ttype = ESC; - int _saveIndex; - - match('\\'); - { - switch ( LA(1)) { - case 'n': - { - match('n'); - break; - } - case 'r': - { - match('r'); - break; - } - case 't': - { - match('t'); - break; - } - case 'b': - { - match('b'); - break; - } - case 'f': - { - match('f'); - break; - } - case '"': - { - match('"'); - break; - } - case '\'': - { - match('\''); - break; - } - case '\\': - { - match('\\'); - break; - } - case 'u': - { - { - int _cnt390=0; - _loop390: - do { - if ((LA(1)=='u')) { - match('u'); - } - else { - if ( _cnt390>=1 ) { break _loop390; } else {throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());} - } - - _cnt390++; - } while (true); - } - mHEX_DIGIT(false); - mHEX_DIGIT(false); - mHEX_DIGIT(false); - mHEX_DIGIT(false); - break; - } - case '0': case '1': case '2': case '3': - { - matchRange('0','3'); - { - if (((LA(1) >= '0' && LA(1) <= '7')) && (_tokenSet_0.member(LA(2))) && (true) && (true)) { - matchRange('0','7'); - { - if (((LA(1) >= '0' && LA(1) <= '7')) && (_tokenSet_0.member(LA(2))) && (true) && (true)) { - matchRange('0','7'); - } - else if ((_tokenSet_0.member(LA(1))) && (true) && (true) && (true)) { - } - else { - throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn()); - } - - } - } - else if ((_tokenSet_0.member(LA(1))) && (true) && (true) && (true)) { - } - else { - throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn()); - } - - } - break; - } - case '4': case '5': case '6': case '7': - { - matchRange('4','7'); - { - if (((LA(1) >= '0' && LA(1) <= '7')) && (_tokenSet_0.member(LA(2))) && (true) && (true)) { - matchRange('0','7'); - } - else if ((_tokenSet_0.member(LA(1))) && (true) && (true) && (true)) { - } - else { - throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn()); - } - - } - break; - } - default: - { - throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn()); - } - } - } - if ( _createToken && _token==null && _ttype!=Token.SKIP ) { - _token = makeToken(_ttype); - _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); - } - _returnToken = _token; - } - - public final void mSTRING_LITERAL(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { - int _ttype; Token _token=null; int _begin=text.length(); - _ttype = STRING_LITERAL; - int _saveIndex; - - match('"'); - { - _loop386: - do { - if ((LA(1)=='\\')) { - mESC(false); - } - else if ((_tokenSet_3.member(LA(1)))) { - { - match(_tokenSet_3); - } - } - else { - break _loop386; - } - - } while (true); - } - match('"'); - if ( _createToken && _token==null && _ttype!=Token.SKIP ) { - _token = makeToken(_ttype); - _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); - } - _returnToken = _token; - } - - protected final void mHEX_DIGIT(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { - int _ttype; Token _token=null; int _begin=text.length(); - _ttype = HEX_DIGIT; - int _saveIndex; - - { - switch ( LA(1)) { - case '0': case '1': case '2': case '3': - case '4': case '5': case '6': case '7': - case '8': case '9': - { - matchRange('0','9'); - break; - } - case 'A': case 'B': case 'C': case 'D': - case 'E': case 'F': - { - matchRange('A','F'); - break; - } - case 'a': case 'b': case 'c': case 'd': - case 'e': case 'f': - { - matchRange('a','f'); - break; - } - default: - { - throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn()); - } - } - } - if ( _createToken && _token==null && _ttype!=Token.SKIP ) { - _token = makeToken(_ttype); - _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); - } - _returnToken = _token; - } - - protected final void mVOCAB(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { - int _ttype; Token _token=null; int _begin=text.length(); - _ttype = VOCAB; - int _saveIndex; - - matchRange('\3','\377'); - if ( _createToken && _token==null && _ttype!=Token.SKIP ) { - _token = makeToken(_ttype); - _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); - } - _returnToken = _token; - } - - public final void mIDENT(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { - int _ttype; Token _token=null; int _begin=text.length(); - _ttype = IDENT; - int _saveIndex; - - { - switch ( LA(1)) { - case 'a': case 'b': case 'c': case 'd': - case 'e': case 'f': case 'g': case 'h': - case 'i': case 'j': case 'k': case 'l': - case 'm': case 'n': case 'o': case 'p': - case 'q': case 'r': case 's': case 't': - case 'u': case 'v': case 'w': case 'x': - case 'y': case 'z': - { - matchRange('a','z'); - break; - } - case 'A': case 'B': case 'C': case 'D': - case 'E': case 'F': case 'G': case 'H': - case 'I': case 'J': case 'K': case 'L': - case 'M': case 'N': case 'O': case 'P': - case 'Q': case 'R': case 'S': case 'T': - case 'U': case 'V': case 'W': case 'X': - case 'Y': case 'Z': - { - matchRange('A','Z'); - break; - } - case '_': - { - match('_'); - break; - } - case '$': - { - match('$'); - break; - } - default: - { - throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn()); - } - } - } - { - _loop400: - do { - switch ( LA(1)) { - case 'a': case 'b': case 'c': case 'd': - case 'e': case 'f': case 'g': case 'h': - case 'i': case 'j': case 'k': case 'l': - case 'm': case 'n': case 'o': case 'p': - case 'q': case 'r': case 's': case 't': - case 'u': case 'v': case 'w': case 'x': - case 'y': case 'z': - { - matchRange('a','z'); - break; - } - case 'A': case 'B': case 'C': case 'D': - case 'E': case 'F': case 'G': case 'H': - case 'I': case 'J': case 'K': case 'L': - case 'M': case 'N': case 'O': case 'P': - case 'Q': case 'R': case 'S': case 'T': - case 'U': case 'V': case 'W': case 'X': - case 'Y': case 'Z': - { - matchRange('A','Z'); - break; - } - case '_': - { - match('_'); - break; - } - case '0': case '1': case '2': case '3': - case '4': case '5': case '6': case '7': - case '8': case '9': - { - matchRange('0','9'); - break; - } - case '$': - { - match('$'); - break; - } - default: - { - break _loop400; - } - } - } while (true); - } - if ( inputState.guessing==0 ) { - - // check if "assert" keyword is enabled - if (assertEnabled && "assert".equals(new String(text.getBuffer(),_begin,text.length()-_begin))) { - _ttype = LITERAL_assert; // set token type for the rule in the parser - } - // check if "enum" keyword is enabled - if (enumEnabled && "enum".equals(new String(text.getBuffer(),_begin,text.length()-_begin))) { - _ttype = LITERAL_enum; // set token type for the rule in the parser - } - - } - _ttype = testLiteralsTable(_ttype); - if ( _createToken && _token==null && _ttype!=Token.SKIP ) { - _token = makeToken(_ttype); - _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); - } - _returnToken = _token; - } - - public final void mNUM_INT(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { - int _ttype; Token _token=null; int _begin=text.length(); - _ttype = NUM_INT; - int _saveIndex; - Token f1=null; - Token f2=null; - Token f3=null; - Token f4=null; - boolean isDecimal=false; Token t=null; - - switch ( LA(1)) { - case '.': - { - match('.'); - if ( inputState.guessing==0 ) { - _ttype = DOT; - } - { - switch ( LA(1)) { - case '0': case '1': case '2': case '3': - case '4': case '5': case '6': case '7': - case '8': case '9': - { - { - { - int _cnt405=0; - _loop405: - do { - if (((LA(1) >= '0' && LA(1) <= '9'))) { - matchRange('0','9'); - } - else { - if ( _cnt405>=1 ) { break _loop405; } else {throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());} - } - - _cnt405++; - } while (true); - } - { - if ((LA(1)=='E'||LA(1)=='e')) { - mEXPONENT(false); - } - else { - } - - } - { - if ((LA(1)=='D'||LA(1)=='F'||LA(1)=='d'||LA(1)=='f')) { - mFLOAT_SUFFIX(true); - f1=_returnToken; - if ( inputState.guessing==0 ) { - t=f1; - } - } - else { - } - - } - if ( inputState.guessing==0 ) { - - if (t != null && t.getText().toUpperCase().indexOf('F')>=0) { - _ttype = NUM_FLOAT; - } - else { - _ttype = NUM_DOUBLE; // assume double - } - - } - } - break; - } - case '.': - { - { - match(".."); - if ( inputState.guessing==0 ) { - _ttype = TRIPLE_DOT; - } - } - break; - } - default: - { - } - } - } - break; - } - case '0': case '1': case '2': case '3': - case '4': case '5': case '6': case '7': - case '8': case '9': - { - { - switch ( LA(1)) { - case '0': - { - match('0'); - if ( inputState.guessing==0 ) { - isDecimal = true; - } - { - if ((LA(1)=='X'||LA(1)=='x')) { - { - switch ( LA(1)) { - case 'x': - { - match('x'); - break; - } - case 'X': - { - match('X'); - break; - } - default: - { - throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn()); - } - } - } - { - int _cnt413=0; - _loop413: - do { - if ((_tokenSet_4.member(LA(1))) && (true) && (true) && (true)) { - mHEX_DIGIT(false); - } - else { - if ( _cnt413>=1 ) { break _loop413; } else {throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());} - } - - _cnt413++; - } while (true); - } - } - else { - boolean synPredMatched418 = false; - if ((((LA(1) >= '0' && LA(1) <= '9')) && (true) && (true) && (true))) { - int _m418 = mark(); - synPredMatched418 = true; - inputState.guessing++; - try { - { - { - int _cnt416=0; - _loop416: - do { - if (((LA(1) >= '0' && LA(1) <= '9'))) { - matchRange('0','9'); - } - else { - if ( _cnt416>=1 ) { break _loop416; } else {throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());} - } - - _cnt416++; - } while (true); - } - { - switch ( LA(1)) { - case '.': - { - match('.'); - break; - } - case 'E': case 'e': - { - mEXPONENT(false); - break; - } - case 'D': case 'F': case 'd': case 'f': - { - mFLOAT_SUFFIX(false); - break; - } - default: - { - throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn()); - } - } - } - } - } - catch (RecognitionException pe) { - synPredMatched418 = false; - } - rewind(_m418); -inputState.guessing--; - } - if ( synPredMatched418 ) { - { - int _cnt420=0; - _loop420: - do { - if (((LA(1) >= '0' && LA(1) <= '9'))) { - matchRange('0','9'); - } - else { - if ( _cnt420>=1 ) { break _loop420; } else {throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());} - } - - _cnt420++; - } while (true); - } - } - else if (((LA(1) >= '0' && LA(1) <= '7')) && (true) && (true) && (true)) { - { - int _cnt422=0; - _loop422: - do { - if (((LA(1) >= '0' && LA(1) <= '7'))) { - matchRange('0','7'); - } - else { - if ( _cnt422>=1 ) { break _loop422; } else {throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());} - } - - _cnt422++; - } while (true); - } - } - else { - } - } - } - break; - } - case '1': case '2': case '3': case '4': - case '5': case '6': case '7': case '8': - case '9': - { - { - matchRange('1','9'); - } - { - _loop425: - do { - if (((LA(1) >= '0' && LA(1) <= '9'))) { - matchRange('0','9'); - } - else { - break _loop425; - } - - } while (true); - } - if ( inputState.guessing==0 ) { - isDecimal=true; - } - break; - } - default: - { - throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn()); - } - } - } - { - if ((LA(1)=='L'||LA(1)=='l')) { - { - switch ( LA(1)) { - case 'l': - { - match('l'); - break; - } - case 'L': - { - match('L'); - break; - } - default: - { - throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn()); - } - } - } - if ( inputState.guessing==0 ) { - _ttype = NUM_LONG; - } - } - else if (((LA(1)=='.'||LA(1)=='D'||LA(1)=='E'||LA(1)=='F'||LA(1)=='d'||LA(1)=='e'||LA(1)=='f'))&&(isDecimal)) { - { - switch ( LA(1)) { - case '.': - { - match('.'); - { - _loop430: - do { - if (((LA(1) >= '0' && LA(1) <= '9'))) { - matchRange('0','9'); - } - else { - break _loop430; - } - - } while (true); - } - { - if ((LA(1)=='E'||LA(1)=='e')) { - mEXPONENT(false); - } - else { - } - - } - { - if ((LA(1)=='D'||LA(1)=='F'||LA(1)=='d'||LA(1)=='f')) { - mFLOAT_SUFFIX(true); - f2=_returnToken; - if ( inputState.guessing==0 ) { - t=f2; - } - } - else { - } - - } - break; - } - case 'E': case 'e': - { - mEXPONENT(false); - { - if ((LA(1)=='D'||LA(1)=='F'||LA(1)=='d'||LA(1)=='f')) { - mFLOAT_SUFFIX(true); - f3=_returnToken; - if ( inputState.guessing==0 ) { - t=f3; - } - } - else { - } - - } - break; - } - case 'D': case 'F': case 'd': case 'f': - { - mFLOAT_SUFFIX(true); - f4=_returnToken; - if ( inputState.guessing==0 ) { - t=f4; - } - break; - } - default: - { - throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn()); - } - } - } - if ( inputState.guessing==0 ) { - - if (t != null && t.getText().toUpperCase() .indexOf('F') >= 0) { - _ttype = NUM_FLOAT; - } - else { - _ttype = NUM_DOUBLE; // assume double - } - - } - } - else { - } - - } - break; - } - default: - { - throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn()); - } - } - if ( _createToken && _token==null && _ttype!=Token.SKIP ) { - _token = makeToken(_ttype); - _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); - } - _returnToken = _token; - } - - protected final void mEXPONENT(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { - int _ttype; Token _token=null; int _begin=text.length(); - _ttype = EXPONENT; - int _saveIndex; - - { - switch ( LA(1)) { - case 'e': - { - match('e'); - break; - } - case 'E': - { - match('E'); - break; - } - default: - { - throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn()); - } - } - } - { - switch ( LA(1)) { - case '+': - { - match('+'); - break; - } - case '-': - { - match('-'); - break; - } - case '0': case '1': case '2': case '3': - case '4': case '5': case '6': case '7': - case '8': case '9': - { - break; - } - default: - { - throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn()); - } - } - } - { - int _cnt439=0; - _loop439: - do { - if (((LA(1) >= '0' && LA(1) <= '9'))) { - matchRange('0','9'); - } - else { - if ( _cnt439>=1 ) { break _loop439; } else {throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());} - } - - _cnt439++; - } while (true); - } - if ( _createToken && _token==null && _ttype!=Token.SKIP ) { - _token = makeToken(_ttype); - _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); - } - _returnToken = _token; - } - - protected final void mFLOAT_SUFFIX(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { - int _ttype; Token _token=null; int _begin=text.length(); - _ttype = FLOAT_SUFFIX; - int _saveIndex; - - switch ( LA(1)) { - case 'f': - { - match('f'); - break; - } - case 'F': - { - match('F'); - break; - } - case 'd': - { - match('d'); - break; - } - case 'D': - { - match('D'); - break; - } - default: - { - throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn()); - } - } - if ( _createToken && _token==null && _ttype!=Token.SKIP ) { - _token = makeToken(_ttype); - _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); - } - _returnToken = _token; - } - - public final void mAT(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { - int _ttype; Token _token=null; int _begin=text.length(); - _ttype = AT; - int _saveIndex; - - match('@'); - if ( _createToken && _token==null && _ttype!=Token.SKIP ) { - _token = makeToken(_ttype); - _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); - } - _returnToken = _token; - } - - - private static final long[] mk_tokenSet_0() { - long[] data = new long[2048]; - data[0]=-9224L; - for (int i = 1; i<=1023; i++) { data[i]=-1L; } - return data; - } - public static final BitSet _tokenSet_0 = new BitSet(mk_tokenSet_0()); - private static final long[] mk_tokenSet_1() { - long[] data = new long[2048]; - data[0]=-4398046520328L; - for (int i = 1; i<=1023; i++) { data[i]=-1L; } - return data; - } - public static final BitSet _tokenSet_1 = new BitSet(mk_tokenSet_1()); - private static final long[] mk_tokenSet_2() { - long[] data = new long[2048]; - data[0]=-549755823112L; - data[1]=-268435457L; - for (int i = 2; i<=1023; i++) { data[i]=-1L; } - return data; - } - public static final BitSet _tokenSet_2 = new BitSet(mk_tokenSet_2()); - private static final long[] mk_tokenSet_3() { - long[] data = new long[2048]; - data[0]=-17179878408L; - data[1]=-268435457L; - for (int i = 2; i<=1023; i++) { data[i]=-1L; } - return data; - } - public static final BitSet _tokenSet_3 = new BitSet(mk_tokenSet_3()); - private static final long[] mk_tokenSet_4() { - long[] data = new long[1025]; - data[0]=287948901175001088L; - data[1]=541165879422L; - return data; - } - public static final BitSet _tokenSet_4 = new BitSet(mk_tokenSet_4()); - - } diff --git a/Java/Processing/processing-3.3.6/modes/java/generated/processing/mode/java/preproc/JavaLexer.smap b/Java/Processing/processing-3.3.6/modes/java/generated/processing/mode/java/preproc/JavaLexer.smap deleted file mode 100644 index 9c2cece..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/generated/processing/mode/java/preproc/JavaLexer.smap +++ /dev/null @@ -1,1323 +0,0 @@ -SMAP -JavaLexer.java -G -*S G -*F -+ 0 java15.g -java15.g -*L -0:125 -0:131 -0:137 -0:143 -0:149 -0:155 -0:161 -0:167 -0:173 -0:179 -0:185 -0:192 -0:198 -0:204 -0:223 -0:231 -0:237 -0:243 -0:247 -0:251 -0:255 -0:259 -0:263 -0:267 -0:271 -0:275 -0:279 -0:283 -0:287 -0:291 -0:295 -0:299 -0:303 -0:307 -0:311 -0:315 -0:319 -0:323 -0:327 -0:331 -0:335 -0:339 -0:343 -0:347 -0:351 -0:355 -0:359 -0:363 -0:367 -0:371 -0:375 -0:379 -0:383 -1:3 -1558:32 -1559:33 -1560:34 -1561:35 -1563:37 -1564:38 -1565:39 -1566:40 -1567:41 -1568:42 -1569:43 -1570:44 -1574:411 -1574:412 -1574:413 -1574:414 -1574:416 -1574:417 -1574:418 -1574:419 -1574:420 -1574:421 -1574:422 -1575:424 -1575:425 -1575:426 -1575:427 -1575:429 -1575:430 -1575:431 -1575:432 -1575:433 -1575:434 -1575:435 -1576:437 -1576:438 -1576:439 -1576:440 -1576:442 -1576:443 -1576:444 -1576:445 -1576:446 -1576:447 -1576:448 -1577:450 -1577:451 -1577:452 -1577:453 -1577:455 -1577:456 -1577:457 -1577:458 -1577:459 -1577:460 -1577:461 -1578:463 -1578:464 -1578:465 -1578:466 -1578:468 -1578:469 -1578:470 -1578:471 -1578:472 -1578:473 -1578:474 -1579:476 -1579:477 -1579:478 -1579:479 -1579:481 -1579:482 -1579:483 -1579:484 -1579:485 -1579:486 -1579:487 -1580:489 -1580:490 -1580:491 -1580:492 -1580:494 -1580:495 -1580:496 -1580:497 -1580:498 -1580:499 -1580:500 -1581:502 -1581:503 -1581:504 -1581:505 -1581:507 -1581:508 -1581:509 -1581:510 -1581:511 -1581:512 -1581:513 -1582:515 -1582:516 -1582:517 -1582:518 -1582:520 -1582:521 -1582:522 -1582:523 -1582:524 -1582:525 -1582:526 -1584:528 -1584:529 -1584:530 -1584:531 -1584:533 -1584:534 -1584:535 -1584:536 -1584:537 -1584:538 -1584:539 -1585:541 -1585:542 -1585:543 -1585:544 -1585:546 -1585:547 -1585:548 -1585:549 -1585:550 -1585:551 -1585:552 -1586:554 -1586:555 -1586:556 -1586:557 -1586:559 -1586:560 -1586:561 -1586:562 -1586:563 -1586:564 -1586:565 -1587:567 -1587:568 -1587:569 -1587:570 -1587:572 -1587:573 -1587:574 -1587:575 -1587:576 -1587:577 -1587:578 -1588:580 -1588:581 -1588:582 -1588:583 -1588:585 -1588:586 -1588:587 -1588:588 -1588:589 -1588:590 -1588:591 -1589:593 -1589:594 -1589:595 -1589:596 -1589:598 -1589:599 -1589:600 -1589:601 -1589:602 -1589:603 -1589:604 -1590:606 -1590:607 -1590:608 -1590:609 -1590:611 -1590:612 -1590:613 -1590:614 -1590:615 -1590:616 -1590:617 -1591:619 -1591:620 -1591:621 -1591:622 -1591:624 -1591:625 -1591:626 -1591:627 -1591:628 -1591:629 -1591:630 -1592:632 -1592:633 -1592:634 -1592:635 -1592:637 -1592:638 -1592:639 -1592:640 -1592:641 -1592:642 -1592:643 -1593:645 -1593:646 -1593:647 -1593:648 -1593:650 -1593:651 -1593:652 -1593:653 -1593:654 -1593:655 -1593:656 -1594:658 -1594:659 -1594:660 -1594:661 -1594:663 -1594:664 -1594:665 -1594:666 -1594:667 -1594:668 -1594:669 -1595:671 -1595:672 -1595:673 -1595:674 -1595:676 -1595:677 -1595:678 -1595:679 -1595:680 -1595:681 -1595:682 -1596:684 -1596:685 -1596:686 -1596:687 -1596:689 -1596:690 -1596:691 -1596:692 -1596:693 -1596:694 -1596:695 -1597:697 -1597:698 -1597:699 -1597:700 -1597:702 -1597:703 -1597:704 -1597:705 -1597:706 -1597:707 -1597:708 -1598:710 -1598:711 -1598:712 -1598:713 -1598:715 -1598:716 -1598:717 -1598:718 -1598:719 -1598:720 -1598:721 -1599:723 -1599:724 -1599:725 -1599:726 -1599:728 -1599:729 -1599:730 -1599:731 -1599:732 -1599:733 -1599:734 -1600:736 -1600:737 -1600:738 -1600:739 -1600:741 -1600:742 -1600:743 -1600:744 -1600:745 -1600:746 -1600:747 -1601:749 -1601:750 -1601:751 -1601:752 -1601:754 -1601:755 -1601:756 -1601:757 -1601:758 -1601:759 -1601:760 -1602:762 -1602:763 -1602:764 -1602:765 -1602:767 -1602:768 -1602:769 -1602:770 -1602:771 -1602:772 -1602:773 -1603:775 -1603:776 -1603:777 -1603:778 -1603:780 -1603:781 -1603:782 -1603:783 -1603:784 -1603:785 -1603:786 -1604:788 -1604:789 -1604:790 -1604:791 -1604:793 -1604:794 -1604:795 -1604:796 -1604:797 -1604:798 -1604:799 -1605:801 -1605:802 -1605:803 -1605:804 -1605:806 -1605:807 -1605:808 -1605:809 -1605:810 -1605:811 -1605:812 -1606:814 -1606:815 -1606:816 -1606:817 -1606:819 -1606:820 -1606:821 -1606:822 -1606:823 -1606:824 -1606:825 -1607:827 -1607:828 -1607:829 -1607:830 -1607:832 -1607:833 -1607:834 -1607:835 -1607:836 -1607:837 -1607:838 -1608:840 -1608:841 -1608:842 -1608:843 -1608:845 -1608:846 -1608:847 -1608:848 -1608:849 -1608:850 -1608:851 -1609:853 -1609:854 -1609:855 -1609:856 -1609:858 -1609:859 -1609:860 -1609:861 -1609:862 -1609:863 -1609:864 -1610:866 -1610:867 -1610:868 -1610:869 -1610:871 -1610:872 -1610:873 -1610:874 -1610:875 -1610:876 -1610:877 -1611:879 -1611:880 -1611:881 -1611:882 -1611:884 -1611:885 -1611:886 -1611:887 -1611:888 -1611:889 -1611:890 -1612:892 -1612:893 -1612:894 -1612:895 -1612:897 -1612:898 -1612:899 -1612:900 -1612:901 -1612:902 -1612:903 -1613:905 -1613:906 -1613:907 -1613:908 -1613:910 -1613:911 -1613:912 -1613:913 -1613:914 -1613:915 -1613:916 -1614:918 -1614:919 -1614:920 -1614:921 -1614:923 -1614:924 -1614:925 -1614:926 -1614:927 -1614:928 -1614:929 -1615:931 -1615:932 -1615:933 -1615:934 -1615:936 -1615:937 -1615:938 -1615:939 -1615:940 -1615:941 -1615:942 -1616:944 -1616:945 -1616:946 -1616:947 -1616:949 -1616:950 -1616:951 -1616:952 -1616:953 -1616:954 -1616:955 -1617:957 -1617:958 -1617:959 -1617:960 -1617:962 -1617:963 -1617:964 -1617:965 -1617:966 -1617:967 -1617:968 -1618:970 -1618:971 -1618:972 -1618:973 -1618:975 -1618:976 -1618:977 -1618:978 -1618:979 -1618:980 -1618:981 -1619:983 -1619:984 -1619:985 -1619:986 -1619:988 -1619:989 -1619:990 -1619:991 -1619:992 -1619:993 -1619:994 -1623:996 -1623:997 -1623:998 -1623:999 -1623:1002 -1623:1003 -1623:1004 -1623:1005 -1623:1006 -1623:1007 -1623:1008 -1623:1043 -1623:1044 -1623:1045 -1623:1046 -1623:1047 -1623:1048 -1623:1049 -1623:1050 -1623:1054 -1623:1055 -1623:1056 -1623:1057 -1623:1058 -1623:1059 -1624:1011 -1624:1012 -1624:1013 -1625:1016 -1625:1017 -1625:1018 -1627:1021 -1627:1022 -1627:1026 -1627:1029 -1627:1032 -1627:1033 -1627:1034 -1627:1035 -1628:1024 -1628:1025 -1629:1027 -1629:1028 -1630:1030 -1630:1031 -1632:1038 -1632:1039 -1634:1051 -1634:1052 -1638:1061 -1638:1062 -1638:1063 -1638:1064 -1638:1110 -1638:1111 -1638:1112 -1638:1113 -1638:1114 -1638:1115 -1639:1066 -1640:1067 -1640:1068 -1640:1069 -1640:1070 -1640:1072 -1640:1074 -1640:1075 -1640:1076 -1640:1077 -1640:1079 -1640:1080 -1640:1082 -1640:1083 -1640:1084 -1640:1085 -1640:1088 -1640:1089 -1640:1090 -1640:1092 -1640:1093 -1640:1094 -1640:1096 -1640:1101 -1640:1102 -1640:1103 -1640:1104 -1640:1105 -1641:1107 -1641:1108 -1645:1117 -1645:1118 -1645:1119 -1645:1120 -1645:1163 -1645:1164 -1645:1165 -1645:1166 -1645:1167 -1645:1168 -1646:1122 -1647:1123 -1647:1124 -1647:1125 -1647:1132 -1647:1135 -1647:1141 -1647:1147 -1647:1152 -1647:1153 -1647:1154 -1647:1155 -1647:1157 -1647:1158 -1658:1133 -1658:1134 -1659:1126 -1659:1127 -1659:1128 -1659:1129 -1659:1130 -1660:1136 -1660:1137 -1660:1138 -1660:1139 -1661:1142 -1661:1143 -1661:1144 -1661:1145 -1662:1148 -1662:1150 -1664:1159 -1665:1160 -1665:1161 -1670:1170 -1670:1171 -1670:1172 -1670:1173 -1670:1191 -1670:1192 -1670:1193 -1670:1194 -1670:1195 -1670:1196 -1671:1175 -1671:1177 -1671:1178 -1671:1179 -1671:1180 -1671:1182 -1671:1184 -1671:1185 -1671:1186 -1671:1187 -1671:1190 -1675:1324 -1675:1325 -1675:1326 -1675:1327 -1675:1348 -1675:1349 -1675:1350 -1675:1351 -1675:1352 -1675:1353 -1676:1329 -1676:1330 -1676:1331 -1676:1332 -1676:1333 -1676:1334 -1676:1335 -1676:1336 -1676:1338 -1676:1340 -1676:1341 -1676:1342 -1676:1343 -1676:1345 -1676:1346 -1676:1347 -1689:1198 -1689:1199 -1689:1200 -1689:1201 -1689:1317 -1689:1318 -1689:1319 -1689:1320 -1689:1321 -1689:1322 -1690:1203 -1691:1205 -1691:1206 -1691:1207 -1691:1208 -1691:1311 -1691:1312 -1691:1313 -1691:1314 -1691:1315 -1692:1211 -1692:1212 -1692:1213 -1693:1216 -1693:1217 -1693:1218 -1694:1221 -1694:1222 -1694:1223 -1695:1226 -1695:1227 -1695:1228 -1696:1231 -1696:1232 -1696:1233 -1697:1236 -1697:1237 -1697:1238 -1698:1241 -1698:1242 -1698:1243 -1699:1246 -1699:1247 -1699:1249 -1699:1250 -1699:1251 -1699:1252 -1699:1253 -1699:1254 -1699:1255 -1699:1256 -1699:1257 -1699:1259 -1699:1260 -1699:1261 -1699:1262 -1699:1263 -1699:1264 -1699:1265 -1700:1268 -1700:1269 -1700:1270 -1701:1285 -1701:1287 -1701:1288 -1701:1289 -1701:1290 -1705:1272 -1705:1273 -1706:1277 -1706:1279 -1706:1280 -1706:1281 -1706:1282 -1710:1275 -1710:1276 -1713:1295 -1713:1296 -1713:1297 -1714:1301 -1714:1303 -1714:1304 -1714:1305 -1714:1306 -1718:1299 -1718:1300 -1726:1355 -1726:1356 -1726:1357 -1726:1358 -1726:1387 -1726:1388 -1726:1389 -1726:1390 -1726:1391 -1726:1392 -1727:1361 -1727:1362 -1727:1363 -1727:1364 -1727:1365 -1727:1366 -1727:1369 -1727:1370 -1727:1371 -1727:1372 -1727:1375 -1727:1376 -1727:1377 -1727:1378 -1727:1381 -1727:1382 -1727:1383 -1727:1384 -1727:1385 -1734:1394 -1734:1395 -1734:1396 -1734:1397 -1734:1400 -1734:1401 -1734:1402 -1734:1403 -1734:1404 -1734:1405 -1735:1399 -1742:1407 -1742:1408 -1742:1409 -1742:1410 -1742:1514 -1742:1515 -1742:1516 -1742:1517 -1742:1518 -1742:1519 -1742:1520 -1744:1413 -1744:1414 -1744:1415 -1744:1416 -1744:1417 -1744:1418 -1744:1419 -1744:1420 -1744:1421 -1744:1422 -1744:1425 -1744:1426 -1744:1427 -1744:1428 -1744:1429 -1744:1430 -1744:1431 -1744:1432 -1744:1433 -1744:1436 -1744:1437 -1744:1438 -1744:1441 -1744:1442 -1744:1443 -1744:1446 -1744:1447 -1744:1448 -1744:1449 -1744:1450 -1744:1452 -1744:1453 -1744:1454 -1744:1455 -1744:1456 -1744:1457 -1744:1458 -1744:1459 -1744:1460 -1744:1461 -1744:1462 -1744:1463 -1744:1464 -1744:1467 -1744:1468 -1744:1469 -1744:1470 -1744:1471 -1744:1472 -1744:1473 -1744:1474 -1744:1475 -1744:1478 -1744:1479 -1744:1480 -1744:1483 -1744:1484 -1744:1485 -1744:1486 -1744:1487 -1744:1490 -1744:1491 -1744:1492 -1744:1495 -1744:1496 -1744:1497 -1744:1498 -1744:1499 -1744:1500 -1744:1501 -1745:1502 -1746:1504 -1747:1505 -1748:1506 -1749:1507 -1750:1508 -1751:1509 -1752:1510 -1753:1511 -1759:1522 -1759:1523 -1759:1524 -1759:1525 -1759:1530 -1759:1532 -1759:1891 -1759:1892 -1759:1893 -1759:1894 -1759:1895 -1759:1896 -1759:1897 -1759:1898 -1759:1899 -1759:1900 -1759:1901 -1761:1533 -1761:1534 -1761:1535 -1761:1536 -1761:1537 -1762:1540 -1762:1603 -1762:1605 -1762:1606 -1763:1526 -1763:1541 -1763:1542 -1763:1543 -1763:1544 -1763:1547 -1763:1548 -1763:1549 -1763:1550 -1763:1551 -1763:1552 -1763:1553 -1763:1554 -1763:1555 -1763:1557 -1763:1558 -1763:1559 -1763:1561 -1763:1562 -1763:1563 -1763:1565 -1763:1569 -1763:1570 -1763:1571 -1763:1572 -1763:1573 -1763:1575 -1763:1577 -1764:1580 -1765:1582 -1766:1583 -1767:1584 -1768:1585 -1769:1586 -1770:1587 -1774:1593 -1774:1594 -1774:1596 -1774:1597 -1774:1598 -1777:1610 -1777:1611 -1777:1612 -1777:1613 -1777:1615 -1777:1616 -1777:1617 -1777:1618 -1777:1619 -1777:1620 -1777:1772 -1777:1773 -1777:1774 -1777:1775 -1777:1776 -1778:1623 -1778:1625 -1778:1626 -1778:1627 -1778:1628 -1778:1631 -1778:1632 -1778:1633 -1778:1636 -1778:1637 -1778:1638 -1778:1639 -1778:1640 -1778:1656 -1778:1725 -1778:1741 -1778:1743 -1778:1744 -1779:1643 -1779:1644 -1779:1645 -1779:1648 -1779:1649 -1779:1650 -1779:1651 -1779:1653 -1779:1654 -1779:1655 -1788:1646 -1788:1647 -1792:1657 -1792:1658 -1792:1659 -1792:1660 -1792:1661 -1792:1662 -1792:1663 -1792:1666 -1792:1667 -1792:1668 -1792:1669 -1792:1670 -1792:1671 -1792:1672 -1792:1673 -1792:1674 -1792:1676 -1792:1677 -1792:1678 -1792:1680 -1792:1681 -1792:1682 -1792:1683 -1792:1686 -1792:1687 -1792:1688 -1792:1691 -1792:1692 -1792:1693 -1792:1696 -1792:1697 -1792:1698 -1792:1699 -1792:1700 -1792:1703 -1792:1704 -1792:1705 -1792:1706 -1792:1707 -1792:1708 -1792:1709 -1792:1710 -1792:1712 -1792:1713 -1792:1714 -1792:1715 -1792:1716 -1792:1717 -1792:1718 -1792:1719 -1792:1720 -1792:1722 -1792:1723 -1792:1724 -1794:1726 -1794:1728 -1794:1729 -1794:1730 -1794:1731 -1794:1732 -1794:1733 -1794:1734 -1794:1735 -1794:1736 -1794:1738 -1794:1739 -1794:1740 -1796:1748 -1796:1749 -1796:1750 -1796:1751 -1796:1753 -1796:1755 -1796:1756 -1796:1757 -1796:1758 -1796:1759 -1796:1760 -1796:1761 -1796:1762 -1796:1763 -1796:1765 -1796:1766 -1796:1767 -1796:1768 -1798:1779 -1798:1781 -1798:1782 -1798:1783 -1798:1784 -1798:1787 -1798:1788 -1798:1789 -1798:1792 -1798:1793 -1798:1794 -1798:1795 -1798:1796 -1798:1798 -1798:1799 -1798:1801 -1798:1884 -1798:1886 -1802:1527 -1802:1802 -1802:1804 -1802:1805 -1802:1806 -1802:1807 -1802:1808 -1802:1809 -1802:1810 -1802:1811 -1802:1812 -1802:1813 -1802:1814 -1802:1815 -1802:1816 -1802:1818 -1802:1819 -1802:1821 -1802:1822 -1802:1823 -1802:1825 -1802:1829 -1802:1830 -1802:1831 -1802:1832 -1802:1833 -1802:1835 -1802:1837 -1802:1868 -1802:1869 -1802:1870 -1802:1871 -1802:1872 -1803:1528 -1803:1842 -1803:1843 -1803:1844 -1803:1846 -1803:1847 -1803:1848 -1803:1849 -1803:1850 -1803:1852 -1803:1854 -1804:1529 -1804:1859 -1804:1860 -1804:1861 -1804:1862 -1804:1863 -1804:1864 -1806:1874 -1807:1876 -1808:1877 -1809:1878 -1810:1879 -1811:1880 -1812:1881 -1818:2009 -1818:2010 -1818:2011 -1818:2012 -1818:2015 -1818:2016 -1818:2017 -1818:2018 -1818:2019 -1818:2020 -1819:2014 -1824:1903 -1824:1904 -1824:1905 -1824:1906 -1824:1964 -1824:1965 -1824:1966 -1824:1967 -1824:1968 -1824:1969 -1825:1909 -1825:1910 -1825:1911 -1825:1912 -1825:1915 -1825:1916 -1825:1917 -1825:1920 -1825:1921 -1825:1922 -1825:1923 -1825:1924 -1825:1927 -1825:1928 -1825:1929 -1825:1930 -1825:1933 -1825:1934 -1825:1935 -1825:1944 -1825:1945 -1825:1946 -1825:1947 -1825:1948 -1825:1951 -1825:1952 -1825:1953 -1825:1954 -1825:1955 -1825:1956 -1825:1957 -1825:1958 -1825:1959 -1825:1961 -1825:1962 -1825:1963 -1830:1971 -1830:1972 -1830:1973 -1830:1974 -1830:1976 -1830:1997 -1830:1998 -1830:1999 -1830:2000 -1830:2001 -1830:2002 -1830:2003 -1830:2004 -1830:2005 -1830:2006 -1830:2007 -1831:1977 -1831:1978 -1831:1979 -1831:1982 -1831:1983 -1831:1984 -1831:1987 -1831:1988 -1831:1989 -1831:1992 -1831:1993 -1831:1994 -*E diff --git a/Java/Processing/processing-3.3.6/modes/java/generated/processing/mode/java/preproc/JavaRecognizer.java b/Java/Processing/processing-3.3.6/modes/java/generated/processing/mode/java/preproc/JavaRecognizer.java deleted file mode 100644 index 6c17ef4..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/generated/processing/mode/java/preproc/JavaRecognizer.java +++ /dev/null @@ -1,7835 +0,0 @@ -// $ANTLR 2.7.7 (2006-11-01): "java15.g" -> "JavaRecognizer.java"$ - -package processing.mode.java.preproc; - -import antlr.TokenBuffer; -import antlr.TokenStreamException; -import antlr.TokenStreamIOException; -import antlr.ANTLRException; -import antlr.LLkParser; -import antlr.Token; -import antlr.TokenStream; -import antlr.RecognitionException; -import antlr.NoViableAltException; -import antlr.MismatchedTokenException; -import antlr.SemanticException; -import antlr.ParserSharedInputState; -import antlr.collections.impl.BitSet; -import antlr.collections.AST; -import java.util.Hashtable; -import antlr.ASTFactory; -import antlr.ASTPair; -import antlr.collections.impl.ASTArray; - -/** Java 1.5 Recognizer -/** Java 1.5 Recognizer - * - * Run 'java Main [-showtree] directory-full-of-java-files' - * - * [The -showtree option pops up a Swing frame that shows - * the AST constructed from the parser.] - * - * Run 'java Main ' - * - * Contributing authors: - * John Mitchell johnm@non.net - * Terence Parr parrt@magelang.com - * John Lilley jlilley@empathy.com - * Scott Stanchfield thetick@magelang.com - * Markus Mohnen mohnen@informatik.rwth-aachen.de - * Peter Williams pete.williams@sun.com - * Allan Jacobs Allan.Jacobs@eng.sun.com - * Steve Messick messick@redhills.com - * John Pybus john@pybus.org - * - * Version 1.00 December 9, 1997 -- initial release - * Version 1.01 December 10, 1997 - * fixed bug in octal def (0..7 not 0..8) - * Version 1.10 August 1998 (parrt) - * added tree construction - * fixed definition of WS,comments for mac,pc,unix newlines - * added unary plus - * Version 1.11 (Nov 20, 1998) - * Added "shutup" option to turn off last ambig warning. - * Fixed inner class def to allow named class defs as statements - * synchronized requires compound not simple statement - * add [] after builtInType DOT class in primaryExpression - * "const" is reserved but not valid..removed from modifiers - * Version 1.12 (Feb 2, 1999) - * Changed LITERAL_xxx to xxx in tree grammar. - * Updated java.g to use tokens {...} now for 2.6.0 (new feature). - * - * Version 1.13 (Apr 23, 1999) - * Didn't have (stat)? for else clause in tree parser. - * Didn't gen ASTs for interface extends. Updated tree parser too. - * Updated to 2.6.0. - * Version 1.14 (Jun 20, 1999) - * Allowed final/abstract on local classes. - * Removed local interfaces from methods - * Put instanceof precedence where it belongs...in relationalExpr - * It also had expr not type as arg; fixed it. - * Missing ! on SEMI in classBlock - * fixed: (expr) + "string" was parsed incorrectly (+ as unary plus). - * fixed: didn't like Object[].class in parser or tree parser - * Version 1.15 (Jun 26, 1999) - * Screwed up rule with instanceof in it. :( Fixed. - * Tree parser didn't like (expr).something; fixed. - * Allowed multiple inheritance in tree grammar. oops. - * Version 1.16 (August 22, 1999) - * Extending an interface built a wacky tree: had extra EXTENDS. - * Tree grammar didn't allow multiple superinterfaces. - * Tree grammar didn't allow empty var initializer: {} - * Version 1.17 (October 12, 1999) - * ESC lexer rule allowed 399 max not 377 max. - * java.tree.g didn't handle the expression of synchronized - * statements. - * Version 1.18 (August 12, 2001) - * Terence updated to Java 2 Version 1.3 by - * observing/combining work of Allan Jacobs and Steve - * Messick. Handles 1.3 src. Summary: - * o primary didn't include boolean.class kind of thing - * o constructor calls parsed explicitly now: - * see explicitConstructorInvocation - * o add strictfp modifier - * o missing objBlock after new expression in tree grammar - * o merged local class definition alternatives, moved after declaration - * o fixed problem with ClassName.super.field - * o reordered some alternatives to make things more efficient - * o long and double constants were not differentiated from int/float - * o whitespace rule was inefficient: matched only one char - * o add an examples directory with some nasty 1.3 cases - * o made Main.java use buffered IO and a Reader for Unicode support - * o supports UNICODE? - * Using Unicode charVocabulay makes code file big, but only - * in the bitsets at the end. I need to make ANTLR generate - * unicode bitsets more efficiently. - * Version 1.19 (April 25, 2002) - * Terence added in nice fixes by John Pybus concerning floating - * constants and problems with super() calls. John did a nice - * reorg of the primary/postfix expression stuff to read better - * and makes f.g.super() parse properly (it was METHOD_CALL not - * a SUPER_CTOR_CALL). Also: - * - * o "finally" clause was a root...made it a child of "try" - * o Added stuff for asserts too for Java 1.4, but *commented out* - * as it is not backward compatible. - * - * Version 1.20 (October 27, 2002) - * - * Terence ended up reorging John Pybus' stuff to - * remove some nondeterminisms and some syntactic predicates. - * Note that the grammar is stricter now; e.g., this(...) must - * be the first statement. - * - * Trinary ?: operator wasn't working as array name: - * (isBig ? bigDigits : digits)[i]; - * - * Checked parser/tree parser on source for - * Resin-2.0.5, jive-2.1.1, jdk 1.3.1, Lucene, antlr 2.7.2a4, - * and the 110k-line jGuru server source. - * - * Version 1.21 (October 17, 2003) - * Fixed lots of problems including: - * Ray Waldin: add typeDefinition to interfaceBlock in java.tree.g - * He found a problem/fix with floating point that start with 0 - * Ray also fixed problem that (int.class) was not recognized. - * Thorsten van Ellen noticed that \n are allowed incorrectly in strings. - * TJP fixed CHAR_LITERAL analogously. - * - * Version 1.21.2 (March, 2003) - * Changes by Matt Quail to support generics (as per JDK1.5/JSR14) - * Notes: - * o We only allow the "extends" keyword and not the "implements" - * keyword, since thats what JSR14 seems to imply. - * o Thanks to Monty Zukowski for his help on the antlr-interest - * mail list. - * o Thanks to Alan Eliasen for testing the grammar over his - * Fink source base - * - * Version 1.22 (July, 2004) - * Changes by Michael Studman to support Java 1.5 language extensions - * Notes: - * o Added support for annotations types - * o Finished off Matt Quail's generics enhancements to support bound type arguments - * o Added support for new for statement syntax - * o Added support for static import syntax - * o Added support for enum types - * o Tested against JDK 1.5 source base and source base of jdigraph project - * o Thanks to Matt Quail for doing the hard part by doing most of the generics work - * - * Version 1.22.1 (July 28, 2004) - * Bug/omission fixes for Java 1.5 language support - * o Fixed tree structure bug with classOrInterface - thanks to Pieter Vangorpto for - * spotting this - * o Fixed bug where incorrect handling of SR and BSR tokens would cause type - * parameters to be recognised as type arguments. - * o Enabled type parameters on constructors, annotations on enum constants - * and package definitions - * o Fixed problems when parsing if ((char.class.equals(c))) {} - solution by Matt Quail at Cenqua - * - * Version 1.22.2 (July 28, 2004) - * Slight refactoring of Java 1.5 language support - * o Refactored for/"foreach" productions so that original literal "for" literal - * is still used but the for sub-clauses vary by token type - * o Fixed bug where type parameter was not included in generic constructor's branch of AST - * - * Version 1.22.3 (August 26, 2004) - * Bug fixes as identified by Michael Stahl; clean up of tabs/spaces - * and other refactorings - * o Fixed typeParameters omission in identPrimary and newStatement - * o Replaced GT reconcilliation code with simple semantic predicate - * o Adapted enum/assert keyword checking support from Michael Stahl's java15 grammar - * o Refactored typeDefinition production and field productions to reduce duplication - * - * Version 1.22.4 (October 21, 2004) - * Small bux fixes - * o Added typeArguments to explicitConstructorInvocation, e.g. new MyParameterised() - * o Added typeArguments to postfixExpression productions for anonymous inner class super - * constructor invocation, e.g. new Outer().super() - * o Fixed bug in array declarations identified by Geoff Roy - * - * Version 1.22.5 (January 03, 2005) - * Small change to tree structure - * o Flattened classOrInterfaceType tree so IDENT no longer has children. TYPE_ARGUMENTS are now - * always siblings of IDENT rather than children. Fully.qualified.names trees now - * look a little less clean when TYPE_ARGUMENTS are present though. - * - * This grammar is in the PUBLIC DOMAIN - */ -public class JavaRecognizer extends antlr.LLkParser implements JavaTokenTypes - { - - /** - * Counts the number of LT seen in the typeArguments production. - * It is used in semantic predicates to ensure we have seen - * enough closing '>' characters; which actually may have been - * either GT, SR or BSR tokens. - */ - private int ltCounter = 0; - -protected JavaRecognizer(TokenBuffer tokenBuf, int k) { - super(tokenBuf,k); - tokenNames = _tokenNames; - buildTokenTypeASTClassMap(); - astFactory = new ASTFactory(getTokenTypeToASTClassMap()); -} - -public JavaRecognizer(TokenBuffer tokenBuf) { - this(tokenBuf,2); -} - -protected JavaRecognizer(TokenStream lexer, int k) { - super(lexer,k); - tokenNames = _tokenNames; - buildTokenTypeASTClassMap(); - astFactory = new ASTFactory(getTokenTypeToASTClassMap()); -} - -public JavaRecognizer(TokenStream lexer) { - this(lexer,2); -} - -public JavaRecognizer(ParserSharedInputState state) { - super(state,2); - tokenNames = _tokenNames; - buildTokenTypeASTClassMap(); - astFactory = new ASTFactory(getTokenTypeToASTClassMap()); -} - - public final void compilationUnit() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST compilationUnit_AST = null; - - { - boolean synPredMatched4 = false; - if (((LA(1)==LITERAL_package||LA(1)==AT) && (LA(2)==IDENT))) { - int _m4 = mark(); - synPredMatched4 = true; - inputState.guessing++; - try { - { - annotations(); - match(LITERAL_package); - } - } - catch (RecognitionException pe) { - synPredMatched4 = false; - } - rewind(_m4); -inputState.guessing--; - } - if ( synPredMatched4 ) { - packageDefinition(); - astFactory.addASTChild(currentAST, returnAST); - } - else if ((_tokenSet_0.member(LA(1))) && (_tokenSet_1.member(LA(2)))) { - } - else { - throw new NoViableAltException(LT(1), getFilename()); - } - - } - { - _loop6: - do { - if ((LA(1)==LITERAL_import)) { - importDefinition(); - astFactory.addASTChild(currentAST, returnAST); - } - else { - break _loop6; - } - - } while (true); - } - { - _loop8: - do { - if ((_tokenSet_2.member(LA(1)))) { - typeDefinition(); - astFactory.addASTChild(currentAST, returnAST); - } - else { - break _loop8; - } - - } while (true); - } - match(Token.EOF_TYPE); - compilationUnit_AST = (AST)currentAST.root; - returnAST = compilationUnit_AST; - } - - public final void annotations() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST annotations_AST = null; - - { - _loop62: - do { - if ((LA(1)==AT)) { - annotation(); - astFactory.addASTChild(currentAST, returnAST); - } - else { - break _loop62; - } - - } while (true); - } - if ( inputState.guessing==0 ) { - annotations_AST = (AST)currentAST.root; - annotations_AST = (AST)astFactory.make( (new ASTArray(2)).add(astFactory.create(ANNOTATIONS,"ANNOTATIONS")).add(annotations_AST)); - currentAST.root = annotations_AST; - currentAST.child = annotations_AST!=null &&annotations_AST.getFirstChild()!=null ? - annotations_AST.getFirstChild() : annotations_AST; - currentAST.advanceChildToEnd(); - } - annotations_AST = (AST)currentAST.root; - returnAST = annotations_AST; - } - - public final void packageDefinition() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST packageDefinition_AST = null; - Token p = null; - AST p_AST = null; - - try { // for error handling - annotations(); - astFactory.addASTChild(currentAST, returnAST); - p = LT(1); - p_AST = astFactory.create(p); - astFactory.makeASTRoot(currentAST, p_AST); - match(LITERAL_package); - if ( inputState.guessing==0 ) { - p_AST.setType(PACKAGE_DEF); - } - identifier(); - astFactory.addASTChild(currentAST, returnAST); - match(SEMI); - packageDefinition_AST = (AST)currentAST.root; - } - catch (RecognitionException ex) { - if (inputState.guessing==0) { - reportError(ex); - recover(ex,_tokenSet_0); - } else { - throw ex; - } - } - returnAST = packageDefinition_AST; - } - - public final void importDefinition() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST importDefinition_AST = null; - Token i = null; - AST i_AST = null; - boolean isStatic = false; - - try { // for error handling - i = LT(1); - i_AST = astFactory.create(i); - astFactory.makeASTRoot(currentAST, i_AST); - match(LITERAL_import); - if ( inputState.guessing==0 ) { - i_AST.setType(IMPORT); - } - { - switch ( LA(1)) { - case LITERAL_static: - { - match(LITERAL_static); - if ( inputState.guessing==0 ) { - i_AST.setType(STATIC_IMPORT); - } - break; - } - case IDENT: - { - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - identifierStar(); - astFactory.addASTChild(currentAST, returnAST); - match(SEMI); - importDefinition_AST = (AST)currentAST.root; - } - catch (RecognitionException ex) { - if (inputState.guessing==0) { - reportError(ex); - recover(ex,_tokenSet_0); - } else { - throw ex; - } - } - returnAST = importDefinition_AST; - } - - public final void typeDefinition() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST typeDefinition_AST = null; - AST m_AST = null; - - try { // for error handling - switch ( LA(1)) { - case FINAL: - case ABSTRACT: - case STRICTFP: - case LITERAL_static: - case LITERAL_private: - case LITERAL_public: - case LITERAL_protected: - case LITERAL_transient: - case LITERAL_native: - case LITERAL_threadsafe: - case LITERAL_synchronized: - case LITERAL_volatile: - case AT: - case LITERAL_class: - case LITERAL_interface: - case LITERAL_enum: - { - modifiers(); - m_AST = (AST)returnAST; - typeDefinitionInternal(m_AST); - astFactory.addASTChild(currentAST, returnAST); - typeDefinition_AST = (AST)currentAST.root; - break; - } - case SEMI: - { - match(SEMI); - typeDefinition_AST = (AST)currentAST.root; - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - catch (RecognitionException ex) { - if (inputState.guessing==0) { - reportError(ex); - recover(ex,_tokenSet_3); - } else { - throw ex; - } - } - returnAST = typeDefinition_AST; - } - - public final void identifier() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST identifier_AST = null; - - AST tmp6_AST = null; - tmp6_AST = astFactory.create(LT(1)); - astFactory.addASTChild(currentAST, tmp6_AST); - match(IDENT); - { - _loop48: - do { - if ((LA(1)==DOT)) { - AST tmp7_AST = null; - tmp7_AST = astFactory.create(LT(1)); - astFactory.makeASTRoot(currentAST, tmp7_AST); - match(DOT); - AST tmp8_AST = null; - tmp8_AST = astFactory.create(LT(1)); - astFactory.addASTChild(currentAST, tmp8_AST); - match(IDENT); - } - else { - break _loop48; - } - - } while (true); - } - identifier_AST = (AST)currentAST.root; - returnAST = identifier_AST; - } - - public final void identifierStar() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST identifierStar_AST = null; - - AST tmp9_AST = null; - tmp9_AST = astFactory.create(LT(1)); - astFactory.addASTChild(currentAST, tmp9_AST); - match(IDENT); - { - _loop51: - do { - if ((LA(1)==DOT) && (LA(2)==IDENT)) { - AST tmp10_AST = null; - tmp10_AST = astFactory.create(LT(1)); - astFactory.makeASTRoot(currentAST, tmp10_AST); - match(DOT); - AST tmp11_AST = null; - tmp11_AST = astFactory.create(LT(1)); - astFactory.addASTChild(currentAST, tmp11_AST); - match(IDENT); - } - else { - break _loop51; - } - - } while (true); - } - { - switch ( LA(1)) { - case DOT: - { - AST tmp12_AST = null; - tmp12_AST = astFactory.create(LT(1)); - astFactory.makeASTRoot(currentAST, tmp12_AST); - match(DOT); - AST tmp13_AST = null; - tmp13_AST = astFactory.create(LT(1)); - astFactory.addASTChild(currentAST, tmp13_AST); - match(STAR); - break; - } - case SEMI: - { - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - identifierStar_AST = (AST)currentAST.root; - returnAST = identifierStar_AST; - } - - public final void modifiers() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST modifiers_AST = null; - - { - _loop55: - do { - if ((_tokenSet_4.member(LA(1)))) { - modifier(); - astFactory.addASTChild(currentAST, returnAST); - } - else if (((LA(1)==AT) && (LA(2)==IDENT))&&(LA(1)==AT && !LT(2).getText().equals("interface"))) { - annotation(); - astFactory.addASTChild(currentAST, returnAST); - } - else { - break _loop55; - } - - } while (true); - } - if ( inputState.guessing==0 ) { - modifiers_AST = (AST)currentAST.root; - modifiers_AST = (AST)astFactory.make( (new ASTArray(2)).add(astFactory.create(MODIFIERS,"MODIFIERS")).add(modifiers_AST)); - currentAST.root = modifiers_AST; - currentAST.child = modifiers_AST!=null &&modifiers_AST.getFirstChild()!=null ? - modifiers_AST.getFirstChild() : modifiers_AST; - currentAST.advanceChildToEnd(); - } - modifiers_AST = (AST)currentAST.root; - returnAST = modifiers_AST; - } - - protected final void typeDefinitionInternal( - AST mods - ) throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST typeDefinitionInternal_AST = null; - - switch ( LA(1)) { - case LITERAL_class: - { - classDefinition(mods); - astFactory.addASTChild(currentAST, returnAST); - typeDefinitionInternal_AST = (AST)currentAST.root; - break; - } - case LITERAL_interface: - { - interfaceDefinition(mods); - astFactory.addASTChild(currentAST, returnAST); - typeDefinitionInternal_AST = (AST)currentAST.root; - break; - } - case LITERAL_enum: - { - enumDefinition(mods); - astFactory.addASTChild(currentAST, returnAST); - typeDefinitionInternal_AST = (AST)currentAST.root; - break; - } - case AT: - { - annotationDefinition(mods); - astFactory.addASTChild(currentAST, returnAST); - typeDefinitionInternal_AST = (AST)currentAST.root; - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - returnAST = typeDefinitionInternal_AST; - } - - public final void classDefinition( - AST modifiers - ) throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST classDefinition_AST = null; - AST tp_AST = null; - AST sc_AST = null; - AST ic_AST = null; - AST cb_AST = null; - - match(LITERAL_class); - AST tmp15_AST = null; - tmp15_AST = astFactory.create(LT(1)); - match(IDENT); - { - switch ( LA(1)) { - case LT: - { - typeParameters(); - tp_AST = (AST)returnAST; - break; - } - case LITERAL_extends: - case LCURLY: - case LITERAL_implements: - { - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - superClassClause(); - sc_AST = (AST)returnAST; - implementsClause(); - ic_AST = (AST)returnAST; - classBlock(); - cb_AST = (AST)returnAST; - if ( inputState.guessing==0 ) { - classDefinition_AST = (AST)currentAST.root; - classDefinition_AST = (AST)astFactory.make( (new ASTArray(7)).add(astFactory.create(CLASS_DEF,"CLASS_DEF")).add(modifiers).add(tmp15_AST).add(tp_AST).add(sc_AST).add(ic_AST).add(cb_AST)); - currentAST.root = classDefinition_AST; - currentAST.child = classDefinition_AST!=null &&classDefinition_AST.getFirstChild()!=null ? - classDefinition_AST.getFirstChild() : classDefinition_AST; - currentAST.advanceChildToEnd(); - } - returnAST = classDefinition_AST; - } - - public final void interfaceDefinition( - AST modifiers - ) throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST interfaceDefinition_AST = null; - AST tp_AST = null; - AST ie_AST = null; - AST ib_AST = null; - - match(LITERAL_interface); - AST tmp17_AST = null; - tmp17_AST = astFactory.create(LT(1)); - match(IDENT); - { - switch ( LA(1)) { - case LT: - { - typeParameters(); - tp_AST = (AST)returnAST; - break; - } - case LITERAL_extends: - case LCURLY: - { - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - interfaceExtends(); - ie_AST = (AST)returnAST; - interfaceBlock(); - ib_AST = (AST)returnAST; - if ( inputState.guessing==0 ) { - interfaceDefinition_AST = (AST)currentAST.root; - interfaceDefinition_AST = (AST)astFactory.make( (new ASTArray(6)).add(astFactory.create(INTERFACE_DEF,"INTERFACE_DEF")).add(modifiers).add(tmp17_AST).add(tp_AST).add(ie_AST).add(ib_AST)); - currentAST.root = interfaceDefinition_AST; - currentAST.child = interfaceDefinition_AST!=null &&interfaceDefinition_AST.getFirstChild()!=null ? - interfaceDefinition_AST.getFirstChild() : interfaceDefinition_AST; - currentAST.advanceChildToEnd(); - } - returnAST = interfaceDefinition_AST; - } - - public final void enumDefinition( - AST modifiers - ) throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST enumDefinition_AST = null; - AST ic_AST = null; - AST eb_AST = null; - - match(LITERAL_enum); - AST tmp19_AST = null; - tmp19_AST = astFactory.create(LT(1)); - match(IDENT); - implementsClause(); - ic_AST = (AST)returnAST; - enumBlock(); - eb_AST = (AST)returnAST; - if ( inputState.guessing==0 ) { - enumDefinition_AST = (AST)currentAST.root; - enumDefinition_AST = (AST)astFactory.make( (new ASTArray(5)).add(astFactory.create(ENUM_DEF,"ENUM_DEF")).add(modifiers).add(tmp19_AST).add(ic_AST).add(eb_AST)); - currentAST.root = enumDefinition_AST; - currentAST.child = enumDefinition_AST!=null &&enumDefinition_AST.getFirstChild()!=null ? - enumDefinition_AST.getFirstChild() : enumDefinition_AST; - currentAST.advanceChildToEnd(); - } - returnAST = enumDefinition_AST; - } - - public final void annotationDefinition( - AST modifiers - ) throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST annotationDefinition_AST = null; - AST ab_AST = null; - - AST tmp20_AST = null; - tmp20_AST = astFactory.create(LT(1)); - match(AT); - match(LITERAL_interface); - AST tmp22_AST = null; - tmp22_AST = astFactory.create(LT(1)); - match(IDENT); - annotationBlock(); - ab_AST = (AST)returnAST; - if ( inputState.guessing==0 ) { - annotationDefinition_AST = (AST)currentAST.root; - annotationDefinition_AST = (AST)astFactory.make( (new ASTArray(4)).add(astFactory.create(ANNOTATION_DEF,"ANNOTATION_DEF")).add(modifiers).add(tmp22_AST).add(ab_AST)); - currentAST.root = annotationDefinition_AST; - currentAST.child = annotationDefinition_AST!=null &&annotationDefinition_AST.getFirstChild()!=null ? - annotationDefinition_AST.getFirstChild() : annotationDefinition_AST; - currentAST.advanceChildToEnd(); - } - returnAST = annotationDefinition_AST; - } - - public final void declaration() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST declaration_AST = null; - AST m_AST = null; - AST t_AST = null; - AST v_AST = null; - - modifiers(); - m_AST = (AST)returnAST; - typeSpec(false); - t_AST = (AST)returnAST; - variableDefinitions(m_AST,t_AST); - v_AST = (AST)returnAST; - if ( inputState.guessing==0 ) { - declaration_AST = (AST)currentAST.root; - declaration_AST = v_AST; - currentAST.root = declaration_AST; - currentAST.child = declaration_AST!=null &&declaration_AST.getFirstChild()!=null ? - declaration_AST.getFirstChild() : declaration_AST; - currentAST.advanceChildToEnd(); - } - returnAST = declaration_AST; - } - - public final void typeSpec( - boolean addImagNode - ) throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST typeSpec_AST = null; - - switch ( LA(1)) { - case IDENT: - { - classTypeSpec(addImagNode); - astFactory.addASTChild(currentAST, returnAST); - typeSpec_AST = (AST)currentAST.root; - break; - } - case LITERAL_void: - case LITERAL_boolean: - case LITERAL_byte: - case LITERAL_char: - case LITERAL_short: - case LITERAL_int: - case LITERAL_float: - case LITERAL_long: - case LITERAL_double: - { - builtInTypeSpec(addImagNode); - astFactory.addASTChild(currentAST, returnAST); - typeSpec_AST = (AST)currentAST.root; - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - returnAST = typeSpec_AST; - } - - public final void variableDefinitions( - AST mods, AST t - ) throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST variableDefinitions_AST = null; - - variableDeclarator(getASTFactory().dupTree(mods), - getASTFactory().dupList(t)); - astFactory.addASTChild(currentAST, returnAST); - { - _loop155: - do { - if ((LA(1)==COMMA)) { - match(COMMA); - variableDeclarator(getASTFactory().dupTree(mods), - getASTFactory().dupList(t)); - astFactory.addASTChild(currentAST, returnAST); - } - else { - break _loop155; - } - - } while (true); - } - variableDefinitions_AST = (AST)currentAST.root; - returnAST = variableDefinitions_AST; - } - - public final void classTypeSpec( - boolean addImagNode - ) throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST classTypeSpec_AST = null; - Token lb = null; - AST lb_AST = null; - - classOrInterfaceType(false); - astFactory.addASTChild(currentAST, returnAST); - { - _loop18: - do { - if ((LA(1)==LBRACK) && (LA(2)==RBRACK)) { - lb = LT(1); - lb_AST = astFactory.create(lb); - astFactory.makeASTRoot(currentAST, lb_AST); - match(LBRACK); - if ( inputState.guessing==0 ) { - lb_AST.setType(ARRAY_DECLARATOR); - } - match(RBRACK); - } - else { - break _loop18; - } - - } while (true); - } - if ( inputState.guessing==0 ) { - classTypeSpec_AST = (AST)currentAST.root; - - if ( addImagNode ) { - classTypeSpec_AST = (AST)astFactory.make( (new ASTArray(2)).add(astFactory.create(TYPE,"TYPE")).add(classTypeSpec_AST)); - } - - currentAST.root = classTypeSpec_AST; - currentAST.child = classTypeSpec_AST!=null &&classTypeSpec_AST.getFirstChild()!=null ? - classTypeSpec_AST.getFirstChild() : classTypeSpec_AST; - currentAST.advanceChildToEnd(); - } - classTypeSpec_AST = (AST)currentAST.root; - returnAST = classTypeSpec_AST; - } - - public final void builtInTypeSpec( - boolean addImagNode - ) throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST builtInTypeSpec_AST = null; - Token lb = null; - AST lb_AST = null; - - builtInType(); - astFactory.addASTChild(currentAST, returnAST); - { - _loop43: - do { - if ((LA(1)==LBRACK)) { - lb = LT(1); - lb_AST = astFactory.create(lb); - astFactory.makeASTRoot(currentAST, lb_AST); - match(LBRACK); - if ( inputState.guessing==0 ) { - lb_AST.setType(ARRAY_DECLARATOR); - } - match(RBRACK); - } - else { - break _loop43; - } - - } while (true); - } - if ( inputState.guessing==0 ) { - builtInTypeSpec_AST = (AST)currentAST.root; - - if ( addImagNode ) { - builtInTypeSpec_AST = (AST)astFactory.make( (new ASTArray(2)).add(astFactory.create(TYPE,"TYPE")).add(builtInTypeSpec_AST)); - } - - currentAST.root = builtInTypeSpec_AST; - currentAST.child = builtInTypeSpec_AST!=null &&builtInTypeSpec_AST.getFirstChild()!=null ? - builtInTypeSpec_AST.getFirstChild() : builtInTypeSpec_AST; - currentAST.advanceChildToEnd(); - } - builtInTypeSpec_AST = (AST)currentAST.root; - returnAST = builtInTypeSpec_AST; - } - - public final void classOrInterfaceType( - boolean addImagNode - ) throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST classOrInterfaceType_AST = null; - - AST tmp26_AST = null; - tmp26_AST = astFactory.create(LT(1)); - astFactory.addASTChild(currentAST, tmp26_AST); - match(IDENT); - { - switch ( LA(1)) { - case LT: - { - typeArguments(); - astFactory.addASTChild(currentAST, returnAST); - break; - } - case SEMI: - case LBRACK: - case RBRACK: - case IDENT: - case DOT: - case QUESTION: - case LITERAL_extends: - case LITERAL_super: - case COMMA: - case GT: - case SR: - case BSR: - case LITERAL_void: - case LITERAL_boolean: - case LITERAL_byte: - case LITERAL_char: - case LITERAL_short: - case LITERAL_int: - case LITERAL_float: - case LITERAL_long: - case LITERAL_double: - case LPAREN: - case RPAREN: - case ASSIGN: - case LCURLY: - case RCURLY: - case BAND: - case LITERAL_implements: - case LITERAL_this: - case TRIPLE_DOT: - case COLON: - case PLUS_ASSIGN: - case MINUS_ASSIGN: - case STAR_ASSIGN: - case DIV_ASSIGN: - case MOD_ASSIGN: - case SR_ASSIGN: - case BSR_ASSIGN: - case SL_ASSIGN: - case BAND_ASSIGN: - case BXOR_ASSIGN: - case BOR_ASSIGN: - case LOR: - case LAND: - case BOR: - case BXOR: - case NOT_EQUAL: - case EQUAL: - { - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - { - _loop23: - do { - if ((LA(1)==DOT) && (LA(2)==IDENT)) { - AST tmp27_AST = null; - tmp27_AST = astFactory.create(LT(1)); - astFactory.makeASTRoot(currentAST, tmp27_AST); - match(DOT); - AST tmp28_AST = null; - tmp28_AST = astFactory.create(LT(1)); - astFactory.addASTChild(currentAST, tmp28_AST); - match(IDENT); - { - switch ( LA(1)) { - case LT: - { - typeArguments(); - astFactory.addASTChild(currentAST, returnAST); - break; - } - case SEMI: - case LBRACK: - case RBRACK: - case IDENT: - case DOT: - case QUESTION: - case LITERAL_extends: - case LITERAL_super: - case COMMA: - case GT: - case SR: - case BSR: - case LITERAL_void: - case LITERAL_boolean: - case LITERAL_byte: - case LITERAL_char: - case LITERAL_short: - case LITERAL_int: - case LITERAL_float: - case LITERAL_long: - case LITERAL_double: - case LPAREN: - case RPAREN: - case ASSIGN: - case LCURLY: - case RCURLY: - case BAND: - case LITERAL_implements: - case LITERAL_this: - case TRIPLE_DOT: - case COLON: - case PLUS_ASSIGN: - case MINUS_ASSIGN: - case STAR_ASSIGN: - case DIV_ASSIGN: - case MOD_ASSIGN: - case SR_ASSIGN: - case BSR_ASSIGN: - case SL_ASSIGN: - case BAND_ASSIGN: - case BXOR_ASSIGN: - case BOR_ASSIGN: - case LOR: - case LAND: - case BOR: - case BXOR: - case NOT_EQUAL: - case EQUAL: - { - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - } - else { - break _loop23; - } - - } while (true); - } - if ( inputState.guessing==0 ) { - classOrInterfaceType_AST = (AST)currentAST.root; - - if ( addImagNode ) { - classOrInterfaceType_AST = (AST)astFactory.make( (new ASTArray(2)).add(astFactory.create(TYPE,"TYPE")).add(classOrInterfaceType_AST)); - } - - currentAST.root = classOrInterfaceType_AST; - currentAST.child = classOrInterfaceType_AST!=null &&classOrInterfaceType_AST.getFirstChild()!=null ? - classOrInterfaceType_AST.getFirstChild() : classOrInterfaceType_AST; - currentAST.advanceChildToEnd(); - } - classOrInterfaceType_AST = (AST)currentAST.root; - returnAST = classOrInterfaceType_AST; - } - - public final void typeArguments() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST typeArguments_AST = null; - int currentLtLevel = 0; - - if ( inputState.guessing==0 ) { - currentLtLevel = ltCounter; - } - match(LT); - if ( inputState.guessing==0 ) { - ltCounter++; - } - typeArgument(); - astFactory.addASTChild(currentAST, returnAST); - { - _loop33: - do { - if (((LA(1)==COMMA) && (_tokenSet_5.member(LA(2))))&&(inputState.guessing !=0 || ltCounter == currentLtLevel + 1)) { - match(COMMA); - typeArgument(); - astFactory.addASTChild(currentAST, returnAST); - } - else { - break _loop33; - } - - } while (true); - } - { - if (((LA(1) >= GT && LA(1) <= BSR)) && (_tokenSet_6.member(LA(2)))) { - typeArgumentsOrParametersEnd(); - astFactory.addASTChild(currentAST, returnAST); - } - else if ((_tokenSet_6.member(LA(1))) && (_tokenSet_7.member(LA(2)))) { - } - else { - throw new NoViableAltException(LT(1), getFilename()); - } - - } - if (!((currentLtLevel != 0) || ltCounter == currentLtLevel)) - throw new SemanticException("(currentLtLevel != 0) || ltCounter == currentLtLevel"); - if ( inputState.guessing==0 ) { - typeArguments_AST = (AST)currentAST.root; - typeArguments_AST = (AST)astFactory.make( (new ASTArray(2)).add(astFactory.create(TYPE_ARGUMENTS,"TYPE_ARGUMENTS")).add(typeArguments_AST)); - currentAST.root = typeArguments_AST; - currentAST.child = typeArguments_AST!=null &&typeArguments_AST.getFirstChild()!=null ? - typeArguments_AST.getFirstChild() : typeArguments_AST; - currentAST.advanceChildToEnd(); - } - typeArguments_AST = (AST)currentAST.root; - returnAST = typeArguments_AST; - } - - public final void typeArgumentSpec() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST typeArgumentSpec_AST = null; - - switch ( LA(1)) { - case IDENT: - { - classTypeSpec(true); - astFactory.addASTChild(currentAST, returnAST); - typeArgumentSpec_AST = (AST)currentAST.root; - break; - } - case LITERAL_void: - case LITERAL_boolean: - case LITERAL_byte: - case LITERAL_char: - case LITERAL_short: - case LITERAL_int: - case LITERAL_float: - case LITERAL_long: - case LITERAL_double: - { - builtInTypeArraySpec(true); - astFactory.addASTChild(currentAST, returnAST); - typeArgumentSpec_AST = (AST)currentAST.root; - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - returnAST = typeArgumentSpec_AST; - } - - public final void builtInTypeArraySpec( - boolean addImagNode - ) throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST builtInTypeArraySpec_AST = null; - Token lb = null; - AST lb_AST = null; - - builtInType(); - astFactory.addASTChild(currentAST, returnAST); - { - int _cnt40=0; - _loop40: - do { - if ((LA(1)==LBRACK) && (LA(2)==RBRACK)) { - lb = LT(1); - lb_AST = astFactory.create(lb); - astFactory.makeASTRoot(currentAST, lb_AST); - match(LBRACK); - if ( inputState.guessing==0 ) { - lb_AST.setType(ARRAY_DECLARATOR); - } - match(RBRACK); - } - else { - if ( _cnt40>=1 ) { break _loop40; } else {throw new NoViableAltException(LT(1), getFilename());} - } - - _cnt40++; - } while (true); - } - if ( inputState.guessing==0 ) { - builtInTypeArraySpec_AST = (AST)currentAST.root; - - if ( addImagNode ) { - builtInTypeArraySpec_AST = (AST)astFactory.make( (new ASTArray(2)).add(astFactory.create(TYPE,"TYPE")).add(builtInTypeArraySpec_AST)); - } - - currentAST.root = builtInTypeArraySpec_AST; - currentAST.child = builtInTypeArraySpec_AST!=null &&builtInTypeArraySpec_AST.getFirstChild()!=null ? - builtInTypeArraySpec_AST.getFirstChild() : builtInTypeArraySpec_AST; - currentAST.advanceChildToEnd(); - } - builtInTypeArraySpec_AST = (AST)currentAST.root; - returnAST = builtInTypeArraySpec_AST; - } - - public final void typeArgument() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST typeArgument_AST = null; - - { - switch ( LA(1)) { - case IDENT: - case LITERAL_void: - case LITERAL_boolean: - case LITERAL_byte: - case LITERAL_char: - case LITERAL_short: - case LITERAL_int: - case LITERAL_float: - case LITERAL_long: - case LITERAL_double: - { - typeArgumentSpec(); - astFactory.addASTChild(currentAST, returnAST); - break; - } - case QUESTION: - { - wildcardType(); - astFactory.addASTChild(currentAST, returnAST); - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - if ( inputState.guessing==0 ) { - typeArgument_AST = (AST)currentAST.root; - typeArgument_AST = (AST)astFactory.make( (new ASTArray(2)).add(astFactory.create(TYPE_ARGUMENT,"TYPE_ARGUMENT")).add(typeArgument_AST)); - currentAST.root = typeArgument_AST; - currentAST.child = typeArgument_AST!=null &&typeArgument_AST.getFirstChild()!=null ? - typeArgument_AST.getFirstChild() : typeArgument_AST; - currentAST.advanceChildToEnd(); - } - typeArgument_AST = (AST)currentAST.root; - returnAST = typeArgument_AST; - } - - public final void wildcardType() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST wildcardType_AST = null; - Token q = null; - AST q_AST = null; - - q = LT(1); - q_AST = astFactory.create(q); - astFactory.makeASTRoot(currentAST, q_AST); - match(QUESTION); - if ( inputState.guessing==0 ) { - q_AST.setType(WILDCARD_TYPE); - } - { - boolean synPredMatched30 = false; - if (((LA(1)==LITERAL_extends||LA(1)==LITERAL_super) && (LA(2)==IDENT))) { - int _m30 = mark(); - synPredMatched30 = true; - inputState.guessing++; - try { - { - switch ( LA(1)) { - case LITERAL_extends: - { - match(LITERAL_extends); - break; - } - case LITERAL_super: - { - match(LITERAL_super); - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - } - catch (RecognitionException pe) { - synPredMatched30 = false; - } - rewind(_m30); -inputState.guessing--; - } - if ( synPredMatched30 ) { - typeArgumentBounds(); - astFactory.addASTChild(currentAST, returnAST); - } - else if ((_tokenSet_6.member(LA(1))) && (_tokenSet_7.member(LA(2)))) { - } - else { - throw new NoViableAltException(LT(1), getFilename()); - } - - } - wildcardType_AST = (AST)currentAST.root; - returnAST = wildcardType_AST; - } - - public final void typeArgumentBounds() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST typeArgumentBounds_AST = null; - boolean isUpperBounds = false; - - { - switch ( LA(1)) { - case LITERAL_extends: - { - match(LITERAL_extends); - if ( inputState.guessing==0 ) { - isUpperBounds=true; - } - break; - } - case LITERAL_super: - { - match(LITERAL_super); - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - classOrInterfaceType(false); - astFactory.addASTChild(currentAST, returnAST); - if ( inputState.guessing==0 ) { - typeArgumentBounds_AST = (AST)currentAST.root; - - if (isUpperBounds) - { - typeArgumentBounds_AST = (AST)astFactory.make( (new ASTArray(2)).add(astFactory.create(TYPE_UPPER_BOUNDS,"TYPE_UPPER_BOUNDS")).add(typeArgumentBounds_AST)); - } - else - { - typeArgumentBounds_AST = (AST)astFactory.make( (new ASTArray(2)).add(astFactory.create(TYPE_LOWER_BOUNDS,"TYPE_LOWER_BOUNDS")).add(typeArgumentBounds_AST)); - } - - currentAST.root = typeArgumentBounds_AST; - currentAST.child = typeArgumentBounds_AST!=null &&typeArgumentBounds_AST.getFirstChild()!=null ? - typeArgumentBounds_AST.getFirstChild() : typeArgumentBounds_AST; - currentAST.advanceChildToEnd(); - } - typeArgumentBounds_AST = (AST)currentAST.root; - returnAST = typeArgumentBounds_AST; - } - - protected final void typeArgumentsOrParametersEnd() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST typeArgumentsOrParametersEnd_AST = null; - - switch ( LA(1)) { - case GT: - { - match(GT); - if ( inputState.guessing==0 ) { - ltCounter-=1; - } - typeArgumentsOrParametersEnd_AST = (AST)currentAST.root; - break; - } - case SR: - { - match(SR); - if ( inputState.guessing==0 ) { - ltCounter-=2; - } - typeArgumentsOrParametersEnd_AST = (AST)currentAST.root; - break; - } - case BSR: - { - match(BSR); - if ( inputState.guessing==0 ) { - ltCounter-=3; - } - typeArgumentsOrParametersEnd_AST = (AST)currentAST.root; - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - returnAST = typeArgumentsOrParametersEnd_AST; - } - - public final void builtInType() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST builtInType_AST = null; - - switch ( LA(1)) { - case LITERAL_void: - { - AST tmp37_AST = null; - tmp37_AST = astFactory.create(LT(1)); - astFactory.addASTChild(currentAST, tmp37_AST); - match(LITERAL_void); - builtInType_AST = (AST)currentAST.root; - break; - } - case LITERAL_boolean: - { - AST tmp38_AST = null; - tmp38_AST = astFactory.create(LT(1)); - astFactory.addASTChild(currentAST, tmp38_AST); - match(LITERAL_boolean); - builtInType_AST = (AST)currentAST.root; - break; - } - case LITERAL_byte: - { - AST tmp39_AST = null; - tmp39_AST = astFactory.create(LT(1)); - astFactory.addASTChild(currentAST, tmp39_AST); - match(LITERAL_byte); - builtInType_AST = (AST)currentAST.root; - break; - } - case LITERAL_char: - { - AST tmp40_AST = null; - tmp40_AST = astFactory.create(LT(1)); - astFactory.addASTChild(currentAST, tmp40_AST); - match(LITERAL_char); - builtInType_AST = (AST)currentAST.root; - break; - } - case LITERAL_short: - { - AST tmp41_AST = null; - tmp41_AST = astFactory.create(LT(1)); - astFactory.addASTChild(currentAST, tmp41_AST); - match(LITERAL_short); - builtInType_AST = (AST)currentAST.root; - break; - } - case LITERAL_int: - { - AST tmp42_AST = null; - tmp42_AST = astFactory.create(LT(1)); - astFactory.addASTChild(currentAST, tmp42_AST); - match(LITERAL_int); - builtInType_AST = (AST)currentAST.root; - break; - } - case LITERAL_float: - { - AST tmp43_AST = null; - tmp43_AST = astFactory.create(LT(1)); - astFactory.addASTChild(currentAST, tmp43_AST); - match(LITERAL_float); - builtInType_AST = (AST)currentAST.root; - break; - } - case LITERAL_long: - { - AST tmp44_AST = null; - tmp44_AST = astFactory.create(LT(1)); - astFactory.addASTChild(currentAST, tmp44_AST); - match(LITERAL_long); - builtInType_AST = (AST)currentAST.root; - break; - } - case LITERAL_double: - { - AST tmp45_AST = null; - tmp45_AST = astFactory.create(LT(1)); - astFactory.addASTChild(currentAST, tmp45_AST); - match(LITERAL_double); - builtInType_AST = (AST)currentAST.root; - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - returnAST = builtInType_AST; - } - - public final void type() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST type_AST = null; - - switch ( LA(1)) { - case IDENT: - { - classOrInterfaceType(false); - astFactory.addASTChild(currentAST, returnAST); - type_AST = (AST)currentAST.root; - break; - } - case LITERAL_void: - case LITERAL_boolean: - case LITERAL_byte: - case LITERAL_char: - case LITERAL_short: - case LITERAL_int: - case LITERAL_float: - case LITERAL_long: - case LITERAL_double: - { - builtInType(); - astFactory.addASTChild(currentAST, returnAST); - type_AST = (AST)currentAST.root; - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - returnAST = type_AST; - } - - public final void modifier() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST modifier_AST = null; - - switch ( LA(1)) { - case LITERAL_private: - { - AST tmp46_AST = null; - tmp46_AST = astFactory.create(LT(1)); - astFactory.addASTChild(currentAST, tmp46_AST); - match(LITERAL_private); - modifier_AST = (AST)currentAST.root; - break; - } - case LITERAL_public: - { - AST tmp47_AST = null; - tmp47_AST = astFactory.create(LT(1)); - astFactory.addASTChild(currentAST, tmp47_AST); - match(LITERAL_public); - modifier_AST = (AST)currentAST.root; - break; - } - case LITERAL_protected: - { - AST tmp48_AST = null; - tmp48_AST = astFactory.create(LT(1)); - astFactory.addASTChild(currentAST, tmp48_AST); - match(LITERAL_protected); - modifier_AST = (AST)currentAST.root; - break; - } - case LITERAL_static: - { - AST tmp49_AST = null; - tmp49_AST = astFactory.create(LT(1)); - astFactory.addASTChild(currentAST, tmp49_AST); - match(LITERAL_static); - modifier_AST = (AST)currentAST.root; - break; - } - case LITERAL_transient: - { - AST tmp50_AST = null; - tmp50_AST = astFactory.create(LT(1)); - astFactory.addASTChild(currentAST, tmp50_AST); - match(LITERAL_transient); - modifier_AST = (AST)currentAST.root; - break; - } - case FINAL: - { - AST tmp51_AST = null; - tmp51_AST = astFactory.create(LT(1)); - astFactory.addASTChild(currentAST, tmp51_AST); - match(FINAL); - modifier_AST = (AST)currentAST.root; - break; - } - case ABSTRACT: - { - AST tmp52_AST = null; - tmp52_AST = astFactory.create(LT(1)); - astFactory.addASTChild(currentAST, tmp52_AST); - match(ABSTRACT); - modifier_AST = (AST)currentAST.root; - break; - } - case LITERAL_native: - { - AST tmp53_AST = null; - tmp53_AST = astFactory.create(LT(1)); - astFactory.addASTChild(currentAST, tmp53_AST); - match(LITERAL_native); - modifier_AST = (AST)currentAST.root; - break; - } - case LITERAL_threadsafe: - { - AST tmp54_AST = null; - tmp54_AST = astFactory.create(LT(1)); - astFactory.addASTChild(currentAST, tmp54_AST); - match(LITERAL_threadsafe); - modifier_AST = (AST)currentAST.root; - break; - } - case LITERAL_synchronized: - { - AST tmp55_AST = null; - tmp55_AST = astFactory.create(LT(1)); - astFactory.addASTChild(currentAST, tmp55_AST); - match(LITERAL_synchronized); - modifier_AST = (AST)currentAST.root; - break; - } - case LITERAL_volatile: - { - AST tmp56_AST = null; - tmp56_AST = astFactory.create(LT(1)); - astFactory.addASTChild(currentAST, tmp56_AST); - match(LITERAL_volatile); - modifier_AST = (AST)currentAST.root; - break; - } - case STRICTFP: - { - AST tmp57_AST = null; - tmp57_AST = astFactory.create(LT(1)); - astFactory.addASTChild(currentAST, tmp57_AST); - match(STRICTFP); - modifier_AST = (AST)currentAST.root; - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - returnAST = modifier_AST; - } - - public final void annotation() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST annotation_AST = null; - AST i_AST = null; - AST args_AST = null; - - match(AT); - identifier(); - i_AST = (AST)returnAST; - { - switch ( LA(1)) { - case LPAREN: - { - match(LPAREN); - { - switch ( LA(1)) { - case IDENT: - case LITERAL_super: - case LT: - case LITERAL_void: - case LITERAL_boolean: - case LITERAL_byte: - case LITERAL_char: - case LITERAL_short: - case LITERAL_int: - case LITERAL_float: - case LITERAL_long: - case LITERAL_double: - case AT: - case LPAREN: - case LCURLY: - case LITERAL_this: - case PLUS: - case MINUS: - case INC: - case DEC: - case BNOT: - case LNOT: - case LITERAL_true: - case LITERAL_false: - case LITERAL_null: - case LITERAL_new: - case NUM_INT: - case CHAR_LITERAL: - case STRING_LITERAL: - case NUM_FLOAT: - case NUM_LONG: - case NUM_DOUBLE: - { - annotationArguments(); - args_AST = (AST)returnAST; - break; - } - case RPAREN: - { - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - match(RPAREN); - break; - } - case FINAL: - case ABSTRACT: - case STRICTFP: - case LITERAL_package: - case SEMI: - case LITERAL_static: - case IDENT: - case LT: - case COMMA: - case LITERAL_void: - case LITERAL_boolean: - case LITERAL_byte: - case LITERAL_char: - case LITERAL_short: - case LITERAL_int: - case LITERAL_float: - case LITERAL_long: - case LITERAL_double: - case LITERAL_private: - case LITERAL_public: - case LITERAL_protected: - case LITERAL_transient: - case LITERAL_native: - case LITERAL_threadsafe: - case LITERAL_synchronized: - case LITERAL_volatile: - case AT: - case RPAREN: - case RCURLY: - case LITERAL_class: - case LITERAL_interface: - case LITERAL_enum: - { - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - if ( inputState.guessing==0 ) { - annotation_AST = (AST)currentAST.root; - annotation_AST = (AST)astFactory.make( (new ASTArray(3)).add(astFactory.create(ANNOTATION,"ANNOTATION")).add(i_AST).add(args_AST)); - currentAST.root = annotation_AST; - currentAST.child = annotation_AST!=null &&annotation_AST.getFirstChild()!=null ? - annotation_AST.getFirstChild() : annotation_AST; - currentAST.advanceChildToEnd(); - } - returnAST = annotation_AST; - } - - public final void annotationArguments() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST annotationArguments_AST = null; - - if ((_tokenSet_8.member(LA(1))) && (_tokenSet_9.member(LA(2)))) { - annotationMemberValueInitializer(); - astFactory.addASTChild(currentAST, returnAST); - annotationArguments_AST = (AST)currentAST.root; - } - else if ((LA(1)==IDENT) && (LA(2)==ASSIGN)) { - anntotationMemberValuePairs(); - astFactory.addASTChild(currentAST, returnAST); - annotationArguments_AST = (AST)currentAST.root; - } - else { - throw new NoViableAltException(LT(1), getFilename()); - } - - returnAST = annotationArguments_AST; - } - - public final void annotationMemberValueInitializer() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST annotationMemberValueInitializer_AST = null; - - switch ( LA(1)) { - case IDENT: - case LITERAL_super: - case LT: - case LITERAL_void: - case LITERAL_boolean: - case LITERAL_byte: - case LITERAL_char: - case LITERAL_short: - case LITERAL_int: - case LITERAL_float: - case LITERAL_long: - case LITERAL_double: - case LPAREN: - case LITERAL_this: - case PLUS: - case MINUS: - case INC: - case DEC: - case BNOT: - case LNOT: - case LITERAL_true: - case LITERAL_false: - case LITERAL_null: - case LITERAL_new: - case NUM_INT: - case CHAR_LITERAL: - case STRING_LITERAL: - case NUM_FLOAT: - case NUM_LONG: - case NUM_DOUBLE: - { - conditionalExpression(); - astFactory.addASTChild(currentAST, returnAST); - annotationMemberValueInitializer_AST = (AST)currentAST.root; - break; - } - case AT: - { - annotation(); - astFactory.addASTChild(currentAST, returnAST); - annotationMemberValueInitializer_AST = (AST)currentAST.root; - break; - } - case LCURLY: - { - annotationMemberArrayInitializer(); - astFactory.addASTChild(currentAST, returnAST); - annotationMemberValueInitializer_AST = (AST)currentAST.root; - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - returnAST = annotationMemberValueInitializer_AST; - } - - public final void anntotationMemberValuePairs() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST anntotationMemberValuePairs_AST = null; - - annotationMemberValuePair(); - astFactory.addASTChild(currentAST, returnAST); - { - _loop66: - do { - if ((LA(1)==COMMA)) { - match(COMMA); - annotationMemberValuePair(); - astFactory.addASTChild(currentAST, returnAST); - } - else { - break _loop66; - } - - } while (true); - } - anntotationMemberValuePairs_AST = (AST)currentAST.root; - returnAST = anntotationMemberValuePairs_AST; - } - - public final void annotationMemberValuePair() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST annotationMemberValuePair_AST = null; - Token i = null; - AST i_AST = null; - AST v_AST = null; - - i = LT(1); - i_AST = astFactory.create(i); - match(IDENT); - match(ASSIGN); - annotationMemberValueInitializer(); - v_AST = (AST)returnAST; - if ( inputState.guessing==0 ) { - annotationMemberValuePair_AST = (AST)currentAST.root; - annotationMemberValuePair_AST = (AST)astFactory.make( (new ASTArray(3)).add(astFactory.create(ANNOTATION_MEMBER_VALUE_PAIR,"ANNOTATION_MEMBER_VALUE_PAIR")).add(i_AST).add(v_AST)); - currentAST.root = annotationMemberValuePair_AST; - currentAST.child = annotationMemberValuePair_AST!=null &&annotationMemberValuePair_AST.getFirstChild()!=null ? - annotationMemberValuePair_AST.getFirstChild() : annotationMemberValuePair_AST; - currentAST.advanceChildToEnd(); - } - returnAST = annotationMemberValuePair_AST; - } - - public final void conditionalExpression() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST conditionalExpression_AST = null; - - logicalOrExpression(); - astFactory.addASTChild(currentAST, returnAST); - { - switch ( LA(1)) { - case QUESTION: - { - AST tmp63_AST = null; - tmp63_AST = astFactory.create(LT(1)); - astFactory.makeASTRoot(currentAST, tmp63_AST); - match(QUESTION); - assignmentExpression(); - astFactory.addASTChild(currentAST, returnAST); - match(COLON); - conditionalExpression(); - astFactory.addASTChild(currentAST, returnAST); - break; - } - case SEMI: - case RBRACK: - case COMMA: - case RPAREN: - case ASSIGN: - case RCURLY: - case COLON: - case PLUS_ASSIGN: - case MINUS_ASSIGN: - case STAR_ASSIGN: - case DIV_ASSIGN: - case MOD_ASSIGN: - case SR_ASSIGN: - case BSR_ASSIGN: - case SL_ASSIGN: - case BAND_ASSIGN: - case BXOR_ASSIGN: - case BOR_ASSIGN: - { - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - conditionalExpression_AST = (AST)currentAST.root; - returnAST = conditionalExpression_AST; - } - - public final void annotationMemberArrayInitializer() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST annotationMemberArrayInitializer_AST = null; - Token lc = null; - AST lc_AST = null; - - lc = LT(1); - lc_AST = astFactory.create(lc); - astFactory.makeASTRoot(currentAST, lc_AST); - match(LCURLY); - if ( inputState.guessing==0 ) { - lc_AST.setType(ANNOTATION_ARRAY_INIT); - } - { - switch ( LA(1)) { - case IDENT: - case LITERAL_super: - case LT: - case LITERAL_void: - case LITERAL_boolean: - case LITERAL_byte: - case LITERAL_char: - case LITERAL_short: - case LITERAL_int: - case LITERAL_float: - case LITERAL_long: - case LITERAL_double: - case AT: - case LPAREN: - case LITERAL_this: - case PLUS: - case MINUS: - case INC: - case DEC: - case BNOT: - case LNOT: - case LITERAL_true: - case LITERAL_false: - case LITERAL_null: - case LITERAL_new: - case NUM_INT: - case CHAR_LITERAL: - case STRING_LITERAL: - case NUM_FLOAT: - case NUM_LONG: - case NUM_DOUBLE: - { - annotationMemberArrayValueInitializer(); - astFactory.addASTChild(currentAST, returnAST); - { - _loop72: - do { - if ((LA(1)==COMMA) && (_tokenSet_10.member(LA(2)))) { - match(COMMA); - annotationMemberArrayValueInitializer(); - astFactory.addASTChild(currentAST, returnAST); - } - else { - break _loop72; - } - - } while (true); - } - { - switch ( LA(1)) { - case COMMA: - { - match(COMMA); - break; - } - case RCURLY: - { - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - break; - } - case RCURLY: - { - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - match(RCURLY); - annotationMemberArrayInitializer_AST = (AST)currentAST.root; - returnAST = annotationMemberArrayInitializer_AST; - } - - public final void annotationMemberArrayValueInitializer() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST annotationMemberArrayValueInitializer_AST = null; - - switch ( LA(1)) { - case IDENT: - case LITERAL_super: - case LT: - case LITERAL_void: - case LITERAL_boolean: - case LITERAL_byte: - case LITERAL_char: - case LITERAL_short: - case LITERAL_int: - case LITERAL_float: - case LITERAL_long: - case LITERAL_double: - case LPAREN: - case LITERAL_this: - case PLUS: - case MINUS: - case INC: - case DEC: - case BNOT: - case LNOT: - case LITERAL_true: - case LITERAL_false: - case LITERAL_null: - case LITERAL_new: - case NUM_INT: - case CHAR_LITERAL: - case STRING_LITERAL: - case NUM_FLOAT: - case NUM_LONG: - case NUM_DOUBLE: - { - conditionalExpression(); - astFactory.addASTChild(currentAST, returnAST); - annotationMemberArrayValueInitializer_AST = (AST)currentAST.root; - break; - } - case AT: - { - annotation(); - astFactory.addASTChild(currentAST, returnAST); - annotationMemberArrayValueInitializer_AST = (AST)currentAST.root; - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - returnAST = annotationMemberArrayValueInitializer_AST; - } - - public final void superClassClause() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST superClassClause_AST = null; - AST c_AST = null; - - { - switch ( LA(1)) { - case LITERAL_extends: - { - match(LITERAL_extends); - classOrInterfaceType(false); - c_AST = (AST)returnAST; - break; - } - case LCURLY: - case LITERAL_implements: - { - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - if ( inputState.guessing==0 ) { - superClassClause_AST = (AST)currentAST.root; - superClassClause_AST = (AST)astFactory.make( (new ASTArray(2)).add(astFactory.create(EXTENDS_CLAUSE,"EXTENDS_CLAUSE")).add(c_AST)); - currentAST.root = superClassClause_AST; - currentAST.child = superClassClause_AST!=null &&superClassClause_AST.getFirstChild()!=null ? - superClassClause_AST.getFirstChild() : superClassClause_AST; - currentAST.advanceChildToEnd(); - } - returnAST = superClassClause_AST; - } - - public final void typeParameters() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST typeParameters_AST = null; - int currentLtLevel = 0; - - if ( inputState.guessing==0 ) { - currentLtLevel = ltCounter; - } - match(LT); - if ( inputState.guessing==0 ) { - ltCounter++; - } - typeParameter(); - astFactory.addASTChild(currentAST, returnAST); - { - _loop85: - do { - if ((LA(1)==COMMA)) { - match(COMMA); - typeParameter(); - astFactory.addASTChild(currentAST, returnAST); - } - else { - break _loop85; - } - - } while (true); - } - { - switch ( LA(1)) { - case GT: - case SR: - case BSR: - { - typeArgumentsOrParametersEnd(); - astFactory.addASTChild(currentAST, returnAST); - break; - } - case IDENT: - case LITERAL_extends: - case LITERAL_void: - case LITERAL_boolean: - case LITERAL_byte: - case LITERAL_char: - case LITERAL_short: - case LITERAL_int: - case LITERAL_float: - case LITERAL_long: - case LITERAL_double: - case LCURLY: - case LITERAL_implements: - { - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - if (!((currentLtLevel != 0) || ltCounter == currentLtLevel)) - throw new SemanticException("(currentLtLevel != 0) || ltCounter == currentLtLevel"); - if ( inputState.guessing==0 ) { - typeParameters_AST = (AST)currentAST.root; - typeParameters_AST = (AST)astFactory.make( (new ASTArray(2)).add(astFactory.create(TYPE_PARAMETERS,"TYPE_PARAMETERS")).add(typeParameters_AST)); - currentAST.root = typeParameters_AST; - currentAST.child = typeParameters_AST!=null &&typeParameters_AST.getFirstChild()!=null ? - typeParameters_AST.getFirstChild() : typeParameters_AST; - currentAST.advanceChildToEnd(); - } - typeParameters_AST = (AST)currentAST.root; - returnAST = typeParameters_AST; - } - - public final void implementsClause() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST implementsClause_AST = null; - Token i = null; - AST i_AST = null; - - { - switch ( LA(1)) { - case LITERAL_implements: - { - i = LT(1); - i_AST = astFactory.create(i); - match(LITERAL_implements); - classOrInterfaceType(false); - astFactory.addASTChild(currentAST, returnAST); - { - _loop133: - do { - if ((LA(1)==COMMA)) { - match(COMMA); - classOrInterfaceType(false); - astFactory.addASTChild(currentAST, returnAST); - } - else { - break _loop133; - } - - } while (true); - } - break; - } - case LCURLY: - { - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - if ( inputState.guessing==0 ) { - implementsClause_AST = (AST)currentAST.root; - implementsClause_AST = (AST)astFactory.make( (new ASTArray(2)).add(astFactory.create(IMPLEMENTS_CLAUSE,"IMPLEMENTS_CLAUSE")).add(implementsClause_AST)); - currentAST.root = implementsClause_AST; - currentAST.child = implementsClause_AST!=null &&implementsClause_AST.getFirstChild()!=null ? - implementsClause_AST.getFirstChild() : implementsClause_AST; - currentAST.advanceChildToEnd(); - } - implementsClause_AST = (AST)currentAST.root; - returnAST = implementsClause_AST; - } - - public final void classBlock() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST classBlock_AST = null; - - match(LCURLY); - { - _loop95: - do { - switch ( LA(1)) { - case FINAL: - case ABSTRACT: - case STRICTFP: - case LITERAL_static: - case IDENT: - case LT: - case LITERAL_void: - case LITERAL_boolean: - case LITERAL_byte: - case LITERAL_char: - case LITERAL_short: - case LITERAL_int: - case LITERAL_float: - case LITERAL_long: - case LITERAL_double: - case LITERAL_private: - case LITERAL_public: - case LITERAL_protected: - case LITERAL_transient: - case LITERAL_native: - case LITERAL_threadsafe: - case LITERAL_synchronized: - case LITERAL_volatile: - case AT: - case LCURLY: - case LITERAL_class: - case LITERAL_interface: - case LITERAL_enum: - { - classField(); - astFactory.addASTChild(currentAST, returnAST); - break; - } - case SEMI: - { - match(SEMI); - break; - } - default: - { - break _loop95; - } - } - } while (true); - } - match(RCURLY); - if ( inputState.guessing==0 ) { - classBlock_AST = (AST)currentAST.root; - classBlock_AST = (AST)astFactory.make( (new ASTArray(2)).add(astFactory.create(OBJBLOCK,"OBJBLOCK")).add(classBlock_AST)); - currentAST.root = classBlock_AST; - currentAST.child = classBlock_AST!=null &&classBlock_AST.getFirstChild()!=null ? - classBlock_AST.getFirstChild() : classBlock_AST; - currentAST.advanceChildToEnd(); - } - classBlock_AST = (AST)currentAST.root; - returnAST = classBlock_AST; - } - - public final void interfaceExtends() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST interfaceExtends_AST = null; - Token e = null; - AST e_AST = null; - - { - switch ( LA(1)) { - case LITERAL_extends: - { - e = LT(1); - e_AST = astFactory.create(e); - match(LITERAL_extends); - classOrInterfaceType(false); - astFactory.addASTChild(currentAST, returnAST); - { - _loop129: - do { - if ((LA(1)==COMMA)) { - match(COMMA); - classOrInterfaceType(false); - astFactory.addASTChild(currentAST, returnAST); - } - else { - break _loop129; - } - - } while (true); - } - break; - } - case LCURLY: - { - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - if ( inputState.guessing==0 ) { - interfaceExtends_AST = (AST)currentAST.root; - interfaceExtends_AST = (AST)astFactory.make( (new ASTArray(2)).add(astFactory.create(EXTENDS_CLAUSE,"EXTENDS_CLAUSE")).add(interfaceExtends_AST)); - currentAST.root = interfaceExtends_AST; - currentAST.child = interfaceExtends_AST!=null &&interfaceExtends_AST.getFirstChild()!=null ? - interfaceExtends_AST.getFirstChild() : interfaceExtends_AST; - currentAST.advanceChildToEnd(); - } - interfaceExtends_AST = (AST)currentAST.root; - returnAST = interfaceExtends_AST; - } - - public final void interfaceBlock() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST interfaceBlock_AST = null; - - match(LCURLY); - { - _loop98: - do { - switch ( LA(1)) { - case FINAL: - case ABSTRACT: - case STRICTFP: - case LITERAL_static: - case IDENT: - case LT: - case LITERAL_void: - case LITERAL_boolean: - case LITERAL_byte: - case LITERAL_char: - case LITERAL_short: - case LITERAL_int: - case LITERAL_float: - case LITERAL_long: - case LITERAL_double: - case LITERAL_private: - case LITERAL_public: - case LITERAL_protected: - case LITERAL_transient: - case LITERAL_native: - case LITERAL_threadsafe: - case LITERAL_synchronized: - case LITERAL_volatile: - case AT: - case LITERAL_class: - case LITERAL_interface: - case LITERAL_enum: - { - interfaceField(); - astFactory.addASTChild(currentAST, returnAST); - break; - } - case SEMI: - { - match(SEMI); - break; - } - default: - { - break _loop98; - } - } - } while (true); - } - match(RCURLY); - if ( inputState.guessing==0 ) { - interfaceBlock_AST = (AST)currentAST.root; - interfaceBlock_AST = (AST)astFactory.make( (new ASTArray(2)).add(astFactory.create(OBJBLOCK,"OBJBLOCK")).add(interfaceBlock_AST)); - currentAST.root = interfaceBlock_AST; - currentAST.child = interfaceBlock_AST!=null &&interfaceBlock_AST.getFirstChild()!=null ? - interfaceBlock_AST.getFirstChild() : interfaceBlock_AST; - currentAST.advanceChildToEnd(); - } - interfaceBlock_AST = (AST)currentAST.root; - returnAST = interfaceBlock_AST; - } - - public final void enumBlock() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST enumBlock_AST = null; - - match(LCURLY); - { - switch ( LA(1)) { - case IDENT: - case AT: - { - enumConstant(); - astFactory.addASTChild(currentAST, returnAST); - { - _loop105: - do { - if ((LA(1)==COMMA) && (LA(2)==IDENT||LA(2)==AT)) { - match(COMMA); - enumConstant(); - astFactory.addASTChild(currentAST, returnAST); - } - else { - break _loop105; - } - - } while (true); - } - { - switch ( LA(1)) { - case COMMA: - { - match(COMMA); - break; - } - case SEMI: - case RCURLY: - { - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - break; - } - case SEMI: - case RCURLY: - { - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - { - switch ( LA(1)) { - case SEMI: - { - match(SEMI); - { - _loop109: - do { - switch ( LA(1)) { - case FINAL: - case ABSTRACT: - case STRICTFP: - case LITERAL_static: - case IDENT: - case LT: - case LITERAL_void: - case LITERAL_boolean: - case LITERAL_byte: - case LITERAL_char: - case LITERAL_short: - case LITERAL_int: - case LITERAL_float: - case LITERAL_long: - case LITERAL_double: - case LITERAL_private: - case LITERAL_public: - case LITERAL_protected: - case LITERAL_transient: - case LITERAL_native: - case LITERAL_threadsafe: - case LITERAL_synchronized: - case LITERAL_volatile: - case AT: - case LCURLY: - case LITERAL_class: - case LITERAL_interface: - case LITERAL_enum: - { - classField(); - astFactory.addASTChild(currentAST, returnAST); - break; - } - case SEMI: - { - match(SEMI); - break; - } - default: - { - break _loop109; - } - } - } while (true); - } - break; - } - case RCURLY: - { - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - match(RCURLY); - if ( inputState.guessing==0 ) { - enumBlock_AST = (AST)currentAST.root; - enumBlock_AST = (AST)astFactory.make( (new ASTArray(2)).add(astFactory.create(OBJBLOCK,"OBJBLOCK")).add(enumBlock_AST)); - currentAST.root = enumBlock_AST; - currentAST.child = enumBlock_AST!=null &&enumBlock_AST.getFirstChild()!=null ? - enumBlock_AST.getFirstChild() : enumBlock_AST; - currentAST.advanceChildToEnd(); - } - enumBlock_AST = (AST)currentAST.root; - returnAST = enumBlock_AST; - } - - public final void annotationBlock() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST annotationBlock_AST = null; - - match(LCURLY); - { - _loop101: - do { - switch ( LA(1)) { - case FINAL: - case ABSTRACT: - case STRICTFP: - case LITERAL_static: - case IDENT: - case LITERAL_void: - case LITERAL_boolean: - case LITERAL_byte: - case LITERAL_char: - case LITERAL_short: - case LITERAL_int: - case LITERAL_float: - case LITERAL_long: - case LITERAL_double: - case LITERAL_private: - case LITERAL_public: - case LITERAL_protected: - case LITERAL_transient: - case LITERAL_native: - case LITERAL_threadsafe: - case LITERAL_synchronized: - case LITERAL_volatile: - case AT: - case LITERAL_class: - case LITERAL_interface: - case LITERAL_enum: - { - annotationField(); - astFactory.addASTChild(currentAST, returnAST); - break; - } - case SEMI: - { - match(SEMI); - break; - } - default: - { - break _loop101; - } - } - } while (true); - } - match(RCURLY); - if ( inputState.guessing==0 ) { - annotationBlock_AST = (AST)currentAST.root; - annotationBlock_AST = (AST)astFactory.make( (new ASTArray(2)).add(astFactory.create(OBJBLOCK,"OBJBLOCK")).add(annotationBlock_AST)); - currentAST.root = annotationBlock_AST; - currentAST.child = annotationBlock_AST!=null &&annotationBlock_AST.getFirstChild()!=null ? - annotationBlock_AST.getFirstChild() : annotationBlock_AST; - currentAST.advanceChildToEnd(); - } - annotationBlock_AST = (AST)currentAST.root; - returnAST = annotationBlock_AST; - } - - public final void typeParameter() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST typeParameter_AST = null; - Token id = null; - AST id_AST = null; - - { - id = LT(1); - id_AST = astFactory.create(id); - astFactory.addASTChild(currentAST, id_AST); - match(IDENT); - } - { - if ((LA(1)==LITERAL_extends) && (LA(2)==IDENT)) { - typeParameterBounds(); - astFactory.addASTChild(currentAST, returnAST); - } - else if ((_tokenSet_11.member(LA(1))) && (_tokenSet_12.member(LA(2)))) { - } - else { - throw new NoViableAltException(LT(1), getFilename()); - } - - } - if ( inputState.guessing==0 ) { - typeParameter_AST = (AST)currentAST.root; - typeParameter_AST = (AST)astFactory.make( (new ASTArray(2)).add(astFactory.create(TYPE_PARAMETER,"TYPE_PARAMETER")).add(typeParameter_AST)); - currentAST.root = typeParameter_AST; - currentAST.child = typeParameter_AST!=null &&typeParameter_AST.getFirstChild()!=null ? - typeParameter_AST.getFirstChild() : typeParameter_AST; - currentAST.advanceChildToEnd(); - } - typeParameter_AST = (AST)currentAST.root; - returnAST = typeParameter_AST; - } - - public final void typeParameterBounds() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST typeParameterBounds_AST = null; - - match(LITERAL_extends); - classOrInterfaceType(false); - astFactory.addASTChild(currentAST, returnAST); - { - _loop92: - do { - if ((LA(1)==BAND)) { - match(BAND); - classOrInterfaceType(false); - astFactory.addASTChild(currentAST, returnAST); - } - else { - break _loop92; - } - - } while (true); - } - if ( inputState.guessing==0 ) { - typeParameterBounds_AST = (AST)currentAST.root; - typeParameterBounds_AST = (AST)astFactory.make( (new ASTArray(2)).add(astFactory.create(TYPE_UPPER_BOUNDS,"TYPE_UPPER_BOUNDS")).add(typeParameterBounds_AST)); - currentAST.root = typeParameterBounds_AST; - currentAST.child = typeParameterBounds_AST!=null &&typeParameterBounds_AST.getFirstChild()!=null ? - typeParameterBounds_AST.getFirstChild() : typeParameterBounds_AST; - currentAST.advanceChildToEnd(); - } - typeParameterBounds_AST = (AST)currentAST.root; - returnAST = typeParameterBounds_AST; - } - - public final void classField() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST classField_AST = null; - AST mods_AST = null; - AST td_AST = null; - AST tp_AST = null; - AST h_AST = null; - AST s_AST = null; - AST t_AST = null; - AST param_AST = null; - AST rt_AST = null; - AST tc_AST = null; - AST s2_AST = null; - AST v_AST = null; - AST s3_AST = null; - AST s4_AST = null; - - if ((_tokenSet_13.member(LA(1))) && (_tokenSet_14.member(LA(2)))) { - modifiers(); - mods_AST = (AST)returnAST; - { - switch ( LA(1)) { - case AT: - case LITERAL_class: - case LITERAL_interface: - case LITERAL_enum: - { - typeDefinitionInternal(mods_AST); - td_AST = (AST)returnAST; - if ( inputState.guessing==0 ) { - classField_AST = (AST)currentAST.root; - classField_AST = td_AST; - currentAST.root = classField_AST; - currentAST.child = classField_AST!=null &&classField_AST.getFirstChild()!=null ? - classField_AST.getFirstChild() : classField_AST; - currentAST.advanceChildToEnd(); - } - break; - } - case IDENT: - case LT: - case LITERAL_void: - case LITERAL_boolean: - case LITERAL_byte: - case LITERAL_char: - case LITERAL_short: - case LITERAL_int: - case LITERAL_float: - case LITERAL_long: - case LITERAL_double: - { - { - switch ( LA(1)) { - case LT: - { - typeParameters(); - tp_AST = (AST)returnAST; - break; - } - case IDENT: - case LITERAL_void: - case LITERAL_boolean: - case LITERAL_byte: - case LITERAL_char: - case LITERAL_short: - case LITERAL_int: - case LITERAL_float: - case LITERAL_long: - case LITERAL_double: - { - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - { - if ((LA(1)==IDENT) && (LA(2)==LPAREN)) { - ctorHead(); - h_AST = (AST)returnAST; - constructorBody(); - s_AST = (AST)returnAST; - if ( inputState.guessing==0 ) { - classField_AST = (AST)currentAST.root; - classField_AST = (AST)astFactory.make( (new ASTArray(5)).add(astFactory.create(CTOR_DEF,"CTOR_DEF")).add(mods_AST).add(tp_AST).add(h_AST).add(s_AST)); - currentAST.root = classField_AST; - currentAST.child = classField_AST!=null &&classField_AST.getFirstChild()!=null ? - classField_AST.getFirstChild() : classField_AST; - currentAST.advanceChildToEnd(); - } - } - else if ((_tokenSet_15.member(LA(1))) && (_tokenSet_16.member(LA(2)))) { - typeSpec(false); - t_AST = (AST)returnAST; - { - if ((LA(1)==IDENT) && (LA(2)==LPAREN)) { - AST tmp90_AST = null; - tmp90_AST = astFactory.create(LT(1)); - match(IDENT); - match(LPAREN); - parameterDeclarationList(); - param_AST = (AST)returnAST; - match(RPAREN); - declaratorBrackets(t_AST); - rt_AST = (AST)returnAST; - { - switch ( LA(1)) { - case LITERAL_throws: - { - throwsClause(); - tc_AST = (AST)returnAST; - break; - } - case SEMI: - case LCURLY: - { - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - { - switch ( LA(1)) { - case LCURLY: - { - compoundStatement(); - s2_AST = (AST)returnAST; - break; - } - case SEMI: - { - AST tmp93_AST = null; - tmp93_AST = astFactory.create(LT(1)); - match(SEMI); - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - if ( inputState.guessing==0 ) { - classField_AST = (AST)currentAST.root; - classField_AST = (AST)astFactory.make( (new ASTArray(8)).add(astFactory.create(METHOD_DEF,"METHOD_DEF")).add(mods_AST).add(tp_AST).add((AST)astFactory.make( (new ASTArray(2)).add(astFactory.create(TYPE,"TYPE")).add(rt_AST))).add(tmp90_AST).add(param_AST).add(tc_AST).add(s2_AST)); - currentAST.root = classField_AST; - currentAST.child = classField_AST!=null &&classField_AST.getFirstChild()!=null ? - classField_AST.getFirstChild() : classField_AST; - currentAST.advanceChildToEnd(); - } - } - else if ((LA(1)==IDENT) && (_tokenSet_17.member(LA(2)))) { - variableDefinitions(mods_AST,t_AST); - v_AST = (AST)returnAST; - AST tmp94_AST = null; - tmp94_AST = astFactory.create(LT(1)); - match(SEMI); - if ( inputState.guessing==0 ) { - classField_AST = (AST)currentAST.root; - classField_AST = v_AST; - currentAST.root = classField_AST; - currentAST.child = classField_AST!=null &&classField_AST.getFirstChild()!=null ? - classField_AST.getFirstChild() : classField_AST; - currentAST.advanceChildToEnd(); - } - } - else { - throw new NoViableAltException(LT(1), getFilename()); - } - - } - } - else { - throw new NoViableAltException(LT(1), getFilename()); - } - - } - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - } - else if ((LA(1)==LITERAL_static) && (LA(2)==LCURLY)) { - match(LITERAL_static); - compoundStatement(); - s3_AST = (AST)returnAST; - if ( inputState.guessing==0 ) { - classField_AST = (AST)currentAST.root; - classField_AST = (AST)astFactory.make( (new ASTArray(2)).add(astFactory.create(STATIC_INIT,"STATIC_INIT")).add(s3_AST)); - currentAST.root = classField_AST; - currentAST.child = classField_AST!=null &&classField_AST.getFirstChild()!=null ? - classField_AST.getFirstChild() : classField_AST; - currentAST.advanceChildToEnd(); - } - } - else if ((LA(1)==LCURLY)) { - compoundStatement(); - s4_AST = (AST)returnAST; - if ( inputState.guessing==0 ) { - classField_AST = (AST)currentAST.root; - classField_AST = (AST)astFactory.make( (new ASTArray(2)).add(astFactory.create(INSTANCE_INIT,"INSTANCE_INIT")).add(s4_AST)); - currentAST.root = classField_AST; - currentAST.child = classField_AST!=null &&classField_AST.getFirstChild()!=null ? - classField_AST.getFirstChild() : classField_AST; - currentAST.advanceChildToEnd(); - } - } - else { - throw new NoViableAltException(LT(1), getFilename()); - } - - returnAST = classField_AST; - } - - public final void interfaceField() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST interfaceField_AST = null; - AST mods_AST = null; - AST td_AST = null; - AST tp_AST = null; - AST t_AST = null; - AST param_AST = null; - AST rt_AST = null; - AST tc_AST = null; - AST v_AST = null; - - modifiers(); - mods_AST = (AST)returnAST; - { - switch ( LA(1)) { - case AT: - case LITERAL_class: - case LITERAL_interface: - case LITERAL_enum: - { - typeDefinitionInternal(mods_AST); - td_AST = (AST)returnAST; - if ( inputState.guessing==0 ) { - interfaceField_AST = (AST)currentAST.root; - interfaceField_AST = td_AST; - currentAST.root = interfaceField_AST; - currentAST.child = interfaceField_AST!=null &&interfaceField_AST.getFirstChild()!=null ? - interfaceField_AST.getFirstChild() : interfaceField_AST; - currentAST.advanceChildToEnd(); - } - break; - } - case IDENT: - case LT: - case LITERAL_void: - case LITERAL_boolean: - case LITERAL_byte: - case LITERAL_char: - case LITERAL_short: - case LITERAL_int: - case LITERAL_float: - case LITERAL_long: - case LITERAL_double: - { - { - switch ( LA(1)) { - case LT: - { - typeParameters(); - tp_AST = (AST)returnAST; - break; - } - case IDENT: - case LITERAL_void: - case LITERAL_boolean: - case LITERAL_byte: - case LITERAL_char: - case LITERAL_short: - case LITERAL_int: - case LITERAL_float: - case LITERAL_long: - case LITERAL_double: - { - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - typeSpec(false); - t_AST = (AST)returnAST; - { - if ((LA(1)==IDENT) && (LA(2)==LPAREN)) { - AST tmp96_AST = null; - tmp96_AST = astFactory.create(LT(1)); - match(IDENT); - match(LPAREN); - parameterDeclarationList(); - param_AST = (AST)returnAST; - match(RPAREN); - declaratorBrackets(t_AST); - rt_AST = (AST)returnAST; - { - switch ( LA(1)) { - case LITERAL_throws: - { - throwsClause(); - tc_AST = (AST)returnAST; - break; - } - case SEMI: - { - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - AST tmp99_AST = null; - tmp99_AST = astFactory.create(LT(1)); - match(SEMI); - if ( inputState.guessing==0 ) { - interfaceField_AST = (AST)currentAST.root; - interfaceField_AST = (AST)astFactory.make( (new ASTArray(7)).add(astFactory.create(METHOD_DEF,"METHOD_DEF")).add(mods_AST).add(tp_AST).add((AST)astFactory.make( (new ASTArray(2)).add(astFactory.create(TYPE,"TYPE")).add(rt_AST))).add(tmp96_AST).add(param_AST).add(tc_AST)); - currentAST.root = interfaceField_AST; - currentAST.child = interfaceField_AST!=null &&interfaceField_AST.getFirstChild()!=null ? - interfaceField_AST.getFirstChild() : interfaceField_AST; - currentAST.advanceChildToEnd(); - } - } - else if ((LA(1)==IDENT) && (_tokenSet_17.member(LA(2)))) { - variableDefinitions(mods_AST,t_AST); - v_AST = (AST)returnAST; - AST tmp100_AST = null; - tmp100_AST = astFactory.create(LT(1)); - match(SEMI); - if ( inputState.guessing==0 ) { - interfaceField_AST = (AST)currentAST.root; - interfaceField_AST = v_AST; - currentAST.root = interfaceField_AST; - currentAST.child = interfaceField_AST!=null &&interfaceField_AST.getFirstChild()!=null ? - interfaceField_AST.getFirstChild() : interfaceField_AST; - currentAST.advanceChildToEnd(); - } - } - else { - throw new NoViableAltException(LT(1), getFilename()); - } - - } - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - returnAST = interfaceField_AST; - } - - public final void annotationField() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST annotationField_AST = null; - AST mods_AST = null; - AST td_AST = null; - AST t_AST = null; - Token i = null; - AST i_AST = null; - AST rt_AST = null; - AST amvi_AST = null; - AST v_AST = null; - - modifiers(); - mods_AST = (AST)returnAST; - { - switch ( LA(1)) { - case AT: - case LITERAL_class: - case LITERAL_interface: - case LITERAL_enum: - { - typeDefinitionInternal(mods_AST); - td_AST = (AST)returnAST; - if ( inputState.guessing==0 ) { - annotationField_AST = (AST)currentAST.root; - annotationField_AST = td_AST; - currentAST.root = annotationField_AST; - currentAST.child = annotationField_AST!=null &&annotationField_AST.getFirstChild()!=null ? - annotationField_AST.getFirstChild() : annotationField_AST; - currentAST.advanceChildToEnd(); - } - break; - } - case IDENT: - case LITERAL_void: - case LITERAL_boolean: - case LITERAL_byte: - case LITERAL_char: - case LITERAL_short: - case LITERAL_int: - case LITERAL_float: - case LITERAL_long: - case LITERAL_double: - { - typeSpec(false); - t_AST = (AST)returnAST; - { - if ((LA(1)==IDENT) && (LA(2)==LPAREN)) { - i = LT(1); - i_AST = astFactory.create(i); - match(IDENT); - match(LPAREN); - match(RPAREN); - declaratorBrackets(t_AST); - rt_AST = (AST)returnAST; - { - switch ( LA(1)) { - case LITERAL_default: - { - match(LITERAL_default); - annotationMemberValueInitializer(); - amvi_AST = (AST)returnAST; - break; - } - case SEMI: - { - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - AST tmp104_AST = null; - tmp104_AST = astFactory.create(LT(1)); - match(SEMI); - if ( inputState.guessing==0 ) { - annotationField_AST = (AST)currentAST.root; - annotationField_AST = - (AST)astFactory.make( (new ASTArray(5)).add(astFactory.create(ANNOTATION_FIELD_DEF,"ANNOTATION_FIELD_DEF")).add(mods_AST).add((AST)astFactory.make( (new ASTArray(2)).add(astFactory.create(TYPE,"TYPE")).add(rt_AST))).add(i_AST).add(amvi_AST)); - currentAST.root = annotationField_AST; - currentAST.child = annotationField_AST!=null &&annotationField_AST.getFirstChild()!=null ? - annotationField_AST.getFirstChild() : annotationField_AST; - currentAST.advanceChildToEnd(); - } - } - else if ((LA(1)==IDENT) && (_tokenSet_17.member(LA(2)))) { - variableDefinitions(mods_AST,t_AST); - v_AST = (AST)returnAST; - AST tmp105_AST = null; - tmp105_AST = astFactory.create(LT(1)); - match(SEMI); - if ( inputState.guessing==0 ) { - annotationField_AST = (AST)currentAST.root; - annotationField_AST = v_AST; - currentAST.root = annotationField_AST; - currentAST.child = annotationField_AST!=null &&annotationField_AST.getFirstChild()!=null ? - annotationField_AST.getFirstChild() : annotationField_AST; - currentAST.advanceChildToEnd(); - } - } - else { - throw new NoViableAltException(LT(1), getFilename()); - } - - } - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - returnAST = annotationField_AST; - } - - public final void enumConstant() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST enumConstant_AST = null; - AST an_AST = null; - Token i = null; - AST i_AST = null; - AST a_AST = null; - AST b_AST = null; - - annotations(); - an_AST = (AST)returnAST; - i = LT(1); - i_AST = astFactory.create(i); - match(IDENT); - { - switch ( LA(1)) { - case LPAREN: - { - match(LPAREN); - argList(); - a_AST = (AST)returnAST; - match(RPAREN); - break; - } - case SEMI: - case COMMA: - case LCURLY: - case RCURLY: - { - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - { - switch ( LA(1)) { - case LCURLY: - { - enumConstantBlock(); - b_AST = (AST)returnAST; - break; - } - case SEMI: - case COMMA: - case RCURLY: - { - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - if ( inputState.guessing==0 ) { - enumConstant_AST = (AST)currentAST.root; - enumConstant_AST = (AST)astFactory.make( (new ASTArray(5)).add(astFactory.create(ENUM_CONSTANT_DEF,"ENUM_CONSTANT_DEF")).add(an_AST).add(i_AST).add(a_AST).add(b_AST)); - currentAST.root = enumConstant_AST; - currentAST.child = enumConstant_AST!=null &&enumConstant_AST.getFirstChild()!=null ? - enumConstant_AST.getFirstChild() : enumConstant_AST; - currentAST.advanceChildToEnd(); - } - returnAST = enumConstant_AST; - } - - public final void declaratorBrackets( - AST typ - ) throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST declaratorBrackets_AST = null; - Token lb = null; - AST lb_AST = null; - - if ( inputState.guessing==0 ) { - declaratorBrackets_AST = (AST)currentAST.root; - declaratorBrackets_AST=typ; - currentAST.root = declaratorBrackets_AST; - currentAST.child = declaratorBrackets_AST!=null &&declaratorBrackets_AST.getFirstChild()!=null ? - declaratorBrackets_AST.getFirstChild() : declaratorBrackets_AST; - currentAST.advanceChildToEnd(); - } - { - _loop159: - do { - if ((LA(1)==LBRACK)) { - lb = LT(1); - lb_AST = astFactory.create(lb); - astFactory.makeASTRoot(currentAST, lb_AST); - match(LBRACK); - if ( inputState.guessing==0 ) { - lb_AST.setType(ARRAY_DECLARATOR); - } - match(RBRACK); - } - else { - break _loop159; - } - - } while (true); - } - declaratorBrackets_AST = (AST)currentAST.root; - returnAST = declaratorBrackets_AST; - } - - public final void argList() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST argList_AST = null; - - { - switch ( LA(1)) { - case IDENT: - case LITERAL_super: - case LT: - case LITERAL_void: - case LITERAL_boolean: - case LITERAL_byte: - case LITERAL_char: - case LITERAL_short: - case LITERAL_int: - case LITERAL_float: - case LITERAL_long: - case LITERAL_double: - case LPAREN: - case LITERAL_this: - case PLUS: - case MINUS: - case INC: - case DEC: - case BNOT: - case LNOT: - case LITERAL_true: - case LITERAL_false: - case LITERAL_null: - case LITERAL_new: - case NUM_INT: - case CHAR_LITERAL: - case STRING_LITERAL: - case NUM_FLOAT: - case NUM_LONG: - case NUM_DOUBLE: - { - expressionList(); - astFactory.addASTChild(currentAST, returnAST); - break; - } - case RPAREN: - { - if ( inputState.guessing==0 ) { - argList_AST = (AST)currentAST.root; - argList_AST = astFactory.create(ELIST,"ELIST"); - currentAST.root = argList_AST; - currentAST.child = argList_AST!=null &&argList_AST.getFirstChild()!=null ? - argList_AST.getFirstChild() : argList_AST; - currentAST.advanceChildToEnd(); - } - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - argList_AST = (AST)currentAST.root; - returnAST = argList_AST; - } - - public final void enumConstantBlock() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST enumConstantBlock_AST = null; - - match(LCURLY); - { - _loop119: - do { - switch ( LA(1)) { - case FINAL: - case ABSTRACT: - case STRICTFP: - case LITERAL_static: - case IDENT: - case LT: - case LITERAL_void: - case LITERAL_boolean: - case LITERAL_byte: - case LITERAL_char: - case LITERAL_short: - case LITERAL_int: - case LITERAL_float: - case LITERAL_long: - case LITERAL_double: - case LITERAL_private: - case LITERAL_public: - case LITERAL_protected: - case LITERAL_transient: - case LITERAL_native: - case LITERAL_threadsafe: - case LITERAL_synchronized: - case LITERAL_volatile: - case AT: - case LCURLY: - case LITERAL_class: - case LITERAL_interface: - case LITERAL_enum: - { - enumConstantField(); - astFactory.addASTChild(currentAST, returnAST); - break; - } - case SEMI: - { - match(SEMI); - break; - } - default: - { - break _loop119; - } - } - } while (true); - } - match(RCURLY); - if ( inputState.guessing==0 ) { - enumConstantBlock_AST = (AST)currentAST.root; - enumConstantBlock_AST = (AST)astFactory.make( (new ASTArray(2)).add(astFactory.create(OBJBLOCK,"OBJBLOCK")).add(enumConstantBlock_AST)); - currentAST.root = enumConstantBlock_AST; - currentAST.child = enumConstantBlock_AST!=null &&enumConstantBlock_AST.getFirstChild()!=null ? - enumConstantBlock_AST.getFirstChild() : enumConstantBlock_AST; - currentAST.advanceChildToEnd(); - } - enumConstantBlock_AST = (AST)currentAST.root; - returnAST = enumConstantBlock_AST; - } - - public final void enumConstantField() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST enumConstantField_AST = null; - AST mods_AST = null; - AST td_AST = null; - AST tp_AST = null; - AST t_AST = null; - AST param_AST = null; - AST rt_AST = null; - AST tc_AST = null; - AST s2_AST = null; - AST v_AST = null; - AST s4_AST = null; - - switch ( LA(1)) { - case FINAL: - case ABSTRACT: - case STRICTFP: - case LITERAL_static: - case IDENT: - case LT: - case LITERAL_void: - case LITERAL_boolean: - case LITERAL_byte: - case LITERAL_char: - case LITERAL_short: - case LITERAL_int: - case LITERAL_float: - case LITERAL_long: - case LITERAL_double: - case LITERAL_private: - case LITERAL_public: - case LITERAL_protected: - case LITERAL_transient: - case LITERAL_native: - case LITERAL_threadsafe: - case LITERAL_synchronized: - case LITERAL_volatile: - case AT: - case LITERAL_class: - case LITERAL_interface: - case LITERAL_enum: - { - modifiers(); - mods_AST = (AST)returnAST; - { - switch ( LA(1)) { - case AT: - case LITERAL_class: - case LITERAL_interface: - case LITERAL_enum: - { - typeDefinitionInternal(mods_AST); - td_AST = (AST)returnAST; - if ( inputState.guessing==0 ) { - enumConstantField_AST = (AST)currentAST.root; - enumConstantField_AST = td_AST; - currentAST.root = enumConstantField_AST; - currentAST.child = enumConstantField_AST!=null &&enumConstantField_AST.getFirstChild()!=null ? - enumConstantField_AST.getFirstChild() : enumConstantField_AST; - currentAST.advanceChildToEnd(); - } - break; - } - case IDENT: - case LT: - case LITERAL_void: - case LITERAL_boolean: - case LITERAL_byte: - case LITERAL_char: - case LITERAL_short: - case LITERAL_int: - case LITERAL_float: - case LITERAL_long: - case LITERAL_double: - { - { - switch ( LA(1)) { - case LT: - { - typeParameters(); - tp_AST = (AST)returnAST; - break; - } - case IDENT: - case LITERAL_void: - case LITERAL_boolean: - case LITERAL_byte: - case LITERAL_char: - case LITERAL_short: - case LITERAL_int: - case LITERAL_float: - case LITERAL_long: - case LITERAL_double: - { - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - typeSpec(false); - t_AST = (AST)returnAST; - { - if ((LA(1)==IDENT) && (LA(2)==LPAREN)) { - AST tmp112_AST = null; - tmp112_AST = astFactory.create(LT(1)); - match(IDENT); - match(LPAREN); - parameterDeclarationList(); - param_AST = (AST)returnAST; - match(RPAREN); - declaratorBrackets(t_AST); - rt_AST = (AST)returnAST; - { - switch ( LA(1)) { - case LITERAL_throws: - { - throwsClause(); - tc_AST = (AST)returnAST; - break; - } - case SEMI: - case LCURLY: - { - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - { - switch ( LA(1)) { - case LCURLY: - { - compoundStatement(); - s2_AST = (AST)returnAST; - break; - } - case SEMI: - { - AST tmp115_AST = null; - tmp115_AST = astFactory.create(LT(1)); - match(SEMI); - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - if ( inputState.guessing==0 ) { - enumConstantField_AST = (AST)currentAST.root; - enumConstantField_AST = (AST)astFactory.make( (new ASTArray(8)).add(astFactory.create(METHOD_DEF,"METHOD_DEF")).add(mods_AST).add(tp_AST).add((AST)astFactory.make( (new ASTArray(2)).add(astFactory.create(TYPE,"TYPE")).add(rt_AST))).add(tmp112_AST).add(param_AST).add(tc_AST).add(s2_AST)); - currentAST.root = enumConstantField_AST; - currentAST.child = enumConstantField_AST!=null &&enumConstantField_AST.getFirstChild()!=null ? - enumConstantField_AST.getFirstChild() : enumConstantField_AST; - currentAST.advanceChildToEnd(); - } - } - else if ((LA(1)==IDENT) && (_tokenSet_17.member(LA(2)))) { - variableDefinitions(mods_AST,t_AST); - v_AST = (AST)returnAST; - AST tmp116_AST = null; - tmp116_AST = astFactory.create(LT(1)); - match(SEMI); - if ( inputState.guessing==0 ) { - enumConstantField_AST = (AST)currentAST.root; - enumConstantField_AST = v_AST; - currentAST.root = enumConstantField_AST; - currentAST.child = enumConstantField_AST!=null &&enumConstantField_AST.getFirstChild()!=null ? - enumConstantField_AST.getFirstChild() : enumConstantField_AST; - currentAST.advanceChildToEnd(); - } - } - else { - throw new NoViableAltException(LT(1), getFilename()); - } - - } - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - break; - } - case LCURLY: - { - compoundStatement(); - s4_AST = (AST)returnAST; - if ( inputState.guessing==0 ) { - enumConstantField_AST = (AST)currentAST.root; - enumConstantField_AST = (AST)astFactory.make( (new ASTArray(2)).add(astFactory.create(INSTANCE_INIT,"INSTANCE_INIT")).add(s4_AST)); - currentAST.root = enumConstantField_AST; - currentAST.child = enumConstantField_AST!=null &&enumConstantField_AST.getFirstChild()!=null ? - enumConstantField_AST.getFirstChild() : enumConstantField_AST; - currentAST.advanceChildToEnd(); - } - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - returnAST = enumConstantField_AST; - } - - public final void parameterDeclarationList() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST parameterDeclarationList_AST = null; - - { - boolean synPredMatched176 = false; - if (((_tokenSet_18.member(LA(1))) && (_tokenSet_19.member(LA(2))))) { - int _m176 = mark(); - synPredMatched176 = true; - inputState.guessing++; - try { - { - parameterDeclaration(); - } - } - catch (RecognitionException pe) { - synPredMatched176 = false; - } - rewind(_m176); -inputState.guessing--; - } - if ( synPredMatched176 ) { - parameterDeclaration(); - astFactory.addASTChild(currentAST, returnAST); - { - _loop180: - do { - boolean synPredMatched179 = false; - if (((LA(1)==COMMA) && (_tokenSet_18.member(LA(2))))) { - int _m179 = mark(); - synPredMatched179 = true; - inputState.guessing++; - try { - { - match(COMMA); - parameterDeclaration(); - } - } - catch (RecognitionException pe) { - synPredMatched179 = false; - } - rewind(_m179); -inputState.guessing--; - } - if ( synPredMatched179 ) { - match(COMMA); - parameterDeclaration(); - astFactory.addASTChild(currentAST, returnAST); - } - else { - break _loop180; - } - - } while (true); - } - { - switch ( LA(1)) { - case COMMA: - { - match(COMMA); - variableLengthParameterDeclaration(); - astFactory.addASTChild(currentAST, returnAST); - break; - } - case RPAREN: - { - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - } - else if ((_tokenSet_18.member(LA(1))) && (_tokenSet_20.member(LA(2)))) { - variableLengthParameterDeclaration(); - astFactory.addASTChild(currentAST, returnAST); - } - else if ((LA(1)==RPAREN)) { - } - else { - throw new NoViableAltException(LT(1), getFilename()); - } - - } - if ( inputState.guessing==0 ) { - parameterDeclarationList_AST = (AST)currentAST.root; - parameterDeclarationList_AST = (AST)astFactory.make( (new ASTArray(2)).add(astFactory.create(PARAMETERS,"PARAMETERS")).add(parameterDeclarationList_AST)); - currentAST.root = parameterDeclarationList_AST; - currentAST.child = parameterDeclarationList_AST!=null &¶meterDeclarationList_AST.getFirstChild()!=null ? - parameterDeclarationList_AST.getFirstChild() : parameterDeclarationList_AST; - currentAST.advanceChildToEnd(); - } - parameterDeclarationList_AST = (AST)currentAST.root; - returnAST = parameterDeclarationList_AST; - } - - public final void throwsClause() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST throwsClause_AST = null; - - AST tmp119_AST = null; - tmp119_AST = astFactory.create(LT(1)); - astFactory.makeASTRoot(currentAST, tmp119_AST); - match(LITERAL_throws); - identifier(); - astFactory.addASTChild(currentAST, returnAST); - { - _loop172: - do { - if ((LA(1)==COMMA)) { - match(COMMA); - identifier(); - astFactory.addASTChild(currentAST, returnAST); - } - else { - break _loop172; - } - - } while (true); - } - throwsClause_AST = (AST)currentAST.root; - returnAST = throwsClause_AST; - } - - public final void compoundStatement() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST compoundStatement_AST = null; - Token lc = null; - AST lc_AST = null; - - lc = LT(1); - lc_AST = astFactory.create(lc); - astFactory.makeASTRoot(currentAST, lc_AST); - match(LCURLY); - if ( inputState.guessing==0 ) { - lc_AST.setType(SLIST); - } - { - _loop192: - do { - if ((_tokenSet_21.member(LA(1)))) { - statement(); - astFactory.addASTChild(currentAST, returnAST); - } - else { - break _loop192; - } - - } while (true); - } - match(RCURLY); - compoundStatement_AST = (AST)currentAST.root; - returnAST = compoundStatement_AST; - } - - public final void ctorHead() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST ctorHead_AST = null; - - AST tmp122_AST = null; - tmp122_AST = astFactory.create(LT(1)); - astFactory.addASTChild(currentAST, tmp122_AST); - match(IDENT); - match(LPAREN); - parameterDeclarationList(); - astFactory.addASTChild(currentAST, returnAST); - match(RPAREN); - { - switch ( LA(1)) { - case LITERAL_throws: - { - throwsClause(); - astFactory.addASTChild(currentAST, returnAST); - break; - } - case LCURLY: - { - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - ctorHead_AST = (AST)currentAST.root; - returnAST = ctorHead_AST; - } - - public final void constructorBody() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST constructorBody_AST = null; - Token lc = null; - AST lc_AST = null; - - lc = LT(1); - lc_AST = astFactory.create(lc); - astFactory.makeASTRoot(currentAST, lc_AST); - match(LCURLY); - if ( inputState.guessing==0 ) { - lc_AST.setType(SLIST); - } - { - if ((_tokenSet_22.member(LA(1))) && (_tokenSet_23.member(LA(2)))) { - explicitConstructorInvocation(); - astFactory.addASTChild(currentAST, returnAST); - } - else if ((_tokenSet_24.member(LA(1))) && (_tokenSet_25.member(LA(2)))) { - } - else { - throw new NoViableAltException(LT(1), getFilename()); - } - - } - { - _loop149: - do { - if ((_tokenSet_21.member(LA(1)))) { - statement(); - astFactory.addASTChild(currentAST, returnAST); - } - else { - break _loop149; - } - - } while (true); - } - match(RCURLY); - constructorBody_AST = (AST)currentAST.root; - returnAST = constructorBody_AST; - } - -/** Catch obvious constructor calls, but not the expr.super(...) calls */ - public final void explicitConstructorInvocation() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST explicitConstructorInvocation_AST = null; - Token lp1 = null; - AST lp1_AST = null; - Token lp2 = null; - AST lp2_AST = null; - - { - switch ( LA(1)) { - case LT: - { - typeArguments(); - astFactory.addASTChild(currentAST, returnAST); - break; - } - case LITERAL_super: - case LITERAL_this: - { - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - { - switch ( LA(1)) { - case LITERAL_this: - { - match(LITERAL_this); - lp1 = LT(1); - lp1_AST = astFactory.create(lp1); - astFactory.makeASTRoot(currentAST, lp1_AST); - match(LPAREN); - argList(); - astFactory.addASTChild(currentAST, returnAST); - match(RPAREN); - match(SEMI); - if ( inputState.guessing==0 ) { - lp1_AST.setType(CTOR_CALL); - } - break; - } - case LITERAL_super: - { - match(LITERAL_super); - lp2 = LT(1); - lp2_AST = astFactory.create(lp2); - astFactory.makeASTRoot(currentAST, lp2_AST); - match(LPAREN); - argList(); - astFactory.addASTChild(currentAST, returnAST); - match(RPAREN); - match(SEMI); - if ( inputState.guessing==0 ) { - lp2_AST.setType(SUPER_CTOR_CALL); - } - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - explicitConstructorInvocation_AST = (AST)currentAST.root; - returnAST = explicitConstructorInvocation_AST; - } - - public final void statement() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST statement_AST = null; - AST m_AST = null; - Token c = null; - AST c_AST = null; - Token s = null; - AST s_AST = null; - - switch ( LA(1)) { - case LCURLY: - { - compoundStatement(); - astFactory.addASTChild(currentAST, returnAST); - statement_AST = (AST)currentAST.root; - break; - } - case LITERAL_if: - { - AST tmp132_AST = null; - tmp132_AST = astFactory.create(LT(1)); - astFactory.makeASTRoot(currentAST, tmp132_AST); - match(LITERAL_if); - match(LPAREN); - expression(); - astFactory.addASTChild(currentAST, returnAST); - match(RPAREN); - statement(); - astFactory.addASTChild(currentAST, returnAST); - { - if ((LA(1)==LITERAL_else) && (_tokenSet_21.member(LA(2)))) { - match(LITERAL_else); - statement(); - astFactory.addASTChild(currentAST, returnAST); - } - else if ((_tokenSet_26.member(LA(1))) && (_tokenSet_27.member(LA(2)))) { - } - else { - throw new NoViableAltException(LT(1), getFilename()); - } - - } - statement_AST = (AST)currentAST.root; - break; - } - case LITERAL_for: - { - forStatement(); - astFactory.addASTChild(currentAST, returnAST); - statement_AST = (AST)currentAST.root; - break; - } - case LITERAL_while: - { - AST tmp136_AST = null; - tmp136_AST = astFactory.create(LT(1)); - astFactory.makeASTRoot(currentAST, tmp136_AST); - match(LITERAL_while); - match(LPAREN); - expression(); - astFactory.addASTChild(currentAST, returnAST); - match(RPAREN); - statement(); - astFactory.addASTChild(currentAST, returnAST); - statement_AST = (AST)currentAST.root; - break; - } - case LITERAL_do: - { - AST tmp139_AST = null; - tmp139_AST = astFactory.create(LT(1)); - astFactory.makeASTRoot(currentAST, tmp139_AST); - match(LITERAL_do); - statement(); - astFactory.addASTChild(currentAST, returnAST); - match(LITERAL_while); - match(LPAREN); - expression(); - astFactory.addASTChild(currentAST, returnAST); - match(RPAREN); - match(SEMI); - statement_AST = (AST)currentAST.root; - break; - } - case LITERAL_break: - { - AST tmp144_AST = null; - tmp144_AST = astFactory.create(LT(1)); - astFactory.makeASTRoot(currentAST, tmp144_AST); - match(LITERAL_break); - { - switch ( LA(1)) { - case IDENT: - { - AST tmp145_AST = null; - tmp145_AST = astFactory.create(LT(1)); - astFactory.addASTChild(currentAST, tmp145_AST); - match(IDENT); - break; - } - case SEMI: - { - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - match(SEMI); - statement_AST = (AST)currentAST.root; - break; - } - case LITERAL_continue: - { - AST tmp147_AST = null; - tmp147_AST = astFactory.create(LT(1)); - astFactory.makeASTRoot(currentAST, tmp147_AST); - match(LITERAL_continue); - { - switch ( LA(1)) { - case IDENT: - { - AST tmp148_AST = null; - tmp148_AST = astFactory.create(LT(1)); - astFactory.addASTChild(currentAST, tmp148_AST); - match(IDENT); - break; - } - case SEMI: - { - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - match(SEMI); - statement_AST = (AST)currentAST.root; - break; - } - case LITERAL_return: - { - AST tmp150_AST = null; - tmp150_AST = astFactory.create(LT(1)); - astFactory.makeASTRoot(currentAST, tmp150_AST); - match(LITERAL_return); - { - switch ( LA(1)) { - case IDENT: - case LITERAL_super: - case LT: - case LITERAL_void: - case LITERAL_boolean: - case LITERAL_byte: - case LITERAL_char: - case LITERAL_short: - case LITERAL_int: - case LITERAL_float: - case LITERAL_long: - case LITERAL_double: - case LPAREN: - case LITERAL_this: - case PLUS: - case MINUS: - case INC: - case DEC: - case BNOT: - case LNOT: - case LITERAL_true: - case LITERAL_false: - case LITERAL_null: - case LITERAL_new: - case NUM_INT: - case CHAR_LITERAL: - case STRING_LITERAL: - case NUM_FLOAT: - case NUM_LONG: - case NUM_DOUBLE: - { - expression(); - astFactory.addASTChild(currentAST, returnAST); - break; - } - case SEMI: - { - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - match(SEMI); - statement_AST = (AST)currentAST.root; - break; - } - case LITERAL_switch: - { - AST tmp152_AST = null; - tmp152_AST = astFactory.create(LT(1)); - astFactory.makeASTRoot(currentAST, tmp152_AST); - match(LITERAL_switch); - match(LPAREN); - expression(); - astFactory.addASTChild(currentAST, returnAST); - match(RPAREN); - match(LCURLY); - { - _loop201: - do { - if ((LA(1)==LITERAL_default||LA(1)==LITERAL_case)) { - casesGroup(); - astFactory.addASTChild(currentAST, returnAST); - } - else { - break _loop201; - } - - } while (true); - } - match(RCURLY); - statement_AST = (AST)currentAST.root; - break; - } - case LITERAL_try: - { - tryBlock(); - astFactory.addASTChild(currentAST, returnAST); - statement_AST = (AST)currentAST.root; - break; - } - case LITERAL_throw: - { - AST tmp157_AST = null; - tmp157_AST = astFactory.create(LT(1)); - astFactory.makeASTRoot(currentAST, tmp157_AST); - match(LITERAL_throw); - expression(); - astFactory.addASTChild(currentAST, returnAST); - match(SEMI); - statement_AST = (AST)currentAST.root; - break; - } - case LITERAL_assert: - { - AST tmp159_AST = null; - tmp159_AST = astFactory.create(LT(1)); - astFactory.makeASTRoot(currentAST, tmp159_AST); - match(LITERAL_assert); - expression(); - astFactory.addASTChild(currentAST, returnAST); - { - switch ( LA(1)) { - case COLON: - { - match(COLON); - expression(); - astFactory.addASTChild(currentAST, returnAST); - break; - } - case SEMI: - { - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - match(SEMI); - statement_AST = (AST)currentAST.root; - break; - } - case SEMI: - { - s = LT(1); - s_AST = astFactory.create(s); - astFactory.addASTChild(currentAST, s_AST); - match(SEMI); - if ( inputState.guessing==0 ) { - s_AST.setType(EMPTY_STAT); - } - statement_AST = (AST)currentAST.root; - break; - } - default: - boolean synPredMatched195 = false; - if (((_tokenSet_28.member(LA(1))) && (_tokenSet_29.member(LA(2))))) { - int _m195 = mark(); - synPredMatched195 = true; - inputState.guessing++; - try { - { - declaration(); - } - } - catch (RecognitionException pe) { - synPredMatched195 = false; - } - rewind(_m195); -inputState.guessing--; - } - if ( synPredMatched195 ) { - declaration(); - astFactory.addASTChild(currentAST, returnAST); - match(SEMI); - statement_AST = (AST)currentAST.root; - } - else if ((_tokenSet_30.member(LA(1))) && (_tokenSet_31.member(LA(2)))) { - expression(); - astFactory.addASTChild(currentAST, returnAST); - match(SEMI); - statement_AST = (AST)currentAST.root; - } - else if ((_tokenSet_32.member(LA(1))) && (_tokenSet_33.member(LA(2)))) { - modifiers(); - m_AST = (AST)returnAST; - classDefinition(m_AST); - astFactory.addASTChild(currentAST, returnAST); - statement_AST = (AST)currentAST.root; - } - else if ((LA(1)==IDENT) && (LA(2)==COLON)) { - AST tmp164_AST = null; - tmp164_AST = astFactory.create(LT(1)); - astFactory.addASTChild(currentAST, tmp164_AST); - match(IDENT); - c = LT(1); - c_AST = astFactory.create(c); - astFactory.makeASTRoot(currentAST, c_AST); - match(COLON); - if ( inputState.guessing==0 ) { - c_AST.setType(LABELED_STAT); - } - statement(); - astFactory.addASTChild(currentAST, returnAST); - statement_AST = (AST)currentAST.root; - } - else if ((LA(1)==LITERAL_synchronized) && (LA(2)==LPAREN)) { - AST tmp165_AST = null; - tmp165_AST = astFactory.create(LT(1)); - astFactory.makeASTRoot(currentAST, tmp165_AST); - match(LITERAL_synchronized); - match(LPAREN); - expression(); - astFactory.addASTChild(currentAST, returnAST); - match(RPAREN); - compoundStatement(); - astFactory.addASTChild(currentAST, returnAST); - statement_AST = (AST)currentAST.root; - } - else { - throw new NoViableAltException(LT(1), getFilename()); - } - } - returnAST = statement_AST; - } - -/** Declaration of a variable. This can be a class/instance variable, - * or a local variable in a method - * It can also include possible initialization. - */ - public final void variableDeclarator( - AST mods, AST t - ) throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST variableDeclarator_AST = null; - Token id = null; - AST id_AST = null; - AST d_AST = null; - AST v_AST = null; - - id = LT(1); - id_AST = astFactory.create(id); - match(IDENT); - declaratorBrackets(t); - d_AST = (AST)returnAST; - varInitializer(); - v_AST = (AST)returnAST; - if ( inputState.guessing==0 ) { - variableDeclarator_AST = (AST)currentAST.root; - variableDeclarator_AST = (AST)astFactory.make( (new ASTArray(5)).add(astFactory.create(VARIABLE_DEF,"VARIABLE_DEF")).add(mods).add((AST)astFactory.make( (new ASTArray(2)).add(astFactory.create(TYPE,"TYPE")).add(d_AST))).add(id_AST).add(v_AST)); - currentAST.root = variableDeclarator_AST; - currentAST.child = variableDeclarator_AST!=null &&variableDeclarator_AST.getFirstChild()!=null ? - variableDeclarator_AST.getFirstChild() : variableDeclarator_AST; - currentAST.advanceChildToEnd(); - } - returnAST = variableDeclarator_AST; - } - - public final void varInitializer() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST varInitializer_AST = null; - - { - switch ( LA(1)) { - case ASSIGN: - { - AST tmp168_AST = null; - tmp168_AST = astFactory.create(LT(1)); - astFactory.makeASTRoot(currentAST, tmp168_AST); - match(ASSIGN); - initializer(); - astFactory.addASTChild(currentAST, returnAST); - break; - } - case SEMI: - case COMMA: - { - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - varInitializer_AST = (AST)currentAST.root; - returnAST = varInitializer_AST; - } - - public final void initializer() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST initializer_AST = null; - - switch ( LA(1)) { - case IDENT: - case LITERAL_super: - case LT: - case LITERAL_void: - case LITERAL_boolean: - case LITERAL_byte: - case LITERAL_char: - case LITERAL_short: - case LITERAL_int: - case LITERAL_float: - case LITERAL_long: - case LITERAL_double: - case LPAREN: - case LITERAL_this: - case PLUS: - case MINUS: - case INC: - case DEC: - case BNOT: - case LNOT: - case LITERAL_true: - case LITERAL_false: - case LITERAL_null: - case LITERAL_new: - case NUM_INT: - case CHAR_LITERAL: - case STRING_LITERAL: - case NUM_FLOAT: - case NUM_LONG: - case NUM_DOUBLE: - { - expression(); - astFactory.addASTChild(currentAST, returnAST); - initializer_AST = (AST)currentAST.root; - break; - } - case LCURLY: - { - arrayInitializer(); - astFactory.addASTChild(currentAST, returnAST); - initializer_AST = (AST)currentAST.root; - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - returnAST = initializer_AST; - } - - public final void arrayInitializer() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST arrayInitializer_AST = null; - Token lc = null; - AST lc_AST = null; - - lc = LT(1); - lc_AST = astFactory.create(lc); - astFactory.makeASTRoot(currentAST, lc_AST); - match(LCURLY); - if ( inputState.guessing==0 ) { - lc_AST.setType(ARRAY_INIT); - } - { - switch ( LA(1)) { - case IDENT: - case LITERAL_super: - case LT: - case LITERAL_void: - case LITERAL_boolean: - case LITERAL_byte: - case LITERAL_char: - case LITERAL_short: - case LITERAL_int: - case LITERAL_float: - case LITERAL_long: - case LITERAL_double: - case LPAREN: - case LCURLY: - case LITERAL_this: - case PLUS: - case MINUS: - case INC: - case DEC: - case BNOT: - case LNOT: - case LITERAL_true: - case LITERAL_false: - case LITERAL_null: - case LITERAL_new: - case NUM_INT: - case CHAR_LITERAL: - case STRING_LITERAL: - case NUM_FLOAT: - case NUM_LONG: - case NUM_DOUBLE: - { - initializer(); - astFactory.addASTChild(currentAST, returnAST); - { - _loop165: - do { - if ((LA(1)==COMMA) && (_tokenSet_34.member(LA(2)))) { - match(COMMA); - initializer(); - astFactory.addASTChild(currentAST, returnAST); - } - else { - break _loop165; - } - - } while (true); - } - { - switch ( LA(1)) { - case COMMA: - { - match(COMMA); - break; - } - case RCURLY: - { - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - break; - } - case RCURLY: - { - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - match(RCURLY); - arrayInitializer_AST = (AST)currentAST.root; - returnAST = arrayInitializer_AST; - } - - public final void expression() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST expression_AST = null; - - assignmentExpression(); - astFactory.addASTChild(currentAST, returnAST); - if ( inputState.guessing==0 ) { - expression_AST = (AST)currentAST.root; - expression_AST = (AST)astFactory.make( (new ASTArray(2)).add(astFactory.create(EXPR,"EXPR")).add(expression_AST)); - currentAST.root = expression_AST; - currentAST.child = expression_AST!=null &&expression_AST.getFirstChild()!=null ? - expression_AST.getFirstChild() : expression_AST; - currentAST.advanceChildToEnd(); - } - expression_AST = (AST)currentAST.root; - returnAST = expression_AST; - } - - public final void parameterDeclaration() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST parameterDeclaration_AST = null; - AST pm_AST = null; - AST t_AST = null; - Token id = null; - AST id_AST = null; - AST pd_AST = null; - - parameterModifier(); - pm_AST = (AST)returnAST; - typeSpec(false); - t_AST = (AST)returnAST; - id = LT(1); - id_AST = astFactory.create(id); - match(IDENT); - declaratorBrackets(t_AST); - pd_AST = (AST)returnAST; - if ( inputState.guessing==0 ) { - parameterDeclaration_AST = (AST)currentAST.root; - parameterDeclaration_AST = (AST)astFactory.make( (new ASTArray(4)).add(astFactory.create(PARAMETER_DEF,"PARAMETER_DEF")).add(pm_AST).add((AST)astFactory.make( (new ASTArray(2)).add(astFactory.create(TYPE,"TYPE")).add(pd_AST))).add(id_AST)); - currentAST.root = parameterDeclaration_AST; - currentAST.child = parameterDeclaration_AST!=null &¶meterDeclaration_AST.getFirstChild()!=null ? - parameterDeclaration_AST.getFirstChild() : parameterDeclaration_AST; - currentAST.advanceChildToEnd(); - } - returnAST = parameterDeclaration_AST; - } - - public final void variableLengthParameterDeclaration() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST variableLengthParameterDeclaration_AST = null; - AST pm_AST = null; - AST t_AST = null; - Token id = null; - AST id_AST = null; - AST pd_AST = null; - - parameterModifier(); - pm_AST = (AST)returnAST; - typeSpec(false); - t_AST = (AST)returnAST; - match(TRIPLE_DOT); - id = LT(1); - id_AST = astFactory.create(id); - match(IDENT); - declaratorBrackets(t_AST); - pd_AST = (AST)returnAST; - if ( inputState.guessing==0 ) { - variableLengthParameterDeclaration_AST = (AST)currentAST.root; - variableLengthParameterDeclaration_AST = (AST)astFactory.make( (new ASTArray(4)).add(astFactory.create(VARIABLE_PARAMETER_DEF,"VARIABLE_PARAMETER_DEF")).add(pm_AST).add((AST)astFactory.make( (new ASTArray(2)).add(astFactory.create(TYPE,"TYPE")).add(pd_AST))).add(id_AST)); - currentAST.root = variableLengthParameterDeclaration_AST; - currentAST.child = variableLengthParameterDeclaration_AST!=null &&variableLengthParameterDeclaration_AST.getFirstChild()!=null ? - variableLengthParameterDeclaration_AST.getFirstChild() : variableLengthParameterDeclaration_AST; - currentAST.advanceChildToEnd(); - } - returnAST = variableLengthParameterDeclaration_AST; - } - - public final void parameterModifier() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST parameterModifier_AST = null; - Token f = null; - AST f_AST = null; - - { - _loop186: - do { - if ((LA(1)==AT) && (LA(2)==IDENT)) { - annotation(); - astFactory.addASTChild(currentAST, returnAST); - } - else { - break _loop186; - } - - } while (true); - } - { - switch ( LA(1)) { - case FINAL: - { - f = LT(1); - f_AST = astFactory.create(f); - astFactory.addASTChild(currentAST, f_AST); - match(FINAL); - break; - } - case IDENT: - case LITERAL_void: - case LITERAL_boolean: - case LITERAL_byte: - case LITERAL_char: - case LITERAL_short: - case LITERAL_int: - case LITERAL_float: - case LITERAL_long: - case LITERAL_double: - case AT: - { - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - { - _loop189: - do { - if ((LA(1)==AT)) { - annotation(); - astFactory.addASTChild(currentAST, returnAST); - } - else { - break _loop189; - } - - } while (true); - } - if ( inputState.guessing==0 ) { - parameterModifier_AST = (AST)currentAST.root; - parameterModifier_AST = (AST)astFactory.make( (new ASTArray(2)).add(astFactory.create(MODIFIERS,"MODIFIERS")).add(parameterModifier_AST)); - currentAST.root = parameterModifier_AST; - currentAST.child = parameterModifier_AST!=null &¶meterModifier_AST.getFirstChild()!=null ? - parameterModifier_AST.getFirstChild() : parameterModifier_AST; - currentAST.advanceChildToEnd(); - } - parameterModifier_AST = (AST)currentAST.root; - returnAST = parameterModifier_AST; - } - - public final void forStatement() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST forStatement_AST = null; - Token f = null; - AST f_AST = null; - - f = LT(1); - f_AST = astFactory.create(f); - astFactory.makeASTRoot(currentAST, f_AST); - match(LITERAL_for); - match(LPAREN); - { - boolean synPredMatched206 = false; - if (((_tokenSet_35.member(LA(1))) && (_tokenSet_36.member(LA(2))))) { - int _m206 = mark(); - synPredMatched206 = true; - inputState.guessing++; - try { - { - forInit(); - match(SEMI); - } - } - catch (RecognitionException pe) { - synPredMatched206 = false; - } - rewind(_m206); -inputState.guessing--; - } - if ( synPredMatched206 ) { - traditionalForClause(); - astFactory.addASTChild(currentAST, returnAST); - } - else if ((_tokenSet_18.member(LA(1))) && (_tokenSet_19.member(LA(2)))) { - forEachClause(); - astFactory.addASTChild(currentAST, returnAST); - } - else { - throw new NoViableAltException(LT(1), getFilename()); - } - - } - match(RPAREN); - statement(); - astFactory.addASTChild(currentAST, returnAST); - forStatement_AST = (AST)currentAST.root; - returnAST = forStatement_AST; - } - - public final void casesGroup() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST casesGroup_AST = null; - - { - int _cnt211=0; - _loop211: - do { - if ((LA(1)==LITERAL_default||LA(1)==LITERAL_case) && (_tokenSet_37.member(LA(2)))) { - aCase(); - astFactory.addASTChild(currentAST, returnAST); - } - else { - if ( _cnt211>=1 ) { break _loop211; } else {throw new NoViableAltException(LT(1), getFilename());} - } - - _cnt211++; - } while (true); - } - caseSList(); - astFactory.addASTChild(currentAST, returnAST); - if ( inputState.guessing==0 ) { - casesGroup_AST = (AST)currentAST.root; - casesGroup_AST = (AST)astFactory.make( (new ASTArray(2)).add(astFactory.create(CASE_GROUP,"CASE_GROUP")).add(casesGroup_AST)); - currentAST.root = casesGroup_AST; - currentAST.child = casesGroup_AST!=null &&casesGroup_AST.getFirstChild()!=null ? - casesGroup_AST.getFirstChild() : casesGroup_AST; - currentAST.advanceChildToEnd(); - } - casesGroup_AST = (AST)currentAST.root; - returnAST = casesGroup_AST; - } - - public final void tryBlock() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST tryBlock_AST = null; - - AST tmp175_AST = null; - tmp175_AST = astFactory.create(LT(1)); - astFactory.makeASTRoot(currentAST, tmp175_AST); - match(LITERAL_try); - compoundStatement(); - astFactory.addASTChild(currentAST, returnAST); - { - _loop227: - do { - if ((LA(1)==LITERAL_catch)) { - handler(); - astFactory.addASTChild(currentAST, returnAST); - } - else { - break _loop227; - } - - } while (true); - } - { - switch ( LA(1)) { - case LITERAL_finally: - { - finallyClause(); - astFactory.addASTChild(currentAST, returnAST); - break; - } - case FINAL: - case ABSTRACT: - case STRICTFP: - case SEMI: - case LITERAL_static: - case IDENT: - case LITERAL_super: - case LT: - case LITERAL_void: - case LITERAL_boolean: - case LITERAL_byte: - case LITERAL_char: - case LITERAL_short: - case LITERAL_int: - case LITERAL_float: - case LITERAL_long: - case LITERAL_double: - case LITERAL_private: - case LITERAL_public: - case LITERAL_protected: - case LITERAL_transient: - case LITERAL_native: - case LITERAL_threadsafe: - case LITERAL_synchronized: - case LITERAL_volatile: - case AT: - case LPAREN: - case LCURLY: - case RCURLY: - case LITERAL_class: - case LITERAL_default: - case LITERAL_this: - case LITERAL_if: - case LITERAL_else: - case LITERAL_while: - case LITERAL_do: - case LITERAL_break: - case LITERAL_continue: - case LITERAL_return: - case LITERAL_switch: - case LITERAL_throw: - case LITERAL_assert: - case LITERAL_for: - case LITERAL_case: - case LITERAL_try: - case PLUS: - case MINUS: - case INC: - case DEC: - case BNOT: - case LNOT: - case LITERAL_true: - case LITERAL_false: - case LITERAL_null: - case LITERAL_new: - case NUM_INT: - case CHAR_LITERAL: - case STRING_LITERAL: - case NUM_FLOAT: - case NUM_LONG: - case NUM_DOUBLE: - { - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - tryBlock_AST = (AST)currentAST.root; - returnAST = tryBlock_AST; - } - - public final void forInit() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST forInit_AST = null; - - { - boolean synPredMatched220 = false; - if (((_tokenSet_28.member(LA(1))) && (_tokenSet_29.member(LA(2))))) { - int _m220 = mark(); - synPredMatched220 = true; - inputState.guessing++; - try { - { - declaration(); - } - } - catch (RecognitionException pe) { - synPredMatched220 = false; - } - rewind(_m220); -inputState.guessing--; - } - if ( synPredMatched220 ) { - declaration(); - astFactory.addASTChild(currentAST, returnAST); - } - else if ((_tokenSet_30.member(LA(1))) && (_tokenSet_38.member(LA(2)))) { - expressionList(); - astFactory.addASTChild(currentAST, returnAST); - } - else if ((LA(1)==SEMI)) { - } - else { - throw new NoViableAltException(LT(1), getFilename()); - } - - } - if ( inputState.guessing==0 ) { - forInit_AST = (AST)currentAST.root; - forInit_AST = (AST)astFactory.make( (new ASTArray(2)).add(astFactory.create(FOR_INIT,"FOR_INIT")).add(forInit_AST)); - currentAST.root = forInit_AST; - currentAST.child = forInit_AST!=null &&forInit_AST.getFirstChild()!=null ? - forInit_AST.getFirstChild() : forInit_AST; - currentAST.advanceChildToEnd(); - } - forInit_AST = (AST)currentAST.root; - returnAST = forInit_AST; - } - - public final void traditionalForClause() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST traditionalForClause_AST = null; - - forInit(); - astFactory.addASTChild(currentAST, returnAST); - match(SEMI); - forCond(); - astFactory.addASTChild(currentAST, returnAST); - match(SEMI); - forIter(); - astFactory.addASTChild(currentAST, returnAST); - traditionalForClause_AST = (AST)currentAST.root; - returnAST = traditionalForClause_AST; - } - - public final void forEachClause() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST forEachClause_AST = null; - AST p_AST = null; - - parameterDeclaration(); - p_AST = (AST)returnAST; - astFactory.addASTChild(currentAST, returnAST); - match(COLON); - expression(); - astFactory.addASTChild(currentAST, returnAST); - if ( inputState.guessing==0 ) { - forEachClause_AST = (AST)currentAST.root; - forEachClause_AST = (AST)astFactory.make( (new ASTArray(2)).add(astFactory.create(FOR_EACH_CLAUSE,"FOR_EACH_CLAUSE")).add(forEachClause_AST)); - currentAST.root = forEachClause_AST; - currentAST.child = forEachClause_AST!=null &&forEachClause_AST.getFirstChild()!=null ? - forEachClause_AST.getFirstChild() : forEachClause_AST; - currentAST.advanceChildToEnd(); - } - forEachClause_AST = (AST)currentAST.root; - returnAST = forEachClause_AST; - } - - public final void forCond() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST forCond_AST = null; - - { - switch ( LA(1)) { - case IDENT: - case LITERAL_super: - case LT: - case LITERAL_void: - case LITERAL_boolean: - case LITERAL_byte: - case LITERAL_char: - case LITERAL_short: - case LITERAL_int: - case LITERAL_float: - case LITERAL_long: - case LITERAL_double: - case LPAREN: - case LITERAL_this: - case PLUS: - case MINUS: - case INC: - case DEC: - case BNOT: - case LNOT: - case LITERAL_true: - case LITERAL_false: - case LITERAL_null: - case LITERAL_new: - case NUM_INT: - case CHAR_LITERAL: - case STRING_LITERAL: - case NUM_FLOAT: - case NUM_LONG: - case NUM_DOUBLE: - { - expression(); - astFactory.addASTChild(currentAST, returnAST); - break; - } - case SEMI: - { - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - if ( inputState.guessing==0 ) { - forCond_AST = (AST)currentAST.root; - forCond_AST = (AST)astFactory.make( (new ASTArray(2)).add(astFactory.create(FOR_CONDITION,"FOR_CONDITION")).add(forCond_AST)); - currentAST.root = forCond_AST; - currentAST.child = forCond_AST!=null &&forCond_AST.getFirstChild()!=null ? - forCond_AST.getFirstChild() : forCond_AST; - currentAST.advanceChildToEnd(); - } - forCond_AST = (AST)currentAST.root; - returnAST = forCond_AST; - } - - public final void forIter() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST forIter_AST = null; - - { - switch ( LA(1)) { - case IDENT: - case LITERAL_super: - case LT: - case LITERAL_void: - case LITERAL_boolean: - case LITERAL_byte: - case LITERAL_char: - case LITERAL_short: - case LITERAL_int: - case LITERAL_float: - case LITERAL_long: - case LITERAL_double: - case LPAREN: - case LITERAL_this: - case PLUS: - case MINUS: - case INC: - case DEC: - case BNOT: - case LNOT: - case LITERAL_true: - case LITERAL_false: - case LITERAL_null: - case LITERAL_new: - case NUM_INT: - case CHAR_LITERAL: - case STRING_LITERAL: - case NUM_FLOAT: - case NUM_LONG: - case NUM_DOUBLE: - { - expressionList(); - astFactory.addASTChild(currentAST, returnAST); - break; - } - case RPAREN: - { - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - if ( inputState.guessing==0 ) { - forIter_AST = (AST)currentAST.root; - forIter_AST = (AST)astFactory.make( (new ASTArray(2)).add(astFactory.create(FOR_ITERATOR,"FOR_ITERATOR")).add(forIter_AST)); - currentAST.root = forIter_AST; - currentAST.child = forIter_AST!=null &&forIter_AST.getFirstChild()!=null ? - forIter_AST.getFirstChild() : forIter_AST; - currentAST.advanceChildToEnd(); - } - forIter_AST = (AST)currentAST.root; - returnAST = forIter_AST; - } - - public final void aCase() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST aCase_AST = null; - - { - switch ( LA(1)) { - case LITERAL_case: - { - AST tmp179_AST = null; - tmp179_AST = astFactory.create(LT(1)); - astFactory.makeASTRoot(currentAST, tmp179_AST); - match(LITERAL_case); - expression(); - astFactory.addASTChild(currentAST, returnAST); - break; - } - case LITERAL_default: - { - AST tmp180_AST = null; - tmp180_AST = astFactory.create(LT(1)); - astFactory.addASTChild(currentAST, tmp180_AST); - match(LITERAL_default); - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - match(COLON); - aCase_AST = (AST)currentAST.root; - returnAST = aCase_AST; - } - - public final void caseSList() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST caseSList_AST = null; - - { - _loop216: - do { - if ((_tokenSet_21.member(LA(1)))) { - statement(); - astFactory.addASTChild(currentAST, returnAST); - } - else { - break _loop216; - } - - } while (true); - } - if ( inputState.guessing==0 ) { - caseSList_AST = (AST)currentAST.root; - caseSList_AST = (AST)astFactory.make( (new ASTArray(2)).add(astFactory.create(SLIST,"SLIST")).add(caseSList_AST)); - currentAST.root = caseSList_AST; - currentAST.child = caseSList_AST!=null &&caseSList_AST.getFirstChild()!=null ? - caseSList_AST.getFirstChild() : caseSList_AST; - currentAST.advanceChildToEnd(); - } - caseSList_AST = (AST)currentAST.root; - returnAST = caseSList_AST; - } - - public final void expressionList() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST expressionList_AST = null; - - expression(); - astFactory.addASTChild(currentAST, returnAST); - { - _loop234: - do { - if ((LA(1)==COMMA)) { - match(COMMA); - expression(); - astFactory.addASTChild(currentAST, returnAST); - } - else { - break _loop234; - } - - } while (true); - } - if ( inputState.guessing==0 ) { - expressionList_AST = (AST)currentAST.root; - expressionList_AST = (AST)astFactory.make( (new ASTArray(2)).add(astFactory.create(ELIST,"ELIST")).add(expressionList_AST)); - currentAST.root = expressionList_AST; - currentAST.child = expressionList_AST!=null &&expressionList_AST.getFirstChild()!=null ? - expressionList_AST.getFirstChild() : expressionList_AST; - currentAST.advanceChildToEnd(); - } - expressionList_AST = (AST)currentAST.root; - returnAST = expressionList_AST; - } - - public final void handler() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST handler_AST = null; - - AST tmp183_AST = null; - tmp183_AST = astFactory.create(LT(1)); - astFactory.makeASTRoot(currentAST, tmp183_AST); - match(LITERAL_catch); - match(LPAREN); - parameterDeclaration(); - astFactory.addASTChild(currentAST, returnAST); - match(RPAREN); - compoundStatement(); - astFactory.addASTChild(currentAST, returnAST); - handler_AST = (AST)currentAST.root; - returnAST = handler_AST; - } - - public final void finallyClause() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST finallyClause_AST = null; - - AST tmp186_AST = null; - tmp186_AST = astFactory.create(LT(1)); - astFactory.makeASTRoot(currentAST, tmp186_AST); - match(LITERAL_finally); - compoundStatement(); - astFactory.addASTChild(currentAST, returnAST); - finallyClause_AST = (AST)currentAST.root; - returnAST = finallyClause_AST; - } - - public final void assignmentExpression() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST assignmentExpression_AST = null; - - conditionalExpression(); - astFactory.addASTChild(currentAST, returnAST); - { - switch ( LA(1)) { - case ASSIGN: - case PLUS_ASSIGN: - case MINUS_ASSIGN: - case STAR_ASSIGN: - case DIV_ASSIGN: - case MOD_ASSIGN: - case SR_ASSIGN: - case BSR_ASSIGN: - case SL_ASSIGN: - case BAND_ASSIGN: - case BXOR_ASSIGN: - case BOR_ASSIGN: - { - { - switch ( LA(1)) { - case ASSIGN: - { - AST tmp187_AST = null; - tmp187_AST = astFactory.create(LT(1)); - astFactory.makeASTRoot(currentAST, tmp187_AST); - match(ASSIGN); - break; - } - case PLUS_ASSIGN: - { - AST tmp188_AST = null; - tmp188_AST = astFactory.create(LT(1)); - astFactory.makeASTRoot(currentAST, tmp188_AST); - match(PLUS_ASSIGN); - break; - } - case MINUS_ASSIGN: - { - AST tmp189_AST = null; - tmp189_AST = astFactory.create(LT(1)); - astFactory.makeASTRoot(currentAST, tmp189_AST); - match(MINUS_ASSIGN); - break; - } - case STAR_ASSIGN: - { - AST tmp190_AST = null; - tmp190_AST = astFactory.create(LT(1)); - astFactory.makeASTRoot(currentAST, tmp190_AST); - match(STAR_ASSIGN); - break; - } - case DIV_ASSIGN: - { - AST tmp191_AST = null; - tmp191_AST = astFactory.create(LT(1)); - astFactory.makeASTRoot(currentAST, tmp191_AST); - match(DIV_ASSIGN); - break; - } - case MOD_ASSIGN: - { - AST tmp192_AST = null; - tmp192_AST = astFactory.create(LT(1)); - astFactory.makeASTRoot(currentAST, tmp192_AST); - match(MOD_ASSIGN); - break; - } - case SR_ASSIGN: - { - AST tmp193_AST = null; - tmp193_AST = astFactory.create(LT(1)); - astFactory.makeASTRoot(currentAST, tmp193_AST); - match(SR_ASSIGN); - break; - } - case BSR_ASSIGN: - { - AST tmp194_AST = null; - tmp194_AST = astFactory.create(LT(1)); - astFactory.makeASTRoot(currentAST, tmp194_AST); - match(BSR_ASSIGN); - break; - } - case SL_ASSIGN: - { - AST tmp195_AST = null; - tmp195_AST = astFactory.create(LT(1)); - astFactory.makeASTRoot(currentAST, tmp195_AST); - match(SL_ASSIGN); - break; - } - case BAND_ASSIGN: - { - AST tmp196_AST = null; - tmp196_AST = astFactory.create(LT(1)); - astFactory.makeASTRoot(currentAST, tmp196_AST); - match(BAND_ASSIGN); - break; - } - case BXOR_ASSIGN: - { - AST tmp197_AST = null; - tmp197_AST = astFactory.create(LT(1)); - astFactory.makeASTRoot(currentAST, tmp197_AST); - match(BXOR_ASSIGN); - break; - } - case BOR_ASSIGN: - { - AST tmp198_AST = null; - tmp198_AST = astFactory.create(LT(1)); - astFactory.makeASTRoot(currentAST, tmp198_AST); - match(BOR_ASSIGN); - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - assignmentExpression(); - astFactory.addASTChild(currentAST, returnAST); - break; - } - case SEMI: - case RBRACK: - case COMMA: - case RPAREN: - case RCURLY: - case COLON: - { - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - assignmentExpression_AST = (AST)currentAST.root; - returnAST = assignmentExpression_AST; - } - - public final void logicalOrExpression() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST logicalOrExpression_AST = null; - - logicalAndExpression(); - astFactory.addASTChild(currentAST, returnAST); - { - _loop242: - do { - if ((LA(1)==LOR)) { - AST tmp199_AST = null; - tmp199_AST = astFactory.create(LT(1)); - astFactory.makeASTRoot(currentAST, tmp199_AST); - match(LOR); - logicalAndExpression(); - astFactory.addASTChild(currentAST, returnAST); - } - else { - break _loop242; - } - - } while (true); - } - logicalOrExpression_AST = (AST)currentAST.root; - returnAST = logicalOrExpression_AST; - } - - public final void logicalAndExpression() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST logicalAndExpression_AST = null; - - inclusiveOrExpression(); - astFactory.addASTChild(currentAST, returnAST); - { - _loop245: - do { - if ((LA(1)==LAND)) { - AST tmp200_AST = null; - tmp200_AST = astFactory.create(LT(1)); - astFactory.makeASTRoot(currentAST, tmp200_AST); - match(LAND); - inclusiveOrExpression(); - astFactory.addASTChild(currentAST, returnAST); - } - else { - break _loop245; - } - - } while (true); - } - logicalAndExpression_AST = (AST)currentAST.root; - returnAST = logicalAndExpression_AST; - } - - public final void inclusiveOrExpression() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST inclusiveOrExpression_AST = null; - - exclusiveOrExpression(); - astFactory.addASTChild(currentAST, returnAST); - { - _loop248: - do { - if ((LA(1)==BOR)) { - AST tmp201_AST = null; - tmp201_AST = astFactory.create(LT(1)); - astFactory.makeASTRoot(currentAST, tmp201_AST); - match(BOR); - exclusiveOrExpression(); - astFactory.addASTChild(currentAST, returnAST); - } - else { - break _loop248; - } - - } while (true); - } - inclusiveOrExpression_AST = (AST)currentAST.root; - returnAST = inclusiveOrExpression_AST; - } - - public final void exclusiveOrExpression() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST exclusiveOrExpression_AST = null; - - andExpression(); - astFactory.addASTChild(currentAST, returnAST); - { - _loop251: - do { - if ((LA(1)==BXOR)) { - AST tmp202_AST = null; - tmp202_AST = astFactory.create(LT(1)); - astFactory.makeASTRoot(currentAST, tmp202_AST); - match(BXOR); - andExpression(); - astFactory.addASTChild(currentAST, returnAST); - } - else { - break _loop251; - } - - } while (true); - } - exclusiveOrExpression_AST = (AST)currentAST.root; - returnAST = exclusiveOrExpression_AST; - } - - public final void andExpression() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST andExpression_AST = null; - - equalityExpression(); - astFactory.addASTChild(currentAST, returnAST); - { - _loop254: - do { - if ((LA(1)==BAND)) { - AST tmp203_AST = null; - tmp203_AST = astFactory.create(LT(1)); - astFactory.makeASTRoot(currentAST, tmp203_AST); - match(BAND); - equalityExpression(); - astFactory.addASTChild(currentAST, returnAST); - } - else { - break _loop254; - } - - } while (true); - } - andExpression_AST = (AST)currentAST.root; - returnAST = andExpression_AST; - } - - public final void equalityExpression() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST equalityExpression_AST = null; - - relationalExpression(); - astFactory.addASTChild(currentAST, returnAST); - { - _loop258: - do { - if ((LA(1)==NOT_EQUAL||LA(1)==EQUAL)) { - { - switch ( LA(1)) { - case NOT_EQUAL: - { - AST tmp204_AST = null; - tmp204_AST = astFactory.create(LT(1)); - astFactory.makeASTRoot(currentAST, tmp204_AST); - match(NOT_EQUAL); - break; - } - case EQUAL: - { - AST tmp205_AST = null; - tmp205_AST = astFactory.create(LT(1)); - astFactory.makeASTRoot(currentAST, tmp205_AST); - match(EQUAL); - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - relationalExpression(); - astFactory.addASTChild(currentAST, returnAST); - } - else { - break _loop258; - } - - } while (true); - } - equalityExpression_AST = (AST)currentAST.root; - returnAST = equalityExpression_AST; - } - - public final void relationalExpression() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST relationalExpression_AST = null; - - shiftExpression(); - astFactory.addASTChild(currentAST, returnAST); - { - switch ( LA(1)) { - case SEMI: - case RBRACK: - case QUESTION: - case LT: - case COMMA: - case GT: - case RPAREN: - case ASSIGN: - case RCURLY: - case BAND: - case COLON: - case PLUS_ASSIGN: - case MINUS_ASSIGN: - case STAR_ASSIGN: - case DIV_ASSIGN: - case MOD_ASSIGN: - case SR_ASSIGN: - case BSR_ASSIGN: - case SL_ASSIGN: - case BAND_ASSIGN: - case BXOR_ASSIGN: - case BOR_ASSIGN: - case LOR: - case LAND: - case BOR: - case BXOR: - case NOT_EQUAL: - case EQUAL: - case LE: - case GE: - { - { - _loop263: - do { - if ((_tokenSet_39.member(LA(1)))) { - { - switch ( LA(1)) { - case LT: - { - AST tmp206_AST = null; - tmp206_AST = astFactory.create(LT(1)); - astFactory.makeASTRoot(currentAST, tmp206_AST); - match(LT); - break; - } - case GT: - { - AST tmp207_AST = null; - tmp207_AST = astFactory.create(LT(1)); - astFactory.makeASTRoot(currentAST, tmp207_AST); - match(GT); - break; - } - case LE: - { - AST tmp208_AST = null; - tmp208_AST = astFactory.create(LT(1)); - astFactory.makeASTRoot(currentAST, tmp208_AST); - match(LE); - break; - } - case GE: - { - AST tmp209_AST = null; - tmp209_AST = astFactory.create(LT(1)); - astFactory.makeASTRoot(currentAST, tmp209_AST); - match(GE); - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - shiftExpression(); - astFactory.addASTChild(currentAST, returnAST); - } - else { - break _loop263; - } - - } while (true); - } - break; - } - case LITERAL_instanceof: - { - AST tmp210_AST = null; - tmp210_AST = astFactory.create(LT(1)); - astFactory.makeASTRoot(currentAST, tmp210_AST); - match(LITERAL_instanceof); - typeSpec(true); - astFactory.addASTChild(currentAST, returnAST); - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - relationalExpression_AST = (AST)currentAST.root; - returnAST = relationalExpression_AST; - } - - public final void shiftExpression() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST shiftExpression_AST = null; - - additiveExpression(); - astFactory.addASTChild(currentAST, returnAST); - { - _loop267: - do { - if ((_tokenSet_40.member(LA(1)))) { - { - switch ( LA(1)) { - case SL: - { - AST tmp211_AST = null; - tmp211_AST = astFactory.create(LT(1)); - astFactory.makeASTRoot(currentAST, tmp211_AST); - match(SL); - break; - } - case SR: - { - AST tmp212_AST = null; - tmp212_AST = astFactory.create(LT(1)); - astFactory.makeASTRoot(currentAST, tmp212_AST); - match(SR); - break; - } - case BSR: - { - AST tmp213_AST = null; - tmp213_AST = astFactory.create(LT(1)); - astFactory.makeASTRoot(currentAST, tmp213_AST); - match(BSR); - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - additiveExpression(); - astFactory.addASTChild(currentAST, returnAST); - } - else { - break _loop267; - } - - } while (true); - } - shiftExpression_AST = (AST)currentAST.root; - returnAST = shiftExpression_AST; - } - - public final void additiveExpression() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST additiveExpression_AST = null; - - multiplicativeExpression(); - astFactory.addASTChild(currentAST, returnAST); - { - _loop271: - do { - if ((LA(1)==PLUS||LA(1)==MINUS)) { - { - switch ( LA(1)) { - case PLUS: - { - AST tmp214_AST = null; - tmp214_AST = astFactory.create(LT(1)); - astFactory.makeASTRoot(currentAST, tmp214_AST); - match(PLUS); - break; - } - case MINUS: - { - AST tmp215_AST = null; - tmp215_AST = astFactory.create(LT(1)); - astFactory.makeASTRoot(currentAST, tmp215_AST); - match(MINUS); - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - multiplicativeExpression(); - astFactory.addASTChild(currentAST, returnAST); - } - else { - break _loop271; - } - - } while (true); - } - additiveExpression_AST = (AST)currentAST.root; - returnAST = additiveExpression_AST; - } - - public final void multiplicativeExpression() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST multiplicativeExpression_AST = null; - - unaryExpression(); - astFactory.addASTChild(currentAST, returnAST); - { - _loop275: - do { - if ((_tokenSet_41.member(LA(1)))) { - { - switch ( LA(1)) { - case STAR: - { - AST tmp216_AST = null; - tmp216_AST = astFactory.create(LT(1)); - astFactory.makeASTRoot(currentAST, tmp216_AST); - match(STAR); - break; - } - case DIV: - { - AST tmp217_AST = null; - tmp217_AST = astFactory.create(LT(1)); - astFactory.makeASTRoot(currentAST, tmp217_AST); - match(DIV); - break; - } - case MOD: - { - AST tmp218_AST = null; - tmp218_AST = astFactory.create(LT(1)); - astFactory.makeASTRoot(currentAST, tmp218_AST); - match(MOD); - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - unaryExpression(); - astFactory.addASTChild(currentAST, returnAST); - } - else { - break _loop275; - } - - } while (true); - } - multiplicativeExpression_AST = (AST)currentAST.root; - returnAST = multiplicativeExpression_AST; - } - - public final void unaryExpression() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST unaryExpression_AST = null; - - switch ( LA(1)) { - case INC: - { - AST tmp219_AST = null; - tmp219_AST = astFactory.create(LT(1)); - astFactory.makeASTRoot(currentAST, tmp219_AST); - match(INC); - unaryExpression(); - astFactory.addASTChild(currentAST, returnAST); - unaryExpression_AST = (AST)currentAST.root; - break; - } - case DEC: - { - AST tmp220_AST = null; - tmp220_AST = astFactory.create(LT(1)); - astFactory.makeASTRoot(currentAST, tmp220_AST); - match(DEC); - unaryExpression(); - astFactory.addASTChild(currentAST, returnAST); - unaryExpression_AST = (AST)currentAST.root; - break; - } - case MINUS: - { - AST tmp221_AST = null; - tmp221_AST = astFactory.create(LT(1)); - astFactory.makeASTRoot(currentAST, tmp221_AST); - match(MINUS); - if ( inputState.guessing==0 ) { - tmp221_AST.setType(UNARY_MINUS); - } - unaryExpression(); - astFactory.addASTChild(currentAST, returnAST); - unaryExpression_AST = (AST)currentAST.root; - break; - } - case PLUS: - { - AST tmp222_AST = null; - tmp222_AST = astFactory.create(LT(1)); - astFactory.makeASTRoot(currentAST, tmp222_AST); - match(PLUS); - if ( inputState.guessing==0 ) { - tmp222_AST.setType(UNARY_PLUS); - } - unaryExpression(); - astFactory.addASTChild(currentAST, returnAST); - unaryExpression_AST = (AST)currentAST.root; - break; - } - case IDENT: - case LITERAL_super: - case LT: - case LITERAL_void: - case LITERAL_boolean: - case LITERAL_byte: - case LITERAL_char: - case LITERAL_short: - case LITERAL_int: - case LITERAL_float: - case LITERAL_long: - case LITERAL_double: - case LPAREN: - case LITERAL_this: - case BNOT: - case LNOT: - case LITERAL_true: - case LITERAL_false: - case LITERAL_null: - case LITERAL_new: - case NUM_INT: - case CHAR_LITERAL: - case STRING_LITERAL: - case NUM_FLOAT: - case NUM_LONG: - case NUM_DOUBLE: - { - unaryExpressionNotPlusMinus(); - astFactory.addASTChild(currentAST, returnAST); - unaryExpression_AST = (AST)currentAST.root; - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - returnAST = unaryExpression_AST; - } - - public final void unaryExpressionNotPlusMinus() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST unaryExpressionNotPlusMinus_AST = null; - Token lpb = null; - AST lpb_AST = null; - Token lp = null; - AST lp_AST = null; - - switch ( LA(1)) { - case BNOT: - { - AST tmp223_AST = null; - tmp223_AST = astFactory.create(LT(1)); - astFactory.makeASTRoot(currentAST, tmp223_AST); - match(BNOT); - unaryExpression(); - astFactory.addASTChild(currentAST, returnAST); - unaryExpressionNotPlusMinus_AST = (AST)currentAST.root; - break; - } - case LNOT: - { - AST tmp224_AST = null; - tmp224_AST = astFactory.create(LT(1)); - astFactory.makeASTRoot(currentAST, tmp224_AST); - match(LNOT); - unaryExpression(); - astFactory.addASTChild(currentAST, returnAST); - unaryExpressionNotPlusMinus_AST = (AST)currentAST.root; - break; - } - case IDENT: - case LITERAL_super: - case LT: - case LITERAL_void: - case LITERAL_boolean: - case LITERAL_byte: - case LITERAL_char: - case LITERAL_short: - case LITERAL_int: - case LITERAL_float: - case LITERAL_long: - case LITERAL_double: - case LPAREN: - case LITERAL_this: - case LITERAL_true: - case LITERAL_false: - case LITERAL_null: - case LITERAL_new: - case NUM_INT: - case CHAR_LITERAL: - case STRING_LITERAL: - case NUM_FLOAT: - case NUM_LONG: - case NUM_DOUBLE: - { - { - boolean synPredMatched280 = false; - if (((LA(1)==LPAREN) && ((LA(2) >= LITERAL_void && LA(2) <= LITERAL_double)))) { - int _m280 = mark(); - synPredMatched280 = true; - inputState.guessing++; - try { - { - match(LPAREN); - builtInTypeSpec(true); - match(RPAREN); - unaryExpression(); - } - } - catch (RecognitionException pe) { - synPredMatched280 = false; - } - rewind(_m280); -inputState.guessing--; - } - if ( synPredMatched280 ) { - lpb = LT(1); - lpb_AST = astFactory.create(lpb); - astFactory.makeASTRoot(currentAST, lpb_AST); - match(LPAREN); - if ( inputState.guessing==0 ) { - lpb_AST.setType(TYPECAST); - } - builtInTypeSpec(true); - astFactory.addASTChild(currentAST, returnAST); - match(RPAREN); - unaryExpression(); - astFactory.addASTChild(currentAST, returnAST); - } - else { - boolean synPredMatched282 = false; - if (((LA(1)==LPAREN) && (LA(2)==IDENT))) { - int _m282 = mark(); - synPredMatched282 = true; - inputState.guessing++; - try { - { - match(LPAREN); - classTypeSpec(true); - match(RPAREN); - unaryExpressionNotPlusMinus(); - } - } - catch (RecognitionException pe) { - synPredMatched282 = false; - } - rewind(_m282); -inputState.guessing--; - } - if ( synPredMatched282 ) { - lp = LT(1); - lp_AST = astFactory.create(lp); - astFactory.makeASTRoot(currentAST, lp_AST); - match(LPAREN); - if ( inputState.guessing==0 ) { - lp_AST.setType(TYPECAST); - } - classTypeSpec(true); - astFactory.addASTChild(currentAST, returnAST); - match(RPAREN); - unaryExpressionNotPlusMinus(); - astFactory.addASTChild(currentAST, returnAST); - } - else if ((_tokenSet_42.member(LA(1))) && (_tokenSet_43.member(LA(2)))) { - postfixExpression(); - astFactory.addASTChild(currentAST, returnAST); - } - else { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - unaryExpressionNotPlusMinus_AST = (AST)currentAST.root; - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - returnAST = unaryExpressionNotPlusMinus_AST; - } - - public final void postfixExpression() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST postfixExpression_AST = null; - Token lp = null; - AST lp_AST = null; - Token lp3 = null; - AST lp3_AST = null; - Token lps = null; - AST lps_AST = null; - Token lb = null; - AST lb_AST = null; - Token in = null; - AST in_AST = null; - Token de = null; - AST de_AST = null; - - primaryExpression(); - astFactory.addASTChild(currentAST, returnAST); - { - _loop291: - do { - if ((LA(1)==DOT) && (_tokenSet_44.member(LA(2)))) { - AST tmp227_AST = null; - tmp227_AST = astFactory.create(LT(1)); - astFactory.makeASTRoot(currentAST, tmp227_AST); - match(DOT); - { - switch ( LA(1)) { - case LT: - { - typeArguments(); - astFactory.addASTChild(currentAST, returnAST); - break; - } - case IDENT: - case LITERAL_super: - { - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - { - switch ( LA(1)) { - case IDENT: - { - AST tmp228_AST = null; - tmp228_AST = astFactory.create(LT(1)); - astFactory.addASTChild(currentAST, tmp228_AST); - match(IDENT); - { - switch ( LA(1)) { - case LPAREN: - { - lp = LT(1); - lp_AST = astFactory.create(lp); - astFactory.makeASTRoot(currentAST, lp_AST); - match(LPAREN); - if ( inputState.guessing==0 ) { - lp_AST.setType(METHOD_CALL); - } - argList(); - astFactory.addASTChild(currentAST, returnAST); - match(RPAREN); - break; - } - case SEMI: - case LBRACK: - case RBRACK: - case DOT: - case QUESTION: - case LT: - case COMMA: - case GT: - case SR: - case BSR: - case STAR: - case RPAREN: - case ASSIGN: - case RCURLY: - case BAND: - case COLON: - case PLUS_ASSIGN: - case MINUS_ASSIGN: - case STAR_ASSIGN: - case DIV_ASSIGN: - case MOD_ASSIGN: - case SR_ASSIGN: - case BSR_ASSIGN: - case SL_ASSIGN: - case BAND_ASSIGN: - case BXOR_ASSIGN: - case BOR_ASSIGN: - case LOR: - case LAND: - case BOR: - case BXOR: - case NOT_EQUAL: - case EQUAL: - case LE: - case GE: - case LITERAL_instanceof: - case SL: - case PLUS: - case MINUS: - case DIV: - case MOD: - case INC: - case DEC: - { - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - break; - } - case LITERAL_super: - { - AST tmp230_AST = null; - tmp230_AST = astFactory.create(LT(1)); - astFactory.addASTChild(currentAST, tmp230_AST); - match(LITERAL_super); - { - switch ( LA(1)) { - case LPAREN: - { - lp3 = LT(1); - lp3_AST = astFactory.create(lp3); - astFactory.makeASTRoot(currentAST, lp3_AST); - match(LPAREN); - argList(); - astFactory.addASTChild(currentAST, returnAST); - match(RPAREN); - if ( inputState.guessing==0 ) { - lp3_AST.setType(SUPER_CTOR_CALL); - } - break; - } - case DOT: - { - AST tmp232_AST = null; - tmp232_AST = astFactory.create(LT(1)); - astFactory.makeASTRoot(currentAST, tmp232_AST); - match(DOT); - { - switch ( LA(1)) { - case LT: - { - typeArguments(); - astFactory.addASTChild(currentAST, returnAST); - break; - } - case IDENT: - { - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - AST tmp233_AST = null; - tmp233_AST = astFactory.create(LT(1)); - astFactory.addASTChild(currentAST, tmp233_AST); - match(IDENT); - { - switch ( LA(1)) { - case LPAREN: - { - lps = LT(1); - lps_AST = astFactory.create(lps); - astFactory.makeASTRoot(currentAST, lps_AST); - match(LPAREN); - if ( inputState.guessing==0 ) { - lps_AST.setType(METHOD_CALL); - } - argList(); - astFactory.addASTChild(currentAST, returnAST); - match(RPAREN); - break; - } - case SEMI: - case LBRACK: - case RBRACK: - case DOT: - case QUESTION: - case LT: - case COMMA: - case GT: - case SR: - case BSR: - case STAR: - case RPAREN: - case ASSIGN: - case RCURLY: - case BAND: - case COLON: - case PLUS_ASSIGN: - case MINUS_ASSIGN: - case STAR_ASSIGN: - case DIV_ASSIGN: - case MOD_ASSIGN: - case SR_ASSIGN: - case BSR_ASSIGN: - case SL_ASSIGN: - case BAND_ASSIGN: - case BXOR_ASSIGN: - case BOR_ASSIGN: - case LOR: - case LAND: - case BOR: - case BXOR: - case NOT_EQUAL: - case EQUAL: - case LE: - case GE: - case LITERAL_instanceof: - case SL: - case PLUS: - case MINUS: - case DIV: - case MOD: - case INC: - case DEC: - { - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - } - else if ((LA(1)==DOT) && (LA(2)==LITERAL_this)) { - AST tmp235_AST = null; - tmp235_AST = astFactory.create(LT(1)); - astFactory.makeASTRoot(currentAST, tmp235_AST); - match(DOT); - AST tmp236_AST = null; - tmp236_AST = astFactory.create(LT(1)); - astFactory.addASTChild(currentAST, tmp236_AST); - match(LITERAL_this); - } - else if ((LA(1)==DOT) && (LA(2)==LITERAL_new)) { - AST tmp237_AST = null; - tmp237_AST = astFactory.create(LT(1)); - astFactory.makeASTRoot(currentAST, tmp237_AST); - match(DOT); - newExpression(); - astFactory.addASTChild(currentAST, returnAST); - } - else if ((LA(1)==LBRACK)) { - lb = LT(1); - lb_AST = astFactory.create(lb); - astFactory.makeASTRoot(currentAST, lb_AST); - match(LBRACK); - if ( inputState.guessing==0 ) { - lb_AST.setType(INDEX_OP); - } - expression(); - astFactory.addASTChild(currentAST, returnAST); - match(RBRACK); - } - else { - break _loop291; - } - - } while (true); - } - { - switch ( LA(1)) { - case INC: - { - in = LT(1); - in_AST = astFactory.create(in); - astFactory.makeASTRoot(currentAST, in_AST); - match(INC); - if ( inputState.guessing==0 ) { - in_AST.setType(POST_INC); - } - break; - } - case DEC: - { - de = LT(1); - de_AST = astFactory.create(de); - astFactory.makeASTRoot(currentAST, de_AST); - match(DEC); - if ( inputState.guessing==0 ) { - de_AST.setType(POST_DEC); - } - break; - } - case SEMI: - case RBRACK: - case QUESTION: - case LT: - case COMMA: - case GT: - case SR: - case BSR: - case STAR: - case RPAREN: - case ASSIGN: - case RCURLY: - case BAND: - case COLON: - case PLUS_ASSIGN: - case MINUS_ASSIGN: - case STAR_ASSIGN: - case DIV_ASSIGN: - case MOD_ASSIGN: - case SR_ASSIGN: - case BSR_ASSIGN: - case SL_ASSIGN: - case BAND_ASSIGN: - case BXOR_ASSIGN: - case BOR_ASSIGN: - case LOR: - case LAND: - case BOR: - case BXOR: - case NOT_EQUAL: - case EQUAL: - case LE: - case GE: - case LITERAL_instanceof: - case SL: - case PLUS: - case MINUS: - case DIV: - case MOD: - { - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - postfixExpression_AST = (AST)currentAST.root; - returnAST = postfixExpression_AST; - } - - public final void primaryExpression() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST primaryExpression_AST = null; - Token lbt = null; - AST lbt_AST = null; - - switch ( LA(1)) { - case IDENT: - case LT: - { - identPrimary(); - astFactory.addASTChild(currentAST, returnAST); - { - if ((LA(1)==DOT) && (LA(2)==LITERAL_class)) { - AST tmp239_AST = null; - tmp239_AST = astFactory.create(LT(1)); - astFactory.makeASTRoot(currentAST, tmp239_AST); - match(DOT); - AST tmp240_AST = null; - tmp240_AST = astFactory.create(LT(1)); - astFactory.addASTChild(currentAST, tmp240_AST); - match(LITERAL_class); - } - else if ((_tokenSet_45.member(LA(1))) && (_tokenSet_46.member(LA(2)))) { - } - else { - throw new NoViableAltException(LT(1), getFilename()); - } - - } - primaryExpression_AST = (AST)currentAST.root; - break; - } - case NUM_INT: - case CHAR_LITERAL: - case STRING_LITERAL: - case NUM_FLOAT: - case NUM_LONG: - case NUM_DOUBLE: - { - constant(); - astFactory.addASTChild(currentAST, returnAST); - primaryExpression_AST = (AST)currentAST.root; - break; - } - case LITERAL_true: - { - AST tmp241_AST = null; - tmp241_AST = astFactory.create(LT(1)); - astFactory.addASTChild(currentAST, tmp241_AST); - match(LITERAL_true); - primaryExpression_AST = (AST)currentAST.root; - break; - } - case LITERAL_false: - { - AST tmp242_AST = null; - tmp242_AST = astFactory.create(LT(1)); - astFactory.addASTChild(currentAST, tmp242_AST); - match(LITERAL_false); - primaryExpression_AST = (AST)currentAST.root; - break; - } - case LITERAL_null: - { - AST tmp243_AST = null; - tmp243_AST = astFactory.create(LT(1)); - astFactory.addASTChild(currentAST, tmp243_AST); - match(LITERAL_null); - primaryExpression_AST = (AST)currentAST.root; - break; - } - case LITERAL_new: - { - newExpression(); - astFactory.addASTChild(currentAST, returnAST); - primaryExpression_AST = (AST)currentAST.root; - break; - } - case LITERAL_this: - { - AST tmp244_AST = null; - tmp244_AST = astFactory.create(LT(1)); - astFactory.addASTChild(currentAST, tmp244_AST); - match(LITERAL_this); - primaryExpression_AST = (AST)currentAST.root; - break; - } - case LITERAL_super: - { - AST tmp245_AST = null; - tmp245_AST = astFactory.create(LT(1)); - astFactory.addASTChild(currentAST, tmp245_AST); - match(LITERAL_super); - primaryExpression_AST = (AST)currentAST.root; - break; - } - case LPAREN: - { - match(LPAREN); - assignmentExpression(); - astFactory.addASTChild(currentAST, returnAST); - match(RPAREN); - primaryExpression_AST = (AST)currentAST.root; - break; - } - case LITERAL_void: - case LITERAL_boolean: - case LITERAL_byte: - case LITERAL_char: - case LITERAL_short: - case LITERAL_int: - case LITERAL_float: - case LITERAL_long: - case LITERAL_double: - { - builtInType(); - astFactory.addASTChild(currentAST, returnAST); - { - _loop296: - do { - if ((LA(1)==LBRACK)) { - lbt = LT(1); - lbt_AST = astFactory.create(lbt); - astFactory.makeASTRoot(currentAST, lbt_AST); - match(LBRACK); - if ( inputState.guessing==0 ) { - lbt_AST.setType(ARRAY_DECLARATOR); - } - match(RBRACK); - } - else { - break _loop296; - } - - } while (true); - } - AST tmp249_AST = null; - tmp249_AST = astFactory.create(LT(1)); - astFactory.makeASTRoot(currentAST, tmp249_AST); - match(DOT); - AST tmp250_AST = null; - tmp250_AST = astFactory.create(LT(1)); - astFactory.addASTChild(currentAST, tmp250_AST); - match(LITERAL_class); - primaryExpression_AST = (AST)currentAST.root; - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - returnAST = primaryExpression_AST; - } - -/** object instantiation. - * Trees are built as illustrated by the following input/tree pairs: - * - * new T() - * - * new - * | - * T -- ELIST - * | - * arg1 -- arg2 -- .. -- argn - * - * new int[] - * - * new - * | - * int -- ARRAY_DECLARATOR - * - * new int[] {1,2} - * - * new - * | - * int -- ARRAY_DECLARATOR -- ARRAY_INIT - * | - * EXPR -- EXPR - * | | - * 1 2 - * - * new int[3] - * new - * | - * int -- ARRAY_DECLARATOR - * | - * EXPR - * | - * 3 - * - * new int[1][2] - * - * new - * | - * int -- ARRAY_DECLARATOR - * | - * ARRAY_DECLARATOR -- EXPR - * | | - * EXPR 1 - * | - * 2 - * - */ - public final void newExpression() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST newExpression_AST = null; - - AST tmp251_AST = null; - tmp251_AST = astFactory.create(LT(1)); - astFactory.makeASTRoot(currentAST, tmp251_AST); - match(LITERAL_new); - { - switch ( LA(1)) { - case LT: - { - typeArguments(); - astFactory.addASTChild(currentAST, returnAST); - break; - } - case IDENT: - case LITERAL_void: - case LITERAL_boolean: - case LITERAL_byte: - case LITERAL_char: - case LITERAL_short: - case LITERAL_int: - case LITERAL_float: - case LITERAL_long: - case LITERAL_double: - { - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - type(); - astFactory.addASTChild(currentAST, returnAST); - { - switch ( LA(1)) { - case LPAREN: - { - match(LPAREN); - argList(); - astFactory.addASTChild(currentAST, returnAST); - match(RPAREN); - { - switch ( LA(1)) { - case LCURLY: - { - classBlock(); - astFactory.addASTChild(currentAST, returnAST); - break; - } - case SEMI: - case LBRACK: - case RBRACK: - case DOT: - case QUESTION: - case LT: - case COMMA: - case GT: - case SR: - case BSR: - case STAR: - case RPAREN: - case ASSIGN: - case RCURLY: - case BAND: - case COLON: - case PLUS_ASSIGN: - case MINUS_ASSIGN: - case STAR_ASSIGN: - case DIV_ASSIGN: - case MOD_ASSIGN: - case SR_ASSIGN: - case BSR_ASSIGN: - case SL_ASSIGN: - case BAND_ASSIGN: - case BXOR_ASSIGN: - case BOR_ASSIGN: - case LOR: - case LAND: - case BOR: - case BXOR: - case NOT_EQUAL: - case EQUAL: - case LE: - case GE: - case LITERAL_instanceof: - case SL: - case PLUS: - case MINUS: - case DIV: - case MOD: - case INC: - case DEC: - { - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - break; - } - case LBRACK: - { - newArrayDeclarator(); - astFactory.addASTChild(currentAST, returnAST); - { - switch ( LA(1)) { - case LCURLY: - { - arrayInitializer(); - astFactory.addASTChild(currentAST, returnAST); - break; - } - case SEMI: - case LBRACK: - case RBRACK: - case DOT: - case QUESTION: - case LT: - case COMMA: - case GT: - case SR: - case BSR: - case STAR: - case RPAREN: - case ASSIGN: - case RCURLY: - case BAND: - case COLON: - case PLUS_ASSIGN: - case MINUS_ASSIGN: - case STAR_ASSIGN: - case DIV_ASSIGN: - case MOD_ASSIGN: - case SR_ASSIGN: - case BSR_ASSIGN: - case SL_ASSIGN: - case BAND_ASSIGN: - case BXOR_ASSIGN: - case BOR_ASSIGN: - case LOR: - case LAND: - case BOR: - case BXOR: - case NOT_EQUAL: - case EQUAL: - case LE: - case GE: - case LITERAL_instanceof: - case SL: - case PLUS: - case MINUS: - case DIV: - case MOD: - case INC: - case DEC: - { - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - newExpression_AST = (AST)currentAST.root; - returnAST = newExpression_AST; - } - -/** Match a, a.b.c refs, a.b.c(...) refs, a.b.c[], a.b.c[].class, - * and a.b.c.class refs. Also this(...) and super(...). Match - * this or super. - */ - public final void identPrimary() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST identPrimary_AST = null; - AST ta1_AST = null; - AST ta2_AST = null; - Token lp = null; - AST lp_AST = null; - Token lbc = null; - AST lbc_AST = null; - - { - switch ( LA(1)) { - case LT: - { - typeArguments(); - ta1_AST = (AST)returnAST; - break; - } - case IDENT: - { - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - AST tmp254_AST = null; - tmp254_AST = astFactory.create(LT(1)); - astFactory.addASTChild(currentAST, tmp254_AST); - match(IDENT); - { - _loop304: - do { - boolean synPredMatched302 = false; - if (((LA(1)==DOT) && (LA(2)==IDENT||LA(2)==LT))) { - int _m302 = mark(); - synPredMatched302 = true; - inputState.guessing++; - try { - { - match(DOT); - { - switch ( LA(1)) { - case LT: - { - typeArguments(); - break; - } - case IDENT: - { - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - match(IDENT); - } - } - catch (RecognitionException pe) { - synPredMatched302 = false; - } - rewind(_m302); -inputState.guessing--; - } - if ( synPredMatched302 ) { - AST tmp255_AST = null; - tmp255_AST = astFactory.create(LT(1)); - astFactory.makeASTRoot(currentAST, tmp255_AST); - match(DOT); - { - switch ( LA(1)) { - case LT: - { - typeArguments(); - ta2_AST = (AST)returnAST; - break; - } - case IDENT: - { - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - AST tmp256_AST = null; - tmp256_AST = astFactory.create(LT(1)); - astFactory.addASTChild(currentAST, tmp256_AST); - match(IDENT); - } - else if (((_tokenSet_47.member(LA(1))) && (_tokenSet_46.member(LA(2))))&&(false)) { - } - else { - break _loop304; - } - - } while (true); - } - { - if ((LA(1)==LPAREN)) { - { - lp = LT(1); - lp_AST = astFactory.create(lp); - astFactory.makeASTRoot(currentAST, lp_AST); - match(LPAREN); - if ( inputState.guessing==0 ) { - lp_AST.setType(METHOD_CALL); - } - if ( inputState.guessing==0 ) { - if (ta2_AST != null) astFactory.addASTChild(currentAST, ta2_AST); - } - if ( inputState.guessing==0 ) { - if (ta2_AST == null) astFactory.addASTChild(currentAST, ta1_AST); - } - argList(); - astFactory.addASTChild(currentAST, returnAST); - match(RPAREN); - } - } - else if ((LA(1)==LBRACK) && (LA(2)==RBRACK)) { - { - int _cnt308=0; - _loop308: - do { - if ((LA(1)==LBRACK) && (LA(2)==RBRACK)) { - lbc = LT(1); - lbc_AST = astFactory.create(lbc); - astFactory.makeASTRoot(currentAST, lbc_AST); - match(LBRACK); - if ( inputState.guessing==0 ) { - lbc_AST.setType(ARRAY_DECLARATOR); - } - match(RBRACK); - } - else { - if ( _cnt308>=1 ) { break _loop308; } else {throw new NoViableAltException(LT(1), getFilename());} - } - - _cnt308++; - } while (true); - } - } - else if ((_tokenSet_45.member(LA(1))) && (_tokenSet_46.member(LA(2)))) { - } - else { - throw new NoViableAltException(LT(1), getFilename()); - } - - } - identPrimary_AST = (AST)currentAST.root; - returnAST = identPrimary_AST; - } - - public final void constant() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST constant_AST = null; - - switch ( LA(1)) { - case NUM_INT: - { - AST tmp259_AST = null; - tmp259_AST = astFactory.create(LT(1)); - astFactory.addASTChild(currentAST, tmp259_AST); - match(NUM_INT); - constant_AST = (AST)currentAST.root; - break; - } - case CHAR_LITERAL: - { - AST tmp260_AST = null; - tmp260_AST = astFactory.create(LT(1)); - astFactory.addASTChild(currentAST, tmp260_AST); - match(CHAR_LITERAL); - constant_AST = (AST)currentAST.root; - break; - } - case STRING_LITERAL: - { - AST tmp261_AST = null; - tmp261_AST = astFactory.create(LT(1)); - astFactory.addASTChild(currentAST, tmp261_AST); - match(STRING_LITERAL); - constant_AST = (AST)currentAST.root; - break; - } - case NUM_FLOAT: - { - AST tmp262_AST = null; - tmp262_AST = astFactory.create(LT(1)); - astFactory.addASTChild(currentAST, tmp262_AST); - match(NUM_FLOAT); - constant_AST = (AST)currentAST.root; - break; - } - case NUM_LONG: - { - AST tmp263_AST = null; - tmp263_AST = astFactory.create(LT(1)); - astFactory.addASTChild(currentAST, tmp263_AST); - match(NUM_LONG); - constant_AST = (AST)currentAST.root; - break; - } - case NUM_DOUBLE: - { - AST tmp264_AST = null; - tmp264_AST = astFactory.create(LT(1)); - astFactory.addASTChild(currentAST, tmp264_AST); - match(NUM_DOUBLE); - constant_AST = (AST)currentAST.root; - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - returnAST = constant_AST; - } - - public final void newArrayDeclarator() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST newArrayDeclarator_AST = null; - Token lb = null; - AST lb_AST = null; - - { - int _cnt319=0; - _loop319: - do { - if ((LA(1)==LBRACK) && (_tokenSet_48.member(LA(2)))) { - lb = LT(1); - lb_AST = astFactory.create(lb); - astFactory.makeASTRoot(currentAST, lb_AST); - match(LBRACK); - if ( inputState.guessing==0 ) { - lb_AST.setType(ARRAY_DECLARATOR); - } - { - switch ( LA(1)) { - case IDENT: - case LITERAL_super: - case LT: - case LITERAL_void: - case LITERAL_boolean: - case LITERAL_byte: - case LITERAL_char: - case LITERAL_short: - case LITERAL_int: - case LITERAL_float: - case LITERAL_long: - case LITERAL_double: - case LPAREN: - case LITERAL_this: - case PLUS: - case MINUS: - case INC: - case DEC: - case BNOT: - case LNOT: - case LITERAL_true: - case LITERAL_false: - case LITERAL_null: - case LITERAL_new: - case NUM_INT: - case CHAR_LITERAL: - case STRING_LITERAL: - case NUM_FLOAT: - case NUM_LONG: - case NUM_DOUBLE: - { - expression(); - astFactory.addASTChild(currentAST, returnAST); - break; - } - case RBRACK: - { - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - match(RBRACK); - } - else { - if ( _cnt319>=1 ) { break _loop319; } else {throw new NoViableAltException(LT(1), getFilename());} - } - - _cnt319++; - } while (true); - } - newArrayDeclarator_AST = (AST)currentAST.root; - returnAST = newArrayDeclarator_AST; - } - - - public static final String[] _tokenNames = { - "<0>", - "EOF", - "<2>", - "NULL_TREE_LOOKAHEAD", - "BLOCK", - "MODIFIERS", - "OBJBLOCK", - "SLIST", - "CTOR_DEF", - "METHOD_DEF", - "VARIABLE_DEF", - "INSTANCE_INIT", - "STATIC_INIT", - "TYPE", - "CLASS_DEF", - "INTERFACE_DEF", - "PACKAGE_DEF", - "ARRAY_DECLARATOR", - "EXTENDS_CLAUSE", - "IMPLEMENTS_CLAUSE", - "PARAMETERS", - "PARAMETER_DEF", - "LABELED_STAT", - "TYPECAST", - "INDEX_OP", - "POST_INC", - "POST_DEC", - "METHOD_CALL", - "EXPR", - "ARRAY_INIT", - "IMPORT", - "UNARY_MINUS", - "UNARY_PLUS", - "CASE_GROUP", - "ELIST", - "FOR_INIT", - "FOR_CONDITION", - "FOR_ITERATOR", - "EMPTY_STAT", - "\"final\"", - "\"abstract\"", - "\"strictfp\"", - "SUPER_CTOR_CALL", - "CTOR_CALL", - "VARIABLE_PARAMETER_DEF", - "STATIC_IMPORT", - "ENUM_DEF", - "ENUM_CONSTANT_DEF", - "FOR_EACH_CLAUSE", - "ANNOTATION_DEF", - "ANNOTATIONS", - "ANNOTATION", - "ANNOTATION_MEMBER_VALUE_PAIR", - "ANNOTATION_FIELD_DEF", - "ANNOTATION_ARRAY_INIT", - "TYPE_ARGUMENTS", - "TYPE_ARGUMENT", - "TYPE_PARAMETERS", - "TYPE_PARAMETER", - "WILDCARD_TYPE", - "TYPE_UPPER_BOUNDS", - "TYPE_LOWER_BOUNDS", - "\"package\"", - "SEMI", - "\"import\"", - "\"static\"", - "LBRACK", - "RBRACK", - "IDENT", - "DOT", - "QUESTION", - "\"extends\"", - "\"super\"", - "LT", - "COMMA", - "GT", - "SR", - "BSR", - "\"void\"", - "\"boolean\"", - "\"byte\"", - "\"char\"", - "\"short\"", - "\"int\"", - "\"float\"", - "\"long\"", - "\"double\"", - "STAR", - "\"private\"", - "\"public\"", - "\"protected\"", - "\"transient\"", - "\"native\"", - "\"threadsafe\"", - "\"synchronized\"", - "\"volatile\"", - "AT", - "LPAREN", - "RPAREN", - "ASSIGN", - "LCURLY", - "RCURLY", - "\"class\"", - "\"interface\"", - "\"enum\"", - "BAND", - "\"default\"", - "\"implements\"", - "\"this\"", - "\"throws\"", - "TRIPLE_DOT", - "COLON", - "\"if\"", - "\"else\"", - "\"while\"", - "\"do\"", - "\"break\"", - "\"continue\"", - "\"return\"", - "\"switch\"", - "\"throw\"", - "\"assert\"", - "\"for\"", - "\"case\"", - "\"try\"", - "\"finally\"", - "\"catch\"", - "PLUS_ASSIGN", - "MINUS_ASSIGN", - "STAR_ASSIGN", - "DIV_ASSIGN", - "MOD_ASSIGN", - "SR_ASSIGN", - "BSR_ASSIGN", - "SL_ASSIGN", - "BAND_ASSIGN", - "BXOR_ASSIGN", - "BOR_ASSIGN", - "LOR", - "LAND", - "BOR", - "BXOR", - "NOT_EQUAL", - "EQUAL", - "LE", - "GE", - "\"instanceof\"", - "SL", - "PLUS", - "MINUS", - "DIV", - "MOD", - "INC", - "DEC", - "BNOT", - "LNOT", - "\"true\"", - "\"false\"", - "\"null\"", - "\"new\"", - "NUM_INT", - "CHAR_LITERAL", - "STRING_LITERAL", - "NUM_FLOAT", - "NUM_LONG", - "NUM_DOUBLE", - "WS", - "SL_COMMENT", - "ML_COMMENT", - "ESC", - "HEX_DIGIT", - "VOCAB", - "EXPONENT", - "FLOAT_SUFFIX" - }; - - protected void buildTokenTypeASTClassMap() { - tokenTypeToASTClassMap=null; - }; - - private static final long[] mk_tokenSet_0() { - long[] data = { -9223368188564078590L, 1932718505987L, 0L, 0L}; - return data; - } - public static final BitSet _tokenSet_0 = new BitSet(mk_tokenSet_0()); - private static final long[] mk_tokenSet_1() { - long[] data = { -9223368188564078590L, 1932718506002L, 0L, 0L}; - return data; - } - public static final BitSet _tokenSet_1 = new BitSet(mk_tokenSet_1()); - private static final long[] mk_tokenSet_2() { - long[] data = { -9223368188564078592L, 1932718505986L, 0L, 0L}; - return data; - } - public static final BitSet _tokenSet_2 = new BitSet(mk_tokenSet_2()); - private static final long[] mk_tokenSet_3() { - long[] data = { -9223368188564078590L, 1932718505986L, 0L, 0L}; - return data; - } - public static final BitSet _tokenSet_3 = new BitSet(mk_tokenSet_3()); - private static final long[] mk_tokenSet_4() { - long[] data = { 3848290697216L, 4278190082L, 0L, 0L}; - return data; - } - public static final BitSet _tokenSet_4 = new BitSet(mk_tokenSet_4()); - private static final long[] mk_tokenSet_5() { - long[] data = { 0L, 8372304L, 0L, 0L}; - return data; - } - public static final BitSet _tokenSet_5 = new BitSet(mk_tokenSet_5()); - private static final long[] mk_tokenSet_6() { - long[] data = { -9223372036854775808L, -9223132077023560196L, 65535L, 0L, 0L, 0L}; - return data; - } - public static final BitSet _tokenSet_6 = new BitSet(mk_tokenSet_6()); - private static final long[] mk_tokenSet_7() { - long[] data = { -4611682170136690688L, -6917564212013170690L, 274877906943L, 0L, 0L, 0L}; - return data; - } - public static final BitSet _tokenSet_7 = new BitSet(mk_tokenSet_7()); - private static final long[] mk_tokenSet_8() { - long[] data = { 0L, 17673798796048L, 274864275456L, 0L, 0L, 0L}; - return data; - } - public static final BitSet _tokenSet_8 = new BitSet(mk_tokenSet_8()); - private static final long[] mk_tokenSet_9() { - long[] data = { 0L, 19958729800564L, 274877905920L, 0L, 0L, 0L}; - return data; - } - public static final BitSet _tokenSet_9 = new BitSet(mk_tokenSet_9()); - private static final long[] mk_tokenSet_10() { - long[] data = { 0L, 17605079319312L, 274864275456L, 0L, 0L, 0L}; - return data; - } - public static final BitSet _tokenSet_10 = new BitSet(mk_tokenSet_10()); - private static final long[] mk_tokenSet_11() { - long[] data = { 0L, 8864820886672L, 0L, 0L}; - return data; - } - public static final BitSet _tokenSet_11 = new BitSet(mk_tokenSet_11()); - private static final long[] mk_tokenSet_12() { - long[] data = { -9223368188564078592L, 10943568265910L, 0L, 0L}; - return data; - } - public static final BitSet _tokenSet_12 = new BitSet(mk_tokenSet_12()); - private static final long[] mk_tokenSet_13() { - long[] data = { 3848290697216L, 1932726878738L, 0L, 0L}; - return data; - } - public static final BitSet _tokenSet_13 = new BitSet(mk_tokenSet_13()); - private static final long[] mk_tokenSet_14() { - long[] data = { 3848290697216L, 1941316813366L, 0L, 0L}; - return data; - } - public static final BitSet _tokenSet_14 = new BitSet(mk_tokenSet_14()); - private static final long[] mk_tokenSet_15() { - long[] data = { 0L, 8372240L, 0L, 0L}; - return data; - } - public static final BitSet _tokenSet_15 = new BitSet(mk_tokenSet_15()); - private static final long[] mk_tokenSet_16() { - long[] data = { 0L, 564L, 0L, 0L}; - return data; - } - public static final BitSet _tokenSet_16 = new BitSet(mk_tokenSet_16()); - private static final long[] mk_tokenSet_17() { - long[] data = { -9223372036854775808L, 34359739396L, 0L, 0L}; - return data; - } - public static final BitSet _tokenSet_17 = new BitSet(mk_tokenSet_17()); - private static final long[] mk_tokenSet_18() { - long[] data = { 549755813888L, 4303339536L, 0L, 0L}; - return data; - } - public static final BitSet _tokenSet_18 = new BitSet(mk_tokenSet_18()); - private static final long[] mk_tokenSet_19() { - long[] data = { 0L, 4303340084L, 0L, 0L}; - return data; - } - public static final BitSet _tokenSet_19 = new BitSet(mk_tokenSet_19()); - private static final long[] mk_tokenSet_20() { - long[] data = { 0L, 70373047517748L, 0L, 0L}; - return data; - } - public static final BitSet _tokenSet_20 = new BitSet(mk_tokenSet_20()); - private static final long[] mk_tokenSet_21() { - long[] data = { -9223368188564078592L, 1728555784935031570L, 274864275456L, 0L, 0L, 0L}; - return data; - } - public static final BitSet _tokenSet_21 = new BitSet(mk_tokenSet_21()); - private static final long[] mk_tokenSet_22() { - long[] data = { 0L, 17592186045184L, 0L, 0L}; - return data; - } - public static final BitSet _tokenSet_22 = new BitSet(mk_tokenSet_22()); - private static final long[] mk_tokenSet_23() { - long[] data = { 0L, 8598306896L, 0L, 0L}; - return data; - } - public static final BitSet _tokenSet_23 = new BitSet(mk_tokenSet_23()); - private static final long[] mk_tokenSet_24() { - long[] data = { -9223368188564078592L, 1728555922373985042L, 274864275456L, 0L, 0L, 0L}; - return data; - } - public static final BitSet _tokenSet_24 = new BitSet(mk_tokenSet_24()); - private static final long[] mk_tokenSet_25() { - long[] data = { -9223368188564078592L, -7494671494333596810L, 274877906943L, 0L, 0L, 0L}; - return data; - } - public static final BitSet _tokenSet_25 = new BitSet(mk_tokenSet_25()); - private static final long[] mk_tokenSet_26() { - long[] data = { -9223368188564078592L, 2305584022677340946L, 274864275456L, 0L, 0L, 0L}; - return data; - } - public static final BitSet _tokenSet_26 = new BitSet(mk_tokenSet_26()); - private static final long[] mk_tokenSet_27() { - long[] data = { -9223368188564078592L, -114366389159050L, 274877906943L, 0L, 0L, 0L}; - return data; - } - public static final BitSet _tokenSet_27 = new BitSet(mk_tokenSet_27()); - private static final long[] mk_tokenSet_28() { - long[] data = { 3848290697216L, 8581529618L, 0L, 0L}; - return data; - } - public static final BitSet _tokenSet_28 = new BitSet(mk_tokenSet_28()); - private static final long[] mk_tokenSet_29() { - long[] data = { 3848290697216L, 8581530166L, 0L, 0L}; - return data; - } - public static final BitSet _tokenSet_29 = new BitSet(mk_tokenSet_29()); - private static final long[] mk_tokenSet_30() { - long[] data = { 0L, 17600784352016L, 274864275456L, 0L, 0L, 0L}; - return data; - } - public static final BitSet _tokenSet_30 = new BitSet(mk_tokenSet_30()); - private static final long[] mk_tokenSet_31() { - long[] data = { -9223372036854775808L, -9223352202679026828L, 274877906943L, 0L, 0L, 0L}; - return data; - } - public static final BitSet _tokenSet_31 = new BitSet(mk_tokenSet_31()); - private static final long[] mk_tokenSet_32() { - long[] data = { 3848290697216L, 283451064322L, 0L, 0L}; - return data; - } - public static final BitSet _tokenSet_32 = new BitSet(mk_tokenSet_32()); - private static final long[] mk_tokenSet_33() { - long[] data = { 3848290697216L, 283451064338L, 0L, 0L}; - return data; - } - public static final BitSet _tokenSet_33 = new BitSet(mk_tokenSet_33()); - private static final long[] mk_tokenSet_34() { - long[] data = { 0L, 17669503828752L, 274864275456L, 0L, 0L, 0L}; - return data; - } - public static final BitSet _tokenSet_34 = new BitSet(mk_tokenSet_34()); - private static final long[] mk_tokenSet_35() { - long[] data = { -9223368188564078592L, 17609357509394L, 274864275456L, 0L, 0L, 0L}; - return data; - } - public static final BitSet _tokenSet_35 = new BitSet(mk_tokenSet_35()); - private static final long[] mk_tokenSet_36() { - long[] data = { -9223368188564078592L, -9223352194105868426L, 274877906943L, 0L, 0L, 0L}; - return data; - } - public static final BitSet _tokenSet_36 = new BitSet(mk_tokenSet_36()); - private static final long[] mk_tokenSet_37() { - long[] data = { 0L, 158338272707344L, 274864275456L, 0L, 0L, 0L}; - return data; - } - public static final BitSet _tokenSet_37 = new BitSet(mk_tokenSet_37()); - private static final long[] mk_tokenSet_38() { - long[] data = { -9223372036854775808L, -9223352202679025804L, 274877906943L, 0L, 0L, 0L}; - return data; - } - public static final BitSet _tokenSet_38 = new BitSet(mk_tokenSet_38()); - private static final long[] mk_tokenSet_39() { - long[] data = { 0L, 2560L, 196608L, 0L, 0L, 0L}; - return data; - } - public static final BitSet _tokenSet_39 = new BitSet(mk_tokenSet_39()); - private static final long[] mk_tokenSet_40() { - long[] data = { 0L, 12288L, 524288L, 0L, 0L, 0L}; - return data; - } - public static final BitSet _tokenSet_40 = new BitSet(mk_tokenSet_40()); - private static final long[] mk_tokenSet_41() { - long[] data = { 0L, 8388608L, 12582912L, 0L, 0L, 0L}; - return data; - } - public static final BitSet _tokenSet_41 = new BitSet(mk_tokenSet_41()); - private static final long[] mk_tokenSet_42() { - long[] data = { 0L, 17600784352016L, 274609471488L, 0L, 0L, 0L}; - return data; - } - public static final BitSet _tokenSet_42 = new BitSet(mk_tokenSet_42()); - private static final long[] mk_tokenSet_43() { - long[] data = { -9223372036854775808L, -9223211310571847812L, 274877906943L, 0L, 0L, 0L}; - return data; - } - public static final BitSet _tokenSet_43 = new BitSet(mk_tokenSet_43()); - private static final long[] mk_tokenSet_44() { - long[] data = { 0L, 784L, 0L, 0L}; - return data; - } - public static final BitSet _tokenSet_44 = new BitSet(mk_tokenSet_44()); - private static final long[] mk_tokenSet_45() { - long[] data = { -9223372036854775808L, -9223228911356199316L, 67108863L, 0L, 0L, 0L}; - return data; - } - public static final BitSet _tokenSet_45 = new BitSet(mk_tokenSet_45()); - private static final long[] mk_tokenSet_46() { - long[] data = { -4611682170136690688L, -6917643376850370690L, 274877906943L, 0L, 0L, 0L}; - return data; - } - public static final BitSet _tokenSet_46 = new BitSet(mk_tokenSet_46()); - private static final long[] mk_tokenSet_47() { - long[] data = { -9223372036854775808L, -9223228902766264724L, 67108863L, 0L, 0L, 0L}; - return data; - } - public static final BitSet _tokenSet_47 = new BitSet(mk_tokenSet_47()); - private static final long[] mk_tokenSet_48() { - long[] data = { 0L, 17600784352024L, 274864275456L, 0L, 0L, 0L}; - return data; - } - public static final BitSet _tokenSet_48 = new BitSet(mk_tokenSet_48()); - - } diff --git a/Java/Processing/processing-3.3.6/modes/java/generated/processing/mode/java/preproc/JavaRecognizer.smap b/Java/Processing/processing-3.3.6/modes/java/generated/processing/mode/java/preproc/JavaRecognizer.smap deleted file mode 100644 index 36ca8d7..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/generated/processing/mode/java/preproc/JavaRecognizer.smap +++ /dev/null @@ -1,5312 +0,0 @@ -SMAP -JavaRecognizer.java -G -*S G -*F -+ 0 java15.g -java15.g -*L -1:3 -207:202 -208:203 -209:204 -210:205 -211:206 -212:207 -213:208 -218:239 -218:241 -218:242 -218:243 -218:302 -218:303 -220:246 -220:247 -220:248 -220:249 -220:250 -220:251 -220:253 -220:254 -220:256 -220:257 -220:258 -220:259 -220:260 -220:261 -220:262 -220:263 -220:264 -220:265 -220:266 -220:268 -220:269 -220:270 -220:271 -225:274 -225:275 -225:276 -225:277 -225:278 -225:279 -225:280 -225:281 -225:282 -225:283 -225:285 -225:286 -229:287 -229:288 -229:289 -229:290 -229:291 -229:292 -229:293 -229:294 -229:295 -229:296 -229:298 -229:299 -231:300 -233:301 -236:336 -236:338 -236:339 -236:340 -236:344 -236:358 -236:359 -236:360 -236:361 -236:362 -236:363 -236:364 -236:365 -236:366 -236:367 -236:368 -238:341 -238:342 -238:345 -238:346 -238:347 -238:348 -238:349 -238:350 -238:351 -238:352 -238:354 -238:355 -238:356 -240:357 -243:370 -243:372 -243:373 -243:374 -243:377 -243:379 -243:411 -243:412 -243:413 -243:414 -243:415 -243:416 -243:417 -243:418 -243:419 -243:420 -243:421 -246:375 -246:376 -246:380 -246:381 -246:382 -246:383 -246:384 -246:385 -246:388 -246:389 -246:390 -246:391 -246:392 -246:393 -246:401 -246:402 -246:403 -246:404 -246:405 -246:407 -246:408 -246:409 -248:410 -250:423 -250:425 -250:426 -250:427 -250:430 -250:431 -250:462 -250:463 -250:464 -250:465 -250:466 -250:467 -250:468 -250:469 -250:470 -250:471 -250:472 -250:473 -250:474 -250:475 -250:476 -250:477 -252:428 -252:432 -252:433 -252:434 -252:435 -252:436 -252:437 -252:438 -252:439 -252:440 -252:441 -252:442 -252:443 -252:444 -252:445 -252:446 -252:447 -252:448 -252:449 -252:450 -253:451 -253:452 -253:453 -254:456 -254:457 -254:458 -256:459 -258:604 -258:605 -258:606 -258:608 -258:609 -258:610 -258:612 -258:641 -258:642 -258:643 -258:644 -258:645 -258:646 -258:647 -259:613 -259:614 -259:615 -259:616 -259:617 -260:620 -260:621 -260:622 -260:623 -260:624 -261:627 -261:628 -261:629 -261:630 -261:631 -262:634 -262:635 -262:636 -262:637 -262:638 -267:809 -267:811 -267:812 -267:813 -267:832 -267:833 -268:814 -268:815 -268:816 -268:818 -268:819 -268:820 -268:821 -268:822 -268:823 -269:824 -269:825 -269:826 -269:827 -269:829 -269:830 -274:835 -274:836 -274:837 -274:839 -274:840 -274:841 -274:843 -274:866 -274:867 -274:868 -274:869 -274:870 -274:871 -274:872 -275:844 -275:845 -275:846 -275:847 -275:848 -276:851 -276:852 -276:853 -276:854 -276:855 -276:856 -276:857 -276:858 -276:859 -276:860 -276:861 -276:862 -276:863 -283:904 -283:905 -283:906 -283:908 -283:909 -283:910 -283:948 -283:949 -284:914 -284:915 -285:916 -285:917 -285:918 -285:928 -285:929 -285:930 -285:931 -285:933 -285:934 -286:911 -286:912 -286:919 -286:920 -286:921 -286:922 -286:923 -286:924 -286:925 -286:927 -288:935 -288:936 -288:942 -288:944 -288:945 -289:938 -289:947 -290:939 -291:940 -296:998 -296:999 -296:1000 -296:1002 -296:1003 -296:1004 -296:1172 -296:1173 -297:1006 -297:1007 -297:1008 -297:1009 -297:1011 -297:1012 -297:1013 -297:1014 -297:1015 -297:1069 -297:1070 -297:1071 -297:1072 -297:1073 -298:1075 -298:1076 -298:1077 -298:1152 -298:1153 -298:1154 -298:1155 -298:1157 -298:1158 -299:1078 -299:1079 -299:1080 -299:1081 -299:1082 -300:1083 -300:1084 -300:1085 -300:1086 -300:1088 -300:1089 -300:1090 -300:1091 -300:1092 -300:1146 -300:1147 -300:1148 -300:1149 -300:1150 -302:1159 -302:1160 -302:1166 -302:1168 -302:1169 -303:1162 -303:1171 -304:1163 -305:1164 -310:1231 -310:1233 -310:1234 -310:1235 -310:1237 -310:1260 -310:1261 -310:1262 -310:1263 -310:1264 -310:1265 -310:1266 -311:1238 -311:1239 -311:1240 -311:1241 -311:1242 -312:1245 -312:1246 -312:1247 -312:1248 -312:1249 -312:1250 -312:1251 -312:1252 -312:1253 -312:1254 -312:1255 -312:1256 -312:1257 -316:1317 -316:1319 -316:1320 -316:1321 -316:1361 -316:1362 -317:1324 -317:1325 -317:1326 -317:1327 -317:1328 -317:1329 -317:1330 -317:1331 -317:1332 -317:1333 -317:1334 -317:1335 -317:1336 -317:1337 -317:1346 -317:1347 -317:1348 -317:1349 -317:1350 -318:1340 -318:1341 -318:1342 -318:1343 -320:1352 -320:1353 -320:1354 -320:1355 -320:1357 -320:1358 -321:1360 -324:1364 -324:1366 -324:1367 -324:1368 -324:1423 -324:1424 -325:1369 -325:1370 -325:1372 -325:1373 -325:1374 -325:1375 -325:1376 -325:1377 -326:1380 -326:1381 -326:1382 -326:1383 -326:1384 -326:1385 -326:1387 -326:1388 -326:1389 -326:1390 -326:1393 -326:1394 -326:1395 -326:1398 -326:1399 -326:1400 -326:1401 -326:1402 -326:1404 -326:1405 -326:1406 -326:1407 -326:1408 -326:1409 -326:1410 -326:1411 -326:1412 -326:1413 -326:1414 -326:1416 -326:1417 -326:1418 -326:1419 -327:1422 -330:1175 -330:1177 -330:1178 -330:1179 -330:1180 -330:1228 -330:1229 -333:1182 -333:1183 -334:1185 -334:1186 -334:1187 -335:1189 -335:1190 -336:1191 -336:1192 -336:1193 -336:1198 -336:1199 -336:1200 -336:1201 -336:1203 -336:1204 -338:1194 -338:1195 -338:1196 -338:1197 -341:1209 -341:1211 -341:1212 -341:1213 -341:1214 -344:1206 -344:1207 -344:1208 -349:1217 -349:1218 -351:1219 -351:1220 -351:1221 -351:1222 -351:1224 -351:1225 -352:1227 -356:1477 -356:1479 -356:1480 -356:1481 -356:1483 -356:1511 -356:1512 -356:1513 -356:1514 -356:1515 -356:1516 -356:1517 -357:1484 -357:1485 -357:1486 -357:1487 -357:1488 -358:1493 -358:1494 -358:1495 -358:1496 -358:1497 -359:1502 -359:1503 -359:1504 -359:1505 -359:1506 -360:1490 -361:1499 -362:1508 -363:1426 -363:1428 -363:1429 -363:1430 -363:1431 -363:1474 -363:1475 -366:1434 -366:1435 -366:1436 -366:1437 -366:1438 -366:1439 -366:1443 -366:1444 -366:1445 -366:1448 -366:1449 -366:1450 -366:1451 -366:1452 -366:1454 -366:1455 -367:1456 -367:1457 -367:1468 -367:1470 -367:1471 -368:1459 -368:1473 -369:1460 -370:1461 -371:1462 -372:1463 -373:1464 -374:1465 -375:1466 -380:1268 -380:1269 -380:1270 -380:1272 -380:1273 -380:1274 -380:1314 -380:1315 -381:1278 -381:1279 -382:1281 -382:1282 -382:1283 -382:1293 -382:1294 -382:1295 -382:1296 -382:1298 -382:1299 -382:1300 -383:1275 -383:1276 -383:1284 -383:1285 -383:1286 -383:1287 -383:1288 -383:1289 -383:1290 -383:1292 -386:1301 -386:1302 -386:1308 -386:1310 -386:1311 -387:1304 -387:1313 -388:1305 -389:1306 -395:951 -395:952 -395:953 -395:955 -395:956 -395:957 -395:995 -395:996 -396:961 -396:962 -397:963 -397:964 -397:965 -397:975 -397:976 -397:977 -397:978 -397:980 -397:981 -398:958 -398:959 -398:966 -398:967 -398:968 -398:969 -398:970 -398:971 -398:972 -398:974 -400:982 -400:983 -400:989 -400:991 -400:992 -401:985 -401:994 -402:986 -403:987 -409:1615 -409:1617 -409:1618 -409:1619 -409:1621 -409:1644 -409:1645 -409:1646 -409:1647 -409:1648 -409:1649 -409:1650 -410:1622 -410:1623 -410:1624 -410:1625 -410:1626 -411:1629 -411:1630 -411:1631 -411:1632 -411:1633 -411:1634 -411:1635 -411:1636 -411:1637 -411:1638 -411:1639 -411:1640 -411:1641 -415:1519 -415:1521 -415:1522 -415:1523 -415:1525 -415:1607 -415:1608 -415:1609 -415:1610 -415:1611 -415:1612 -415:1613 -416:1526 -416:1527 -416:1528 -416:1529 -416:1530 -416:1531 -416:1532 -417:1535 -417:1536 -417:1537 -417:1538 -417:1539 -417:1540 -417:1541 -418:1544 -418:1545 -418:1546 -418:1547 -418:1548 -418:1549 -418:1550 -419:1553 -419:1554 -419:1555 -419:1556 -419:1557 -419:1558 -419:1559 -420:1562 -420:1563 -420:1564 -420:1565 -420:1566 -420:1567 -420:1568 -421:1571 -421:1572 -421:1573 -421:1574 -421:1575 -421:1576 -421:1577 -422:1580 -422:1581 -422:1582 -422:1583 -422:1584 -422:1585 -422:1586 -423:1589 -423:1590 -423:1591 -423:1592 -423:1593 -423:1594 -423:1595 -424:1598 -424:1599 -424:1600 -424:1601 -424:1602 -424:1603 -424:1604 -429:479 -429:481 -429:482 -429:483 -429:509 -429:510 -430:485 -430:486 -430:487 -430:488 -430:489 -430:490 -430:491 -430:492 -430:493 -430:494 -430:495 -430:496 -430:497 -430:498 -430:499 -430:500 -430:501 -430:502 -430:503 -430:504 -430:506 -430:507 -430:508 -433:512 -433:514 -433:515 -433:516 -433:566 -433:567 -434:518 -434:519 -434:520 -434:521 -435:522 -435:523 -435:524 -435:525 -435:526 -435:527 -435:528 -435:529 -435:530 -435:531 -435:532 -435:533 -435:534 -435:535 -435:536 -435:537 -435:539 -435:540 -436:542 -436:543 -436:544 -436:545 -436:546 -436:547 -436:548 -436:549 -436:550 -436:551 -436:552 -436:559 -436:560 -436:561 -436:562 -436:563 -437:565 -443:569 -443:571 -443:572 -443:573 -443:601 -443:602 -445:575 -445:576 -445:577 -445:581 -445:585 -445:586 -445:587 -445:588 -445:590 -445:591 -449:578 -449:579 -449:580 -453:582 -453:583 -453:584 -456:592 -456:593 -456:594 -456:595 -456:597 -456:598 -457:600 -460:1652 -460:1654 -460:1655 -460:1656 -460:1658 -460:1767 -460:1768 -460:1769 -460:1770 -460:1771 -460:1772 -460:1773 -461:1659 -461:1660 -461:1661 -461:1662 -461:1663 -461:1664 -461:1665 -462:1668 -462:1669 -462:1670 -462:1671 -462:1672 -462:1673 -462:1674 -463:1677 -463:1678 -463:1679 -463:1680 -463:1681 -463:1682 -463:1683 -464:1686 -464:1687 -464:1688 -464:1689 -464:1690 -464:1691 -464:1692 -465:1695 -465:1696 -465:1697 -465:1698 -465:1699 -465:1700 -465:1701 -466:1704 -466:1705 -466:1706 -466:1707 -466:1708 -466:1709 -466:1710 -467:1713 -467:1714 -467:1715 -467:1716 -467:1717 -467:1718 -467:1719 -468:1722 -468:1723 -468:1724 -468:1725 -468:1726 -468:1727 -468:1728 -469:1731 -469:1732 -469:1733 -469:1734 -469:1735 -469:1736 -469:1737 -470:1740 -470:1741 -470:1742 -470:1743 -470:1744 -470:1745 -470:1746 -471:1749 -471:1750 -471:1751 -471:1752 -471:1753 -471:1754 -471:1755 -472:1758 -472:1759 -472:1760 -472:1761 -472:1762 -472:1763 -472:1764 -475:1775 -475:1777 -475:1778 -475:1779 -475:1892 -475:1893 -476:1780 -476:1781 -476:1783 -476:1784 -476:1785 -476:1787 -476:1788 -476:1789 -476:1790 -476:1792 -476:1793 -476:1794 -476:1795 -476:1796 -476:1797 -476:1798 -476:1799 -476:1800 -476:1801 -476:1802 -476:1803 -476:1804 -476:1805 -476:1806 -476:1807 -476:1808 -476:1809 -476:1810 -476:1811 -476:1812 -476:1813 -476:1814 -476:1815 -476:1816 -476:1817 -476:1818 -476:1819 -476:1820 -476:1821 -476:1822 -476:1823 -476:1824 -476:1825 -476:1826 -476:1827 -476:1834 -476:1835 -476:1836 -476:1837 -476:1838 -476:1840 -476:1878 -476:1879 -476:1880 -476:1881 -476:1882 -477:1884 -477:1885 -477:1886 -477:1887 -477:1889 -477:1890 -480:305 -480:307 -480:308 -480:309 -480:333 -480:334 -481:311 -481:312 -481:313 -481:314 -481:315 -481:316 -481:317 -481:318 -481:319 -481:320 -481:322 -481:323 -482:324 -482:325 -482:326 -482:327 -482:329 -482:330 -483:332 -485:1895 -485:1897 -485:1898 -485:1899 -485:1905 -485:1910 -485:1911 -485:1912 -485:1913 -485:1915 -485:1916 -486:1901 -486:1902 -486:1903 -486:1904 -486:1906 -486:1907 -486:1908 -486:1909 -489:1983 -489:1985 -489:1986 -489:1987 -489:2006 -489:2007 -490:1989 -490:1990 -490:1991 -490:1992 -490:1993 -490:1994 -490:1995 -490:1996 -490:1997 -490:1998 -490:1999 -490:2000 -490:2001 -490:2003 -490:2004 -490:2005 -493:2009 -493:2011 -493:2012 -493:2013 -493:2032 -493:2033 -494:2014 -494:2015 -494:2016 -494:2018 -494:2019 -494:2020 -494:2021 -494:2022 -494:2023 -495:2024 -495:2025 -495:2026 -495:2027 -495:2029 -495:2030 -498:1918 -498:1920 -498:1921 -498:1922 -498:1924 -498:1975 -498:1976 -498:1977 -498:1978 -498:1979 -498:1980 -498:1981 -500:1925 -500:1926 -500:1927 -500:1928 -500:1929 -500:1930 -500:1931 -500:1932 -500:1933 -500:1934 -500:1935 -500:1936 -500:1937 -500:1938 -500:1939 -500:1940 -500:1941 -500:1942 -500:1943 -500:1944 -500:1945 -500:1946 -500:1947 -500:1948 -500:1949 -500:1950 -500:1951 -500:1952 -500:1953 -500:1954 -500:1955 -500:1956 -500:1957 -500:1958 -500:1961 -500:1962 -500:1963 -500:1964 -500:1965 -500:1968 -500:1969 -500:1970 -500:1971 -500:1972 -504:2089 -504:2091 -504:2092 -504:2093 -504:2185 -504:2186 -505:2094 -505:2095 -505:2097 -505:2098 -505:2099 -505:2100 -505:2101 -505:2102 -506:2105 -506:2106 -506:2107 -506:2108 -506:2109 -506:2110 -506:2111 -506:2112 -506:2113 -506:2114 -506:2115 -506:2116 -506:2117 -506:2118 -506:2119 -506:2120 -506:2121 -506:2122 -506:2123 -506:2124 -506:2125 -506:2126 -506:2127 -506:2128 -506:2129 -506:2130 -506:2131 -506:2132 -506:2133 -506:2134 -506:2135 -506:2136 -506:2137 -506:2138 -506:2139 -506:2177 -506:2178 -506:2179 -506:2180 -506:2181 -507:2140 -507:2141 -507:2142 -507:2147 -507:2148 -507:2149 -507:2150 -507:2152 -507:2153 -516:2143 -516:2144 -516:2145 -516:2146 -518:2155 -518:2156 -518:2157 -518:2158 -518:2165 -518:2166 -518:2167 -518:2168 -518:2169 -520:2183 -522:2184 -525:2188 -525:2190 -525:2191 -525:2192 -525:2194 -525:2238 -525:2239 -525:2240 -525:2241 -525:2242 -525:2243 -525:2244 -526:2195 -526:2196 -526:2197 -526:2198 -526:2199 -526:2200 -526:2201 -526:2202 -526:2203 -526:2204 -526:2205 -526:2206 -526:2207 -526:2208 -526:2209 -526:2210 -526:2211 -526:2212 -526:2213 -526:2214 -526:2215 -526:2216 -526:2217 -526:2218 -526:2219 -526:2220 -526:2221 -526:2222 -526:2223 -526:2224 -526:2225 -526:2226 -526:2227 -526:2228 -527:2231 -527:2232 -527:2233 -527:2234 -527:2235 -530:2246 -530:2248 -530:2249 -530:2250 -530:2281 -530:2282 -531:2251 -531:2254 -531:2255 -531:2256 -531:2257 -531:2258 -531:2259 -531:2267 -531:2268 -531:2269 -531:2270 -531:2271 -532:2273 -532:2274 -532:2275 -532:2276 -532:2278 -532:2279 -536:649 -536:650 -536:651 -536:653 -536:654 -536:655 -536:699 -536:700 -537:661 -537:662 -537:663 -537:664 -539:656 -539:666 -539:667 -539:668 -539:669 -539:670 -539:679 -539:680 -539:681 -539:682 -539:683 -541:657 -541:685 -541:686 -543:658 -543:687 -543:688 -545:659 -545:689 -545:690 -546:691 -546:692 -546:693 -546:694 -546:696 -546:697 -551:702 -551:703 -551:704 -551:706 -551:707 -551:708 -551:748 -551:749 -552:713 -552:714 -552:715 -552:716 -554:709 -554:718 -554:719 -554:720 -554:721 -554:722 -554:730 -554:731 -554:732 -554:733 -554:734 -556:710 -556:736 -556:737 -558:711 -558:738 -558:739 -559:740 -559:741 -559:742 -559:743 -559:745 -559:746 -563:751 -563:752 -563:753 -563:755 -563:756 -563:757 -563:777 -563:778 -564:761 -564:762 -564:763 -564:764 -566:758 -566:765 -566:766 -568:759 -568:767 -568:768 -569:769 -569:770 -569:771 -569:772 -569:774 -569:775 -573:780 -573:781 -573:782 -573:784 -573:785 -573:786 -573:806 -573:807 -574:789 -574:790 -574:791 -574:792 -574:793 -574:794 -574:795 -576:787 -576:796 -576:797 -577:798 -577:799 -577:800 -577:801 -577:803 -577:804 -581:2284 -581:2286 -581:2287 -581:2288 -581:2289 -581:2357 -581:2358 -584:2291 -584:2292 -585:2294 -585:2295 -585:2296 -586:2298 -586:2299 -586:2300 -586:2301 -586:2302 -586:2303 -586:2304 -586:2305 -586:2306 -586:2307 -586:2308 -586:2309 -586:2310 -586:2312 -586:2313 -587:2315 -587:2316 -587:2317 -587:2318 -587:2319 -587:2320 -587:2321 -587:2340 -587:2341 -587:2342 -587:2343 -587:2344 -591:2346 -591:2347 -593:2348 -593:2349 -593:2350 -593:2351 -593:2353 -593:2354 -594:2356 -596:2812 -596:2814 -596:2815 -596:2816 -596:2847 -596:2848 -599:2817 -599:2818 -599:2821 -599:2822 -599:2823 -599:2824 -599:2827 -599:2828 -599:2829 -599:2830 -599:2832 -599:2833 -599:2834 -599:2835 -600:2838 -600:2839 -600:2840 -600:2841 -600:2843 -600:2844 -601:2846 -603:2850 -603:2852 -603:2853 -603:2854 -603:2882 -603:2883 -605:2856 -605:2857 -605:2858 -606:2859 -606:2860 -606:2861 -606:2862 -606:2863 -606:2864 -606:2865 -606:2866 -606:2867 -606:2868 -606:2869 -606:2871 -606:2872 -607:2873 -607:2874 -607:2875 -607:2876 -607:2878 -607:2879 -608:2881 -611:2415 -611:2417 -611:2418 -611:2419 -611:2481 -611:2482 -612:2421 -613:2422 -613:2423 -613:2424 -613:2425 -613:2426 -613:2427 -613:2428 -613:2429 -613:2430 -613:2431 -613:2432 -613:2433 -613:2434 -613:2435 -613:2436 -613:2437 -613:2438 -613:2439 -613:2440 -613:2441 -613:2442 -613:2443 -613:2444 -613:2445 -613:2446 -613:2447 -613:2448 -613:2449 -613:2450 -613:2451 -613:2452 -613:2453 -613:2454 -613:2455 -613:2456 -613:2459 -613:2460 -613:2461 -613:2464 -613:2465 -613:2466 -613:2467 -613:2468 -613:2469 -613:2470 -614:2471 -615:2472 -615:2473 -615:2474 -615:2475 -615:2477 -615:2478 -616:2480 -619:2539 -619:2541 -619:2542 -619:2543 -619:2604 -619:2605 -620:2545 -621:2546 -621:2547 -621:2548 -621:2549 -621:2550 -621:2551 -621:2552 -621:2553 -621:2554 -621:2555 -621:2556 -621:2557 -621:2558 -621:2559 -621:2560 -621:2561 -621:2562 -621:2563 -621:2564 -621:2565 -621:2566 -621:2567 -621:2568 -621:2569 -621:2570 -621:2571 -621:2572 -621:2573 -621:2574 -621:2575 -621:2576 -621:2577 -621:2578 -621:2579 -621:2582 -621:2583 -621:2584 -621:2587 -621:2588 -621:2589 -621:2590 -621:2591 -621:2592 -621:2593 -622:2594 -623:2595 -623:2596 -623:2597 -623:2598 -623:2600 -623:2601 -624:2603 -628:2745 -628:2747 -628:2748 -628:2749 -628:2809 -628:2810 -629:2751 -630:2752 -630:2753 -630:2754 -630:2755 -630:2756 -630:2757 -630:2758 -630:2759 -630:2760 -630:2761 -630:2762 -630:2763 -630:2764 -630:2765 -630:2766 -630:2767 -630:2768 -630:2769 -630:2770 -630:2771 -630:2772 -630:2773 -630:2774 -630:2775 -630:2776 -630:2777 -630:2778 -630:2779 -630:2780 -630:2781 -630:2782 -630:2783 -630:2784 -630:2787 -630:2788 -630:2789 -630:2792 -630:2793 -630:2794 -630:2795 -630:2796 -630:2797 -630:2798 -631:2799 -632:2800 -632:2801 -632:2802 -632:2803 -632:2805 -632:2806 -633:2808 -637:2607 -637:2609 -637:2610 -637:2611 -637:2742 -637:2743 -638:2613 -639:2615 -639:2616 -639:2617 -639:2618 -639:2619 -639:2620 -639:2621 -639:2622 -639:2623 -639:2624 -639:2625 -639:2626 -639:2627 -639:2628 -639:2629 -639:2630 -639:2631 -639:2633 -639:2634 -639:2636 -639:2637 -639:2638 -639:2639 -639:2647 -639:2648 -639:2649 -639:2650 -639:2651 -639:2660 -639:2661 -639:2662 -639:2663 -639:2664 -640:2667 -640:2668 -640:2669 -640:2670 -640:2671 -640:2672 -640:2673 -640:2674 -640:2675 -640:2676 -640:2677 -640:2678 -640:2679 -640:2680 -640:2681 -640:2682 -640:2683 -640:2684 -640:2685 -640:2686 -640:2687 -640:2688 -640:2689 -640:2690 -640:2691 -640:2692 -640:2693 -640:2694 -640:2695 -640:2696 -640:2697 -640:2698 -640:2699 -640:2700 -640:2701 -640:2702 -640:2703 -640:2704 -640:2705 -640:2708 -640:2709 -640:2710 -640:2713 -640:2714 -640:2715 -640:2716 -640:2717 -640:2718 -640:2719 -640:2726 -640:2727 -640:2728 -640:2729 -640:2730 -641:2732 -642:2733 -642:2734 -642:2735 -642:2736 -642:2738 -642:2739 -643:2741 -646:3258 -646:3260 -646:3261 -646:3262 -646:3375 -646:3376 -647:3263 -647:3272 -647:3273 -648:3264 -648:3275 -648:3276 -648:3277 -648:3278 -648:3279 -648:3280 -648:3281 -648:3282 -648:3369 -648:3370 -648:3371 -648:3372 -648:3373 -649:3283 -649:3284 -649:3285 -649:3286 -649:3288 -649:3289 -650:3265 -650:3293 -650:3294 -650:3295 -650:3296 -650:3297 -650:3298 -650:3299 -650:3300 -650:3301 -650:3302 -650:3303 -650:3304 -650:3305 -651:3266 -651:3267 -651:3307 -651:3308 -651:3309 -651:3310 -651:3346 -651:3361 -651:3362 -651:3363 -651:3364 -653:3311 -653:3312 -655:3268 -655:3313 -655:3314 -657:3269 -657:3316 -657:3317 -657:3318 -657:3319 -657:3320 -657:3321 -657:3328 -657:3329 -657:3330 -657:3331 -657:3332 -659:3334 -659:3335 -659:3336 -661:3337 -661:3338 -661:3339 -661:3341 -661:3343 -661:3344 -662:3340 -667:3270 -667:3347 -667:3348 -667:3349 -667:3350 -667:3351 -667:3352 -668:3353 -668:3354 -668:3355 -668:3356 -668:3358 -668:3359 -675:3378 -675:3380 -675:3381 -675:3382 -675:3445 -675:3446 -676:3383 -676:3389 -676:3390 -677:3384 -677:3385 -677:3391 -677:3392 -677:3393 -678:3395 -678:3396 -678:3397 -678:3398 -678:3411 -678:3412 -678:3413 -678:3414 -678:3415 -679:3386 -679:3399 -679:3400 -680:3401 -682:3387 -682:3418 -682:3419 -682:3420 -682:3421 -682:3422 -682:3431 -682:3432 -682:3433 -682:3434 -682:3435 -683:3437 -683:3438 -683:3439 -683:3440 -683:3442 -683:3443 -687:3554 -687:3556 -687:3557 -687:3558 -687:3620 -687:3621 -688:3560 -689:3561 -689:3562 -689:3563 -689:3564 -689:3565 -689:3566 -689:3567 -689:3568 -689:3569 -689:3570 -689:3571 -689:3572 -689:3573 -689:3574 -689:3575 -689:3576 -689:3577 -689:3578 -689:3579 -689:3580 -689:3581 -689:3582 -689:3583 -689:3584 -689:3585 -689:3586 -689:3587 -689:3588 -689:3589 -689:3590 -689:3591 -689:3592 -689:3593 -689:3594 -689:3595 -689:3598 -689:3599 -689:3600 -689:3603 -689:3604 -689:3605 -689:3606 -689:3607 -689:3608 -689:3609 -690:3610 -691:3611 -691:3612 -691:3613 -691:3614 -691:3616 -691:3617 -692:3619 -696:3623 -696:3625 -696:3626 -696:3627 -696:3639 -696:3834 -696:3835 -696:3836 -696:3837 -696:3838 -696:3839 -696:3840 -697:3628 -697:3640 -697:3641 -697:3642 -697:3643 -697:3644 -697:3645 -697:3646 -697:3647 -697:3648 -697:3649 -697:3650 -697:3651 -697:3652 -697:3653 -697:3654 -697:3655 -697:3656 -697:3657 -697:3658 -697:3659 -697:3660 -697:3661 -697:3662 -697:3663 -697:3664 -697:3665 -697:3666 -697:3667 -697:3668 -697:3669 -698:3629 -698:3671 -698:3672 -698:3673 -698:3674 -698:3675 -698:3676 -698:3677 -698:3678 -698:3812 -698:3813 -698:3814 -698:3815 -698:3816 -699:3679 -699:3680 -699:3681 -699:3682 -699:3684 -699:3685 -704:3630 -704:3631 -704:3689 -704:3690 -704:3691 -704:3692 -704:3693 -704:3694 -704:3695 -704:3696 -704:3697 -704:3698 -704:3699 -704:3700 -704:3702 -704:3703 -704:3704 -704:3705 -704:3706 -704:3722 -704:3723 -704:3724 -704:3725 -704:3726 -704:3728 -704:3729 -705:3731 -705:3732 -705:3733 -705:3734 -705:3789 -705:3804 -705:3805 -705:3806 -705:3807 -708:3632 -708:3735 -708:3736 -708:3737 -708:3738 -710:3633 -710:3739 -710:3740 -714:3634 -714:3742 -714:3743 -714:3744 -714:3745 -714:3746 -714:3754 -714:3755 -714:3756 -714:3757 -714:3758 -716:3635 -716:3761 -716:3762 -716:3763 -716:3764 -716:3765 -716:3768 -716:3769 -716:3770 -716:3771 -716:3772 -716:3775 -716:3776 -716:3777 -716:3778 -716:3779 -717:3781 -717:3782 -717:3783 -717:3784 -717:3786 -717:3787 -725:3636 -725:3790 -725:3791 -725:3792 -725:3793 -725:3794 -725:3795 -726:3796 -726:3797 -726:3798 -726:3799 -726:3801 -726:3802 -731:3637 -731:3820 -731:3821 -731:3822 -731:3823 -732:3824 -732:3825 -732:3826 -732:3827 -732:3829 -732:3830 -736:2484 -736:2486 -736:2487 -736:2488 -736:2536 -736:2537 -737:2493 -737:2521 -737:2522 -737:2523 -737:2524 -737:2525 -738:2489 -738:2490 -738:2494 -738:2495 -738:2496 -738:2497 -738:2498 -739:2499 -739:2500 -739:2501 -739:2502 -739:2503 -739:2504 -739:2505 -739:2506 -739:2507 -739:2508 -739:2509 -739:2510 -739:2511 -739:2513 -739:2514 -741:2527 -741:2528 -741:2529 -741:2530 -741:2532 -741:2533 -742:2535 -746:2360 -746:2362 -746:2363 -746:2364 -746:2412 -746:2413 -747:2369 -747:2397 -747:2398 -747:2399 -747:2400 -747:2401 -748:2365 -748:2366 -748:2370 -748:2371 -748:2372 -748:2373 -748:2374 -748:2375 -748:2376 -748:2377 -748:2378 -748:2379 -748:2380 -748:2381 -748:2382 -748:2383 -748:2384 -748:2385 -748:2386 -748:2387 -748:2389 -748:2390 -750:2403 -750:2404 -750:2405 -750:2406 -750:2408 -750:2409 -751:2411 -755:2885 -755:2887 -755:2888 -755:2889 -755:3077 -755:3090 -755:3102 -755:3103 -755:3104 -755:3105 -755:3107 -755:3108 -757:2890 -757:2904 -757:2905 -757:2906 -758:2891 -758:2908 -758:2909 -758:2910 -758:2911 -758:2912 -758:2913 -758:2914 -758:2915 -758:3071 -758:3072 -758:3073 -758:3074 -758:3075 -759:2916 -759:2917 -759:2918 -759:2919 -759:2921 -759:2922 -761:2892 -761:2926 -761:2927 -761:2928 -761:2929 -761:2930 -761:2931 -761:2932 -761:2933 -761:2934 -761:2935 -761:2936 -761:2937 -761:2939 -761:2940 -761:2941 -761:2942 -761:2943 -761:2959 -761:2960 -761:2961 -761:2962 -761:2963 -762:2979 -762:3063 -762:3064 -762:3065 -762:3066 -763:2893 -763:2894 -763:2966 -763:2967 -763:2968 -763:2969 -763:2970 -764:2971 -764:2972 -764:2973 -764:2974 -764:2976 -764:2977 -769:2895 -769:2980 -769:2981 -769:2982 -770:2984 -770:2985 -770:2986 -770:2987 -770:3042 -770:3057 -770:3058 -770:3059 -770:3060 -773:2896 -773:2988 -773:2989 -773:2990 -773:2991 -775:2897 -775:2992 -775:2993 -779:2898 -779:2995 -779:2996 -779:2997 -779:2998 -779:2999 -779:3007 -779:3008 -779:3009 -779:3010 -779:3011 -781:2899 -781:3014 -781:3015 -781:3016 -781:3017 -781:3018 -781:3021 -781:3022 -781:3023 -781:3024 -781:3025 -781:3028 -781:3029 -781:3030 -781:3031 -781:3032 -782:3034 -782:3035 -782:3036 -782:3037 -782:3039 -782:3040 -790:2900 -790:3043 -790:3044 -790:3045 -790:3046 -790:3047 -790:3048 -791:3049 -791:3050 -791:3051 -791:3052 -791:3054 -791:3055 -797:2901 -797:3078 -797:3079 -797:3080 -797:3081 -798:3082 -798:3083 -798:3084 -798:3085 -798:3087 -798:3088 -801:2902 -801:3091 -801:3092 -801:3093 -802:3094 -802:3095 -802:3096 -802:3097 -802:3099 -802:3100 -806:3110 -806:3112 -806:3113 -806:3114 -806:3255 -806:3256 -808:3115 -808:3124 -808:3125 -809:3116 -809:3127 -809:3128 -809:3129 -809:3130 -809:3131 -809:3132 -809:3133 -809:3134 -809:3249 -809:3250 -809:3251 -809:3252 -809:3253 -810:3135 -810:3136 -810:3137 -810:3138 -810:3140 -810:3141 -812:3117 -812:3145 -812:3146 -812:3147 -812:3148 -812:3149 -812:3150 -812:3151 -812:3152 -812:3153 -812:3154 -812:3155 -812:3156 -812:3158 -812:3159 -812:3160 -812:3161 -812:3162 -812:3178 -812:3179 -812:3180 -812:3181 -812:3182 -817:3118 -817:3184 -817:3185 -818:3187 -818:3188 -818:3189 -818:3190 -818:3226 -818:3241 -818:3242 -818:3243 -818:3244 -821:3119 -821:3191 -821:3192 -821:3193 -821:3194 -823:3120 -823:3195 -823:3196 -827:3121 -827:3198 -827:3199 -827:3200 -827:3201 -827:3202 -827:3209 -827:3210 -827:3211 -827:3212 -827:3213 -829:3215 -829:3216 -829:3217 -831:3218 -831:3219 -831:3220 -831:3221 -831:3223 -831:3224 -838:3122 -838:3227 -838:3228 -838:3229 -838:3230 -838:3231 -838:3232 -839:3233 -839:3234 -839:3235 -839:3236 -839:3238 -839:3239 -844:4041 -844:4043 -844:4044 -844:4045 -844:4083 -844:4084 -845:4046 -845:4047 -845:4049 -845:4050 -845:4051 -845:4052 -845:4053 -845:4054 -846:4057 -846:4058 -846:4059 -846:4060 -846:4062 -846:4063 -846:4064 -846:4065 -847:4068 -847:4069 -847:4070 -847:4071 -847:4072 -847:4073 -847:4074 -847:4075 -847:4076 -847:4077 -847:4079 -847:4080 -848:4081 -850:4082 -852:4086 -852:4087 -852:4089 -852:4090 -852:4091 -852:4157 -852:4158 -853:4098 -853:4099 -853:4100 -853:4101 -853:4102 -853:4110 -853:4111 -853:4112 -853:4113 -853:4114 -854:4092 -854:4093 -854:4117 -854:4118 -854:4119 -854:4120 -854:4121 -854:4122 -854:4123 -854:4124 -854:4125 -854:4126 -854:4127 -854:4128 -854:4150 -854:4151 -854:4152 -854:4153 -854:4154 -855:4129 -855:4130 -855:4156 -856:4094 -856:4095 -856:4134 -856:4135 -856:4136 -856:4137 -856:4138 -856:4139 -856:4140 -856:4141 -856:4142 -856:4143 -856:4144 -857:4145 -857:4146 -861:874 -861:875 -861:876 -861:878 -861:879 -861:880 -861:901 -861:902 -862:882 -862:883 -862:884 -863:883 -864:885 -864:886 -864:887 -864:888 -864:889 -864:893 -864:894 -864:895 -864:896 -864:898 -864:899 -864:900 -865:890 -865:891 -865:892 -866:891 -874:4525 -874:4529 -874:4530 -874:4531 -874:4533 -874:4534 -874:4535 -874:4556 -874:4557 -875:4526 -875:4536 -875:4537 -875:4538 -875:4539 -875:4541 -875:4542 -875:4543 -875:4544 -875:4545 -875:4546 -875:4547 -876:4527 -876:4548 -876:4549 -876:4550 -876:4551 -876:4553 -876:4554 -877:4528 -879:3448 -879:3449 -879:3450 -879:3452 -879:3453 -879:3454 -879:3486 -879:3487 -880:3458 -880:3459 -880:3460 -880:3461 -880:3463 -880:3464 -881:3455 -881:3456 -881:3466 -881:3467 -881:3468 -881:3469 -881:3470 -881:3471 -881:3472 -881:3473 -881:3474 -881:3475 -881:3477 -881:3478 -881:3479 -881:3480 -881:3481 -881:3483 -881:3484 -881:3485 -884:4559 -884:4561 -884:4562 -884:4563 -884:4589 -884:4590 -885:4566 -885:4567 -885:4568 -885:4569 -885:4570 -885:4571 -885:4572 -885:4573 -885:4574 -885:4582 -885:4583 -885:4584 -885:4585 -885:4586 -886:4588 -889:4650 -889:4652 -889:4653 -889:4654 -889:4746 -889:4747 -890:4655 -890:4656 -890:4658 -890:4659 -890:4660 -890:4661 -890:4662 -890:4663 -891:4666 -891:4667 -891:4668 -891:4669 -891:4670 -891:4671 -891:4672 -891:4673 -891:4674 -891:4675 -891:4676 -891:4677 -891:4678 -891:4679 -891:4680 -891:4681 -891:4682 -891:4683 -891:4684 -891:4685 -891:4686 -891:4687 -891:4688 -891:4689 -891:4690 -891:4691 -891:4692 -891:4693 -891:4694 -891:4695 -891:4696 -891:4697 -891:4698 -891:4699 -891:4700 -891:4738 -891:4739 -891:4740 -891:4741 -891:4742 -892:4701 -892:4702 -892:4703 -892:4708 -892:4709 -892:4710 -892:4711 -892:4713 -892:4714 -901:4704 -901:4705 -901:4706 -901:4707 -903:4716 -903:4717 -903:4718 -903:4719 -903:4726 -903:4727 -903:4728 -903:4729 -903:4730 -905:4744 -907:4745 -911:4592 -911:4594 -911:4595 -911:4596 -911:4598 -911:4642 -911:4643 -911:4644 -911:4645 -911:4646 -911:4647 -911:4648 -912:4599 -912:4600 -912:4601 -912:4602 -912:4603 -912:4604 -912:4605 -912:4606 -912:4607 -912:4608 -912:4609 -912:4610 -912:4611 -912:4612 -912:4613 -912:4614 -912:4615 -912:4616 -912:4617 -912:4618 -912:4619 -912:4620 -912:4621 -912:4622 -912:4623 -912:4624 -912:4625 -912:4626 -912:4627 -912:4628 -912:4629 -912:4630 -912:4631 -912:4632 -913:4635 -913:4636 -913:4637 -913:4638 -913:4639 -919:4005 -919:4007 -919:4008 -919:4009 -919:4038 -919:4039 -920:4011 -920:4012 -920:4013 -920:4014 -923:4015 -923:4016 -923:4017 -923:4018 -926:4020 -926:4021 -926:4022 -926:4023 -926:4024 -926:4031 -926:4032 -926:4033 -926:4034 -926:4035 -927:4037 -930:3942 -930:3944 -930:3945 -930:3946 -930:3969 -930:3970 -931:3948 -931:3949 -931:3950 -931:3951 -931:3952 -931:3953 -931:3954 -931:3955 -931:3956 -931:3957 -931:3958 -931:3959 -931:3960 -931:3961 -931:3962 -931:3963 -931:3964 -931:3966 -931:3967 -931:3968 -937:3842 -937:3844 -937:3845 -937:3846 -937:3939 -937:3940 -940:3849 -940:3850 -940:3851 -940:3852 -940:3853 -940:3854 -940:3856 -940:3858 -940:3859 -940:3860 -940:3861 -940:3862 -940:3863 -940:3864 -940:3865 -940:3866 -940:3867 -940:3918 -940:3922 -940:3924 -940:3925 -940:3926 -940:3927 -941:3868 -941:3869 -941:3870 -941:3871 -941:3872 -941:3873 -941:3874 -941:3875 -941:3876 -941:3878 -941:3879 -941:3881 -941:3882 -941:3883 -941:3884 -941:3885 -941:3886 -941:3887 -941:3888 -941:3889 -941:3890 -941:3891 -941:3892 -941:3893 -941:3894 -941:3895 -941:3897 -941:3898 -942:3900 -942:3901 -942:3902 -942:3903 -942:3904 -942:3905 -942:3912 -942:3913 -942:3914 -942:3915 -942:3916 -944:3919 -944:3920 -944:3921 -946:3930 -946:3931 -946:3932 -946:3933 -946:3935 -946:3936 -947:3938 -951:4769 -951:4771 -951:4772 -951:4773 -951:4797 -951:4798 -952:4774 -952:4775 -952:4776 -952:4777 -952:4780 -952:4781 -952:4782 -952:4783 -952:4784 -952:4785 -952:4786 -953:4778 -953:4787 -953:4788 -954:4789 -954:4790 -954:4791 -954:4792 -954:4794 -954:4795 -958:4800 -958:4802 -958:4803 -958:4804 -958:4829 -958:4830 -959:4805 -959:4806 -959:4807 -959:4808 -959:4811 -959:4812 -959:4813 -959:4814 -959:4815 -959:4816 -959:4817 -959:4818 -960:4809 -960:4819 -960:4820 -961:4821 -961:4822 -961:4823 -961:4824 -961:4826 -961:4827 -965:4832 -965:4834 -965:4835 -965:4836 -965:4905 -965:4906 -968:4837 -968:4838 -968:4840 -968:4841 -968:4842 -968:4843 -968:4844 -968:4845 -968:4846 -968:4847 -968:4848 -968:4849 -968:4851 -968:4852 -968:4854 -968:4855 -968:4856 -968:4857 -968:4858 -968:4859 -968:4860 -968:4877 -968:4878 -968:4879 -968:4880 -968:4881 -968:4883 -968:4884 -968:4885 -968:4886 -968:4887 -968:4888 -968:4889 -968:4890 -968:4891 -968:4892 -968:4894 -968:4895 -969:4896 -969:4897 -969:4898 -969:4899 -969:4901 -969:4902 -970:4904 -981:3972 -981:3974 -981:3975 -981:3976 -981:4002 -981:4003 -982:3977 -982:3978 -982:3980 -982:3981 -982:3982 -982:3983 -982:3984 -982:3985 -984:3987 -984:3988 -984:3989 -984:3990 -984:3991 -984:3992 -984:3993 -984:3994 -984:3995 -984:3996 -984:3998 -984:3999 -985:4000 -987:4001 -989:4160 -989:4162 -989:4163 -989:4164 -989:4171 -989:4453 -989:4475 -989:4481 -989:4488 -989:4504 -989:4517 -989:4518 -989:4519 -989:4520 -989:4521 -989:4522 -989:4523 -991:4172 -991:4173 -991:4174 -991:4175 -991:4176 -997:4454 -997:4455 -997:4456 -997:4457 -997:4458 -997:4459 -997:4461 -997:4463 -997:4464 -997:4465 -997:4466 -997:4467 -997:4468 -997:4469 -997:4470 -997:4471 -997:4472 -997:4473 -999:4474 -1002:4476 -1002:4477 -1002:4478 -1002:4479 -1004:4480 -1006:4165 -1006:4482 -1006:4483 -1006:4484 -1006:4485 -1006:4486 -1006:4487 -1009:4166 -1009:4167 -1009:4489 -1009:4490 -1009:4491 -1009:4492 -1009:4493 -1009:4494 -1009:4495 -1009:4496 -1009:4497 -1009:4498 -1009:4499 -1009:4501 -1009:4502 -1009:4503 -1012:4179 -1012:4180 -1012:4181 -1012:4182 -1012:4183 -1012:4184 -1012:4185 -1012:4186 -1012:4187 -1012:4188 -1012:4189 -1012:4190 -1013:4196 -1013:4198 -1013:4199 -1013:4200 -1013:4201 -1014:4204 -1021:4192 -1021:4193 -1021:4194 -1021:4195 -1025:4207 -1025:4208 -1025:4209 -1025:4210 -1025:4211 -1028:4214 -1028:4215 -1028:4216 -1028:4217 -1028:4218 -1028:4219 -1028:4220 -1028:4221 -1028:4222 -1028:4223 -1028:4224 -1028:4225 -1028:4226 -1031:4229 -1031:4230 -1031:4231 -1031:4232 -1031:4233 -1031:4234 -1031:4235 -1031:4236 -1031:4237 -1031:4238 -1031:4239 -1031:4240 -1031:4241 -1031:4242 -1033:4243 -1034:4246 -1034:4247 -1034:4248 -1034:4249 -1034:4250 -1034:4251 -1034:4253 -1034:4254 -1034:4255 -1034:4256 -1034:4257 -1034:4258 -1034:4259 -1034:4266 -1034:4267 -1034:4268 -1034:4269 -1034:4270 -1034:4272 -1036:4273 -1037:4276 -1037:4277 -1037:4278 -1037:4279 -1037:4280 -1037:4281 -1037:4283 -1037:4284 -1037:4285 -1037:4286 -1037:4287 -1037:4288 -1037:4289 -1037:4296 -1037:4297 -1037:4298 -1037:4299 -1037:4300 -1037:4302 -1039:4303 -1040:4306 -1040:4307 -1040:4308 -1040:4309 -1040:4310 -1040:4311 -1040:4313 -1040:4314 -1040:4315 -1040:4316 -1040:4317 -1040:4318 -1040:4319 -1040:4320 -1040:4321 -1040:4322 -1040:4323 -1040:4324 -1040:4325 -1040:4326 -1040:4327 -1040:4328 -1040:4329 -1040:4330 -1040:4331 -1040:4332 -1040:4333 -1040:4334 -1040:4335 -1040:4336 -1040:4337 -1040:4338 -1040:4339 -1040:4340 -1040:4341 -1040:4342 -1040:4343 -1040:4344 -1040:4345 -1040:4346 -1040:4353 -1040:4354 -1040:4355 -1040:4356 -1040:4357 -1040:4359 -1042:4360 -1043:4363 -1043:4364 -1043:4365 -1043:4366 -1043:4367 -1043:4368 -1043:4369 -1043:4370 -1043:4371 -1043:4372 -1043:4373 -1044:4374 -1044:4375 -1044:4376 -1044:4377 -1044:4378 -1044:4379 -1044:4380 -1044:4381 -1044:4382 -1044:4383 -1044:4385 -1044:4386 -1045:4387 -1047:4388 -1048:4391 -1048:4392 -1048:4393 -1048:4394 -1048:4395 -1051:4398 -1051:4399 -1051:4400 -1051:4401 -1051:4402 -1051:4403 -1051:4404 -1051:4405 -1051:4406 -1053:4407 -1054:4505 -1054:4506 -1054:4507 -1054:4508 -1054:4509 -1054:4510 -1054:4511 -1054:4512 -1054:4513 -1054:4514 -1054:4515 -1054:4516 -1057:4410 -1057:4411 -1057:4412 -1057:4413 -1057:4414 -1057:4415 -1057:4416 -1057:4417 -1057:4419 -1057:4420 -1057:4421 -1057:4422 -1057:4423 -1057:4424 -1057:4431 -1057:4432 -1057:4433 -1057:4434 -1057:4435 -1057:4437 -1059:4438 -1060:4168 -1060:4169 -1060:4441 -1060:4442 -1060:4443 -1060:4444 -1060:4445 -1060:4446 -1060:4447 -1060:4448 -1063:4450 -1063:4908 -1063:4910 -1063:4911 -1063:4912 -1063:4956 -1063:4957 -1064:4913 -1064:4914 -1064:4916 -1064:4917 -1064:4918 -1064:4919 -1065:4920 -1066:4922 -1066:4923 -1066:4924 -1066:4925 -1066:4926 -1066:4927 -1066:4929 -1066:4930 -1066:4932 -1066:4933 -1066:4934 -1066:4935 -1066:4936 -1066:4937 -1066:4938 -1066:4939 -1066:4940 -1066:4941 -1066:4942 -1066:4946 -1066:4947 -1066:4948 -1066:4949 -1067:4943 -1067:4944 -1067:4945 -1069:4952 -1070:4953 -1070:4954 -1070:4955 -1073:5151 -1073:5153 -1073:5154 -1073:5155 -1073:5166 -1073:5167 -1075:5157 -1075:5158 -1075:5159 -1076:5160 -1076:5161 -1076:5162 -1077:5163 -1077:5164 -1077:5165 -1080:5169 -1080:5171 -1080:5172 -1080:5173 -1080:5191 -1080:5192 -1082:5174 -1082:5176 -1082:5177 -1082:5178 -1082:5179 -1082:5180 -1082:5181 -1083:5182 -1083:5183 -1083:5184 -1083:5185 -1083:5187 -1083:5188 -1084:5190 -1086:4959 -1086:4961 -1086:4962 -1086:4963 -1086:4991 -1086:4992 -1087:4966 -1087:4967 -1087:4968 -1087:4972 -1087:4973 -1087:4974 -1087:4975 -1087:4977 -1087:4978 -1087:4979 -1095:4969 -1095:4970 -1095:4971 -1097:4980 -1097:4981 -1098:4982 -1098:4983 -1098:4984 -1098:4985 -1098:4987 -1098:4988 -1099:4990 -1101:5324 -1101:5326 -1101:5327 -1101:5328 -1101:5358 -1101:5359 -1102:5331 -1102:5332 -1102:5333 -1102:5334 -1102:5335 -1102:5336 -1102:5337 -1102:5338 -1102:5339 -1102:5342 -1102:5343 -1102:5344 -1102:5345 -1102:5346 -1102:5347 -1102:5350 -1102:5351 -1102:5352 -1102:5353 -1102:5354 -1102:5356 -1104:5357 -1105:5361 -1105:5363 -1105:5364 -1105:5365 -1105:5389 -1105:5390 -1106:5367 -1106:5368 -1106:5369 -1106:5370 -1106:5371 -1106:5372 -1106:5373 -1106:5374 -1106:5375 -1106:5376 -1106:5378 -1106:5379 -1107:5380 -1107:5381 -1107:5382 -1107:5383 -1107:5385 -1107:5386 -1108:5388 -1111:5101 -1111:5103 -1111:5104 -1111:5105 -1111:5148 -1111:5149 -1113:5108 -1113:5109 -1113:5110 -1113:5111 -1113:5112 -1113:5113 -1113:5115 -1113:5117 -1113:5118 -1113:5119 -1113:5120 -1113:5121 -1113:5122 -1113:5123 -1113:5124 -1113:5125 -1113:5126 -1113:5127 -1113:5131 -1113:5133 -1113:5134 -1113:5135 -1113:5136 -1115:5128 -1115:5129 -1115:5130 -1117:5139 -1117:5140 -1117:5141 -1117:5142 -1117:5144 -1117:5145 -1118:5147 -1120:5194 -1120:5196 -1120:5197 -1120:5198 -1120:5256 -1120:5257 -1121:5201 -1121:5202 -1121:5203 -1121:5204 -1121:5205 -1121:5206 -1121:5207 -1121:5208 -1121:5209 -1121:5210 -1121:5211 -1121:5212 -1121:5213 -1121:5214 -1121:5215 -1121:5216 -1121:5217 -1121:5218 -1121:5219 -1121:5220 -1121:5221 -1121:5222 -1121:5223 -1121:5224 -1121:5225 -1121:5226 -1121:5227 -1121:5228 -1121:5229 -1121:5230 -1121:5231 -1121:5232 -1121:5233 -1121:5234 -1121:5241 -1121:5242 -1121:5243 -1121:5244 -1121:5245 -1122:5247 -1122:5248 -1122:5249 -1122:5250 -1122:5252 -1122:5253 -1123:5255 -1125:5259 -1125:5261 -1125:5262 -1125:5263 -1125:5321 -1125:5322 -1126:5266 -1126:5267 -1126:5268 -1126:5269 -1126:5270 -1126:5271 -1126:5272 -1126:5273 -1126:5274 -1126:5275 -1126:5276 -1126:5277 -1126:5278 -1126:5279 -1126:5280 -1126:5281 -1126:5282 -1126:5283 -1126:5284 -1126:5285 -1126:5286 -1126:5287 -1126:5288 -1126:5289 -1126:5290 -1126:5291 -1126:5292 -1126:5293 -1126:5294 -1126:5295 -1126:5296 -1126:5297 -1126:5298 -1126:5299 -1126:5306 -1126:5307 -1126:5308 -1126:5309 -1126:5310 -1127:5312 -1127:5313 -1127:5314 -1127:5315 -1127:5317 -1127:5318 -1128:5320 -1131:4994 -1131:4996 -1131:4997 -1131:4998 -1131:5098 -1131:5099 -1132:5000 -1132:5001 -1132:5002 -1132:5003 -1132:5004 -1132:5005 -1133:5006 -1133:5007 -1133:5008 -1133:5009 -1133:5010 -1133:5011 -1133:5012 -1133:5013 -1133:5014 -1133:5015 -1133:5017 -1133:5018 -1134:5020 -1134:5021 -1134:5022 -1134:5023 -1134:5024 -1134:5091 -1134:5092 -1134:5093 -1134:5094 -1134:5095 -1135:5097 -1137:5446 -1137:5448 -1137:5449 -1137:5450 -1137:5459 -1137:5460 -1138:5452 -1138:5453 -1138:5454 -1138:5455 -1138:5456 -1138:5457 -1138:5458 -1142:5426 -1142:5428 -1142:5429 -1142:5430 -1142:5443 -1142:5444 -1143:5432 -1143:5433 -1143:5434 -1143:5435 -1143:5436 -1143:5437 -1143:5438 -1143:5439 -1143:5440 -1143:5441 -1143:5442 -1182:4749 -1182:4751 -1182:4752 -1182:4753 -1182:4766 -1182:4767 -1183:4755 -1183:4756 -1184:4757 -1184:4758 -1184:4759 -1184:4760 -1184:4762 -1184:4763 -1185:4765 -1189:5392 -1189:5394 -1189:5395 -1189:5396 -1189:5423 -1189:5424 -1190:5398 -1190:5399 -1190:5400 -1190:5401 -1190:5402 -1190:5403 -1190:5404 -1190:5405 -1190:5406 -1190:5407 -1190:5408 -1190:5409 -1190:5410 -1190:5412 -1190:5413 -1191:5414 -1191:5415 -1191:5416 -1191:5417 -1191:5419 -1191:5420 -1192:5422 -1196:5462 -1196:5464 -1196:5465 -1196:5466 -1196:5609 -1196:5610 -1197:5468 -1197:5469 -1198:5471 -1198:5472 -1198:5473 -1198:5474 -1198:5475 -1198:5476 -1198:5477 -1198:5478 -1198:5479 -1198:5480 -1198:5481 -1198:5482 -1198:5483 -1198:5484 -1198:5486 -1198:5487 -1198:5488 -1198:5489 -1198:5490 -1198:5491 -1198:5492 -1198:5583 -1198:5584 -1198:5585 -1198:5586 -1198:5587 -1198:5602 -1198:5603 -1198:5604 -1198:5605 -1198:5606 -1199:5495 -1199:5496 -1199:5497 -1199:5498 -1199:5499 -1199:5500 -1199:5608 -1200:5503 -1200:5504 -1200:5505 -1200:5506 -1200:5507 -1200:5508 -1201:5511 -1201:5512 -1201:5513 -1201:5514 -1201:5515 -1201:5516 -1202:5519 -1202:5520 -1202:5521 -1202:5522 -1202:5523 -1202:5524 -1203:5527 -1203:5528 -1203:5529 -1203:5530 -1203:5531 -1203:5532 -1204:5535 -1204:5536 -1204:5537 -1204:5538 -1204:5539 -1204:5540 -1205:5543 -1205:5544 -1205:5545 -1205:5546 -1205:5547 -1205:5548 -1206:5551 -1206:5552 -1206:5553 -1206:5554 -1206:5555 -1206:5556 -1207:5559 -1207:5560 -1207:5561 -1207:5562 -1207:5563 -1207:5564 -1208:5567 -1208:5568 -1208:5569 -1208:5570 -1208:5571 -1208:5572 -1209:5575 -1209:5576 -1209:5577 -1209:5578 -1209:5579 -1209:5580 -1211:5589 -1211:5590 -1217:2035 -1217:2037 -1217:2038 -1217:2039 -1217:2086 -1217:2087 -1218:2041 -1218:2042 -1219:2044 -1219:2045 -1219:2046 -1219:2047 -1219:2048 -1219:2049 -1219:2050 -1219:2051 -1219:2052 -1219:2053 -1219:2054 -1219:2055 -1219:2079 -1219:2080 -1219:2081 -1219:2082 -1219:2083 -1220:2085 -1224:5612 -1224:5614 -1224:5615 -1224:5616 -1224:5638 -1224:5639 -1225:5618 -1225:5619 -1225:5620 -1225:5621 -1225:5622 -1225:5623 -1225:5624 -1225:5625 -1225:5626 -1225:5627 -1225:5628 -1225:5629 -1225:5630 -1225:5631 -1225:5632 -1225:5633 -1225:5635 -1225:5636 -1225:5637 -1230:5641 -1230:5643 -1230:5644 -1230:5645 -1230:5667 -1230:5668 -1231:5647 -1231:5648 -1231:5649 -1231:5650 -1231:5651 -1231:5652 -1231:5653 -1231:5654 -1231:5655 -1231:5656 -1231:5657 -1231:5658 -1231:5659 -1231:5660 -1231:5661 -1231:5662 -1231:5664 -1231:5665 -1231:5666 -1236:5670 -1236:5672 -1236:5673 -1236:5674 -1236:5696 -1236:5697 -1237:5676 -1237:5677 -1237:5678 -1237:5679 -1237:5680 -1237:5681 -1237:5682 -1237:5683 -1237:5684 -1237:5685 -1237:5686 -1237:5687 -1237:5688 -1237:5689 -1237:5690 -1237:5691 -1237:5693 -1237:5694 -1237:5695 -1242:5699 -1242:5701 -1242:5702 -1242:5703 -1242:5725 -1242:5726 -1243:5705 -1243:5706 -1243:5707 -1243:5708 -1243:5709 -1243:5710 -1243:5711 -1243:5712 -1243:5713 -1243:5714 -1243:5715 -1243:5716 -1243:5717 -1243:5718 -1243:5719 -1243:5720 -1243:5722 -1243:5723 -1243:5724 -1248:5728 -1248:5730 -1248:5731 -1248:5732 -1248:5754 -1248:5755 -1249:5734 -1249:5735 -1249:5736 -1249:5737 -1249:5738 -1249:5739 -1249:5740 -1249:5741 -1249:5742 -1249:5743 -1249:5744 -1249:5745 -1249:5746 -1249:5747 -1249:5748 -1249:5749 -1249:5751 -1249:5752 -1249:5753 -1254:5757 -1254:5759 -1254:5760 -1254:5761 -1254:5803 -1254:5804 -1255:5763 -1255:5764 -1255:5765 -1255:5766 -1255:5767 -1255:5768 -1255:5770 -1255:5771 -1255:5772 -1255:5773 -1255:5774 -1255:5775 -1255:5776 -1255:5779 -1255:5780 -1255:5781 -1255:5782 -1255:5783 -1255:5784 -1255:5787 -1255:5788 -1255:5789 -1255:5790 -1255:5791 -1255:5793 -1255:5794 -1255:5795 -1255:5796 -1255:5797 -1255:5798 -1255:5800 -1255:5801 -1255:5802 -1260:5806 -1260:5808 -1260:5809 -1260:5810 -1260:5919 -1260:5920 -1261:5812 -1261:5813 -1262:5815 -1262:5816 -1262:5817 -1262:5818 -1262:5819 -1262:5820 -1262:5821 -1262:5822 -1262:5823 -1262:5824 -1262:5825 -1262:5826 -1262:5827 -1262:5828 -1262:5829 -1262:5830 -1262:5831 -1262:5832 -1262:5833 -1262:5834 -1262:5835 -1262:5836 -1262:5837 -1262:5838 -1262:5839 -1262:5840 -1262:5841 -1262:5842 -1262:5843 -1262:5844 -1262:5845 -1262:5846 -1262:5847 -1262:5848 -1262:5849 -1262:5850 -1262:5852 -1262:5853 -1262:5854 -1262:5855 -1262:5856 -1262:5857 -1262:5858 -1262:5885 -1262:5886 -1262:5887 -1262:5888 -1262:5889 -1262:5893 -1262:5894 -1262:5895 -1262:5896 -1262:5898 -1262:5899 -1262:5912 -1262:5913 -1262:5914 -1262:5915 -1262:5916 -1263:5861 -1263:5862 -1263:5863 -1263:5864 -1263:5865 -1263:5866 -1263:5918 -1264:5869 -1264:5870 -1264:5871 -1264:5872 -1264:5873 -1264:5874 -1265:5877 -1265:5878 -1265:5879 -1265:5880 -1265:5881 -1265:5882 -1267:5891 -1267:5892 -1269:5902 -1269:5903 -1269:5904 -1269:5905 -1269:5906 -1269:5907 -1269:5908 -1269:5909 -1275:5922 -1275:5924 -1275:5925 -1275:5926 -1275:5976 -1275:5977 -1276:5928 -1276:5929 -1276:5930 -1276:5931 -1276:5932 -1276:5933 -1276:5935 -1276:5936 -1276:5937 -1276:5938 -1276:5939 -1276:5940 -1276:5941 -1276:5944 -1276:5945 -1276:5946 -1276:5947 -1276:5948 -1276:5949 -1276:5952 -1276:5953 -1276:5954 -1276:5955 -1276:5956 -1276:5957 -1276:5960 -1276:5961 -1276:5962 -1276:5963 -1276:5964 -1276:5966 -1276:5967 -1276:5968 -1276:5969 -1276:5970 -1276:5971 -1276:5973 -1276:5974 -1276:5975 -1281:5979 -1281:5981 -1281:5982 -1281:5983 -1281:6025 -1281:6026 -1282:5985 -1282:5986 -1282:5987 -1282:5988 -1282:5989 -1282:5990 -1282:5992 -1282:5993 -1282:5994 -1282:5995 -1282:5996 -1282:5997 -1282:5998 -1282:6001 -1282:6002 -1282:6003 -1282:6004 -1282:6005 -1282:6006 -1282:6009 -1282:6010 -1282:6011 -1282:6012 -1282:6013 -1282:6015 -1282:6016 -1282:6017 -1282:6018 -1282:6019 -1282:6020 -1282:6022 -1282:6023 -1282:6024 -1287:6028 -1287:6030 -1287:6031 -1287:6032 -1287:6082 -1287:6083 -1288:6034 -1288:6035 -1288:6036 -1288:6037 -1288:6038 -1288:6039 -1288:6041 -1288:6042 -1288:6043 -1288:6044 -1288:6045 -1288:6046 -1288:6047 -1288:6050 -1288:6051 -1288:6052 -1288:6053 -1288:6054 -1288:6055 -1288:6058 -1288:6059 -1288:6060 -1288:6061 -1288:6062 -1288:6063 -1288:6066 -1288:6067 -1288:6068 -1288:6069 -1288:6070 -1288:6072 -1288:6073 -1288:6074 -1288:6075 -1288:6076 -1288:6077 -1288:6079 -1288:6080 -1288:6081 -1291:6085 -1291:6087 -1291:6088 -1291:6089 -1291:6091 -1291:6174 -1291:6175 -1291:6176 -1291:6177 -1291:6178 -1291:6179 -1291:6180 -1292:6092 -1292:6093 -1292:6094 -1292:6095 -1292:6096 -1292:6097 -1292:6098 -1292:6099 -1292:6100 -1293:6103 -1293:6104 -1293:6105 -1293:6106 -1293:6107 -1293:6108 -1293:6109 -1293:6110 -1293:6111 -1294:6114 -1294:6115 -1294:6116 -1294:6117 -1294:6118 -1294:6119 -1294:6120 -1294:6121 -1294:6123 -1294:6124 -1294:6125 -1295:6128 -1295:6129 -1295:6130 -1295:6131 -1295:6132 -1295:6133 -1295:6134 -1295:6135 -1295:6137 -1295:6138 -1295:6139 -1296:6142 -1296:6143 -1296:6144 -1296:6145 -1296:6146 -1296:6147 -1296:6148 -1296:6149 -1296:6150 -1296:6151 -1296:6152 -1296:6153 -1296:6154 -1296:6155 -1296:6156 -1296:6157 -1296:6158 -1296:6159 -1296:6160 -1296:6161 -1296:6162 -1296:6163 -1296:6164 -1296:6165 -1296:6166 -1296:6167 -1296:6168 -1296:6169 -1296:6170 -1296:6171 -1299:6182 -1299:6184 -1299:6185 -1299:6186 -1299:6192 -1299:6320 -1299:6321 -1299:6322 -1299:6323 -1299:6324 -1299:6325 -1299:6326 -1300:6193 -1300:6194 -1300:6195 -1300:6196 -1300:6197 -1300:6198 -1300:6199 -1300:6200 -1300:6201 -1301:6204 -1301:6205 -1301:6206 -1301:6207 -1301:6208 -1301:6209 -1301:6210 -1301:6211 -1301:6212 -1302:6215 -1302:6216 -1302:6217 -1302:6218 -1302:6219 -1302:6220 -1302:6221 -1302:6222 -1302:6223 -1302:6224 -1302:6225 -1302:6226 -1302:6227 -1302:6228 -1302:6229 -1302:6230 -1302:6231 -1302:6232 -1302:6233 -1302:6234 -1302:6235 -1302:6236 -1302:6237 -1302:6238 -1302:6239 -1302:6273 -1302:6307 -1302:6311 -1302:6312 -1302:6313 -1302:6314 -1302:6315 -1303:6317 -1310:6241 -1310:6242 -1310:6243 -1310:6244 -1310:6245 -1310:6246 -1310:6248 -1310:6249 -1310:6250 -1310:6251 -1310:6253 -1310:6254 -1310:6255 -1310:6256 -1310:6257 -1310:6258 -1310:6259 -1310:6260 -1311:6187 -1311:6188 -1311:6261 -1311:6262 -1311:6263 -1311:6264 -1311:6265 -1311:6266 -1311:6268 -1311:6269 -1311:6270 -1312:6271 -1312:6272 -1317:6274 -1317:6275 -1317:6276 -1317:6277 -1317:6278 -1317:6279 -1317:6280 -1317:6282 -1317:6283 -1317:6284 -1317:6285 -1317:6287 -1317:6288 -1317:6289 -1317:6290 -1317:6291 -1317:6292 -1317:6293 -1317:6294 -1318:6189 -1318:6190 -1318:6295 -1318:6296 -1318:6297 -1318:6298 -1318:6299 -1318:6300 -1318:6302 -1318:6303 -1318:6304 -1319:6305 -1319:6306 -1321:6308 -1321:6309 -1321:6310 -1326:6328 -1326:6330 -1326:6331 -1326:6332 -1326:6697 -1326:6698 -1328:6346 -1328:6347 -1330:6348 -1330:6349 -1330:6350 -1330:6587 -1330:6597 -1330:6605 -1330:6617 -1330:6618 -1330:6619 -1330:6620 -1330:6622 -1330:6623 -1342:6351 -1342:6352 -1342:6353 -1342:6354 -1342:6355 -1342:6357 -1342:6358 -1342:6359 -1342:6360 -1342:6361 -1342:6369 -1342:6370 -1342:6371 -1342:6372 -1342:6373 -1343:6376 -1343:6377 -1343:6378 -1343:6379 -1343:6380 -1343:6381 -1343:6382 -1343:6581 -1343:6582 -1343:6583 -1343:6584 -1343:6585 -1344:6333 -1344:6334 -1344:6384 -1344:6385 -1344:6386 -1344:6387 -1344:6388 -1344:6389 -1344:6390 -1344:6391 -1344:6392 -1344:6445 -1344:6446 -1344:6447 -1344:6448 -1344:6449 -1345:6394 -1345:6395 -1346:6396 -1348:6453 -1348:6454 -1348:6455 -1348:6456 -1348:6457 -1348:6458 -1349:6460 -1349:6573 -1349:6574 -1349:6575 -1349:6576 -1349:6577 -1350:6335 -1350:6336 -1350:6461 -1350:6462 -1350:6463 -1350:6464 -1350:6465 -1350:6466 -1350:6467 -1350:6468 -1350:6469 -1351:6470 -1351:6471 -1352:6475 -1352:6476 -1352:6477 -1352:6478 -1352:6479 -1352:6480 -1352:6482 -1352:6483 -1352:6484 -1352:6485 -1352:6486 -1352:6493 -1352:6494 -1352:6495 -1352:6496 -1352:6497 -1352:6499 -1352:6500 -1352:6501 -1352:6502 -1353:6337 -1353:6338 -1353:6504 -1353:6505 -1353:6506 -1353:6507 -1353:6508 -1353:6509 -1353:6510 -1353:6511 -1353:6512 -1353:6565 -1353:6566 -1353:6567 -1353:6568 -1353:6569 -1354:6514 -1354:6515 -1355:6516 -1359:6588 -1359:6589 -1359:6590 -1359:6591 -1359:6592 -1359:6593 -1359:6594 -1359:6595 -1359:6596 -1360:6598 -1360:6599 -1360:6600 -1360:6601 -1360:6602 -1360:6603 -1360:6604 -1361:6339 -1361:6340 -1361:6606 -1361:6607 -1361:6608 -1361:6609 -1361:6610 -1361:6611 -1361:6612 -1361:6614 -1361:6615 -1361:6616 -1364:6625 -1364:6690 -1364:6691 -1364:6692 -1364:6693 -1364:6694 -1365:6696 -1366:6341 -1366:6342 -1366:6626 -1366:6627 -1366:6628 -1366:6629 -1366:6630 -1366:6631 -1366:6632 -1366:6633 -1367:6343 -1367:6344 -1367:6637 -1367:6638 -1367:6639 -1367:6640 -1367:6641 -1367:6642 -1367:6643 -1367:6644 -1372:6700 -1372:6702 -1372:6703 -1372:6704 -1372:6708 -1372:6850 -1372:6851 -1372:6852 -1372:6853 -1372:6854 -1372:6855 -1372:6856 -1373:6709 -1373:6710 -1373:6711 -1373:6712 -1373:6713 -1373:6715 -1373:6716 -1373:6717 -1373:6718 -1373:6719 -1373:6720 -1373:6721 -1373:6722 -1373:6723 -1373:6724 -1373:6726 -1373:6727 -1373:6728 -1373:6729 -1374:6732 -1374:6735 -1374:6736 -1374:6737 -1374:6738 -1374:6739 -1374:6740 -1374:6741 -1374:6742 -1374:6743 -1374:6744 -1375:6747 -1375:6748 -1375:6749 -1375:6750 -1375:6751 -1375:6752 -1375:6753 -1376:6756 -1376:6757 -1376:6758 -1376:6759 -1376:6760 -1376:6761 -1376:6762 -1377:6765 -1377:6766 -1377:6767 -1377:6768 -1377:6769 -1377:6770 -1377:6771 -1378:6774 -1378:6775 -1378:6776 -1378:6777 -1378:6778 -1379:6781 -1379:6782 -1379:6783 -1379:6784 -1379:6785 -1379:6786 -1379:6787 -1380:6790 -1380:6791 -1380:6792 -1380:6793 -1380:6794 -1380:6795 -1380:6796 -1381:6799 -1381:6800 -1381:6801 -1381:6802 -1381:6803 -1381:6804 -1383:6805 -1383:6808 -1383:6809 -1383:6810 -1383:6811 -1383:6812 -1383:6813 -1383:6814 -1383:6815 -1383:6816 -1383:6817 -1383:6818 -1383:6819 -1384:6705 -1384:6706 -1384:6820 -1384:6821 -1384:6822 -1384:6823 -1384:6824 -1384:6825 -1384:6826 -1384:6827 -1384:6828 -1384:6829 -1384:6831 -1384:6832 -1384:6833 -1384:6834 -1384:6835 -1384:6837 -1384:6838 -1385:6839 -1385:6840 -1385:6841 -1385:6842 -1385:6843 -1385:6844 -1385:6845 -1385:6846 -1385:6847 -1392:7092 -1392:7096 -1392:7098 -1392:7099 -1392:7100 -1392:7255 -1392:7256 -1393:7093 -1393:7101 -1393:7109 -1393:7110 -1393:7111 -1393:7112 -1393:7113 -1393:7120 -1393:7121 -1393:7122 -1393:7123 -1393:7124 -1394:7094 -1394:7126 -1394:7127 -1394:7128 -1394:7129 -1395:7095 -1397:7130 -1397:7131 -1397:7132 -1397:7194 -1397:7196 -1397:7197 -1397:7198 -1397:7199 -1397:7201 -1397:7202 -1411:7133 -1411:7134 -1411:7135 -1411:7136 -1411:7137 -1411:7138 -1411:7140 -1411:7142 -1411:7143 -1411:7144 -1411:7145 -1411:7152 -1411:7153 -1411:7154 -1411:7155 -1411:7156 -1411:7158 -1411:7160 -1411:7161 -1411:7162 -1411:7163 -1411:7164 -1411:7165 -1411:7166 -1411:7167 -1412:7102 -1412:7168 -1412:7169 -1412:7170 -1412:7171 -1412:7173 -1412:7174 -1412:7175 -1412:7176 -1412:7177 -1412:7184 -1412:7185 -1412:7186 -1412:7187 -1412:7188 -1412:7190 -1412:7191 -1412:7192 -1412:7193 -1421:7223 -1421:7246 -1421:7248 -1421:7249 -1421:7250 -1421:7251 -1422:7254 -1429:7103 -1429:7104 -1429:7204 -1429:7206 -1429:7207 -1429:7208 -1429:7209 -1429:7210 -1429:7211 -1432:7213 -1432:7214 -1433:7216 -1433:7217 -1434:7219 -1434:7220 -1434:7221 -1436:7224 -1436:7226 -1436:7227 -1436:7228 -1436:7238 -1436:7239 -1436:7240 -1436:7241 -1436:7243 -1436:7244 -1436:7245 -1437:7105 -1437:7106 -1437:7229 -1437:7230 -1437:7231 -1437:7232 -1437:7233 -1437:7234 -1437:7235 -1437:7237 -1491:6858 -1491:6907 -1491:6909 -1491:6910 -1491:6911 -1491:7089 -1491:7090 -1492:6859 -1492:6913 -1492:6914 -1492:6915 -1492:6916 -1492:6918 -1492:6919 -1492:6920 -1492:6921 -1492:6922 -1492:6938 -1492:6939 -1492:6940 -1492:6941 -1492:6942 -1492:6944 -1492:6945 -1493:6860 -1493:6947 -1493:6948 -1493:6949 -1493:6950 -1493:6951 -1493:6952 -1493:6953 -1493:6955 -1493:6956 -1493:6957 -1493:6958 -1493:6959 -1493:7008 -1493:7009 -1493:7010 -1493:7011 -1493:7012 -1493:7082 -1493:7083 -1493:7084 -1493:7085 -1493:7086 -1494:6861 -1494:7088 -1495:6862 -1496:6863 -1497:6864 -1498:6865 -1499:6866 -1500:6867 -1501:6868 -1502:6869 -1503:6870 -1503:7016 -1503:7017 -1503:7018 -1503:7019 -1503:7021 -1503:7022 -1503:7023 -1503:7024 -1503:7025 -1503:7074 -1503:7075 -1503:7076 -1503:7077 -1503:7078 -1504:6871 -1505:6872 -1506:6873 -1507:3489 -1507:3491 -1507:3492 -1507:3493 -1507:3551 -1507:3552 -1507:6874 -1508:3496 -1508:3497 -1508:3498 -1508:3499 -1508:3500 -1508:3501 -1508:3502 -1508:3503 -1508:3504 -1508:3505 -1508:3506 -1508:3507 -1508:3508 -1508:3509 -1508:3510 -1508:3511 -1508:3512 -1508:3513 -1508:3514 -1508:3515 -1508:3516 -1508:3517 -1508:3518 -1508:3519 -1508:3520 -1508:3521 -1508:3522 -1508:3523 -1508:3524 -1508:3525 -1508:3526 -1508:3527 -1508:3528 -1508:3529 -1508:3544 -1508:3545 -1508:3546 -1508:3547 -1508:3548 -1508:6875 -1509:3550 -1509:6876 -1510:3532 -1510:3533 -1510:3534 -1510:3535 -1510:3536 -1510:3537 -1510:3539 -1510:3540 -1510:6877 -1511:6878 -1512:6879 -1513:6880 -1514:6881 -1514:7327 -1514:7329 -1514:7330 -1514:7331 -1514:7404 -1514:7405 -1515:6882 -1515:7336 -1515:7337 -1515:7338 -1515:7395 -1515:7396 -1515:7397 -1515:7398 -1515:7400 -1515:7401 -1515:7402 -1515:7403 -1516:6883 -1517:6884 -1518:6885 -1519:6886 -1520:6887 -1521:6888 -1522:6889 -1523:6890 -1524:6891 -1525:6892 -1525:7332 -1525:7333 -1525:7339 -1525:7340 -1525:7341 -1525:7342 -1525:7343 -1525:7344 -1525:7345 -1526:6893 -1526:7348 -1526:7349 -1526:7350 -1526:7351 -1526:7352 -1526:7353 -1526:7354 -1526:7355 -1526:7356 -1526:7357 -1526:7358 -1526:7359 -1526:7360 -1526:7361 -1526:7362 -1526:7363 -1526:7364 -1526:7365 -1526:7366 -1526:7367 -1526:7368 -1526:7369 -1526:7370 -1526:7371 -1526:7372 -1526:7373 -1526:7374 -1526:7375 -1526:7376 -1526:7377 -1526:7378 -1526:7379 -1526:7380 -1526:7381 -1526:7388 -1526:7389 -1526:7390 -1526:7391 -1526:7392 -1527:6894 -1527:7394 -1528:6895 -1529:6896 -1530:6897 -1531:6898 -1531:7258 -1531:7260 -1531:7261 -1531:7262 -1531:7264 -1531:7319 -1531:7320 -1531:7321 -1531:7322 -1531:7323 -1531:7324 -1531:7325 -1532:6899 -1532:7265 -1532:7266 -1532:7267 -1532:7268 -1532:7269 -1532:7270 -1533:6900 -1533:7274 -1533:7275 -1533:7276 -1533:7277 -1533:7278 -1533:7279 -1534:6901 -1534:7271 -1534:7283 -1534:7284 -1534:7285 -1534:7286 -1534:7287 -1534:7288 -1535:6902 -1535:7280 -1535:7292 -1535:7293 -1535:7294 -1535:7295 -1535:7296 -1535:7297 -1536:6903 -1536:7289 -1536:7301 -1536:7302 -1536:7303 -1536:7304 -1536:7305 -1536:7306 -1537:6904 -1537:7298 -1537:7310 -1537:7311 -1537:7312 -1537:7313 -1537:7314 -1537:7315 -1538:6905 -1538:7307 -1539:6906 -1539:7316 -*E diff --git a/Java/Processing/processing-3.3.6/modes/java/generated/processing/mode/java/preproc/JavaTokenTypes.java b/Java/Processing/processing-3.3.6/modes/java/generated/processing/mode/java/preproc/JavaTokenTypes.java deleted file mode 100644 index 3e5dbdd..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/generated/processing/mode/java/preproc/JavaTokenTypes.java +++ /dev/null @@ -1,178 +0,0 @@ -// $ANTLR 2.7.7 (2006-11-01): "java15.g" -> "JavaLexer.java"$ - -package processing.mode.java.preproc; - -public interface JavaTokenTypes { - int EOF = 1; - int NULL_TREE_LOOKAHEAD = 3; - int BLOCK = 4; - int MODIFIERS = 5; - int OBJBLOCK = 6; - int SLIST = 7; - int CTOR_DEF = 8; - int METHOD_DEF = 9; - int VARIABLE_DEF = 10; - int INSTANCE_INIT = 11; - int STATIC_INIT = 12; - int TYPE = 13; - int CLASS_DEF = 14; - int INTERFACE_DEF = 15; - int PACKAGE_DEF = 16; - int ARRAY_DECLARATOR = 17; - int EXTENDS_CLAUSE = 18; - int IMPLEMENTS_CLAUSE = 19; - int PARAMETERS = 20; - int PARAMETER_DEF = 21; - int LABELED_STAT = 22; - int TYPECAST = 23; - int INDEX_OP = 24; - int POST_INC = 25; - int POST_DEC = 26; - int METHOD_CALL = 27; - int EXPR = 28; - int ARRAY_INIT = 29; - int IMPORT = 30; - int UNARY_MINUS = 31; - int UNARY_PLUS = 32; - int CASE_GROUP = 33; - int ELIST = 34; - int FOR_INIT = 35; - int FOR_CONDITION = 36; - int FOR_ITERATOR = 37; - int EMPTY_STAT = 38; - int FINAL = 39; - int ABSTRACT = 40; - int STRICTFP = 41; - int SUPER_CTOR_CALL = 42; - int CTOR_CALL = 43; - int VARIABLE_PARAMETER_DEF = 44; - int STATIC_IMPORT = 45; - int ENUM_DEF = 46; - int ENUM_CONSTANT_DEF = 47; - int FOR_EACH_CLAUSE = 48; - int ANNOTATION_DEF = 49; - int ANNOTATIONS = 50; - int ANNOTATION = 51; - int ANNOTATION_MEMBER_VALUE_PAIR = 52; - int ANNOTATION_FIELD_DEF = 53; - int ANNOTATION_ARRAY_INIT = 54; - int TYPE_ARGUMENTS = 55; - int TYPE_ARGUMENT = 56; - int TYPE_PARAMETERS = 57; - int TYPE_PARAMETER = 58; - int WILDCARD_TYPE = 59; - int TYPE_UPPER_BOUNDS = 60; - int TYPE_LOWER_BOUNDS = 61; - int LITERAL_package = 62; - int SEMI = 63; - int LITERAL_import = 64; - int LITERAL_static = 65; - int LBRACK = 66; - int RBRACK = 67; - int IDENT = 68; - int DOT = 69; - int QUESTION = 70; - int LITERAL_extends = 71; - int LITERAL_super = 72; - int LT = 73; - int COMMA = 74; - int GT = 75; - int SR = 76; - int BSR = 77; - int LITERAL_void = 78; - int LITERAL_boolean = 79; - int LITERAL_byte = 80; - int LITERAL_char = 81; - int LITERAL_short = 82; - int LITERAL_int = 83; - int LITERAL_float = 84; - int LITERAL_long = 85; - int LITERAL_double = 86; - int STAR = 87; - int LITERAL_private = 88; - int LITERAL_public = 89; - int LITERAL_protected = 90; - int LITERAL_transient = 91; - int LITERAL_native = 92; - int LITERAL_threadsafe = 93; - int LITERAL_synchronized = 94; - int LITERAL_volatile = 95; - int AT = 96; - int LPAREN = 97; - int RPAREN = 98; - int ASSIGN = 99; - int LCURLY = 100; - int RCURLY = 101; - int LITERAL_class = 102; - int LITERAL_interface = 103; - int LITERAL_enum = 104; - int BAND = 105; - int LITERAL_default = 106; - int LITERAL_implements = 107; - int LITERAL_this = 108; - int LITERAL_throws = 109; - int TRIPLE_DOT = 110; - int COLON = 111; - int LITERAL_if = 112; - int LITERAL_else = 113; - int LITERAL_while = 114; - int LITERAL_do = 115; - int LITERAL_break = 116; - int LITERAL_continue = 117; - int LITERAL_return = 118; - int LITERAL_switch = 119; - int LITERAL_throw = 120; - int LITERAL_assert = 121; - int LITERAL_for = 122; - int LITERAL_case = 123; - int LITERAL_try = 124; - int LITERAL_finally = 125; - int LITERAL_catch = 126; - int PLUS_ASSIGN = 127; - int MINUS_ASSIGN = 128; - int STAR_ASSIGN = 129; - int DIV_ASSIGN = 130; - int MOD_ASSIGN = 131; - int SR_ASSIGN = 132; - int BSR_ASSIGN = 133; - int SL_ASSIGN = 134; - int BAND_ASSIGN = 135; - int BXOR_ASSIGN = 136; - int BOR_ASSIGN = 137; - int LOR = 138; - int LAND = 139; - int BOR = 140; - int BXOR = 141; - int NOT_EQUAL = 142; - int EQUAL = 143; - int LE = 144; - int GE = 145; - int LITERAL_instanceof = 146; - int SL = 147; - int PLUS = 148; - int MINUS = 149; - int DIV = 150; - int MOD = 151; - int INC = 152; - int DEC = 153; - int BNOT = 154; - int LNOT = 155; - int LITERAL_true = 156; - int LITERAL_false = 157; - int LITERAL_null = 158; - int LITERAL_new = 159; - int NUM_INT = 160; - int CHAR_LITERAL = 161; - int STRING_LITERAL = 162; - int NUM_FLOAT = 163; - int NUM_LONG = 164; - int NUM_DOUBLE = 165; - int WS = 166; - int SL_COMMENT = 167; - int ML_COMMENT = 168; - int ESC = 169; - int HEX_DIGIT = 170; - int VOCAB = 171; - int EXPONENT = 172; - int FLOAT_SUFFIX = 173; -} diff --git a/Java/Processing/processing-3.3.6/modes/java/generated/processing/mode/java/preproc/JavaTokenTypes.txt b/Java/Processing/processing-3.3.6/modes/java/generated/processing/mode/java/preproc/JavaTokenTypes.txt deleted file mode 100644 index 331537b..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/generated/processing/mode/java/preproc/JavaTokenTypes.txt +++ /dev/null @@ -1,172 +0,0 @@ -// $ANTLR 2.7.7 (2006-11-01): java15.g -> JavaTokenTypes.txt$ -Java // output token vocab name -BLOCK=4 -MODIFIERS=5 -OBJBLOCK=6 -SLIST=7 -CTOR_DEF=8 -METHOD_DEF=9 -VARIABLE_DEF=10 -INSTANCE_INIT=11 -STATIC_INIT=12 -TYPE=13 -CLASS_DEF=14 -INTERFACE_DEF=15 -PACKAGE_DEF=16 -ARRAY_DECLARATOR=17 -EXTENDS_CLAUSE=18 -IMPLEMENTS_CLAUSE=19 -PARAMETERS=20 -PARAMETER_DEF=21 -LABELED_STAT=22 -TYPECAST=23 -INDEX_OP=24 -POST_INC=25 -POST_DEC=26 -METHOD_CALL=27 -EXPR=28 -ARRAY_INIT=29 -IMPORT=30 -UNARY_MINUS=31 -UNARY_PLUS=32 -CASE_GROUP=33 -ELIST=34 -FOR_INIT=35 -FOR_CONDITION=36 -FOR_ITERATOR=37 -EMPTY_STAT=38 -FINAL="final"=39 -ABSTRACT="abstract"=40 -STRICTFP="strictfp"=41 -SUPER_CTOR_CALL=42 -CTOR_CALL=43 -VARIABLE_PARAMETER_DEF=44 -STATIC_IMPORT=45 -ENUM_DEF=46 -ENUM_CONSTANT_DEF=47 -FOR_EACH_CLAUSE=48 -ANNOTATION_DEF=49 -ANNOTATIONS=50 -ANNOTATION=51 -ANNOTATION_MEMBER_VALUE_PAIR=52 -ANNOTATION_FIELD_DEF=53 -ANNOTATION_ARRAY_INIT=54 -TYPE_ARGUMENTS=55 -TYPE_ARGUMENT=56 -TYPE_PARAMETERS=57 -TYPE_PARAMETER=58 -WILDCARD_TYPE=59 -TYPE_UPPER_BOUNDS=60 -TYPE_LOWER_BOUNDS=61 -LITERAL_package="package"=62 -SEMI=63 -LITERAL_import="import"=64 -LITERAL_static="static"=65 -LBRACK=66 -RBRACK=67 -IDENT=68 -DOT=69 -QUESTION=70 -LITERAL_extends="extends"=71 -LITERAL_super="super"=72 -LT=73 -COMMA=74 -GT=75 -SR=76 -BSR=77 -LITERAL_void="void"=78 -LITERAL_boolean="boolean"=79 -LITERAL_byte="byte"=80 -LITERAL_char="char"=81 -LITERAL_short="short"=82 -LITERAL_int="int"=83 -LITERAL_float="float"=84 -LITERAL_long="long"=85 -LITERAL_double="double"=86 -STAR=87 -LITERAL_private="private"=88 -LITERAL_public="public"=89 -LITERAL_protected="protected"=90 -LITERAL_transient="transient"=91 -LITERAL_native="native"=92 -LITERAL_threadsafe="threadsafe"=93 -LITERAL_synchronized="synchronized"=94 -LITERAL_volatile="volatile"=95 -AT=96 -LPAREN=97 -RPAREN=98 -ASSIGN=99 -LCURLY=100 -RCURLY=101 -LITERAL_class="class"=102 -LITERAL_interface="interface"=103 -LITERAL_enum="enum"=104 -BAND=105 -LITERAL_default="default"=106 -LITERAL_implements="implements"=107 -LITERAL_this="this"=108 -LITERAL_throws="throws"=109 -TRIPLE_DOT=110 -COLON=111 -LITERAL_if="if"=112 -LITERAL_else="else"=113 -LITERAL_while="while"=114 -LITERAL_do="do"=115 -LITERAL_break="break"=116 -LITERAL_continue="continue"=117 -LITERAL_return="return"=118 -LITERAL_switch="switch"=119 -LITERAL_throw="throw"=120 -LITERAL_assert="assert"=121 -LITERAL_for="for"=122 -LITERAL_case="case"=123 -LITERAL_try="try"=124 -LITERAL_finally="finally"=125 -LITERAL_catch="catch"=126 -PLUS_ASSIGN=127 -MINUS_ASSIGN=128 -STAR_ASSIGN=129 -DIV_ASSIGN=130 -MOD_ASSIGN=131 -SR_ASSIGN=132 -BSR_ASSIGN=133 -SL_ASSIGN=134 -BAND_ASSIGN=135 -BXOR_ASSIGN=136 -BOR_ASSIGN=137 -LOR=138 -LAND=139 -BOR=140 -BXOR=141 -NOT_EQUAL=142 -EQUAL=143 -LE=144 -GE=145 -LITERAL_instanceof="instanceof"=146 -SL=147 -PLUS=148 -MINUS=149 -DIV=150 -MOD=151 -INC=152 -DEC=153 -BNOT=154 -LNOT=155 -LITERAL_true="true"=156 -LITERAL_false="false"=157 -LITERAL_null="null"=158 -LITERAL_new="new"=159 -NUM_INT=160 -CHAR_LITERAL=161 -STRING_LITERAL=162 -NUM_FLOAT=163 -NUM_LONG=164 -NUM_DOUBLE=165 -WS=166 -SL_COMMENT=167 -ML_COMMENT=168 -ESC=169 -HEX_DIGIT=170 -VOCAB=171 -EXPONENT=172 -FLOAT_SUFFIX=173 diff --git a/Java/Processing/processing-3.3.6/modes/java/generated/processing/mode/java/preproc/PdeLexer.java b/Java/Processing/processing-3.3.6/modes/java/generated/processing/mode/java/preproc/PdeLexer.java deleted file mode 100644 index 4f8ed90..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/generated/processing/mode/java/preproc/PdeLexer.java +++ /dev/null @@ -1,2091 +0,0 @@ -// $ANTLR 2.7.7 (2006-11-01): "expandedpde.g" -> "PdeLexer.java"$ - -package processing.mode.java.preproc; - -import java.io.InputStream; -import antlr.TokenStreamException; -import antlr.TokenStreamIOException; -import antlr.TokenStreamRecognitionException; -import antlr.CharStreamException; -import antlr.CharStreamIOException; -import antlr.ANTLRException; -import java.io.Reader; -import java.util.Hashtable; -import antlr.CharScanner; -import antlr.InputBuffer; -import antlr.ByteBuffer; -import antlr.CharBuffer; -import antlr.Token; -import antlr.CommonToken; -import antlr.RecognitionException; -import antlr.NoViableAltForCharException; -import antlr.MismatchedCharException; -import antlr.TokenStream; -import antlr.ANTLRHashString; -import antlr.LexerSharedInputState; -import antlr.collections.impl.BitSet; -import antlr.SemanticException; - -public class PdeLexer extends antlr.CharScanner implements PdeTokenTypes, TokenStream - { - - /** flag for enabling the "assert" keyword */ - private boolean assertEnabled = true; - /** flag for enabling the "enum" keyword */ - private boolean enumEnabled = true; - - /** Enable the "assert" keyword */ - public void enableAssert(boolean shouldEnable) { assertEnabled = shouldEnable; } - /** Query the "assert" keyword state */ - public boolean isAssertEnabled() { return assertEnabled; } - /** Enable the "enum" keyword */ - public void enableEnum(boolean shouldEnable) { enumEnabled = shouldEnable; } - /** Query the "enum" keyword state */ - public boolean isEnumEnabled() { return enumEnabled; } -public PdeLexer(InputStream in) { - this(new ByteBuffer(in)); -} -public PdeLexer(Reader in) { - this(new CharBuffer(in)); -} -public PdeLexer(InputBuffer ib) { - this(new LexerSharedInputState(ib)); -} -public PdeLexer(LexerSharedInputState state) { - super(state); - caseSensitiveLiterals = true; - setCaseSensitive(true); - literals = new Hashtable(); - literals.put(new ANTLRHashString("color", this), new Integer(177)); - literals.put(new ANTLRHashString("byte", this), new Integer(80)); - literals.put(new ANTLRHashString("public", this), new Integer(89)); - literals.put(new ANTLRHashString("case", this), new Integer(123)); - literals.put(new ANTLRHashString("short", this), new Integer(82)); - literals.put(new ANTLRHashString("break", this), new Integer(116)); - literals.put(new ANTLRHashString("while", this), new Integer(114)); - literals.put(new ANTLRHashString("new", this), new Integer(159)); - literals.put(new ANTLRHashString("instanceof", this), new Integer(146)); - literals.put(new ANTLRHashString("implements", this), new Integer(107)); - literals.put(new ANTLRHashString("synchronized", this), new Integer(94)); - literals.put(new ANTLRHashString("float", this), new Integer(84)); - literals.put(new ANTLRHashString("package", this), new Integer(62)); - literals.put(new ANTLRHashString("return", this), new Integer(118)); - literals.put(new ANTLRHashString("throw", this), new Integer(120)); - literals.put(new ANTLRHashString("null", this), new Integer(158)); - literals.put(new ANTLRHashString("threadsafe", this), new Integer(93)); - literals.put(new ANTLRHashString("protected", this), new Integer(90)); - literals.put(new ANTLRHashString("class", this), new Integer(102)); - literals.put(new ANTLRHashString("throws", this), new Integer(109)); - literals.put(new ANTLRHashString("do", this), new Integer(115)); - literals.put(new ANTLRHashString("strictfp", this), new Integer(41)); - literals.put(new ANTLRHashString("super", this), new Integer(72)); - literals.put(new ANTLRHashString("transient", this), new Integer(91)); - literals.put(new ANTLRHashString("native", this), new Integer(92)); - literals.put(new ANTLRHashString("interface", this), new Integer(103)); - literals.put(new ANTLRHashString("final", this), new Integer(39)); - literals.put(new ANTLRHashString("if", this), new Integer(112)); - literals.put(new ANTLRHashString("double", this), new Integer(86)); - literals.put(new ANTLRHashString("volatile", this), new Integer(95)); - literals.put(new ANTLRHashString("assert", this), new Integer(121)); - literals.put(new ANTLRHashString("catch", this), new Integer(126)); - literals.put(new ANTLRHashString("try", this), new Integer(124)); - literals.put(new ANTLRHashString("enum", this), new Integer(104)); - literals.put(new ANTLRHashString("int", this), new Integer(83)); - literals.put(new ANTLRHashString("for", this), new Integer(122)); - literals.put(new ANTLRHashString("extends", this), new Integer(71)); - literals.put(new ANTLRHashString("boolean", this), new Integer(79)); - literals.put(new ANTLRHashString("char", this), new Integer(81)); - literals.put(new ANTLRHashString("private", this), new Integer(88)); - literals.put(new ANTLRHashString("default", this), new Integer(106)); - literals.put(new ANTLRHashString("false", this), new Integer(157)); - literals.put(new ANTLRHashString("this", this), new Integer(108)); - literals.put(new ANTLRHashString("static", this), new Integer(65)); - literals.put(new ANTLRHashString("abstract", this), new Integer(40)); - literals.put(new ANTLRHashString("continue", this), new Integer(117)); - literals.put(new ANTLRHashString("finally", this), new Integer(125)); - literals.put(new ANTLRHashString("else", this), new Integer(113)); - literals.put(new ANTLRHashString("import", this), new Integer(64)); - literals.put(new ANTLRHashString("void", this), new Integer(78)); - literals.put(new ANTLRHashString("switch", this), new Integer(119)); - literals.put(new ANTLRHashString("true", this), new Integer(156)); - literals.put(new ANTLRHashString("long", this), new Integer(85)); -} - -public Token nextToken() throws TokenStreamException { - Token theRetToken=null; -tryAgain: - for (;;) { - Token _token = null; - int _ttype = Token.INVALID_TYPE; - resetText(); - try { // for char stream error handling - try { // for lexical error handling - switch ( LA(1)) { - case '\t': case '\n': case '\u000c': case '\r': - case ' ': - { - mWS(true); - theRetToken=_returnToken; - break; - } - case '#': - { - mWEBCOLOR_LITERAL(true); - theRetToken=_returnToken; - break; - } - case '?': - { - mQUESTION(true); - theRetToken=_returnToken; - break; - } - case '(': - { - mLPAREN(true); - theRetToken=_returnToken; - break; - } - case ')': - { - mRPAREN(true); - theRetToken=_returnToken; - break; - } - case '[': - { - mLBRACK(true); - theRetToken=_returnToken; - break; - } - case ']': - { - mRBRACK(true); - theRetToken=_returnToken; - break; - } - case '{': - { - mLCURLY(true); - theRetToken=_returnToken; - break; - } - case '}': - { - mRCURLY(true); - theRetToken=_returnToken; - break; - } - case ':': - { - mCOLON(true); - theRetToken=_returnToken; - break; - } - case ',': - { - mCOMMA(true); - theRetToken=_returnToken; - break; - } - case '~': - { - mBNOT(true); - theRetToken=_returnToken; - break; - } - case ';': - { - mSEMI(true); - theRetToken=_returnToken; - break; - } - case '\'': - { - mCHAR_LITERAL(true); - theRetToken=_returnToken; - break; - } - case '"': - { - mSTRING_LITERAL(true); - theRetToken=_returnToken; - break; - } - case '$': case 'A': case 'B': case 'C': - case 'D': case 'E': case 'F': case 'G': - case 'H': case 'I': case 'J': case 'K': - case 'L': case 'M': case 'N': case 'O': - case 'P': case 'Q': case 'R': case 'S': - case 'T': case 'U': case 'V': case 'W': - case 'X': case 'Y': case 'Z': case '_': - case 'a': case 'b': case 'c': case 'd': - case 'e': case 'f': case 'g': case 'h': - case 'i': case 'j': case 'k': case 'l': - case 'm': case 'n': case 'o': case 'p': - case 'q': case 'r': case 's': case 't': - case 'u': case 'v': case 'w': case 'x': - case 'y': case 'z': - { - mIDENT(true); - theRetToken=_returnToken; - break; - } - case '.': case '0': case '1': case '2': - case '3': case '4': case '5': case '6': - case '7': case '8': case '9': - { - mNUM_INT(true); - theRetToken=_returnToken; - break; - } - case '@': - { - mAT(true); - theRetToken=_returnToken; - break; - } - default: - if ((LA(1)=='>') && (LA(2)=='>') && (LA(3)=='>') && (LA(4)=='=')) { - mBSR_ASSIGN(true); - theRetToken=_returnToken; - } - else if ((LA(1)=='>') && (LA(2)=='>') && (LA(3)=='=')) { - mSR_ASSIGN(true); - theRetToken=_returnToken; - } - else if ((LA(1)=='>') && (LA(2)=='>') && (LA(3)=='>') && (true)) { - mBSR(true); - theRetToken=_returnToken; - } - else if ((LA(1)=='<') && (LA(2)=='<') && (LA(3)=='=')) { - mSL_ASSIGN(true); - theRetToken=_returnToken; - } - else if ((LA(1)=='/') && (LA(2)=='/')) { - mSL_COMMENT(true); - theRetToken=_returnToken; - } - else if ((LA(1)=='/') && (LA(2)=='*')) { - mML_COMMENT(true); - theRetToken=_returnToken; - } - else if ((LA(1)=='=') && (LA(2)=='=')) { - mEQUAL(true); - theRetToken=_returnToken; - } - else if ((LA(1)=='!') && (LA(2)=='=')) { - mNOT_EQUAL(true); - theRetToken=_returnToken; - } - else if ((LA(1)=='/') && (LA(2)=='=')) { - mDIV_ASSIGN(true); - theRetToken=_returnToken; - } - else if ((LA(1)=='+') && (LA(2)=='=')) { - mPLUS_ASSIGN(true); - theRetToken=_returnToken; - } - else if ((LA(1)=='+') && (LA(2)=='+')) { - mINC(true); - theRetToken=_returnToken; - } - else if ((LA(1)=='-') && (LA(2)=='=')) { - mMINUS_ASSIGN(true); - theRetToken=_returnToken; - } - else if ((LA(1)=='-') && (LA(2)=='-')) { - mDEC(true); - theRetToken=_returnToken; - } - else if ((LA(1)=='*') && (LA(2)=='=')) { - mSTAR_ASSIGN(true); - theRetToken=_returnToken; - } - else if ((LA(1)=='%') && (LA(2)=='=')) { - mMOD_ASSIGN(true); - theRetToken=_returnToken; - } - else if ((LA(1)=='>') && (LA(2)=='>') && (true)) { - mSR(true); - theRetToken=_returnToken; - } - else if ((LA(1)=='>') && (LA(2)=='=')) { - mGE(true); - theRetToken=_returnToken; - } - else if ((LA(1)=='<') && (LA(2)=='<') && (true)) { - mSL(true); - theRetToken=_returnToken; - } - else if ((LA(1)=='<') && (LA(2)=='=')) { - mLE(true); - theRetToken=_returnToken; - } - else if ((LA(1)=='^') && (LA(2)=='=')) { - mBXOR_ASSIGN(true); - theRetToken=_returnToken; - } - else if ((LA(1)=='|') && (LA(2)=='=')) { - mBOR_ASSIGN(true); - theRetToken=_returnToken; - } - else if ((LA(1)=='|') && (LA(2)=='|')) { - mLOR(true); - theRetToken=_returnToken; - } - else if ((LA(1)=='&') && (LA(2)=='=')) { - mBAND_ASSIGN(true); - theRetToken=_returnToken; - } - else if ((LA(1)=='&') && (LA(2)=='&')) { - mLAND(true); - theRetToken=_returnToken; - } - else if ((LA(1)=='=') && (true)) { - mASSIGN(true); - theRetToken=_returnToken; - } - else if ((LA(1)=='!') && (true)) { - mLNOT(true); - theRetToken=_returnToken; - } - else if ((LA(1)=='/') && (true)) { - mDIV(true); - theRetToken=_returnToken; - } - else if ((LA(1)=='+') && (true)) { - mPLUS(true); - theRetToken=_returnToken; - } - else if ((LA(1)=='-') && (true)) { - mMINUS(true); - theRetToken=_returnToken; - } - else if ((LA(1)=='*') && (true)) { - mSTAR(true); - theRetToken=_returnToken; - } - else if ((LA(1)=='%') && (true)) { - mMOD(true); - theRetToken=_returnToken; - } - else if ((LA(1)=='>') && (true)) { - mGT(true); - theRetToken=_returnToken; - } - else if ((LA(1)=='<') && (true)) { - mLT(true); - theRetToken=_returnToken; - } - else if ((LA(1)=='^') && (true)) { - mBXOR(true); - theRetToken=_returnToken; - } - else if ((LA(1)=='|') && (true)) { - mBOR(true); - theRetToken=_returnToken; - } - else if ((LA(1)=='&') && (true)) { - mBAND(true); - theRetToken=_returnToken; - } - else { - if (LA(1)==EOF_CHAR) {uponEOF(); _returnToken = makeToken(Token.EOF_TYPE);} - else {throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());} - } - } - if ( _returnToken==null ) continue tryAgain; // found SKIP token - _ttype = _returnToken.getType(); - _returnToken.setType(_ttype); - return _returnToken; - } - catch (RecognitionException e) { - throw new TokenStreamRecognitionException(e); - } - } - catch (CharStreamException cse) { - if ( cse instanceof CharStreamIOException ) { - throw new TokenStreamIOException(((CharStreamIOException)cse).io); - } - else { - throw new TokenStreamException(cse.getMessage()); - } - } - } -} - - public final void mWS(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { - int _ttype; Token _token=null; int _begin=text.length(); - _ttype = WS; - int _saveIndex; - - { - int _cnt349=0; - _loop349: - do { - switch ( LA(1)) { - case ' ': - { - match(' '); - break; - } - case '\t': - { - match('\t'); - break; - } - case '\u000c': - { - match('\f'); - break; - } - case '\n': case '\r': - { - { - if ((LA(1)=='\r') && (LA(2)=='\n') && (true) && (true)) { - match("\r\n"); - } - else if ((LA(1)=='\r') && (true) && (true) && (true)) { - match('\r'); - } - else if ((LA(1)=='\n')) { - match('\n'); - } - else { - throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn()); - } - - } - if ( inputState.guessing==0 ) { - newline(); - } - break; - } - default: - { - if ( _cnt349>=1 ) { break _loop349; } else {throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());} - } - } - _cnt349++; - } while (true); - } - if ( _createToken && _token==null && _ttype!=Token.SKIP ) { - _token = makeToken(_ttype); - _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); - } - _returnToken = _token; - } - - public final void mSL_COMMENT(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { - int _ttype; Token _token=null; int _begin=text.length(); - _ttype = SL_COMMENT; - int _saveIndex; - - match("//"); - { - _loop353: - do { - if ((_tokenSet_0.member(LA(1)))) { - { - match(_tokenSet_0); - } - } - else { - break _loop353; - } - - } while (true); - } - { - switch ( LA(1)) { - case '\n': - { - match('\n'); - break; - } - case '\r': - { - match('\r'); - { - if ((LA(1)=='\n')) { - match('\n'); - } - else { - } - - } - break; - } - default: - { - throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn()); - } - } - } - if ( inputState.guessing==0 ) { - newline(); - } - if ( _createToken && _token==null && _ttype!=Token.SKIP ) { - _token = makeToken(_ttype); - _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); - } - _returnToken = _token; - } - - public final void mML_COMMENT(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { - int _ttype; Token _token=null; int _begin=text.length(); - _ttype = ML_COMMENT; - int _saveIndex; - - match("/*"); - { - _loop359: - do { - if ((LA(1)=='\r') && (LA(2)=='\n') && ((LA(3) >= '\u0003' && LA(3) <= '\uffff')) && ((LA(4) >= '\u0003' && LA(4) <= '\uffff'))) { - match('\r'); - match('\n'); - if ( inputState.guessing==0 ) { - newline(); - } - } - else if (((LA(1)=='*') && ((LA(2) >= '\u0003' && LA(2) <= '\uffff')) && ((LA(3) >= '\u0003' && LA(3) <= '\uffff')))&&( LA(2)!='/' )) { - match('*'); - } - else if ((LA(1)=='\r') && ((LA(2) >= '\u0003' && LA(2) <= '\uffff')) && ((LA(3) >= '\u0003' && LA(3) <= '\uffff')) && (true)) { - match('\r'); - if ( inputState.guessing==0 ) { - newline(); - } - } - else if ((LA(1)=='\n')) { - match('\n'); - if ( inputState.guessing==0 ) { - newline(); - } - } - else if ((_tokenSet_1.member(LA(1)))) { - { - match(_tokenSet_1); - } - } - else { - break _loop359; - } - - } while (true); - } - match("*/"); - if ( _createToken && _token==null && _ttype!=Token.SKIP ) { - _token = makeToken(_ttype); - _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); - } - _returnToken = _token; - } - - public final void mWEBCOLOR_LITERAL(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { - int _ttype; Token _token=null; int _begin=text.length(); - _ttype = WEBCOLOR_LITERAL; - int _saveIndex; - - _saveIndex=text.length(); - match('#'); - text.setLength(_saveIndex); - { - int _cnt362=0; - _loop362: - do { - if ((_tokenSet_2.member(LA(1)))) { - mHEX_DIGIT(false); - } - else { - if ( _cnt362>=1 ) { break _loop362; } else {throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());} - } - - _cnt362++; - } while (true); - } - if ( _createToken && _token==null && _ttype!=Token.SKIP ) { - _token = makeToken(_ttype); - _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); - } - _returnToken = _token; - } - - protected final void mHEX_DIGIT(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { - int _ttype; Token _token=null; int _begin=text.length(); - _ttype = HEX_DIGIT; - int _saveIndex; - - { - switch ( LA(1)) { - case '0': case '1': case '2': case '3': - case '4': case '5': case '6': case '7': - case '8': case '9': - { - matchRange('0','9'); - break; - } - case 'A': case 'B': case 'C': case 'D': - case 'E': case 'F': - { - matchRange('A','F'); - break; - } - case 'a': case 'b': case 'c': case 'd': - case 'e': case 'f': - { - matchRange('a','f'); - break; - } - default: - { - throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn()); - } - } - } - if ( _createToken && _token==null && _ttype!=Token.SKIP ) { - _token = makeToken(_ttype); - _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); - } - _returnToken = _token; - } - - public final void mQUESTION(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { - int _ttype; Token _token=null; int _begin=text.length(); - _ttype = QUESTION; - int _saveIndex; - - match('?'); - if ( _createToken && _token==null && _ttype!=Token.SKIP ) { - _token = makeToken(_ttype); - _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); - } - _returnToken = _token; - } - - public final void mLPAREN(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { - int _ttype; Token _token=null; int _begin=text.length(); - _ttype = LPAREN; - int _saveIndex; - - match('('); - if ( _createToken && _token==null && _ttype!=Token.SKIP ) { - _token = makeToken(_ttype); - _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); - } - _returnToken = _token; - } - - public final void mRPAREN(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { - int _ttype; Token _token=null; int _begin=text.length(); - _ttype = RPAREN; - int _saveIndex; - - match(')'); - if ( _createToken && _token==null && _ttype!=Token.SKIP ) { - _token = makeToken(_ttype); - _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); - } - _returnToken = _token; - } - - public final void mLBRACK(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { - int _ttype; Token _token=null; int _begin=text.length(); - _ttype = LBRACK; - int _saveIndex; - - match('['); - if ( _createToken && _token==null && _ttype!=Token.SKIP ) { - _token = makeToken(_ttype); - _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); - } - _returnToken = _token; - } - - public final void mRBRACK(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { - int _ttype; Token _token=null; int _begin=text.length(); - _ttype = RBRACK; - int _saveIndex; - - match(']'); - if ( _createToken && _token==null && _ttype!=Token.SKIP ) { - _token = makeToken(_ttype); - _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); - } - _returnToken = _token; - } - - public final void mLCURLY(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { - int _ttype; Token _token=null; int _begin=text.length(); - _ttype = LCURLY; - int _saveIndex; - - match('{'); - if ( _createToken && _token==null && _ttype!=Token.SKIP ) { - _token = makeToken(_ttype); - _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); - } - _returnToken = _token; - } - - public final void mRCURLY(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { - int _ttype; Token _token=null; int _begin=text.length(); - _ttype = RCURLY; - int _saveIndex; - - match('}'); - if ( _createToken && _token==null && _ttype!=Token.SKIP ) { - _token = makeToken(_ttype); - _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); - } - _returnToken = _token; - } - - public final void mCOLON(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { - int _ttype; Token _token=null; int _begin=text.length(); - _ttype = COLON; - int _saveIndex; - - match(':'); - if ( _createToken && _token==null && _ttype!=Token.SKIP ) { - _token = makeToken(_ttype); - _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); - } - _returnToken = _token; - } - - public final void mCOMMA(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { - int _ttype; Token _token=null; int _begin=text.length(); - _ttype = COMMA; - int _saveIndex; - - match(','); - if ( _createToken && _token==null && _ttype!=Token.SKIP ) { - _token = makeToken(_ttype); - _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); - } - _returnToken = _token; - } - - public final void mASSIGN(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { - int _ttype; Token _token=null; int _begin=text.length(); - _ttype = ASSIGN; - int _saveIndex; - - match('='); - if ( _createToken && _token==null && _ttype!=Token.SKIP ) { - _token = makeToken(_ttype); - _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); - } - _returnToken = _token; - } - - public final void mEQUAL(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { - int _ttype; Token _token=null; int _begin=text.length(); - _ttype = EQUAL; - int _saveIndex; - - match("=="); - if ( _createToken && _token==null && _ttype!=Token.SKIP ) { - _token = makeToken(_ttype); - _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); - } - _returnToken = _token; - } - - public final void mLNOT(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { - int _ttype; Token _token=null; int _begin=text.length(); - _ttype = LNOT; - int _saveIndex; - - match('!'); - if ( _createToken && _token==null && _ttype!=Token.SKIP ) { - _token = makeToken(_ttype); - _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); - } - _returnToken = _token; - } - - public final void mBNOT(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { - int _ttype; Token _token=null; int _begin=text.length(); - _ttype = BNOT; - int _saveIndex; - - match('~'); - if ( _createToken && _token==null && _ttype!=Token.SKIP ) { - _token = makeToken(_ttype); - _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); - } - _returnToken = _token; - } - - public final void mNOT_EQUAL(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { - int _ttype; Token _token=null; int _begin=text.length(); - _ttype = NOT_EQUAL; - int _saveIndex; - - match("!="); - if ( _createToken && _token==null && _ttype!=Token.SKIP ) { - _token = makeToken(_ttype); - _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); - } - _returnToken = _token; - } - - public final void mDIV(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { - int _ttype; Token _token=null; int _begin=text.length(); - _ttype = DIV; - int _saveIndex; - - match('/'); - if ( _createToken && _token==null && _ttype!=Token.SKIP ) { - _token = makeToken(_ttype); - _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); - } - _returnToken = _token; - } - - public final void mDIV_ASSIGN(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { - int _ttype; Token _token=null; int _begin=text.length(); - _ttype = DIV_ASSIGN; - int _saveIndex; - - match("/="); - if ( _createToken && _token==null && _ttype!=Token.SKIP ) { - _token = makeToken(_ttype); - _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); - } - _returnToken = _token; - } - - public final void mPLUS(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { - int _ttype; Token _token=null; int _begin=text.length(); - _ttype = PLUS; - int _saveIndex; - - match('+'); - if ( _createToken && _token==null && _ttype!=Token.SKIP ) { - _token = makeToken(_ttype); - _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); - } - _returnToken = _token; - } - - public final void mPLUS_ASSIGN(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { - int _ttype; Token _token=null; int _begin=text.length(); - _ttype = PLUS_ASSIGN; - int _saveIndex; - - match("+="); - if ( _createToken && _token==null && _ttype!=Token.SKIP ) { - _token = makeToken(_ttype); - _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); - } - _returnToken = _token; - } - - public final void mINC(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { - int _ttype; Token _token=null; int _begin=text.length(); - _ttype = INC; - int _saveIndex; - - match("++"); - if ( _createToken && _token==null && _ttype!=Token.SKIP ) { - _token = makeToken(_ttype); - _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); - } - _returnToken = _token; - } - - public final void mMINUS(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { - int _ttype; Token _token=null; int _begin=text.length(); - _ttype = MINUS; - int _saveIndex; - - match('-'); - if ( _createToken && _token==null && _ttype!=Token.SKIP ) { - _token = makeToken(_ttype); - _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); - } - _returnToken = _token; - } - - public final void mMINUS_ASSIGN(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { - int _ttype; Token _token=null; int _begin=text.length(); - _ttype = MINUS_ASSIGN; - int _saveIndex; - - match("-="); - if ( _createToken && _token==null && _ttype!=Token.SKIP ) { - _token = makeToken(_ttype); - _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); - } - _returnToken = _token; - } - - public final void mDEC(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { - int _ttype; Token _token=null; int _begin=text.length(); - _ttype = DEC; - int _saveIndex; - - match("--"); - if ( _createToken && _token==null && _ttype!=Token.SKIP ) { - _token = makeToken(_ttype); - _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); - } - _returnToken = _token; - } - - public final void mSTAR(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { - int _ttype; Token _token=null; int _begin=text.length(); - _ttype = STAR; - int _saveIndex; - - match('*'); - if ( _createToken && _token==null && _ttype!=Token.SKIP ) { - _token = makeToken(_ttype); - _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); - } - _returnToken = _token; - } - - public final void mSTAR_ASSIGN(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { - int _ttype; Token _token=null; int _begin=text.length(); - _ttype = STAR_ASSIGN; - int _saveIndex; - - match("*="); - if ( _createToken && _token==null && _ttype!=Token.SKIP ) { - _token = makeToken(_ttype); - _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); - } - _returnToken = _token; - } - - public final void mMOD(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { - int _ttype; Token _token=null; int _begin=text.length(); - _ttype = MOD; - int _saveIndex; - - match('%'); - if ( _createToken && _token==null && _ttype!=Token.SKIP ) { - _token = makeToken(_ttype); - _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); - } - _returnToken = _token; - } - - public final void mMOD_ASSIGN(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { - int _ttype; Token _token=null; int _begin=text.length(); - _ttype = MOD_ASSIGN; - int _saveIndex; - - match("%="); - if ( _createToken && _token==null && _ttype!=Token.SKIP ) { - _token = makeToken(_ttype); - _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); - } - _returnToken = _token; - } - - public final void mSR(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { - int _ttype; Token _token=null; int _begin=text.length(); - _ttype = SR; - int _saveIndex; - - match(">>"); - if ( _createToken && _token==null && _ttype!=Token.SKIP ) { - _token = makeToken(_ttype); - _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); - } - _returnToken = _token; - } - - public final void mSR_ASSIGN(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { - int _ttype; Token _token=null; int _begin=text.length(); - _ttype = SR_ASSIGN; - int _saveIndex; - - match(">>="); - if ( _createToken && _token==null && _ttype!=Token.SKIP ) { - _token = makeToken(_ttype); - _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); - } - _returnToken = _token; - } - - public final void mBSR(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { - int _ttype; Token _token=null; int _begin=text.length(); - _ttype = BSR; - int _saveIndex; - - match(">>>"); - if ( _createToken && _token==null && _ttype!=Token.SKIP ) { - _token = makeToken(_ttype); - _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); - } - _returnToken = _token; - } - - public final void mBSR_ASSIGN(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { - int _ttype; Token _token=null; int _begin=text.length(); - _ttype = BSR_ASSIGN; - int _saveIndex; - - match(">>>="); - if ( _createToken && _token==null && _ttype!=Token.SKIP ) { - _token = makeToken(_ttype); - _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); - } - _returnToken = _token; - } - - public final void mGE(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { - int _ttype; Token _token=null; int _begin=text.length(); - _ttype = GE; - int _saveIndex; - - match(">="); - if ( _createToken && _token==null && _ttype!=Token.SKIP ) { - _token = makeToken(_ttype); - _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); - } - _returnToken = _token; - } - - public final void mGT(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { - int _ttype; Token _token=null; int _begin=text.length(); - _ttype = GT; - int _saveIndex; - - match(">"); - if ( _createToken && _token==null && _ttype!=Token.SKIP ) { - _token = makeToken(_ttype); - _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); - } - _returnToken = _token; - } - - public final void mSL(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { - int _ttype; Token _token=null; int _begin=text.length(); - _ttype = SL; - int _saveIndex; - - match("<<"); - if ( _createToken && _token==null && _ttype!=Token.SKIP ) { - _token = makeToken(_ttype); - _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); - } - _returnToken = _token; - } - - public final void mSL_ASSIGN(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { - int _ttype; Token _token=null; int _begin=text.length(); - _ttype = SL_ASSIGN; - int _saveIndex; - - match("<<="); - if ( _createToken && _token==null && _ttype!=Token.SKIP ) { - _token = makeToken(_ttype); - _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); - } - _returnToken = _token; - } - - public final void mLE(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { - int _ttype; Token _token=null; int _begin=text.length(); - _ttype = LE; - int _saveIndex; - - match("<="); - if ( _createToken && _token==null && _ttype!=Token.SKIP ) { - _token = makeToken(_ttype); - _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); - } - _returnToken = _token; - } - - public final void mLT(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { - int _ttype; Token _token=null; int _begin=text.length(); - _ttype = LT; - int _saveIndex; - - match('<'); - if ( _createToken && _token==null && _ttype!=Token.SKIP ) { - _token = makeToken(_ttype); - _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); - } - _returnToken = _token; - } - - public final void mBXOR(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { - int _ttype; Token _token=null; int _begin=text.length(); - _ttype = BXOR; - int _saveIndex; - - match('^'); - if ( _createToken && _token==null && _ttype!=Token.SKIP ) { - _token = makeToken(_ttype); - _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); - } - _returnToken = _token; - } - - public final void mBXOR_ASSIGN(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { - int _ttype; Token _token=null; int _begin=text.length(); - _ttype = BXOR_ASSIGN; - int _saveIndex; - - match("^="); - if ( _createToken && _token==null && _ttype!=Token.SKIP ) { - _token = makeToken(_ttype); - _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); - } - _returnToken = _token; - } - - public final void mBOR(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { - int _ttype; Token _token=null; int _begin=text.length(); - _ttype = BOR; - int _saveIndex; - - match('|'); - if ( _createToken && _token==null && _ttype!=Token.SKIP ) { - _token = makeToken(_ttype); - _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); - } - _returnToken = _token; - } - - public final void mBOR_ASSIGN(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { - int _ttype; Token _token=null; int _begin=text.length(); - _ttype = BOR_ASSIGN; - int _saveIndex; - - match("|="); - if ( _createToken && _token==null && _ttype!=Token.SKIP ) { - _token = makeToken(_ttype); - _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); - } - _returnToken = _token; - } - - public final void mLOR(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { - int _ttype; Token _token=null; int _begin=text.length(); - _ttype = LOR; - int _saveIndex; - - match("||"); - if ( _createToken && _token==null && _ttype!=Token.SKIP ) { - _token = makeToken(_ttype); - _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); - } - _returnToken = _token; - } - - public final void mBAND(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { - int _ttype; Token _token=null; int _begin=text.length(); - _ttype = BAND; - int _saveIndex; - - match('&'); - if ( _createToken && _token==null && _ttype!=Token.SKIP ) { - _token = makeToken(_ttype); - _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); - } - _returnToken = _token; - } - - public final void mBAND_ASSIGN(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { - int _ttype; Token _token=null; int _begin=text.length(); - _ttype = BAND_ASSIGN; - int _saveIndex; - - match("&="); - if ( _createToken && _token==null && _ttype!=Token.SKIP ) { - _token = makeToken(_ttype); - _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); - } - _returnToken = _token; - } - - public final void mLAND(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { - int _ttype; Token _token=null; int _begin=text.length(); - _ttype = LAND; - int _saveIndex; - - match("&&"); - if ( _createToken && _token==null && _ttype!=Token.SKIP ) { - _token = makeToken(_ttype); - _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); - } - _returnToken = _token; - } - - public final void mSEMI(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { - int _ttype; Token _token=null; int _begin=text.length(); - _ttype = SEMI; - int _saveIndex; - - match(';'); - if ( _createToken && _token==null && _ttype!=Token.SKIP ) { - _token = makeToken(_ttype); - _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); - } - _returnToken = _token; - } - - public final void mCHAR_LITERAL(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { - int _ttype; Token _token=null; int _begin=text.length(); - _ttype = CHAR_LITERAL; - int _saveIndex; - - match('\''); - { - if ((LA(1)=='\\')) { - mESC(false); - } - else if ((_tokenSet_3.member(LA(1)))) { - { - match(_tokenSet_3); - } - } - else { - throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn()); - } - - } - match('\''); - if ( _createToken && _token==null && _ttype!=Token.SKIP ) { - _token = makeToken(_ttype); - _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); - } - _returnToken = _token; - } - - protected final void mESC(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { - int _ttype; Token _token=null; int _begin=text.length(); - _ttype = ESC; - int _saveIndex; - - match('\\'); - { - switch ( LA(1)) { - case 'n': - { - match('n'); - break; - } - case 'r': - { - match('r'); - break; - } - case 't': - { - match('t'); - break; - } - case 'b': - { - match('b'); - break; - } - case 'f': - { - match('f'); - break; - } - case '"': - { - match('"'); - break; - } - case '\'': - { - match('\''); - break; - } - case '\\': - { - match('\\'); - break; - } - case 'u': - { - { - int _cnt418=0; - _loop418: - do { - if ((LA(1)=='u')) { - match('u'); - } - else { - if ( _cnt418>=1 ) { break _loop418; } else {throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());} - } - - _cnt418++; - } while (true); - } - mHEX_DIGIT(false); - mHEX_DIGIT(false); - mHEX_DIGIT(false); - mHEX_DIGIT(false); - break; - } - case '0': case '1': case '2': case '3': - { - matchRange('0','3'); - { - if (((LA(1) >= '0' && LA(1) <= '7')) && (_tokenSet_0.member(LA(2))) && (true) && (true)) { - matchRange('0','7'); - { - if (((LA(1) >= '0' && LA(1) <= '7')) && (_tokenSet_0.member(LA(2))) && (true) && (true)) { - matchRange('0','7'); - } - else if ((_tokenSet_0.member(LA(1))) && (true) && (true) && (true)) { - } - else { - throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn()); - } - - } - } - else if ((_tokenSet_0.member(LA(1))) && (true) && (true) && (true)) { - } - else { - throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn()); - } - - } - break; - } - case '4': case '5': case '6': case '7': - { - matchRange('4','7'); - { - if (((LA(1) >= '0' && LA(1) <= '7')) && (_tokenSet_0.member(LA(2))) && (true) && (true)) { - matchRange('0','7'); - } - else if ((_tokenSet_0.member(LA(1))) && (true) && (true) && (true)) { - } - else { - throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn()); - } - - } - break; - } - default: - { - throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn()); - } - } - } - if ( _createToken && _token==null && _ttype!=Token.SKIP ) { - _token = makeToken(_ttype); - _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); - } - _returnToken = _token; - } - - public final void mSTRING_LITERAL(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { - int _ttype; Token _token=null; int _begin=text.length(); - _ttype = STRING_LITERAL; - int _saveIndex; - - match('"'); - { - _loop414: - do { - if ((LA(1)=='\\')) { - mESC(false); - } - else if ((_tokenSet_4.member(LA(1)))) { - { - match(_tokenSet_4); - } - } - else { - break _loop414; - } - - } while (true); - } - match('"'); - if ( _createToken && _token==null && _ttype!=Token.SKIP ) { - _token = makeToken(_ttype); - _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); - } - _returnToken = _token; - } - - protected final void mVOCAB(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { - int _ttype; Token _token=null; int _begin=text.length(); - _ttype = VOCAB; - int _saveIndex; - - matchRange('\3','\377'); - if ( _createToken && _token==null && _ttype!=Token.SKIP ) { - _token = makeToken(_ttype); - _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); - } - _returnToken = _token; - } - - public final void mIDENT(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { - int _ttype; Token _token=null; int _begin=text.length(); - _ttype = IDENT; - int _saveIndex; - - { - switch ( LA(1)) { - case 'a': case 'b': case 'c': case 'd': - case 'e': case 'f': case 'g': case 'h': - case 'i': case 'j': case 'k': case 'l': - case 'm': case 'n': case 'o': case 'p': - case 'q': case 'r': case 's': case 't': - case 'u': case 'v': case 'w': case 'x': - case 'y': case 'z': - { - matchRange('a','z'); - break; - } - case 'A': case 'B': case 'C': case 'D': - case 'E': case 'F': case 'G': case 'H': - case 'I': case 'J': case 'K': case 'L': - case 'M': case 'N': case 'O': case 'P': - case 'Q': case 'R': case 'S': case 'T': - case 'U': case 'V': case 'W': case 'X': - case 'Y': case 'Z': - { - matchRange('A','Z'); - break; - } - case '_': - { - match('_'); - break; - } - case '$': - { - match('$'); - break; - } - default: - { - throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn()); - } - } - } - { - _loop428: - do { - switch ( LA(1)) { - case 'a': case 'b': case 'c': case 'd': - case 'e': case 'f': case 'g': case 'h': - case 'i': case 'j': case 'k': case 'l': - case 'm': case 'n': case 'o': case 'p': - case 'q': case 'r': case 's': case 't': - case 'u': case 'v': case 'w': case 'x': - case 'y': case 'z': - { - matchRange('a','z'); - break; - } - case 'A': case 'B': case 'C': case 'D': - case 'E': case 'F': case 'G': case 'H': - case 'I': case 'J': case 'K': case 'L': - case 'M': case 'N': case 'O': case 'P': - case 'Q': case 'R': case 'S': case 'T': - case 'U': case 'V': case 'W': case 'X': - case 'Y': case 'Z': - { - matchRange('A','Z'); - break; - } - case '_': - { - match('_'); - break; - } - case '0': case '1': case '2': case '3': - case '4': case '5': case '6': case '7': - case '8': case '9': - { - matchRange('0','9'); - break; - } - case '$': - { - match('$'); - break; - } - default: - { - break _loop428; - } - } - } while (true); - } - if ( inputState.guessing==0 ) { - - // check if "assert" keyword is enabled - if (assertEnabled && "assert".equals(new String(text.getBuffer(),_begin,text.length()-_begin))) { - _ttype = LITERAL_assert; // set token type for the rule in the parser - } - // check if "enum" keyword is enabled - if (enumEnabled && "enum".equals(new String(text.getBuffer(),_begin,text.length()-_begin))) { - _ttype = LITERAL_enum; // set token type for the rule in the parser - } - - } - _ttype = testLiteralsTable(_ttype); - if ( _createToken && _token==null && _ttype!=Token.SKIP ) { - _token = makeToken(_ttype); - _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); - } - _returnToken = _token; - } - - public final void mNUM_INT(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { - int _ttype; Token _token=null; int _begin=text.length(); - _ttype = NUM_INT; - int _saveIndex; - Token f1=null; - Token f2=null; - Token f3=null; - Token f4=null; - boolean isDecimal=false; Token t=null; - - switch ( LA(1)) { - case '.': - { - match('.'); - if ( inputState.guessing==0 ) { - _ttype = DOT; - } - { - switch ( LA(1)) { - case '0': case '1': case '2': case '3': - case '4': case '5': case '6': case '7': - case '8': case '9': - { - { - { - int _cnt433=0; - _loop433: - do { - if (((LA(1) >= '0' && LA(1) <= '9'))) { - matchRange('0','9'); - } - else { - if ( _cnt433>=1 ) { break _loop433; } else {throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());} - } - - _cnt433++; - } while (true); - } - { - if ((LA(1)=='E'||LA(1)=='e')) { - mEXPONENT(false); - } - else { - } - - } - { - if ((LA(1)=='D'||LA(1)=='F'||LA(1)=='d'||LA(1)=='f')) { - mFLOAT_SUFFIX(true); - f1=_returnToken; - if ( inputState.guessing==0 ) { - t=f1; - } - } - else { - } - - } - if ( inputState.guessing==0 ) { - - if (t != null && t.getText().toUpperCase().indexOf('F')>=0) { - _ttype = NUM_FLOAT; - } - else { - _ttype = NUM_DOUBLE; // assume double - } - - } - } - break; - } - case '.': - { - { - match(".."); - if ( inputState.guessing==0 ) { - _ttype = TRIPLE_DOT; - } - } - break; - } - default: - { - } - } - } - break; - } - case '0': case '1': case '2': case '3': - case '4': case '5': case '6': case '7': - case '8': case '9': - { - { - switch ( LA(1)) { - case '0': - { - match('0'); - if ( inputState.guessing==0 ) { - isDecimal = true; - } - { - if ((LA(1)=='X'||LA(1)=='x')) { - { - switch ( LA(1)) { - case 'x': - { - match('x'); - break; - } - case 'X': - { - match('X'); - break; - } - default: - { - throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn()); - } - } - } - { - int _cnt441=0; - _loop441: - do { - if ((_tokenSet_2.member(LA(1))) && (true) && (true) && (true)) { - mHEX_DIGIT(false); - } - else { - if ( _cnt441>=1 ) { break _loop441; } else {throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());} - } - - _cnt441++; - } while (true); - } - } - else { - boolean synPredMatched446 = false; - if ((((LA(1) >= '0' && LA(1) <= '9')) && (true) && (true) && (true))) { - int _m446 = mark(); - synPredMatched446 = true; - inputState.guessing++; - try { - { - { - int _cnt444=0; - _loop444: - do { - if (((LA(1) >= '0' && LA(1) <= '9'))) { - matchRange('0','9'); - } - else { - if ( _cnt444>=1 ) { break _loop444; } else {throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());} - } - - _cnt444++; - } while (true); - } - { - switch ( LA(1)) { - case '.': - { - match('.'); - break; - } - case 'E': case 'e': - { - mEXPONENT(false); - break; - } - case 'D': case 'F': case 'd': case 'f': - { - mFLOAT_SUFFIX(false); - break; - } - default: - { - throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn()); - } - } - } - } - } - catch (RecognitionException pe) { - synPredMatched446 = false; - } - rewind(_m446); -inputState.guessing--; - } - if ( synPredMatched446 ) { - { - int _cnt448=0; - _loop448: - do { - if (((LA(1) >= '0' && LA(1) <= '9'))) { - matchRange('0','9'); - } - else { - if ( _cnt448>=1 ) { break _loop448; } else {throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());} - } - - _cnt448++; - } while (true); - } - } - else if (((LA(1) >= '0' && LA(1) <= '7')) && (true) && (true) && (true)) { - { - int _cnt450=0; - _loop450: - do { - if (((LA(1) >= '0' && LA(1) <= '7'))) { - matchRange('0','7'); - } - else { - if ( _cnt450>=1 ) { break _loop450; } else {throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());} - } - - _cnt450++; - } while (true); - } - } - else { - } - } - } - break; - } - case '1': case '2': case '3': case '4': - case '5': case '6': case '7': case '8': - case '9': - { - { - matchRange('1','9'); - } - { - _loop453: - do { - if (((LA(1) >= '0' && LA(1) <= '9'))) { - matchRange('0','9'); - } - else { - break _loop453; - } - - } while (true); - } - if ( inputState.guessing==0 ) { - isDecimal=true; - } - break; - } - default: - { - throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn()); - } - } - } - { - if ((LA(1)=='L'||LA(1)=='l')) { - { - switch ( LA(1)) { - case 'l': - { - match('l'); - break; - } - case 'L': - { - match('L'); - break; - } - default: - { - throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn()); - } - } - } - if ( inputState.guessing==0 ) { - _ttype = NUM_LONG; - } - } - else if (((LA(1)=='.'||LA(1)=='D'||LA(1)=='E'||LA(1)=='F'||LA(1)=='d'||LA(1)=='e'||LA(1)=='f'))&&(isDecimal)) { - { - switch ( LA(1)) { - case '.': - { - match('.'); - { - _loop458: - do { - if (((LA(1) >= '0' && LA(1) <= '9'))) { - matchRange('0','9'); - } - else { - break _loop458; - } - - } while (true); - } - { - if ((LA(1)=='E'||LA(1)=='e')) { - mEXPONENT(false); - } - else { - } - - } - { - if ((LA(1)=='D'||LA(1)=='F'||LA(1)=='d'||LA(1)=='f')) { - mFLOAT_SUFFIX(true); - f2=_returnToken; - if ( inputState.guessing==0 ) { - t=f2; - } - } - else { - } - - } - break; - } - case 'E': case 'e': - { - mEXPONENT(false); - { - if ((LA(1)=='D'||LA(1)=='F'||LA(1)=='d'||LA(1)=='f')) { - mFLOAT_SUFFIX(true); - f3=_returnToken; - if ( inputState.guessing==0 ) { - t=f3; - } - } - else { - } - - } - break; - } - case 'D': case 'F': case 'd': case 'f': - { - mFLOAT_SUFFIX(true); - f4=_returnToken; - if ( inputState.guessing==0 ) { - t=f4; - } - break; - } - default: - { - throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn()); - } - } - } - if ( inputState.guessing==0 ) { - - if (t != null && t.getText().toUpperCase() .indexOf('F') >= 0) { - _ttype = NUM_FLOAT; - } - else { - _ttype = NUM_DOUBLE; // assume double - } - - } - } - else { - } - - } - break; - } - default: - { - throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn()); - } - } - if ( _createToken && _token==null && _ttype!=Token.SKIP ) { - _token = makeToken(_ttype); - _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); - } - _returnToken = _token; - } - - protected final void mEXPONENT(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { - int _ttype; Token _token=null; int _begin=text.length(); - _ttype = EXPONENT; - int _saveIndex; - - { - switch ( LA(1)) { - case 'e': - { - match('e'); - break; - } - case 'E': - { - match('E'); - break; - } - default: - { - throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn()); - } - } - } - { - switch ( LA(1)) { - case '+': - { - match('+'); - break; - } - case '-': - { - match('-'); - break; - } - case '0': case '1': case '2': case '3': - case '4': case '5': case '6': case '7': - case '8': case '9': - { - break; - } - default: - { - throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn()); - } - } - } - { - int _cnt467=0; - _loop467: - do { - if (((LA(1) >= '0' && LA(1) <= '9'))) { - matchRange('0','9'); - } - else { - if ( _cnt467>=1 ) { break _loop467; } else {throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());} - } - - _cnt467++; - } while (true); - } - if ( _createToken && _token==null && _ttype!=Token.SKIP ) { - _token = makeToken(_ttype); - _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); - } - _returnToken = _token; - } - - protected final void mFLOAT_SUFFIX(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { - int _ttype; Token _token=null; int _begin=text.length(); - _ttype = FLOAT_SUFFIX; - int _saveIndex; - - switch ( LA(1)) { - case 'f': - { - match('f'); - break; - } - case 'F': - { - match('F'); - break; - } - case 'd': - { - match('d'); - break; - } - case 'D': - { - match('D'); - break; - } - default: - { - throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn()); - } - } - if ( _createToken && _token==null && _ttype!=Token.SKIP ) { - _token = makeToken(_ttype); - _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); - } - _returnToken = _token; - } - - public final void mAT(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException { - int _ttype; Token _token=null; int _begin=text.length(); - _ttype = AT; - int _saveIndex; - - match('@'); - if ( _createToken && _token==null && _ttype!=Token.SKIP ) { - _token = makeToken(_ttype); - _token.setText(new String(text.getBuffer(), _begin, text.length()-_begin)); - } - _returnToken = _token; - } - - - private static final long[] mk_tokenSet_0() { - long[] data = new long[2048]; - data[0]=-9224L; - for (int i = 1; i<=1023; i++) { data[i]=-1L; } - return data; - } - public static final BitSet _tokenSet_0 = new BitSet(mk_tokenSet_0()); - private static final long[] mk_tokenSet_1() { - long[] data = new long[2048]; - data[0]=-4398046520328L; - for (int i = 1; i<=1023; i++) { data[i]=-1L; } - return data; - } - public static final BitSet _tokenSet_1 = new BitSet(mk_tokenSet_1()); - private static final long[] mk_tokenSet_2() { - long[] data = new long[1025]; - data[0]=287948901175001088L; - data[1]=541165879422L; - return data; - } - public static final BitSet _tokenSet_2 = new BitSet(mk_tokenSet_2()); - private static final long[] mk_tokenSet_3() { - long[] data = new long[2048]; - data[0]=-549755823112L; - data[1]=-268435457L; - for (int i = 2; i<=1023; i++) { data[i]=-1L; } - return data; - } - public static final BitSet _tokenSet_3 = new BitSet(mk_tokenSet_3()); - private static final long[] mk_tokenSet_4() { - long[] data = new long[2048]; - data[0]=-17179878408L; - data[1]=-268435457L; - for (int i = 2; i<=1023; i++) { data[i]=-1L; } - return data; - } - public static final BitSet _tokenSet_4 = new BitSet(mk_tokenSet_4()); - - } diff --git a/Java/Processing/processing-3.3.6/modes/java/generated/processing/mode/java/preproc/PdeLexer.smap b/Java/Processing/processing-3.3.6/modes/java/generated/processing/mode/java/preproc/PdeLexer.smap deleted file mode 100644 index f6dc998..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/generated/processing/mode/java/preproc/PdeLexer.smap +++ /dev/null @@ -1,1345 +0,0 @@ -SMAP -PdeLexer.java -G -*S G -*F -+ 0 expandedpde.g -expandedpde.g -*L -0:127 -0:133 -0:139 -0:145 -0:151 -0:157 -0:163 -0:169 -0:175 -0:181 -0:187 -0:193 -0:199 -0:205 -0:211 -0:230 -0:238 -0:244 -0:250 -0:254 -0:258 -0:262 -0:266 -0:270 -0:274 -0:278 -0:282 -0:286 -0:290 -0:294 -0:298 -0:302 -0:306 -0:310 -0:314 -0:318 -0:322 -0:326 -0:330 -0:334 -0:338 -0:342 -0:346 -0:350 -0:354 -0:358 -0:362 -0:366 -0:370 -0:374 -0:378 -0:382 -0:386 -0:390 -1:3 -1252:32 -1253:33 -1254:34 -1255:35 -1257:37 -1258:38 -1259:39 -1260:40 -1261:41 -1262:42 -1263:43 -1264:44 -1266:418 -1266:419 -1266:420 -1266:421 -1266:424 -1266:425 -1266:426 -1266:427 -1266:428 -1266:429 -1266:430 -1266:465 -1266:466 -1266:467 -1266:468 -1266:469 -1266:470 -1266:471 -1266:472 -1266:473 -1266:474 -1266:475 -1266:476 -1266:477 -1266:478 -1267:433 -1267:434 -1267:435 -1268:438 -1268:439 -1268:440 -1270:443 -1270:444 -1270:448 -1270:451 -1270:454 -1270:455 -1270:456 -1270:457 -1271:446 -1271:447 -1272:449 -1272:450 -1273:452 -1273:453 -1275:460 -1275:461 -1279:480 -1279:481 -1279:482 -1279:483 -1279:485 -1279:529 -1279:530 -1279:531 -1279:532 -1279:533 -1279:534 -1280:486 -1280:487 -1280:488 -1280:489 -1280:491 -1280:493 -1280:494 -1280:495 -1280:496 -1280:498 -1280:499 -1280:501 -1280:502 -1280:503 -1280:504 -1280:507 -1280:508 -1280:509 -1280:511 -1280:512 -1280:513 -1280:515 -1280:520 -1280:521 -1280:522 -1280:523 -1280:524 -1281:526 -1281:527 -1284:536 -1284:537 -1284:538 -1284:539 -1284:541 -1284:579 -1284:580 -1284:581 -1284:582 -1284:583 -1284:584 -1285:542 -1285:543 -1285:544 -1285:551 -1285:554 -1285:560 -1285:566 -1285:571 -1285:572 -1285:573 -1285:574 -1285:576 -1285:577 -1296:552 -1296:553 -1297:545 -1297:546 -1297:547 -1297:548 -1297:549 -1298:555 -1298:556 -1298:557 -1298:558 -1299:561 -1299:562 -1299:563 -1299:564 -1300:567 -1300:569 -1302:578 -1305:586 -1305:587 -1305:588 -1305:589 -1305:591 -1305:592 -1305:593 -1305:595 -1305:596 -1305:597 -1305:598 -1305:599 -1305:600 -1305:601 -1305:602 -1305:603 -1305:605 -1305:606 -1305:607 -1305:608 -1305:609 -1305:610 -1305:611 -1305:612 -1305:613 -1309:654 -1309:655 -1309:656 -1309:657 -1309:659 -1309:660 -1309:661 -1309:662 -1309:663 -1309:664 -1309:665 -1312:667 -1312:668 -1312:669 -1312:670 -1312:672 -1312:673 -1312:674 -1312:675 -1312:676 -1312:677 -1312:678 -1315:680 -1315:681 -1315:682 -1315:683 -1315:685 -1315:686 -1315:687 -1315:688 -1315:689 -1315:690 -1315:691 -1318:693 -1318:694 -1318:695 -1318:696 -1318:698 -1318:699 -1318:700 -1318:701 -1318:702 -1318:703 -1318:704 -1321:706 -1321:707 -1321:708 -1321:709 -1321:711 -1321:712 -1321:713 -1321:714 -1321:715 -1321:716 -1321:717 -1324:719 -1324:720 -1324:721 -1324:722 -1324:724 -1324:725 -1324:726 -1324:727 -1324:728 -1324:729 -1324:730 -1327:732 -1327:733 -1327:734 -1327:735 -1327:737 -1327:738 -1327:739 -1327:740 -1327:741 -1327:742 -1327:743 -1330:745 -1330:746 -1330:747 -1330:748 -1330:750 -1330:751 -1330:752 -1330:753 -1330:754 -1330:755 -1330:756 -1333:758 -1333:759 -1333:760 -1333:761 -1333:763 -1333:764 -1333:765 -1333:766 -1333:767 -1333:768 -1333:769 -1336:771 -1336:772 -1336:773 -1336:774 -1336:776 -1336:777 -1336:778 -1336:779 -1336:780 -1336:781 -1336:782 -1339:784 -1339:785 -1339:786 -1339:787 -1339:789 -1339:790 -1339:791 -1339:792 -1339:793 -1339:794 -1339:795 -1342:797 -1342:798 -1342:799 -1342:800 -1342:802 -1342:803 -1342:804 -1342:805 -1342:806 -1342:807 -1342:808 -1345:810 -1345:811 -1345:812 -1345:813 -1345:815 -1345:816 -1345:817 -1345:818 -1345:819 -1345:820 -1345:821 -1348:823 -1348:824 -1348:825 -1348:826 -1348:828 -1348:829 -1348:830 -1348:831 -1348:832 -1348:833 -1348:834 -1351:836 -1351:837 -1351:838 -1351:839 -1351:841 -1351:842 -1351:843 -1351:844 -1351:845 -1351:846 -1351:847 -1354:849 -1354:850 -1354:851 -1354:852 -1354:854 -1354:855 -1354:856 -1354:857 -1354:858 -1354:859 -1354:860 -1357:862 -1357:863 -1357:864 -1357:865 -1357:867 -1357:868 -1357:869 -1357:870 -1357:871 -1357:872 -1357:873 -1360:875 -1360:876 -1360:877 -1360:878 -1360:880 -1360:881 -1360:882 -1360:883 -1360:884 -1360:885 -1360:886 -1363:888 -1363:889 -1363:890 -1363:891 -1363:893 -1363:894 -1363:895 -1363:896 -1363:897 -1363:898 -1363:899 -1366:901 -1366:902 -1366:903 -1366:904 -1366:906 -1366:907 -1366:908 -1366:909 -1366:910 -1366:911 -1366:912 -1369:914 -1369:915 -1369:916 -1369:917 -1369:919 -1369:920 -1369:921 -1369:922 -1369:923 -1369:924 -1369:925 -1372:927 -1372:928 -1372:929 -1372:930 -1372:932 -1372:933 -1372:934 -1372:935 -1372:936 -1372:937 -1372:938 -1375:940 -1375:941 -1375:942 -1375:943 -1375:945 -1375:946 -1375:947 -1375:948 -1375:949 -1375:950 -1375:951 -1378:953 -1378:954 -1378:955 -1378:956 -1378:958 -1378:959 -1378:960 -1378:961 -1378:962 -1378:963 -1378:964 -1381:966 -1381:967 -1381:968 -1381:969 -1381:971 -1381:972 -1381:973 -1381:974 -1381:975 -1381:976 -1381:977 -1384:979 -1384:980 -1384:981 -1384:982 -1384:984 -1384:985 -1384:986 -1384:987 -1384:988 -1384:989 -1384:990 -1387:992 -1387:993 -1387:994 -1387:995 -1387:997 -1387:998 -1387:999 -1387:1000 -1387:1001 -1387:1002 -1387:1003 -1390:1005 -1390:1006 -1390:1007 -1390:1008 -1390:1010 -1390:1011 -1390:1012 -1390:1013 -1390:1014 -1390:1015 -1390:1016 -1393:1018 -1393:1019 -1393:1020 -1393:1021 -1393:1023 -1393:1024 -1393:1025 -1393:1026 -1393:1027 -1393:1028 -1393:1029 -1396:1031 -1396:1032 -1396:1033 -1396:1034 -1396:1036 -1396:1037 -1396:1038 -1396:1039 -1396:1040 -1396:1041 -1396:1042 -1399:1044 -1399:1045 -1399:1046 -1399:1047 -1399:1049 -1399:1050 -1399:1051 -1399:1052 -1399:1053 -1399:1054 -1399:1055 -1402:1057 -1402:1058 -1402:1059 -1402:1060 -1402:1062 -1402:1063 -1402:1064 -1402:1065 -1402:1066 -1402:1067 -1402:1068 -1405:1070 -1405:1071 -1405:1072 -1405:1073 -1405:1075 -1405:1076 -1405:1077 -1405:1078 -1405:1079 -1405:1080 -1405:1081 -1408:1083 -1408:1084 -1408:1085 -1408:1086 -1408:1088 -1408:1089 -1408:1090 -1408:1091 -1408:1092 -1408:1093 -1408:1094 -1411:1096 -1411:1097 -1411:1098 -1411:1099 -1411:1101 -1411:1102 -1411:1103 -1411:1104 -1411:1105 -1411:1106 -1411:1107 -1414:1109 -1414:1110 -1414:1111 -1414:1112 -1414:1114 -1414:1115 -1414:1116 -1414:1117 -1414:1118 -1414:1119 -1414:1120 -1417:1122 -1417:1123 -1417:1124 -1417:1125 -1417:1127 -1417:1128 -1417:1129 -1417:1130 -1417:1131 -1417:1132 -1417:1133 -1420:1135 -1420:1136 -1420:1137 -1420:1138 -1420:1140 -1420:1141 -1420:1142 -1420:1143 -1420:1144 -1420:1145 -1420:1146 -1423:1148 -1423:1149 -1423:1150 -1423:1151 -1423:1153 -1423:1154 -1423:1155 -1423:1156 -1423:1157 -1423:1158 -1423:1159 -1426:1161 -1426:1162 -1426:1163 -1426:1164 -1426:1166 -1426:1167 -1426:1168 -1426:1169 -1426:1170 -1426:1171 -1426:1172 -1429:1174 -1429:1175 -1429:1176 -1429:1177 -1429:1179 -1429:1180 -1429:1181 -1429:1182 -1429:1183 -1429:1184 -1429:1185 -1432:1187 -1432:1188 -1432:1189 -1432:1190 -1432:1192 -1432:1193 -1432:1194 -1432:1195 -1432:1196 -1432:1197 -1432:1198 -1435:1200 -1435:1201 -1435:1202 -1435:1203 -1435:1205 -1435:1206 -1435:1207 -1435:1208 -1435:1209 -1435:1210 -1435:1211 -1438:1213 -1438:1214 -1438:1215 -1438:1216 -1438:1218 -1438:1219 -1438:1220 -1438:1221 -1438:1222 -1438:1223 -1438:1224 -1441:1226 -1441:1227 -1441:1228 -1441:1229 -1441:1231 -1441:1232 -1441:1233 -1441:1234 -1441:1235 -1441:1236 -1441:1237 -1444:1239 -1444:1240 -1444:1241 -1444:1242 -1444:1244 -1444:1246 -1444:1247 -1444:1248 -1444:1249 -1444:1251 -1444:1253 -1444:1254 -1444:1255 -1444:1256 -1444:1259 -1444:1260 -1444:1261 -1444:1262 -1444:1263 -1444:1264 -1444:1265 -1448:1393 -1448:1394 -1448:1395 -1448:1396 -1448:1398 -1448:1399 -1448:1400 -1448:1401 -1448:1402 -1448:1403 -1448:1404 -1448:1405 -1448:1407 -1448:1409 -1448:1410 -1448:1411 -1448:1412 -1448:1414 -1448:1415 -1448:1416 -1448:1417 -1448:1418 -1448:1419 -1448:1420 -1448:1421 -1448:1422 -1452:1267 -1452:1268 -1452:1269 -1452:1270 -1452:1272 -1452:1386 -1452:1387 -1452:1388 -1452:1389 -1452:1390 -1452:1391 -1453:1274 -1453:1275 -1453:1276 -1453:1277 -1453:1380 -1453:1381 -1453:1382 -1453:1383 -1453:1384 -1454:1280 -1454:1281 -1454:1282 -1455:1285 -1455:1286 -1455:1287 -1456:1290 -1456:1291 -1456:1292 -1457:1295 -1457:1296 -1457:1297 -1458:1300 -1458:1301 -1458:1302 -1459:1305 -1459:1306 -1459:1307 -1460:1310 -1460:1311 -1460:1312 -1461:1315 -1461:1316 -1461:1318 -1461:1319 -1461:1320 -1461:1321 -1461:1322 -1461:1323 -1461:1324 -1461:1325 -1461:1326 -1461:1328 -1461:1329 -1461:1330 -1461:1331 -1461:1332 -1461:1333 -1461:1334 -1462:1337 -1462:1338 -1462:1339 -1463:1354 -1463:1356 -1463:1357 -1463:1358 -1463:1359 -1467:1341 -1467:1342 -1468:1346 -1468:1348 -1468:1349 -1468:1350 -1468:1351 -1472:1344 -1472:1345 -1475:1364 -1475:1365 -1475:1366 -1476:1370 -1476:1372 -1476:1373 -1476:1374 -1476:1375 -1480:1368 -1480:1369 -1486:615 -1486:616 -1486:617 -1486:618 -1486:621 -1486:622 -1486:623 -1486:624 -1486:625 -1486:626 -1486:629 -1486:630 -1486:631 -1486:632 -1486:635 -1486:636 -1486:637 -1486:638 -1486:641 -1486:642 -1486:643 -1486:644 -1486:645 -1486:647 -1486:648 -1486:649 -1486:650 -1486:651 -1486:652 -1490:1424 -1490:1425 -1490:1426 -1490:1427 -1490:1429 -1490:1430 -1490:1431 -1490:1432 -1490:1433 -1490:1434 -1490:1435 -1494:1437 -1494:1438 -1494:1439 -1494:1440 -1494:1544 -1494:1545 -1494:1546 -1494:1547 -1494:1548 -1494:1549 -1494:1550 -1498:1443 -1498:1444 -1498:1445 -1498:1446 -1498:1447 -1498:1448 -1498:1449 -1498:1450 -1498:1451 -1498:1452 -1498:1455 -1498:1456 -1498:1457 -1498:1458 -1498:1459 -1498:1460 -1498:1461 -1498:1462 -1498:1463 -1498:1466 -1498:1467 -1498:1468 -1498:1471 -1498:1472 -1498:1473 -1498:1476 -1498:1477 -1498:1478 -1498:1479 -1498:1480 -1498:1482 -1498:1483 -1498:1484 -1498:1485 -1498:1486 -1498:1487 -1498:1488 -1498:1489 -1498:1490 -1498:1491 -1498:1492 -1498:1493 -1498:1494 -1498:1497 -1498:1498 -1498:1499 -1498:1500 -1498:1501 -1498:1502 -1498:1503 -1498:1504 -1498:1505 -1498:1508 -1498:1509 -1498:1510 -1498:1513 -1498:1514 -1498:1515 -1498:1516 -1498:1517 -1498:1520 -1498:1521 -1498:1522 -1498:1525 -1498:1526 -1498:1527 -1498:1528 -1498:1529 -1498:1530 -1498:1531 -1499:1532 -1500:1534 -1501:1535 -1502:1536 -1503:1537 -1504:1538 -1505:1539 -1506:1540 -1507:1541 -1512:1552 -1512:1553 -1512:1554 -1512:1555 -1512:1560 -1512:1562 -1512:1921 -1512:1922 -1512:1923 -1512:1924 -1512:1925 -1512:1926 -1512:1927 -1512:1928 -1512:1929 -1512:1930 -1512:1931 -1513:1563 -1513:1564 -1513:1565 -1513:1566 -1513:1567 -1514:1570 -1514:1633 -1514:1635 -1514:1636 -1515:1556 -1515:1571 -1515:1572 -1515:1573 -1515:1574 -1515:1577 -1515:1578 -1515:1579 -1515:1580 -1515:1581 -1515:1582 -1515:1583 -1515:1584 -1515:1585 -1515:1587 -1515:1588 -1515:1589 -1515:1591 -1515:1592 -1515:1593 -1515:1595 -1515:1599 -1515:1600 -1515:1601 -1515:1602 -1515:1603 -1515:1605 -1515:1607 -1516:1610 -1517:1612 -1518:1613 -1519:1614 -1520:1615 -1521:1616 -1522:1617 -1526:1623 -1526:1624 -1526:1626 -1526:1627 -1526:1628 -1529:1640 -1529:1641 -1529:1642 -1529:1643 -1529:1645 -1529:1646 -1529:1647 -1529:1648 -1529:1649 -1529:1650 -1529:1802 -1529:1803 -1529:1804 -1529:1805 -1529:1806 -1530:1653 -1530:1655 -1530:1656 -1530:1657 -1530:1658 -1530:1661 -1530:1662 -1530:1663 -1530:1666 -1530:1667 -1530:1668 -1530:1669 -1530:1670 -1530:1686 -1530:1755 -1530:1771 -1530:1773 -1530:1774 -1531:1673 -1531:1674 -1531:1675 -1531:1678 -1531:1679 -1531:1680 -1531:1681 -1531:1683 -1531:1684 -1531:1685 -1540:1676 -1540:1677 -1544:1687 -1544:1688 -1544:1689 -1544:1690 -1544:1691 -1544:1692 -1544:1693 -1544:1696 -1544:1697 -1544:1698 -1544:1699 -1544:1700 -1544:1701 -1544:1702 -1544:1703 -1544:1704 -1544:1706 -1544:1707 -1544:1708 -1544:1710 -1544:1711 -1544:1712 -1544:1713 -1544:1716 -1544:1717 -1544:1718 -1544:1721 -1544:1722 -1544:1723 -1544:1726 -1544:1727 -1544:1728 -1544:1729 -1544:1730 -1544:1733 -1544:1734 -1544:1735 -1544:1736 -1544:1737 -1544:1738 -1544:1739 -1544:1740 -1544:1742 -1544:1743 -1544:1744 -1544:1745 -1544:1746 -1544:1747 -1544:1748 -1544:1749 -1544:1750 -1544:1752 -1544:1753 -1544:1754 -1546:1756 -1546:1758 -1546:1759 -1546:1760 -1546:1761 -1546:1762 -1546:1763 -1546:1764 -1546:1765 -1546:1766 -1546:1768 -1546:1769 -1546:1770 -1548:1778 -1548:1779 -1548:1780 -1548:1781 -1548:1783 -1548:1785 -1548:1786 -1548:1787 -1548:1788 -1548:1789 -1548:1790 -1548:1791 -1548:1792 -1548:1793 -1548:1795 -1548:1796 -1548:1797 -1548:1798 -1550:1809 -1550:1811 -1550:1812 -1550:1813 -1550:1814 -1550:1817 -1550:1818 -1550:1819 -1550:1822 -1550:1823 -1550:1824 -1550:1825 -1550:1826 -1550:1828 -1550:1829 -1550:1831 -1550:1914 -1550:1916 -1554:1557 -1554:1832 -1554:1834 -1554:1835 -1554:1836 -1554:1837 -1554:1838 -1554:1839 -1554:1840 -1554:1841 -1554:1842 -1554:1843 -1554:1844 -1554:1845 -1554:1846 -1554:1848 -1554:1849 -1554:1851 -1554:1852 -1554:1853 -1554:1855 -1554:1859 -1554:1860 -1554:1861 -1554:1862 -1554:1863 -1554:1865 -1554:1867 -1554:1898 -1554:1899 -1554:1900 -1554:1901 -1554:1902 -1555:1558 -1555:1872 -1555:1873 -1555:1874 -1555:1876 -1555:1877 -1555:1878 -1555:1879 -1555:1880 -1555:1882 -1555:1884 -1556:1559 -1556:1889 -1556:1890 -1556:1891 -1556:1892 -1556:1893 -1556:1894 -1558:1904 -1559:1906 -1560:1907 -1561:1908 -1562:1909 -1563:1910 -1564:1911 -1570:2039 -1570:2040 -1570:2041 -1570:2042 -1570:2044 -1570:2045 -1570:2046 -1570:2047 -1570:2048 -1570:2049 -1570:2050 -1574:1933 -1574:1934 -1574:1935 -1574:1936 -1574:1939 -1574:1940 -1574:1941 -1574:1942 -1574:1945 -1574:1946 -1574:1947 -1574:1950 -1574:1951 -1574:1952 -1574:1953 -1574:1954 -1574:1957 -1574:1958 -1574:1959 -1574:1960 -1574:1963 -1574:1964 -1574:1965 -1574:1974 -1574:1975 -1574:1976 -1574:1977 -1574:1978 -1574:1981 -1574:1982 -1574:1983 -1574:1984 -1574:1985 -1574:1986 -1574:1987 -1574:1988 -1574:1989 -1574:1991 -1574:1992 -1574:1993 -1574:1994 -1574:1995 -1574:1996 -1574:1997 -1574:1998 -1574:1999 -1578:2001 -1578:2002 -1578:2003 -1578:2004 -1578:2006 -1578:2007 -1578:2008 -1578:2009 -1578:2012 -1578:2013 -1578:2014 -1578:2017 -1578:2018 -1578:2019 -1578:2022 -1578:2023 -1578:2024 -1578:2027 -1578:2028 -1578:2029 -1578:2030 -1578:2031 -1578:2032 -1578:2033 -1578:2034 -1578:2035 -1578:2036 -1578:2037 -*E diff --git a/Java/Processing/processing-3.3.6/modes/java/generated/processing/mode/java/preproc/PdePartialTokenTypes.java b/Java/Processing/processing-3.3.6/modes/java/generated/processing/mode/java/preproc/PdePartialTokenTypes.java deleted file mode 100644 index 1618ef9..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/generated/processing/mode/java/preproc/PdePartialTokenTypes.java +++ /dev/null @@ -1,182 +0,0 @@ -// $ANTLR 2.7.7 (2006-11-01): "expandedpde.g" -> "PdeRecognizer.java"$ - -package processing.mode.java.preproc; - -public interface PdePartialTokenTypes { - int EOF = 1; - int NULL_TREE_LOOKAHEAD = 3; - int BLOCK = 4; - int MODIFIERS = 5; - int OBJBLOCK = 6; - int SLIST = 7; - int CTOR_DEF = 8; - int METHOD_DEF = 9; - int VARIABLE_DEF = 10; - int INSTANCE_INIT = 11; - int STATIC_INIT = 12; - int TYPE = 13; - int CLASS_DEF = 14; - int INTERFACE_DEF = 15; - int PACKAGE_DEF = 16; - int ARRAY_DECLARATOR = 17; - int EXTENDS_CLAUSE = 18; - int IMPLEMENTS_CLAUSE = 19; - int PARAMETERS = 20; - int PARAMETER_DEF = 21; - int LABELED_STAT = 22; - int TYPECAST = 23; - int INDEX_OP = 24; - int POST_INC = 25; - int POST_DEC = 26; - int METHOD_CALL = 27; - int EXPR = 28; - int ARRAY_INIT = 29; - int IMPORT = 30; - int UNARY_MINUS = 31; - int UNARY_PLUS = 32; - int CASE_GROUP = 33; - int ELIST = 34; - int FOR_INIT = 35; - int FOR_CONDITION = 36; - int FOR_ITERATOR = 37; - int EMPTY_STAT = 38; - int FINAL = 39; - int ABSTRACT = 40; - int STRICTFP = 41; - int SUPER_CTOR_CALL = 42; - int CTOR_CALL = 43; - int VARIABLE_PARAMETER_DEF = 44; - int STATIC_IMPORT = 45; - int ENUM_DEF = 46; - int ENUM_CONSTANT_DEF = 47; - int FOR_EACH_CLAUSE = 48; - int ANNOTATION_DEF = 49; - int ANNOTATIONS = 50; - int ANNOTATION = 51; - int ANNOTATION_MEMBER_VALUE_PAIR = 52; - int ANNOTATION_FIELD_DEF = 53; - int ANNOTATION_ARRAY_INIT = 54; - int TYPE_ARGUMENTS = 55; - int TYPE_ARGUMENT = 56; - int TYPE_PARAMETERS = 57; - int TYPE_PARAMETER = 58; - int WILDCARD_TYPE = 59; - int TYPE_UPPER_BOUNDS = 60; - int TYPE_LOWER_BOUNDS = 61; - int LITERAL_package = 62; - int SEMI = 63; - int LITERAL_import = 64; - int LITERAL_static = 65; - int LBRACK = 66; - int RBRACK = 67; - int IDENT = 68; - int DOT = 69; - int QUESTION = 70; - int LITERAL_extends = 71; - int LITERAL_super = 72; - int LT = 73; - int COMMA = 74; - int GT = 75; - int SR = 76; - int BSR = 77; - int LITERAL_void = 78; - int LITERAL_boolean = 79; - int LITERAL_byte = 80; - int LITERAL_char = 81; - int LITERAL_short = 82; - int LITERAL_int = 83; - int LITERAL_float = 84; - int LITERAL_long = 85; - int LITERAL_double = 86; - int STAR = 87; - int LITERAL_private = 88; - int LITERAL_public = 89; - int LITERAL_protected = 90; - int LITERAL_transient = 91; - int LITERAL_native = 92; - int LITERAL_threadsafe = 93; - int LITERAL_synchronized = 94; - int LITERAL_volatile = 95; - int AT = 96; - int LPAREN = 97; - int RPAREN = 98; - int ASSIGN = 99; - int LCURLY = 100; - int RCURLY = 101; - int LITERAL_class = 102; - int LITERAL_interface = 103; - int LITERAL_enum = 104; - int BAND = 105; - int LITERAL_default = 106; - int LITERAL_implements = 107; - int LITERAL_this = 108; - int LITERAL_throws = 109; - int TRIPLE_DOT = 110; - int COLON = 111; - int LITERAL_if = 112; - int LITERAL_else = 113; - int LITERAL_while = 114; - int LITERAL_do = 115; - int LITERAL_break = 116; - int LITERAL_continue = 117; - int LITERAL_return = 118; - int LITERAL_switch = 119; - int LITERAL_throw = 120; - int LITERAL_assert = 121; - int LITERAL_for = 122; - int LITERAL_case = 123; - int LITERAL_try = 124; - int LITERAL_finally = 125; - int LITERAL_catch = 126; - int PLUS_ASSIGN = 127; - int MINUS_ASSIGN = 128; - int STAR_ASSIGN = 129; - int DIV_ASSIGN = 130; - int MOD_ASSIGN = 131; - int SR_ASSIGN = 132; - int BSR_ASSIGN = 133; - int SL_ASSIGN = 134; - int BAND_ASSIGN = 135; - int BXOR_ASSIGN = 136; - int BOR_ASSIGN = 137; - int LOR = 138; - int LAND = 139; - int BOR = 140; - int BXOR = 141; - int NOT_EQUAL = 142; - int EQUAL = 143; - int LE = 144; - int GE = 145; - int LITERAL_instanceof = 146; - int SL = 147; - int PLUS = 148; - int MINUS = 149; - int DIV = 150; - int MOD = 151; - int INC = 152; - int DEC = 153; - int BNOT = 154; - int LNOT = 155; - int LITERAL_true = 156; - int LITERAL_false = 157; - int LITERAL_null = 158; - int LITERAL_new = 159; - int NUM_INT = 160; - int CHAR_LITERAL = 161; - int STRING_LITERAL = 162; - int NUM_FLOAT = 163; - int NUM_LONG = 164; - int NUM_DOUBLE = 165; - int WS = 166; - int SL_COMMENT = 167; - int ML_COMMENT = 168; - int ESC = 169; - int HEX_DIGIT = 170; - int VOCAB = 171; - int EXPONENT = 172; - int FLOAT_SUFFIX = 173; - int CONSTRUCTOR_CAST = 174; - int EMPTY_FIELD = 175; - int WEBCOLOR_LITERAL = 176; - int LITERAL_color = 177; -} diff --git a/Java/Processing/processing-3.3.6/modes/java/generated/processing/mode/java/preproc/PdePartialTokenTypes.txt b/Java/Processing/processing-3.3.6/modes/java/generated/processing/mode/java/preproc/PdePartialTokenTypes.txt deleted file mode 100644 index cdeeead..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/generated/processing/mode/java/preproc/PdePartialTokenTypes.txt +++ /dev/null @@ -1,176 +0,0 @@ -// $ANTLR 2.7.7 (2006-11-01): expandedpde.g -> PdePartialTokenTypes.txt$ -PdePartial // output token vocab name -BLOCK=4 -MODIFIERS=5 -OBJBLOCK=6 -SLIST=7 -CTOR_DEF=8 -METHOD_DEF=9 -VARIABLE_DEF=10 -INSTANCE_INIT=11 -STATIC_INIT=12 -TYPE=13 -CLASS_DEF=14 -INTERFACE_DEF=15 -PACKAGE_DEF=16 -ARRAY_DECLARATOR=17 -EXTENDS_CLAUSE=18 -IMPLEMENTS_CLAUSE=19 -PARAMETERS=20 -PARAMETER_DEF=21 -LABELED_STAT=22 -TYPECAST=23 -INDEX_OP=24 -POST_INC=25 -POST_DEC=26 -METHOD_CALL=27 -EXPR=28 -ARRAY_INIT=29 -IMPORT=30 -UNARY_MINUS=31 -UNARY_PLUS=32 -CASE_GROUP=33 -ELIST=34 -FOR_INIT=35 -FOR_CONDITION=36 -FOR_ITERATOR=37 -EMPTY_STAT=38 -FINAL="final"=39 -ABSTRACT="abstract"=40 -STRICTFP="strictfp"=41 -SUPER_CTOR_CALL=42 -CTOR_CALL=43 -VARIABLE_PARAMETER_DEF=44 -STATIC_IMPORT=45 -ENUM_DEF=46 -ENUM_CONSTANT_DEF=47 -FOR_EACH_CLAUSE=48 -ANNOTATION_DEF=49 -ANNOTATIONS=50 -ANNOTATION=51 -ANNOTATION_MEMBER_VALUE_PAIR=52 -ANNOTATION_FIELD_DEF=53 -ANNOTATION_ARRAY_INIT=54 -TYPE_ARGUMENTS=55 -TYPE_ARGUMENT=56 -TYPE_PARAMETERS=57 -TYPE_PARAMETER=58 -WILDCARD_TYPE=59 -TYPE_UPPER_BOUNDS=60 -TYPE_LOWER_BOUNDS=61 -LITERAL_package="package"=62 -SEMI=63 -LITERAL_import="import"=64 -LITERAL_static="static"=65 -LBRACK=66 -RBRACK=67 -IDENT=68 -DOT=69 -QUESTION=70 -LITERAL_extends="extends"=71 -LITERAL_super="super"=72 -LT=73 -COMMA=74 -GT=75 -SR=76 -BSR=77 -LITERAL_void="void"=78 -LITERAL_boolean="boolean"=79 -LITERAL_byte="byte"=80 -LITERAL_char="char"=81 -LITERAL_short="short"=82 -LITERAL_int="int"=83 -LITERAL_float="float"=84 -LITERAL_long="long"=85 -LITERAL_double="double"=86 -STAR=87 -LITERAL_private="private"=88 -LITERAL_public="public"=89 -LITERAL_protected="protected"=90 -LITERAL_transient="transient"=91 -LITERAL_native="native"=92 -LITERAL_threadsafe="threadsafe"=93 -LITERAL_synchronized="synchronized"=94 -LITERAL_volatile="volatile"=95 -AT=96 -LPAREN=97 -RPAREN=98 -ASSIGN=99 -LCURLY=100 -RCURLY=101 -LITERAL_class="class"=102 -LITERAL_interface="interface"=103 -LITERAL_enum="enum"=104 -BAND=105 -LITERAL_default="default"=106 -LITERAL_implements="implements"=107 -LITERAL_this="this"=108 -LITERAL_throws="throws"=109 -TRIPLE_DOT=110 -COLON=111 -LITERAL_if="if"=112 -LITERAL_else="else"=113 -LITERAL_while="while"=114 -LITERAL_do="do"=115 -LITERAL_break="break"=116 -LITERAL_continue="continue"=117 -LITERAL_return="return"=118 -LITERAL_switch="switch"=119 -LITERAL_throw="throw"=120 -LITERAL_assert="assert"=121 -LITERAL_for="for"=122 -LITERAL_case="case"=123 -LITERAL_try="try"=124 -LITERAL_finally="finally"=125 -LITERAL_catch="catch"=126 -PLUS_ASSIGN=127 -MINUS_ASSIGN=128 -STAR_ASSIGN=129 -DIV_ASSIGN=130 -MOD_ASSIGN=131 -SR_ASSIGN=132 -BSR_ASSIGN=133 -SL_ASSIGN=134 -BAND_ASSIGN=135 -BXOR_ASSIGN=136 -BOR_ASSIGN=137 -LOR=138 -LAND=139 -BOR=140 -BXOR=141 -NOT_EQUAL=142 -EQUAL=143 -LE=144 -GE=145 -LITERAL_instanceof="instanceof"=146 -SL=147 -PLUS=148 -MINUS=149 -DIV=150 -MOD=151 -INC=152 -DEC=153 -BNOT=154 -LNOT=155 -LITERAL_true="true"=156 -LITERAL_false="false"=157 -LITERAL_null="null"=158 -LITERAL_new="new"=159 -NUM_INT=160 -CHAR_LITERAL=161 -STRING_LITERAL=162 -NUM_FLOAT=163 -NUM_LONG=164 -NUM_DOUBLE=165 -WS=166 -SL_COMMENT=167 -ML_COMMENT=168 -ESC=169 -HEX_DIGIT=170 -VOCAB=171 -EXPONENT=172 -FLOAT_SUFFIX=173 -CONSTRUCTOR_CAST=174 -EMPTY_FIELD=175 -WEBCOLOR_LITERAL=176 -LITERAL_color="color"=177 diff --git a/Java/Processing/processing-3.3.6/modes/java/generated/processing/mode/java/preproc/PdeRecognizer.java b/Java/Processing/processing-3.3.6/modes/java/generated/processing/mode/java/preproc/PdeRecognizer.java deleted file mode 100644 index e96f383..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/generated/processing/mode/java/preproc/PdeRecognizer.java +++ /dev/null @@ -1,8200 +0,0 @@ -// $ANTLR 2.7.7 (2006-11-01): "expandedpde.g" -> "PdeRecognizer.java"$ - -package processing.mode.java.preproc; - -import antlr.TokenBuffer; -import antlr.TokenStreamException; -import antlr.TokenStreamIOException; -import antlr.ANTLRException; -import antlr.LLkParser; -import antlr.Token; -import antlr.TokenStream; -import antlr.RecognitionException; -import antlr.NoViableAltException; -import antlr.MismatchedTokenException; -import antlr.SemanticException; -import antlr.ParserSharedInputState; -import antlr.collections.impl.BitSet; -import antlr.collections.AST; -import java.util.Hashtable; -import antlr.ASTFactory; -import antlr.ASTPair; -import antlr.collections.impl.ASTArray; - -public class PdeRecognizer extends antlr.LLkParser implements PdePartialTokenTypes - { - - // this clause copied from java15.g! ANTLR does not copy this - // section from the super grammar. - /** - * Counts the number of LT seen in the typeArguments production. - * It is used in semantic predicates to ensure we have seen - * enough closing '>' characters; which actually may have been - * either GT, SR or BSR tokens. - */ - private int ltCounter = 0; - - private PdePreprocessor pp; - public PdeRecognizer(final PdePreprocessor pp, final TokenStream ts) { - this(ts); - this.pp = pp; - } - - private void mixed() throws RecognitionException, TokenStreamException { - throw new RecognitionException("It looks like you're mixing \"active\" and \"static\" modes.", - getFilename(), LT(1).getLine(), LT(1).getColumn()); - } - -protected PdeRecognizer(TokenBuffer tokenBuf, int k) { - super(tokenBuf,k); - tokenNames = _tokenNames; - buildTokenTypeASTClassMap(); - astFactory = new ASTFactory(getTokenTypeToASTClassMap()); -} - -public PdeRecognizer(TokenBuffer tokenBuf) { - this(tokenBuf,2); -} - -protected PdeRecognizer(TokenStream lexer, int k) { - super(lexer,k); - tokenNames = _tokenNames; - buildTokenTypeASTClassMap(); - astFactory = new ASTFactory(getTokenTypeToASTClassMap()); -} - -public PdeRecognizer(TokenStream lexer) { - this(lexer,2); -} - -public PdeRecognizer(ParserSharedInputState state) { - super(state,2); - tokenNames = _tokenNames; - buildTokenTypeASTClassMap(); - astFactory = new ASTFactory(getTokenTypeToASTClassMap()); -} - - public final void pdeProgram() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST pdeProgram_AST = null; - - boolean synPredMatched3 = false; - if (((_tokenSet_0.member(LA(1))) && (_tokenSet_1.member(LA(2))))) { - int _m3 = mark(); - synPredMatched3 = true; - inputState.guessing++; - try { - { - staticProgram(); - } - } - catch (RecognitionException pe) { - synPredMatched3 = false; - } - rewind(_m3); -inputState.guessing--; - } - if ( synPredMatched3 ) { - staticProgram(); - astFactory.addASTChild(currentAST, returnAST); - if ( inputState.guessing==0 ) { - pp.setMode(PdePreprocessor.Mode.STATIC); - } - pdeProgram_AST = (AST)currentAST.root; - } - else { - boolean synPredMatched5 = false; - if (((_tokenSet_2.member(LA(1))) && (_tokenSet_3.member(LA(2))))) { - int _m5 = mark(); - synPredMatched5 = true; - inputState.guessing++; - try { - { - activeProgram(); - } - } - catch (RecognitionException pe) { - synPredMatched5 = false; - } - rewind(_m5); -inputState.guessing--; - } - if ( synPredMatched5 ) { - activeProgram(); - astFactory.addASTChild(currentAST, returnAST); - if ( inputState.guessing==0 ) { - pp.setMode(PdePreprocessor.Mode.ACTIVE); - } - pdeProgram_AST = (AST)currentAST.root; - } - else if ((_tokenSet_0.member(LA(1))) && (_tokenSet_1.member(LA(2)))) { - staticProgram(); - astFactory.addASTChild(currentAST, returnAST); - if ( inputState.guessing==0 ) { - pp.setMode(PdePreprocessor.Mode.STATIC); - } - pdeProgram_AST = (AST)currentAST.root; - } - else { - throw new NoViableAltException(LT(1), getFilename()); - } - } - returnAST = pdeProgram_AST; - } - - public final void staticProgram() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST staticProgram_AST = null; - - { - _loop14: - do { - if ((_tokenSet_4.member(LA(1)))) { - statement(); - astFactory.addASTChild(currentAST, returnAST); - } - else { - break _loop14; - } - - } while (true); - } - match(Token.EOF_TYPE); - staticProgram_AST = (AST)currentAST.root; - returnAST = staticProgram_AST; - } - - public final void activeProgram() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST activeProgram_AST = null; - - { - int _cnt11=0; - _loop11: - do { - boolean synPredMatched10 = false; - if (((LA(1)==IDENT) && (LA(2)==LPAREN))) { - int _m10 = mark(); - synPredMatched10 = true; - inputState.guessing++; - try { - { - match(IDENT); - match(LPAREN); - } - } - catch (RecognitionException pe) { - synPredMatched10 = false; - } - rewind(_m10); -inputState.guessing--; - } - if ( synPredMatched10 ) { - AST tmp2_AST = null; - tmp2_AST = astFactory.create(LT(1)); - astFactory.addASTChild(currentAST, tmp2_AST); - match(IDENT); - AST tmp3_AST = null; - tmp3_AST = astFactory.create(LT(1)); - astFactory.addASTChild(currentAST, tmp3_AST); - match(LPAREN); - if ( inputState.guessing==0 ) { - mixed(); - } - } - else if ((_tokenSet_2.member(LA(1))) && (_tokenSet_3.member(LA(2)))) { - possiblyEmptyField(); - astFactory.addASTChild(currentAST, returnAST); - } - else { - if ( _cnt11>=1 ) { break _loop11; } else {throw new NoViableAltException(LT(1), getFilename());} - } - - _cnt11++; - } while (true); - } - match(Token.EOF_TYPE); - activeProgram_AST = (AST)currentAST.root; - returnAST = activeProgram_AST; - } - - public final void javaProgram() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST javaProgram_AST = null; - - compilationUnit(); - astFactory.addASTChild(currentAST, returnAST); - javaProgram_AST = (AST)currentAST.root; - returnAST = javaProgram_AST; - } - - public final void compilationUnit() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST compilationUnit_AST = null; - - { - boolean synPredMatched53 = false; - if (((LA(1)==LITERAL_package||LA(1)==AT) && (LA(2)==IDENT))) { - int _m53 = mark(); - synPredMatched53 = true; - inputState.guessing++; - try { - { - annotations(); - match(LITERAL_package); - } - } - catch (RecognitionException pe) { - synPredMatched53 = false; - } - rewind(_m53); -inputState.guessing--; - } - if ( synPredMatched53 ) { - packageDefinition(); - astFactory.addASTChild(currentAST, returnAST); - } - else if ((_tokenSet_5.member(LA(1))) && (_tokenSet_6.member(LA(2)))) { - } - else { - throw new NoViableAltException(LT(1), getFilename()); - } - - } - { - _loop55: - do { - if ((LA(1)==LITERAL_import)) { - importDefinition(); - astFactory.addASTChild(currentAST, returnAST); - } - else { - break _loop55; - } - - } while (true); - } - { - _loop57: - do { - if ((_tokenSet_7.member(LA(1)))) { - typeDefinition(); - astFactory.addASTChild(currentAST, returnAST); - } - else { - break _loop57; - } - - } while (true); - } - match(Token.EOF_TYPE); - compilationUnit_AST = (AST)currentAST.root; - returnAST = compilationUnit_AST; - } - - public final void possiblyEmptyField() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST possiblyEmptyField_AST = null; - Token s = null; - AST s_AST = null; - - switch ( LA(1)) { - case FINAL: - case ABSTRACT: - case STRICTFP: - case LITERAL_static: - case IDENT: - case LT: - case LITERAL_void: - case LITERAL_boolean: - case LITERAL_byte: - case LITERAL_char: - case LITERAL_short: - case LITERAL_int: - case LITERAL_float: - case LITERAL_long: - case LITERAL_double: - case LITERAL_private: - case LITERAL_public: - case LITERAL_protected: - case LITERAL_transient: - case LITERAL_native: - case LITERAL_threadsafe: - case LITERAL_synchronized: - case LITERAL_volatile: - case AT: - case LCURLY: - case LITERAL_class: - case LITERAL_interface: - case LITERAL_enum: - case LITERAL_color: - { - classField(); - astFactory.addASTChild(currentAST, returnAST); - possiblyEmptyField_AST = (AST)currentAST.root; - break; - } - case SEMI: - { - s = LT(1); - s_AST = astFactory.create(s); - astFactory.addASTChild(currentAST, s_AST); - match(SEMI); - if ( inputState.guessing==0 ) { - s_AST.setType(EMPTY_FIELD); - } - possiblyEmptyField_AST = (AST)currentAST.root; - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - returnAST = possiblyEmptyField_AST; - } - - public final void statement() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST statement_AST = null; - AST m_AST = null; - Token c = null; - AST c_AST = null; - Token s = null; - AST s_AST = null; - - switch ( LA(1)) { - case LCURLY: - { - compoundStatement(); - astFactory.addASTChild(currentAST, returnAST); - statement_AST = (AST)currentAST.root; - break; - } - case LITERAL_if: - { - AST tmp6_AST = null; - tmp6_AST = astFactory.create(LT(1)); - astFactory.makeASTRoot(currentAST, tmp6_AST); - match(LITERAL_if); - match(LPAREN); - expression(); - astFactory.addASTChild(currentAST, returnAST); - match(RPAREN); - statement(); - astFactory.addASTChild(currentAST, returnAST); - { - if ((LA(1)==LITERAL_else) && (_tokenSet_4.member(LA(2)))) { - match(LITERAL_else); - statement(); - astFactory.addASTChild(currentAST, returnAST); - } - else if ((_tokenSet_8.member(LA(1))) && (_tokenSet_9.member(LA(2)))) { - } - else { - throw new NoViableAltException(LT(1), getFilename()); - } - - } - statement_AST = (AST)currentAST.root; - break; - } - case LITERAL_for: - { - forStatement(); - astFactory.addASTChild(currentAST, returnAST); - statement_AST = (AST)currentAST.root; - break; - } - case LITERAL_while: - { - AST tmp10_AST = null; - tmp10_AST = astFactory.create(LT(1)); - astFactory.makeASTRoot(currentAST, tmp10_AST); - match(LITERAL_while); - match(LPAREN); - expression(); - astFactory.addASTChild(currentAST, returnAST); - match(RPAREN); - statement(); - astFactory.addASTChild(currentAST, returnAST); - statement_AST = (AST)currentAST.root; - break; - } - case LITERAL_do: - { - AST tmp13_AST = null; - tmp13_AST = astFactory.create(LT(1)); - astFactory.makeASTRoot(currentAST, tmp13_AST); - match(LITERAL_do); - statement(); - astFactory.addASTChild(currentAST, returnAST); - match(LITERAL_while); - match(LPAREN); - expression(); - astFactory.addASTChild(currentAST, returnAST); - match(RPAREN); - match(SEMI); - statement_AST = (AST)currentAST.root; - break; - } - case LITERAL_break: - { - AST tmp18_AST = null; - tmp18_AST = astFactory.create(LT(1)); - astFactory.makeASTRoot(currentAST, tmp18_AST); - match(LITERAL_break); - { - switch ( LA(1)) { - case IDENT: - { - AST tmp19_AST = null; - tmp19_AST = astFactory.create(LT(1)); - astFactory.addASTChild(currentAST, tmp19_AST); - match(IDENT); - break; - } - case SEMI: - { - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - match(SEMI); - statement_AST = (AST)currentAST.root; - break; - } - case LITERAL_continue: - { - AST tmp21_AST = null; - tmp21_AST = astFactory.create(LT(1)); - astFactory.makeASTRoot(currentAST, tmp21_AST); - match(LITERAL_continue); - { - switch ( LA(1)) { - case IDENT: - { - AST tmp22_AST = null; - tmp22_AST = astFactory.create(LT(1)); - astFactory.addASTChild(currentAST, tmp22_AST); - match(IDENT); - break; - } - case SEMI: - { - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - match(SEMI); - statement_AST = (AST)currentAST.root; - break; - } - case LITERAL_return: - { - AST tmp24_AST = null; - tmp24_AST = astFactory.create(LT(1)); - astFactory.makeASTRoot(currentAST, tmp24_AST); - match(LITERAL_return); - { - switch ( LA(1)) { - case IDENT: - case LITERAL_super: - case LT: - case LITERAL_void: - case LITERAL_boolean: - case LITERAL_byte: - case LITERAL_char: - case LITERAL_short: - case LITERAL_int: - case LITERAL_float: - case LITERAL_long: - case LITERAL_double: - case LPAREN: - case LITERAL_this: - case PLUS: - case MINUS: - case INC: - case DEC: - case BNOT: - case LNOT: - case LITERAL_true: - case LITERAL_false: - case LITERAL_null: - case LITERAL_new: - case NUM_INT: - case CHAR_LITERAL: - case STRING_LITERAL: - case NUM_FLOAT: - case NUM_LONG: - case NUM_DOUBLE: - case WEBCOLOR_LITERAL: - case LITERAL_color: - { - expression(); - astFactory.addASTChild(currentAST, returnAST); - break; - } - case SEMI: - { - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - match(SEMI); - statement_AST = (AST)currentAST.root; - break; - } - case LITERAL_switch: - { - AST tmp26_AST = null; - tmp26_AST = astFactory.create(LT(1)); - astFactory.makeASTRoot(currentAST, tmp26_AST); - match(LITERAL_switch); - match(LPAREN); - expression(); - astFactory.addASTChild(currentAST, returnAST); - match(RPAREN); - match(LCURLY); - { - _loop231: - do { - if ((LA(1)==LITERAL_default||LA(1)==LITERAL_case)) { - casesGroup(); - astFactory.addASTChild(currentAST, returnAST); - } - else { - break _loop231; - } - - } while (true); - } - match(RCURLY); - statement_AST = (AST)currentAST.root; - break; - } - case LITERAL_try: - { - tryBlock(); - astFactory.addASTChild(currentAST, returnAST); - statement_AST = (AST)currentAST.root; - break; - } - case LITERAL_throw: - { - AST tmp31_AST = null; - tmp31_AST = astFactory.create(LT(1)); - astFactory.makeASTRoot(currentAST, tmp31_AST); - match(LITERAL_throw); - expression(); - astFactory.addASTChild(currentAST, returnAST); - match(SEMI); - statement_AST = (AST)currentAST.root; - break; - } - case LITERAL_assert: - { - AST tmp33_AST = null; - tmp33_AST = astFactory.create(LT(1)); - astFactory.makeASTRoot(currentAST, tmp33_AST); - match(LITERAL_assert); - expression(); - astFactory.addASTChild(currentAST, returnAST); - { - switch ( LA(1)) { - case COLON: - { - match(COLON); - expression(); - astFactory.addASTChild(currentAST, returnAST); - break; - } - case SEMI: - { - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - match(SEMI); - statement_AST = (AST)currentAST.root; - break; - } - case SEMI: - { - s = LT(1); - s_AST = astFactory.create(s); - astFactory.addASTChild(currentAST, s_AST); - match(SEMI); - if ( inputState.guessing==0 ) { - s_AST.setType(EMPTY_STAT); - } - statement_AST = (AST)currentAST.root; - break; - } - default: - boolean synPredMatched225 = false; - if (((_tokenSet_10.member(LA(1))) && (_tokenSet_11.member(LA(2))))) { - int _m225 = mark(); - synPredMatched225 = true; - inputState.guessing++; - try { - { - declaration(); - } - } - catch (RecognitionException pe) { - synPredMatched225 = false; - } - rewind(_m225); -inputState.guessing--; - } - if ( synPredMatched225 ) { - declaration(); - astFactory.addASTChild(currentAST, returnAST); - match(SEMI); - statement_AST = (AST)currentAST.root; - } - else if ((_tokenSet_12.member(LA(1))) && (_tokenSet_13.member(LA(2)))) { - expression(); - astFactory.addASTChild(currentAST, returnAST); - match(SEMI); - statement_AST = (AST)currentAST.root; - } - else if ((_tokenSet_14.member(LA(1))) && (_tokenSet_15.member(LA(2)))) { - modifiers(); - m_AST = (AST)returnAST; - classDefinition(m_AST); - astFactory.addASTChild(currentAST, returnAST); - statement_AST = (AST)currentAST.root; - } - else if ((LA(1)==IDENT) && (LA(2)==COLON)) { - AST tmp38_AST = null; - tmp38_AST = astFactory.create(LT(1)); - astFactory.addASTChild(currentAST, tmp38_AST); - match(IDENT); - c = LT(1); - c_AST = astFactory.create(c); - astFactory.makeASTRoot(currentAST, c_AST); - match(COLON); - if ( inputState.guessing==0 ) { - c_AST.setType(LABELED_STAT); - } - statement(); - astFactory.addASTChild(currentAST, returnAST); - statement_AST = (AST)currentAST.root; - } - else if ((LA(1)==LITERAL_synchronized) && (LA(2)==LPAREN)) { - AST tmp39_AST = null; - tmp39_AST = astFactory.create(LT(1)); - astFactory.makeASTRoot(currentAST, tmp39_AST); - match(LITERAL_synchronized); - match(LPAREN); - expression(); - astFactory.addASTChild(currentAST, returnAST); - match(RPAREN); - compoundStatement(); - astFactory.addASTChild(currentAST, returnAST); - statement_AST = (AST)currentAST.root; - } - else { - throw new NoViableAltException(LT(1), getFilename()); - } - } - returnAST = statement_AST; - } - - public final void constant() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST constant_AST = null; - - switch ( LA(1)) { - case NUM_INT: - { - AST tmp42_AST = null; - tmp42_AST = astFactory.create(LT(1)); - astFactory.addASTChild(currentAST, tmp42_AST); - match(NUM_INT); - constant_AST = (AST)currentAST.root; - break; - } - case CHAR_LITERAL: - { - AST tmp43_AST = null; - tmp43_AST = astFactory.create(LT(1)); - astFactory.addASTChild(currentAST, tmp43_AST); - match(CHAR_LITERAL); - constant_AST = (AST)currentAST.root; - break; - } - case STRING_LITERAL: - { - AST tmp44_AST = null; - tmp44_AST = astFactory.create(LT(1)); - astFactory.addASTChild(currentAST, tmp44_AST); - match(STRING_LITERAL); - constant_AST = (AST)currentAST.root; - break; - } - case NUM_FLOAT: - { - AST tmp45_AST = null; - tmp45_AST = astFactory.create(LT(1)); - astFactory.addASTChild(currentAST, tmp45_AST); - match(NUM_FLOAT); - constant_AST = (AST)currentAST.root; - break; - } - case NUM_LONG: - { - AST tmp46_AST = null; - tmp46_AST = astFactory.create(LT(1)); - astFactory.addASTChild(currentAST, tmp46_AST); - match(NUM_LONG); - constant_AST = (AST)currentAST.root; - break; - } - case NUM_DOUBLE: - { - AST tmp47_AST = null; - tmp47_AST = astFactory.create(LT(1)); - astFactory.addASTChild(currentAST, tmp47_AST); - match(NUM_DOUBLE); - constant_AST = (AST)currentAST.root; - break; - } - case WEBCOLOR_LITERAL: - { - webcolor_literal(); - astFactory.addASTChild(currentAST, returnAST); - constant_AST = (AST)currentAST.root; - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - returnAST = constant_AST; - } - - public final void webcolor_literal() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST webcolor_literal_AST = null; - Token w = null; - AST w_AST = null; - - w = LT(1); - w_AST = astFactory.create(w); - astFactory.addASTChild(currentAST, w_AST); - match(WEBCOLOR_LITERAL); - if ( inputState.guessing==0 ) { - if (! (processing.app.Preferences.getBoolean("preproc.web_colors") - && - w.getText().length() == 6)) { - throw new RecognitionException("Web colors must be exactly 6 hex digits. This looks like " + w.getText().length() + ".", - getFilename(), LT(1).getLine(), LT(1).getColumn()); - } - } - webcolor_literal_AST = (AST)currentAST.root; - returnAST = webcolor_literal_AST; - } - - public final void typeArguments() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST typeArguments_AST = null; - int currentLtLevel = 0; - - if ( inputState.guessing==0 ) { - currentLtLevel = ltCounter; - } - match(LT); - if ( inputState.guessing==0 ) { - ltCounter++; - } - typeArgument(); - astFactory.addASTChild(currentAST, returnAST); - { - _loop18: - do { - if ((LA(1)==COMMA) && (_tokenSet_16.member(LA(2)))) { - if ( inputState.guessing==0 ) { - if (! (inputState.guessing !=0 || ltCounter == currentLtLevel + 1)) { - throw new RecognitionException("Maybe too many > characters?", - getFilename(), LT(1).getLine(), LT(1).getColumn()); - } - } - match(COMMA); - typeArgument(); - astFactory.addASTChild(currentAST, returnAST); - } - else { - break _loop18; - } - - } while (true); - } - { - if (((LA(1) >= GT && LA(1) <= BSR)) && (_tokenSet_17.member(LA(2)))) { - typeArgumentsOrParametersEnd(); - astFactory.addASTChild(currentAST, returnAST); - } - else if ((_tokenSet_17.member(LA(1))) && (_tokenSet_18.member(LA(2)))) { - } - else { - throw new NoViableAltException(LT(1), getFilename()); - } - - } - if ( inputState.guessing==0 ) { - if (! ((currentLtLevel != 0) || ltCounter == currentLtLevel)) { - throw new RecognitionException("Maybe too many > characters?", - getFilename(), LT(1).getLine(), LT(1).getColumn()); - } - } - if ( inputState.guessing==0 ) { - typeArguments_AST = (AST)currentAST.root; - typeArguments_AST = (AST)astFactory.make( (new ASTArray(2)).add(astFactory.create(TYPE_ARGUMENTS,"TYPE_ARGUMENTS")).add(typeArguments_AST)); - currentAST.root = typeArguments_AST; - currentAST.child = typeArguments_AST!=null &&typeArguments_AST.getFirstChild()!=null ? - typeArguments_AST.getFirstChild() : typeArguments_AST; - currentAST.advanceChildToEnd(); - } - typeArguments_AST = (AST)currentAST.root; - returnAST = typeArguments_AST; - } - - public final void typeArgument() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST typeArgument_AST = null; - - { - switch ( LA(1)) { - case IDENT: - case LITERAL_void: - case LITERAL_boolean: - case LITERAL_byte: - case LITERAL_char: - case LITERAL_short: - case LITERAL_int: - case LITERAL_float: - case LITERAL_long: - case LITERAL_double: - case LITERAL_color: - { - typeArgumentSpec(); - astFactory.addASTChild(currentAST, returnAST); - break; - } - case QUESTION: - { - wildcardType(); - astFactory.addASTChild(currentAST, returnAST); - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - if ( inputState.guessing==0 ) { - typeArgument_AST = (AST)currentAST.root; - typeArgument_AST = (AST)astFactory.make( (new ASTArray(2)).add(astFactory.create(TYPE_ARGUMENT,"TYPE_ARGUMENT")).add(typeArgument_AST)); - currentAST.root = typeArgument_AST; - currentAST.child = typeArgument_AST!=null &&typeArgument_AST.getFirstChild()!=null ? - typeArgument_AST.getFirstChild() : typeArgument_AST; - currentAST.advanceChildToEnd(); - } - typeArgument_AST = (AST)currentAST.root; - returnAST = typeArgument_AST; - } - - protected final void typeArgumentsOrParametersEnd() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST typeArgumentsOrParametersEnd_AST = null; - - switch ( LA(1)) { - case GT: - { - match(GT); - if ( inputState.guessing==0 ) { - ltCounter-=1; - } - typeArgumentsOrParametersEnd_AST = (AST)currentAST.root; - break; - } - case SR: - { - match(SR); - if ( inputState.guessing==0 ) { - ltCounter-=2; - } - typeArgumentsOrParametersEnd_AST = (AST)currentAST.root; - break; - } - case BSR: - { - match(BSR); - if ( inputState.guessing==0 ) { - ltCounter-=3; - } - typeArgumentsOrParametersEnd_AST = (AST)currentAST.root; - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - returnAST = typeArgumentsOrParametersEnd_AST; - } - - public final void typeParameters() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST typeParameters_AST = null; - int currentLtLevel = 0; - - if ( inputState.guessing==0 ) { - currentLtLevel = ltCounter; - } - match(LT); - if ( inputState.guessing==0 ) { - ltCounter++; - } - typeParameter(); - astFactory.addASTChild(currentAST, returnAST); - { - _loop22: - do { - if ((LA(1)==COMMA)) { - match(COMMA); - typeParameter(); - astFactory.addASTChild(currentAST, returnAST); - } - else { - break _loop22; - } - - } while (true); - } - { - switch ( LA(1)) { - case GT: - case SR: - case BSR: - { - typeArgumentsOrParametersEnd(); - astFactory.addASTChild(currentAST, returnAST); - break; - } - case IDENT: - case LITERAL_extends: - case LITERAL_void: - case LITERAL_boolean: - case LITERAL_byte: - case LITERAL_char: - case LITERAL_short: - case LITERAL_int: - case LITERAL_float: - case LITERAL_long: - case LITERAL_double: - case LCURLY: - case LITERAL_implements: - case LITERAL_color: - { - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - if ( inputState.guessing==0 ) { - if (! ((currentLtLevel != 0) || ltCounter == currentLtLevel)) { - throw new RecognitionException("Maybe too many > characters?", - getFilename(), LT(1).getLine(), LT(1).getColumn()); - } - } - if ( inputState.guessing==0 ) { - typeParameters_AST = (AST)currentAST.root; - typeParameters_AST = (AST)astFactory.make( (new ASTArray(2)).add(astFactory.create(TYPE_PARAMETERS,"TYPE_PARAMETERS")).add(typeParameters_AST)); - currentAST.root = typeParameters_AST; - currentAST.child = typeParameters_AST!=null &&typeParameters_AST.getFirstChild()!=null ? - typeParameters_AST.getFirstChild() : typeParameters_AST; - currentAST.advanceChildToEnd(); - } - typeParameters_AST = (AST)currentAST.root; - returnAST = typeParameters_AST; - } - - public final void typeParameter() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST typeParameter_AST = null; - Token id = null; - AST id_AST = null; - - { - id = LT(1); - id_AST = astFactory.create(id); - astFactory.addASTChild(currentAST, id_AST); - match(IDENT); - } - { - if ((LA(1)==LITERAL_extends) && (LA(2)==IDENT)) { - typeParameterBounds(); - astFactory.addASTChild(currentAST, returnAST); - } - else if ((_tokenSet_19.member(LA(1))) && (_tokenSet_20.member(LA(2)))) { - } - else { - throw new NoViableAltException(LT(1), getFilename()); - } - - } - if ( inputState.guessing==0 ) { - typeParameter_AST = (AST)currentAST.root; - typeParameter_AST = (AST)astFactory.make( (new ASTArray(2)).add(astFactory.create(TYPE_PARAMETER,"TYPE_PARAMETER")).add(typeParameter_AST)); - currentAST.root = typeParameter_AST; - currentAST.child = typeParameter_AST!=null &&typeParameter_AST.getFirstChild()!=null ? - typeParameter_AST.getFirstChild() : typeParameter_AST; - currentAST.advanceChildToEnd(); - } - typeParameter_AST = (AST)currentAST.root; - returnAST = typeParameter_AST; - } - - public final void builtInConsCastType() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST builtInConsCastType_AST = null; - - switch ( LA(1)) { - case LITERAL_void: - { - AST tmp55_AST = null; - tmp55_AST = astFactory.create(LT(1)); - astFactory.addASTChild(currentAST, tmp55_AST); - match(LITERAL_void); - builtInConsCastType_AST = (AST)currentAST.root; - break; - } - case LITERAL_boolean: - { - AST tmp56_AST = null; - tmp56_AST = astFactory.create(LT(1)); - astFactory.addASTChild(currentAST, tmp56_AST); - match(LITERAL_boolean); - builtInConsCastType_AST = (AST)currentAST.root; - break; - } - case LITERAL_byte: - { - AST tmp57_AST = null; - tmp57_AST = astFactory.create(LT(1)); - astFactory.addASTChild(currentAST, tmp57_AST); - match(LITERAL_byte); - builtInConsCastType_AST = (AST)currentAST.root; - break; - } - case LITERAL_char: - { - AST tmp58_AST = null; - tmp58_AST = astFactory.create(LT(1)); - astFactory.addASTChild(currentAST, tmp58_AST); - match(LITERAL_char); - builtInConsCastType_AST = (AST)currentAST.root; - break; - } - case LITERAL_short: - { - AST tmp59_AST = null; - tmp59_AST = astFactory.create(LT(1)); - astFactory.addASTChild(currentAST, tmp59_AST); - match(LITERAL_short); - builtInConsCastType_AST = (AST)currentAST.root; - break; - } - case LITERAL_int: - { - AST tmp60_AST = null; - tmp60_AST = astFactory.create(LT(1)); - astFactory.addASTChild(currentAST, tmp60_AST); - match(LITERAL_int); - builtInConsCastType_AST = (AST)currentAST.root; - break; - } - case LITERAL_float: - { - AST tmp61_AST = null; - tmp61_AST = astFactory.create(LT(1)); - astFactory.addASTChild(currentAST, tmp61_AST); - match(LITERAL_float); - builtInConsCastType_AST = (AST)currentAST.root; - break; - } - case LITERAL_long: - { - AST tmp62_AST = null; - tmp62_AST = astFactory.create(LT(1)); - astFactory.addASTChild(currentAST, tmp62_AST); - match(LITERAL_long); - builtInConsCastType_AST = (AST)currentAST.root; - break; - } - case LITERAL_double: - { - AST tmp63_AST = null; - tmp63_AST = astFactory.create(LT(1)); - astFactory.addASTChild(currentAST, tmp63_AST); - match(LITERAL_double); - builtInConsCastType_AST = (AST)currentAST.root; - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - returnAST = builtInConsCastType_AST; - } - - public final void builtInType() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST builtInType_AST = null; - - switch ( LA(1)) { - case LITERAL_void: - case LITERAL_boolean: - case LITERAL_byte: - case LITERAL_char: - case LITERAL_short: - case LITERAL_int: - case LITERAL_float: - case LITERAL_long: - case LITERAL_double: - { - builtInConsCastType(); - astFactory.addASTChild(currentAST, returnAST); - builtInType_AST = (AST)currentAST.root; - break; - } - case LITERAL_color: - { - AST tmp64_AST = null; - tmp64_AST = astFactory.create(LT(1)); - astFactory.addASTChild(currentAST, tmp64_AST); - match(LITERAL_color); - if (!( processing.app.Preferences.getBoolean("preproc.color_datatype") )) - throw new SemanticException(" processing.app.Preferences.getBoolean(\"preproc.color_datatype\") "); - builtInType_AST = (AST)currentAST.root; - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - returnAST = builtInType_AST; - } - - public final void constructorCast() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST constructorCast_AST = null; - AST t_AST = null; - AST e_AST = null; - - consCastTypeSpec(true); - t_AST = (AST)returnAST; - match(LPAREN); - expression(); - e_AST = (AST)returnAST; - match(RPAREN); - if (!( (e_AST == null) || - ( (e_AST.getType() != STRING_LITERAL) || - ( t_AST.getType() == LITERAL_boolean || - t_AST.getType() == LITERAL_double || - t_AST.getType() == LITERAL_float || - t_AST.getType() == LITERAL_int || - t_AST.getType() == LITERAL_long || - t_AST.getType() == LITERAL_short )) )) - throw new SemanticException(" (e_AST == null) ||\r\n ( (e_AST.getType() != STRING_LITERAL) ||\r\n ( t_AST.getType() == LITERAL_boolean ||\r\n t_AST.getType() == LITERAL_double ||\r\n t_AST.getType() == LITERAL_float ||\r\n t_AST.getType() == LITERAL_int ||\r\n t_AST.getType() == LITERAL_long ||\r\n t_AST.getType() == LITERAL_short )) "); - if ( inputState.guessing==0 ) { - constructorCast_AST = (AST)currentAST.root; - constructorCast_AST = (AST)astFactory.make( (new ASTArray(3)).add(astFactory.create(CONSTRUCTOR_CAST,"CONSTRUCTOR_CAST")).add(t_AST).add(e_AST)); - currentAST.root = constructorCast_AST; - currentAST.child = constructorCast_AST!=null &&constructorCast_AST.getFirstChild()!=null ? - constructorCast_AST.getFirstChild() : constructorCast_AST; - currentAST.advanceChildToEnd(); - } - returnAST = constructorCast_AST; - } - - public final void consCastTypeSpec( - boolean addImagNode - ) throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST consCastTypeSpec_AST = null; - - builtInConsCastTypeSpec(addImagNode); - astFactory.addASTChild(currentAST, returnAST); - consCastTypeSpec_AST = (AST)currentAST.root; - returnAST = consCastTypeSpec_AST; - } - - public final void expression() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST expression_AST = null; - - assignmentExpression(); - astFactory.addASTChild(currentAST, returnAST); - if ( inputState.guessing==0 ) { - expression_AST = (AST)currentAST.root; - expression_AST = (AST)astFactory.make( (new ASTArray(2)).add(astFactory.create(EXPR,"EXPR")).add(expression_AST)); - currentAST.root = expression_AST; - currentAST.child = expression_AST!=null &&expression_AST.getFirstChild()!=null ? - expression_AST.getFirstChild() : expression_AST; - currentAST.advanceChildToEnd(); - } - expression_AST = (AST)currentAST.root; - returnAST = expression_AST; - } - - public final void builtInConsCastTypeSpec( - boolean addImagNode - ) throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST builtInConsCastTypeSpec_AST = null; - - builtInConsCastType(); - astFactory.addASTChild(currentAST, returnAST); - if ( inputState.guessing==0 ) { - builtInConsCastTypeSpec_AST = (AST)currentAST.root; - - if ( addImagNode ) { - builtInConsCastTypeSpec_AST = (AST)astFactory.make( (new ASTArray(2)).add(astFactory.create(TYPE,"TYPE")).add(builtInConsCastTypeSpec_AST)); - } - - currentAST.root = builtInConsCastTypeSpec_AST; - currentAST.child = builtInConsCastTypeSpec_AST!=null &&builtInConsCastTypeSpec_AST.getFirstChild()!=null ? - builtInConsCastTypeSpec_AST.getFirstChild() : builtInConsCastTypeSpec_AST; - currentAST.advanceChildToEnd(); - } - builtInConsCastTypeSpec_AST = (AST)currentAST.root; - returnAST = builtInConsCastTypeSpec_AST; - } - - public final void colorMethodCall() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST colorMethodCall_AST = null; - Token c = null; - AST c_AST = null; - Token lp = null; - AST lp_AST = null; - - c = LT(1); - c_AST = astFactory.create(c); - astFactory.addASTChild(currentAST, c_AST); - match(LITERAL_color); - if ( inputState.guessing==0 ) { - c_AST.setType(IDENT); - } - lp = LT(1); - lp_AST = astFactory.create(lp); - astFactory.makeASTRoot(currentAST, lp_AST); - match(LPAREN); - if ( inputState.guessing==0 ) { - lp_AST.setType(METHOD_CALL); - } - argList(); - astFactory.addASTChild(currentAST, returnAST); - match(RPAREN); - colorMethodCall_AST = (AST)currentAST.root; - returnAST = colorMethodCall_AST; - } - - public final void argList() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST argList_AST = null; - - { - switch ( LA(1)) { - case IDENT: - case LITERAL_super: - case LT: - case LITERAL_void: - case LITERAL_boolean: - case LITERAL_byte: - case LITERAL_char: - case LITERAL_short: - case LITERAL_int: - case LITERAL_float: - case LITERAL_long: - case LITERAL_double: - case LPAREN: - case LITERAL_this: - case PLUS: - case MINUS: - case INC: - case DEC: - case BNOT: - case LNOT: - case LITERAL_true: - case LITERAL_false: - case LITERAL_null: - case LITERAL_new: - case NUM_INT: - case CHAR_LITERAL: - case STRING_LITERAL: - case NUM_FLOAT: - case NUM_LONG: - case NUM_DOUBLE: - case WEBCOLOR_LITERAL: - case LITERAL_color: - { - expressionList(); - astFactory.addASTChild(currentAST, returnAST); - break; - } - case RPAREN: - { - if ( inputState.guessing==0 ) { - argList_AST = (AST)currentAST.root; - argList_AST = astFactory.create(ELIST,"ELIST"); - currentAST.root = argList_AST; - currentAST.child = argList_AST!=null &&argList_AST.getFirstChild()!=null ? - argList_AST.getFirstChild() : argList_AST; - currentAST.advanceChildToEnd(); - } - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - argList_AST = (AST)currentAST.root; - returnAST = argList_AST; - } - - public final void primaryExpression() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST primaryExpression_AST = null; - Token lbt = null; - AST lbt_AST = null; - - switch ( LA(1)) { - case IDENT: - case LT: - { - identPrimary(); - astFactory.addASTChild(currentAST, returnAST); - { - if ((LA(1)==DOT) && (LA(2)==LITERAL_class)) { - AST tmp68_AST = null; - tmp68_AST = astFactory.create(LT(1)); - astFactory.makeASTRoot(currentAST, tmp68_AST); - match(DOT); - AST tmp69_AST = null; - tmp69_AST = astFactory.create(LT(1)); - astFactory.addASTChild(currentAST, tmp69_AST); - match(LITERAL_class); - } - else if ((_tokenSet_21.member(LA(1))) && (_tokenSet_22.member(LA(2)))) { - } - else { - throw new NoViableAltException(LT(1), getFilename()); - } - - } - primaryExpression_AST = (AST)currentAST.root; - break; - } - case NUM_INT: - case CHAR_LITERAL: - case STRING_LITERAL: - case NUM_FLOAT: - case NUM_LONG: - case NUM_DOUBLE: - case WEBCOLOR_LITERAL: - { - constant(); - astFactory.addASTChild(currentAST, returnAST); - primaryExpression_AST = (AST)currentAST.root; - break; - } - case LITERAL_true: - { - AST tmp70_AST = null; - tmp70_AST = astFactory.create(LT(1)); - astFactory.addASTChild(currentAST, tmp70_AST); - match(LITERAL_true); - primaryExpression_AST = (AST)currentAST.root; - break; - } - case LITERAL_false: - { - AST tmp71_AST = null; - tmp71_AST = astFactory.create(LT(1)); - astFactory.addASTChild(currentAST, tmp71_AST); - match(LITERAL_false); - primaryExpression_AST = (AST)currentAST.root; - break; - } - case LITERAL_null: - { - AST tmp72_AST = null; - tmp72_AST = astFactory.create(LT(1)); - astFactory.addASTChild(currentAST, tmp72_AST); - match(LITERAL_null); - primaryExpression_AST = (AST)currentAST.root; - break; - } - case LITERAL_new: - { - newExpression(); - astFactory.addASTChild(currentAST, returnAST); - primaryExpression_AST = (AST)currentAST.root; - break; - } - case LITERAL_this: - { - AST tmp73_AST = null; - tmp73_AST = astFactory.create(LT(1)); - astFactory.addASTChild(currentAST, tmp73_AST); - match(LITERAL_this); - primaryExpression_AST = (AST)currentAST.root; - break; - } - case LITERAL_super: - { - AST tmp74_AST = null; - tmp74_AST = astFactory.create(LT(1)); - astFactory.addASTChild(currentAST, tmp74_AST); - match(LITERAL_super); - primaryExpression_AST = (AST)currentAST.root; - break; - } - case LPAREN: - { - match(LPAREN); - assignmentExpression(); - astFactory.addASTChild(currentAST, returnAST); - match(RPAREN); - primaryExpression_AST = (AST)currentAST.root; - break; - } - default: - boolean synPredMatched34 = false; - if ((((LA(1) >= LITERAL_void && LA(1) <= LITERAL_double)) && (LA(2)==LPAREN))) { - int _m34 = mark(); - synPredMatched34 = true; - inputState.guessing++; - try { - { - consCastTypeSpec(false); - match(LPAREN); - } - } - catch (RecognitionException pe) { - synPredMatched34 = false; - } - rewind(_m34); -inputState.guessing--; - } - if ( synPredMatched34 ) { - constructorCast(); - astFactory.addASTChild(currentAST, returnAST); - if (!( processing.app.Preferences.getBoolean("preproc.enhanced_casting") )) - throw new SemanticException(" processing.app.Preferences.getBoolean(\"preproc.enhanced_casting\") "); - primaryExpression_AST = (AST)currentAST.root; - } - else if ((LA(1)==LITERAL_color) && (LA(2)==LPAREN)) { - colorMethodCall(); - astFactory.addASTChild(currentAST, returnAST); - primaryExpression_AST = (AST)currentAST.root; - } - else if ((_tokenSet_23.member(LA(1))) && (LA(2)==LBRACK||LA(2)==DOT)) { - builtInType(); - astFactory.addASTChild(currentAST, returnAST); - { - _loop37: - do { - if ((LA(1)==LBRACK)) { - lbt = LT(1); - lbt_AST = astFactory.create(lbt); - astFactory.makeASTRoot(currentAST, lbt_AST); - match(LBRACK); - if ( inputState.guessing==0 ) { - lbt_AST.setType(ARRAY_DECLARATOR); - } - match(RBRACK); - } - else { - break _loop37; - } - - } while (true); - } - AST tmp78_AST = null; - tmp78_AST = astFactory.create(LT(1)); - astFactory.makeASTRoot(currentAST, tmp78_AST); - match(DOT); - AST tmp79_AST = null; - tmp79_AST = astFactory.create(LT(1)); - astFactory.addASTChild(currentAST, tmp79_AST); - match(LITERAL_class); - primaryExpression_AST = (AST)currentAST.root; - } - else { - throw new NoViableAltException(LT(1), getFilename()); - } - } - returnAST = primaryExpression_AST; - } - - public final void identPrimary() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST identPrimary_AST = null; - AST ta1_AST = null; - AST ta2_AST = null; - Token lp = null; - AST lp_AST = null; - Token lbc = null; - AST lbc_AST = null; - - { - switch ( LA(1)) { - case LT: - { - typeArguments(); - ta1_AST = (AST)returnAST; - break; - } - case IDENT: - { - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - AST tmp80_AST = null; - tmp80_AST = astFactory.create(LT(1)); - astFactory.addASTChild(currentAST, tmp80_AST); - match(IDENT); - { - _loop330: - do { - boolean synPredMatched328 = false; - if (((LA(1)==DOT) && (LA(2)==IDENT||LA(2)==LT))) { - int _m328 = mark(); - synPredMatched328 = true; - inputState.guessing++; - try { - { - match(DOT); - { - switch ( LA(1)) { - case LT: - { - typeArguments(); - break; - } - case IDENT: - { - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - match(IDENT); - } - } - catch (RecognitionException pe) { - synPredMatched328 = false; - } - rewind(_m328); -inputState.guessing--; - } - if ( synPredMatched328 ) { - AST tmp81_AST = null; - tmp81_AST = astFactory.create(LT(1)); - astFactory.makeASTRoot(currentAST, tmp81_AST); - match(DOT); - { - switch ( LA(1)) { - case LT: - { - typeArguments(); - ta2_AST = (AST)returnAST; - break; - } - case IDENT: - { - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - AST tmp82_AST = null; - tmp82_AST = astFactory.create(LT(1)); - astFactory.addASTChild(currentAST, tmp82_AST); - match(IDENT); - } - else if (((_tokenSet_24.member(LA(1))) && (_tokenSet_22.member(LA(2))))&&(false)) { - } - else { - break _loop330; - } - - } while (true); - } - { - if ((LA(1)==LPAREN)) { - { - lp = LT(1); - lp_AST = astFactory.create(lp); - astFactory.makeASTRoot(currentAST, lp_AST); - match(LPAREN); - if ( inputState.guessing==0 ) { - lp_AST.setType(METHOD_CALL); - } - if ( inputState.guessing==0 ) { - if (ta2_AST != null) astFactory.addASTChild(currentAST, ta2_AST); - } - if ( inputState.guessing==0 ) { - if (ta2_AST == null) astFactory.addASTChild(currentAST, ta1_AST); - } - argList(); - astFactory.addASTChild(currentAST, returnAST); - match(RPAREN); - } - } - else if ((LA(1)==LBRACK) && (LA(2)==RBRACK)) { - { - int _cnt334=0; - _loop334: - do { - if ((LA(1)==LBRACK) && (LA(2)==RBRACK)) { - lbc = LT(1); - lbc_AST = astFactory.create(lbc); - astFactory.makeASTRoot(currentAST, lbc_AST); - match(LBRACK); - if ( inputState.guessing==0 ) { - lbc_AST.setType(ARRAY_DECLARATOR); - } - match(RBRACK); - } - else { - if ( _cnt334>=1 ) { break _loop334; } else {throw new NoViableAltException(LT(1), getFilename());} - } - - _cnt334++; - } while (true); - } - } - else if ((_tokenSet_21.member(LA(1))) && (_tokenSet_22.member(LA(2)))) { - } - else { - throw new NoViableAltException(LT(1), getFilename()); - } - - } - identPrimary_AST = (AST)currentAST.root; - returnAST = identPrimary_AST; - } - - public final void newExpression() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST newExpression_AST = null; - - AST tmp85_AST = null; - tmp85_AST = astFactory.create(LT(1)); - astFactory.makeASTRoot(currentAST, tmp85_AST); - match(LITERAL_new); - { - switch ( LA(1)) { - case LT: - { - typeArguments(); - astFactory.addASTChild(currentAST, returnAST); - break; - } - case IDENT: - case LITERAL_void: - case LITERAL_boolean: - case LITERAL_byte: - case LITERAL_char: - case LITERAL_short: - case LITERAL_int: - case LITERAL_float: - case LITERAL_long: - case LITERAL_double: - case LITERAL_color: - { - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - type(); - astFactory.addASTChild(currentAST, returnAST); - { - switch ( LA(1)) { - case LPAREN: - { - match(LPAREN); - argList(); - astFactory.addASTChild(currentAST, returnAST); - match(RPAREN); - { - switch ( LA(1)) { - case LCURLY: - { - classBlock(); - astFactory.addASTChild(currentAST, returnAST); - break; - } - case SEMI: - case LBRACK: - case RBRACK: - case IDENT: - case DOT: - case QUESTION: - case LT: - case COMMA: - case GT: - case SR: - case BSR: - case STAR: - case RPAREN: - case ASSIGN: - case RCURLY: - case BAND: - case COLON: - case PLUS_ASSIGN: - case MINUS_ASSIGN: - case STAR_ASSIGN: - case DIV_ASSIGN: - case MOD_ASSIGN: - case SR_ASSIGN: - case BSR_ASSIGN: - case SL_ASSIGN: - case BAND_ASSIGN: - case BXOR_ASSIGN: - case BOR_ASSIGN: - case LOR: - case LAND: - case BOR: - case BXOR: - case NOT_EQUAL: - case EQUAL: - case LE: - case GE: - case LITERAL_instanceof: - case SL: - case PLUS: - case MINUS: - case DIV: - case MOD: - case INC: - case DEC: - { - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - break; - } - case LBRACK: - { - newArrayDeclarator(); - astFactory.addASTChild(currentAST, returnAST); - { - switch ( LA(1)) { - case LCURLY: - { - arrayInitializer(); - astFactory.addASTChild(currentAST, returnAST); - break; - } - case SEMI: - case LBRACK: - case RBRACK: - case IDENT: - case DOT: - case QUESTION: - case LT: - case COMMA: - case GT: - case SR: - case BSR: - case STAR: - case RPAREN: - case ASSIGN: - case RCURLY: - case BAND: - case COLON: - case PLUS_ASSIGN: - case MINUS_ASSIGN: - case STAR_ASSIGN: - case DIV_ASSIGN: - case MOD_ASSIGN: - case SR_ASSIGN: - case BSR_ASSIGN: - case SL_ASSIGN: - case BAND_ASSIGN: - case BXOR_ASSIGN: - case BOR_ASSIGN: - case LOR: - case LAND: - case BOR: - case BXOR: - case NOT_EQUAL: - case EQUAL: - case LE: - case GE: - case LITERAL_instanceof: - case SL: - case PLUS: - case MINUS: - case DIV: - case MOD: - case INC: - case DEC: - { - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - newExpression_AST = (AST)currentAST.root; - returnAST = newExpression_AST; - } - - public final void assignmentExpression() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST assignmentExpression_AST = null; - - conditionalExpression(); - astFactory.addASTChild(currentAST, returnAST); - { - switch ( LA(1)) { - case ASSIGN: - case PLUS_ASSIGN: - case MINUS_ASSIGN: - case STAR_ASSIGN: - case DIV_ASSIGN: - case MOD_ASSIGN: - case SR_ASSIGN: - case BSR_ASSIGN: - case SL_ASSIGN: - case BAND_ASSIGN: - case BXOR_ASSIGN: - case BOR_ASSIGN: - { - { - switch ( LA(1)) { - case ASSIGN: - { - AST tmp88_AST = null; - tmp88_AST = astFactory.create(LT(1)); - astFactory.makeASTRoot(currentAST, tmp88_AST); - match(ASSIGN); - break; - } - case PLUS_ASSIGN: - { - AST tmp89_AST = null; - tmp89_AST = astFactory.create(LT(1)); - astFactory.makeASTRoot(currentAST, tmp89_AST); - match(PLUS_ASSIGN); - break; - } - case MINUS_ASSIGN: - { - AST tmp90_AST = null; - tmp90_AST = astFactory.create(LT(1)); - astFactory.makeASTRoot(currentAST, tmp90_AST); - match(MINUS_ASSIGN); - break; - } - case STAR_ASSIGN: - { - AST tmp91_AST = null; - tmp91_AST = astFactory.create(LT(1)); - astFactory.makeASTRoot(currentAST, tmp91_AST); - match(STAR_ASSIGN); - break; - } - case DIV_ASSIGN: - { - AST tmp92_AST = null; - tmp92_AST = astFactory.create(LT(1)); - astFactory.makeASTRoot(currentAST, tmp92_AST); - match(DIV_ASSIGN); - break; - } - case MOD_ASSIGN: - { - AST tmp93_AST = null; - tmp93_AST = astFactory.create(LT(1)); - astFactory.makeASTRoot(currentAST, tmp93_AST); - match(MOD_ASSIGN); - break; - } - case SR_ASSIGN: - { - AST tmp94_AST = null; - tmp94_AST = astFactory.create(LT(1)); - astFactory.makeASTRoot(currentAST, tmp94_AST); - match(SR_ASSIGN); - break; - } - case BSR_ASSIGN: - { - AST tmp95_AST = null; - tmp95_AST = astFactory.create(LT(1)); - astFactory.makeASTRoot(currentAST, tmp95_AST); - match(BSR_ASSIGN); - break; - } - case SL_ASSIGN: - { - AST tmp96_AST = null; - tmp96_AST = astFactory.create(LT(1)); - astFactory.makeASTRoot(currentAST, tmp96_AST); - match(SL_ASSIGN); - break; - } - case BAND_ASSIGN: - { - AST tmp97_AST = null; - tmp97_AST = astFactory.create(LT(1)); - astFactory.makeASTRoot(currentAST, tmp97_AST); - match(BAND_ASSIGN); - break; - } - case BXOR_ASSIGN: - { - AST tmp98_AST = null; - tmp98_AST = astFactory.create(LT(1)); - astFactory.makeASTRoot(currentAST, tmp98_AST); - match(BXOR_ASSIGN); - break; - } - case BOR_ASSIGN: - { - AST tmp99_AST = null; - tmp99_AST = astFactory.create(LT(1)); - astFactory.makeASTRoot(currentAST, tmp99_AST); - match(BOR_ASSIGN); - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - assignmentExpression(); - astFactory.addASTChild(currentAST, returnAST); - break; - } - case SEMI: - case RBRACK: - case IDENT: - case COMMA: - case RPAREN: - case RCURLY: - case COLON: - { - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - assignmentExpression_AST = (AST)currentAST.root; - returnAST = assignmentExpression_AST; - } - - public final void variableDefinitions( - AST mods, AST t - ) throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST variableDefinitions_AST = null; - AST vd_AST = null; - - variableDeclarator(getASTFactory().dupTree(mods), - getASTFactory().dupTree(t)); - vd_AST = (AST)returnAST; - if ( inputState.guessing==0 ) { - variableDefinitions_AST = (AST)currentAST.root; - variableDefinitions_AST = (AST)astFactory.make( (new ASTArray(4)).add(astFactory.create(VARIABLE_DEF,"VARIABLE_DEF")).add(mods).add(t).add(vd_AST)); - currentAST.root = variableDefinitions_AST; - currentAST.child = variableDefinitions_AST!=null &&variableDefinitions_AST.getFirstChild()!=null ? - variableDefinitions_AST.getFirstChild() : variableDefinitions_AST; - currentAST.advanceChildToEnd(); - } - returnAST = variableDefinitions_AST; - } - - public final void variableDeclarator( - AST mods, AST t - ) throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST variableDeclarator_AST = null; - Token id = null; - AST id_AST = null; - Token lb = null; - AST lb_AST = null; - AST v_AST = null; - - { - int _cnt44=0; - _loop44: - do { - if ((LA(1)==IDENT)) { - id = LT(1); - id_AST = astFactory.create(id); - astFactory.addASTChild(currentAST, id_AST); - match(IDENT); - { - _loop42: - do { - if ((LA(1)==LBRACK)) { - lb = LT(1); - lb_AST = astFactory.create(lb); - astFactory.makeASTRoot(currentAST, lb_AST); - match(LBRACK); - if ( inputState.guessing==0 ) { - lb_AST.setType(ARRAY_DECLARATOR); - } - match(RBRACK); - } - else { - break _loop42; - } - - } while (true); - } - varInitializer(); - v_AST = (AST)returnAST; - astFactory.addASTChild(currentAST, returnAST); - { - switch ( LA(1)) { - case COMMA: - { - match(COMMA); - break; - } - case SEMI: - case IDENT: - { - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - } - else { - if ( _cnt44>=1 ) { break _loop44; } else {throw new NoViableAltException(LT(1), getFilename());} - } - - _cnt44++; - } while (true); - } - variableDeclarator_AST = (AST)currentAST.root; - returnAST = variableDeclarator_AST; - } - - public final void varInitializer() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST varInitializer_AST = null; - - { - switch ( LA(1)) { - case ASSIGN: - { - AST tmp102_AST = null; - tmp102_AST = astFactory.create(LT(1)); - astFactory.makeASTRoot(currentAST, tmp102_AST); - match(ASSIGN); - initializer(); - astFactory.addASTChild(currentAST, returnAST); - break; - } - case SEMI: - case IDENT: - case COMMA: - { - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - varInitializer_AST = (AST)currentAST.root; - returnAST = varInitializer_AST; - } - - public final void explicitConstructorInvocation() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST explicitConstructorInvocation_AST = null; - Token t = null; - AST t_AST = null; - AST a1_AST = null; - Token s = null; - AST s_AST = null; - AST a2_AST = null; - - switch ( LA(1)) { - case LT: - case LITERAL_this: - { - { - switch ( LA(1)) { - case LT: - { - typeArguments(); - break; - } - case LITERAL_this: - { - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - t = LT(1); - t_AST = astFactory.create(t); - match(LITERAL_this); - AST tmp103_AST = null; - tmp103_AST = astFactory.create(LT(1)); - match(LPAREN); - argList(); - a1_AST = (AST)returnAST; - AST tmp104_AST = null; - tmp104_AST = astFactory.create(LT(1)); - match(RPAREN); - AST tmp105_AST = null; - tmp105_AST = astFactory.create(LT(1)); - match(SEMI); - if ( inputState.guessing==0 ) { - explicitConstructorInvocation_AST = (AST)currentAST.root; - explicitConstructorInvocation_AST = (AST)astFactory.make( (new ASTArray(3)).add(astFactory.create(CTOR_CALL,"CTOR_CALL")).add(t_AST).add(a1_AST)); - currentAST.root = explicitConstructorInvocation_AST; - currentAST.child = explicitConstructorInvocation_AST!=null &&explicitConstructorInvocation_AST.getFirstChild()!=null ? - explicitConstructorInvocation_AST.getFirstChild() : explicitConstructorInvocation_AST; - currentAST.advanceChildToEnd(); - } - break; - } - case LITERAL_super: - { - s = LT(1); - s_AST = astFactory.create(s); - match(LITERAL_super); - AST tmp106_AST = null; - tmp106_AST = astFactory.create(LT(1)); - match(LPAREN); - argList(); - a2_AST = (AST)returnAST; - AST tmp107_AST = null; - tmp107_AST = astFactory.create(LT(1)); - match(RPAREN); - AST tmp108_AST = null; - tmp108_AST = astFactory.create(LT(1)); - match(SEMI); - if ( inputState.guessing==0 ) { - explicitConstructorInvocation_AST = (AST)currentAST.root; - explicitConstructorInvocation_AST = (AST)astFactory.make( (new ASTArray(3)).add(astFactory.create(SUPER_CTOR_CALL,"SUPER_CTOR_CALL")).add(s_AST).add(a2_AST)); - currentAST.root = explicitConstructorInvocation_AST; - currentAST.child = explicitConstructorInvocation_AST!=null &&explicitConstructorInvocation_AST.getFirstChild()!=null ? - explicitConstructorInvocation_AST.getFirstChild() : explicitConstructorInvocation_AST; - currentAST.advanceChildToEnd(); - } - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - returnAST = explicitConstructorInvocation_AST; - } - - public final void classDefinition( - AST modifiers - ) throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST classDefinition_AST = null; - Token i = null; - AST i_AST = null; - AST tp_AST = null; - AST sc_AST = null; - AST ic_AST = null; - AST cb_AST = null; - - match(LITERAL_class); - i = LT(1); - i_AST = astFactory.create(i); - match(IDENT); - { - switch ( LA(1)) { - case LT: - { - typeParameters(); - tp_AST = (AST)returnAST; - break; - } - case LITERAL_extends: - case LCURLY: - case LITERAL_implements: - { - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - superClassClause(); - sc_AST = (AST)returnAST; - implementsClause(); - ic_AST = (AST)returnAST; - classBlock(); - cb_AST = (AST)returnAST; - if ( inputState.guessing==0 ) { - classDefinition_AST = (AST)currentAST.root; - classDefinition_AST = (AST)astFactory.make( (new ASTArray(7)).add(astFactory.create(CLASS_DEF,"CLASS_DEF")).add(modifiers).add(i_AST).add(tp_AST).add(sc_AST).add(ic_AST).add(cb_AST)); - pp.setAdvClassName(i.getText()); - currentAST.root = classDefinition_AST; - currentAST.child = classDefinition_AST!=null &&classDefinition_AST.getFirstChild()!=null ? - classDefinition_AST.getFirstChild() : classDefinition_AST; - currentAST.advanceChildToEnd(); - } - returnAST = classDefinition_AST; - } - - public final void superClassClause() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST superClassClause_AST = null; - AST c_AST = null; - - { - switch ( LA(1)) { - case LITERAL_extends: - { - match(LITERAL_extends); - classOrInterfaceType(false); - c_AST = (AST)returnAST; - break; - } - case LCURLY: - case LITERAL_implements: - { - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - if ( inputState.guessing==0 ) { - superClassClause_AST = (AST)currentAST.root; - superClassClause_AST = (AST)astFactory.make( (new ASTArray(2)).add(astFactory.create(EXTENDS_CLAUSE,"EXTENDS_CLAUSE")).add(c_AST)); - currentAST.root = superClassClause_AST; - currentAST.child = superClassClause_AST!=null &&superClassClause_AST.getFirstChild()!=null ? - superClassClause_AST.getFirstChild() : superClassClause_AST; - currentAST.advanceChildToEnd(); - } - returnAST = superClassClause_AST; - } - - public final void implementsClause() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST implementsClause_AST = null; - Token i = null; - AST i_AST = null; - - { - switch ( LA(1)) { - case LITERAL_implements: - { - i = LT(1); - i_AST = astFactory.create(i); - match(LITERAL_implements); - classOrInterfaceType(false); - astFactory.addASTChild(currentAST, returnAST); - { - _loop170: - do { - if ((LA(1)==COMMA)) { - match(COMMA); - classOrInterfaceType(false); - astFactory.addASTChild(currentAST, returnAST); - } - else { - break _loop170; - } - - } while (true); - } - break; - } - case LCURLY: - { - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - if ( inputState.guessing==0 ) { - implementsClause_AST = (AST)currentAST.root; - implementsClause_AST = (AST)astFactory.make( (new ASTArray(2)).add(astFactory.create(IMPLEMENTS_CLAUSE,"IMPLEMENTS_CLAUSE")).add(implementsClause_AST)); - currentAST.root = implementsClause_AST; - currentAST.child = implementsClause_AST!=null &&implementsClause_AST.getFirstChild()!=null ? - implementsClause_AST.getFirstChild() : implementsClause_AST; - currentAST.advanceChildToEnd(); - } - implementsClause_AST = (AST)currentAST.root; - returnAST = implementsClause_AST; - } - - public final void classBlock() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST classBlock_AST = null; - - match(LCURLY); - { - _loop132: - do { - switch ( LA(1)) { - case FINAL: - case ABSTRACT: - case STRICTFP: - case LITERAL_static: - case IDENT: - case LT: - case LITERAL_void: - case LITERAL_boolean: - case LITERAL_byte: - case LITERAL_char: - case LITERAL_short: - case LITERAL_int: - case LITERAL_float: - case LITERAL_long: - case LITERAL_double: - case LITERAL_private: - case LITERAL_public: - case LITERAL_protected: - case LITERAL_transient: - case LITERAL_native: - case LITERAL_threadsafe: - case LITERAL_synchronized: - case LITERAL_volatile: - case AT: - case LCURLY: - case LITERAL_class: - case LITERAL_interface: - case LITERAL_enum: - case LITERAL_color: - { - classField(); - astFactory.addASTChild(currentAST, returnAST); - break; - } - case SEMI: - { - match(SEMI); - break; - } - default: - { - break _loop132; - } - } - } while (true); - } - match(RCURLY); - if ( inputState.guessing==0 ) { - classBlock_AST = (AST)currentAST.root; - classBlock_AST = (AST)astFactory.make( (new ASTArray(2)).add(astFactory.create(OBJBLOCK,"OBJBLOCK")).add(classBlock_AST)); - currentAST.root = classBlock_AST; - currentAST.child = classBlock_AST!=null &&classBlock_AST.getFirstChild()!=null ? - classBlock_AST.getFirstChild() : classBlock_AST; - currentAST.advanceChildToEnd(); - } - classBlock_AST = (AST)currentAST.root; - returnAST = classBlock_AST; - } - - public final void classField() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST classField_AST = null; - AST mods_AST = null; - AST td_AST = null; - AST tp_AST = null; - AST h_AST = null; - AST s_AST = null; - AST t_AST = null; - AST param_AST = null; - AST rt_AST = null; - AST tc_AST = null; - AST s2_AST = null; - AST v_AST = null; - AST s3_AST = null; - AST s4_AST = null; - - if ((_tokenSet_25.member(LA(1))) && (_tokenSet_26.member(LA(2)))) { - modifiers(); - mods_AST = (AST)returnAST; - { - switch ( LA(1)) { - case AT: - case LITERAL_class: - case LITERAL_interface: - case LITERAL_enum: - { - typeDefinitionInternal(mods_AST); - td_AST = (AST)returnAST; - if ( inputState.guessing==0 ) { - classField_AST = (AST)currentAST.root; - classField_AST = td_AST; - currentAST.root = classField_AST; - currentAST.child = classField_AST!=null &&classField_AST.getFirstChild()!=null ? - classField_AST.getFirstChild() : classField_AST; - currentAST.advanceChildToEnd(); - } - break; - } - case IDENT: - case LT: - case LITERAL_void: - case LITERAL_boolean: - case LITERAL_byte: - case LITERAL_char: - case LITERAL_short: - case LITERAL_int: - case LITERAL_float: - case LITERAL_long: - case LITERAL_double: - case LITERAL_color: - { - { - switch ( LA(1)) { - case LT: - { - typeParameters(); - tp_AST = (AST)returnAST; - break; - } - case IDENT: - case LITERAL_void: - case LITERAL_boolean: - case LITERAL_byte: - case LITERAL_char: - case LITERAL_short: - case LITERAL_int: - case LITERAL_float: - case LITERAL_long: - case LITERAL_double: - case LITERAL_color: - { - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - { - if ((LA(1)==IDENT) && (LA(2)==LPAREN)) { - ctorHead(); - h_AST = (AST)returnAST; - constructorBody(); - s_AST = (AST)returnAST; - if ( inputState.guessing==0 ) { - classField_AST = (AST)currentAST.root; - classField_AST = (AST)astFactory.make( (new ASTArray(5)).add(astFactory.create(CTOR_DEF,"CTOR_DEF")).add(mods_AST).add(tp_AST).add(h_AST).add(s_AST)); - currentAST.root = classField_AST; - currentAST.child = classField_AST!=null &&classField_AST.getFirstChild()!=null ? - classField_AST.getFirstChild() : classField_AST; - currentAST.advanceChildToEnd(); - } - } - else if ((_tokenSet_27.member(LA(1))) && (_tokenSet_28.member(LA(2)))) { - typeSpec(false); - t_AST = (AST)returnAST; - { - if ((LA(1)==IDENT) && (LA(2)==LPAREN)) { - AST tmp115_AST = null; - tmp115_AST = astFactory.create(LT(1)); - match(IDENT); - match(LPAREN); - parameterDeclarationList(); - param_AST = (AST)returnAST; - match(RPAREN); - declaratorBrackets(t_AST); - rt_AST = (AST)returnAST; - { - switch ( LA(1)) { - case LITERAL_throws: - { - throwsClause(); - tc_AST = (AST)returnAST; - break; - } - case SEMI: - case LCURLY: - { - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - { - switch ( LA(1)) { - case LCURLY: - { - compoundStatement(); - s2_AST = (AST)returnAST; - break; - } - case SEMI: - { - AST tmp118_AST = null; - tmp118_AST = astFactory.create(LT(1)); - match(SEMI); - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - if ( inputState.guessing==0 ) { - classField_AST = (AST)currentAST.root; - classField_AST = (AST)astFactory.make( (new ASTArray(8)).add(astFactory.create(METHOD_DEF,"METHOD_DEF")).add(mods_AST).add(tp_AST).add((AST)astFactory.make( (new ASTArray(2)).add(astFactory.create(TYPE,"TYPE")).add(rt_AST))).add(tmp115_AST).add(param_AST).add(tc_AST).add(s2_AST)); - currentAST.root = classField_AST; - currentAST.child = classField_AST!=null &&classField_AST.getFirstChild()!=null ? - classField_AST.getFirstChild() : classField_AST; - currentAST.advanceChildToEnd(); - } - } - else if ((LA(1)==IDENT) && (_tokenSet_29.member(LA(2)))) { - variableDefinitions(mods_AST,t_AST); - v_AST = (AST)returnAST; - AST tmp119_AST = null; - tmp119_AST = astFactory.create(LT(1)); - match(SEMI); - if ( inputState.guessing==0 ) { - classField_AST = (AST)currentAST.root; - classField_AST = v_AST; - currentAST.root = classField_AST; - currentAST.child = classField_AST!=null &&classField_AST.getFirstChild()!=null ? - classField_AST.getFirstChild() : classField_AST; - currentAST.advanceChildToEnd(); - } - } - else { - throw new NoViableAltException(LT(1), getFilename()); - } - - } - } - else { - throw new NoViableAltException(LT(1), getFilename()); - } - - } - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - } - else if ((LA(1)==LITERAL_static) && (LA(2)==LCURLY)) { - match(LITERAL_static); - compoundStatement(); - s3_AST = (AST)returnAST; - if ( inputState.guessing==0 ) { - classField_AST = (AST)currentAST.root; - classField_AST = (AST)astFactory.make( (new ASTArray(2)).add(astFactory.create(STATIC_INIT,"STATIC_INIT")).add(s3_AST)); - currentAST.root = classField_AST; - currentAST.child = classField_AST!=null &&classField_AST.getFirstChild()!=null ? - classField_AST.getFirstChild() : classField_AST; - currentAST.advanceChildToEnd(); - } - } - else if ((LA(1)==LCURLY)) { - compoundStatement(); - s4_AST = (AST)returnAST; - if ( inputState.guessing==0 ) { - classField_AST = (AST)currentAST.root; - classField_AST = (AST)astFactory.make( (new ASTArray(2)).add(astFactory.create(INSTANCE_INIT,"INSTANCE_INIT")).add(s4_AST)); - currentAST.root = classField_AST; - currentAST.child = classField_AST!=null &&classField_AST.getFirstChild()!=null ? - classField_AST.getFirstChild() : classField_AST; - currentAST.advanceChildToEnd(); - } - } - else { - throw new NoViableAltException(LT(1), getFilename()); - } - - returnAST = classField_AST; - } - - public final void annotations() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST annotations_AST = null; - - { - _loop105: - do { - if ((LA(1)==AT)) { - annotation(); - astFactory.addASTChild(currentAST, returnAST); - } - else { - break _loop105; - } - - } while (true); - } - if ( inputState.guessing==0 ) { - annotations_AST = (AST)currentAST.root; - annotations_AST = (AST)astFactory.make( (new ASTArray(2)).add(astFactory.create(ANNOTATIONS,"ANNOTATIONS")).add(annotations_AST)); - currentAST.root = annotations_AST; - currentAST.child = annotations_AST!=null &&annotations_AST.getFirstChild()!=null ? - annotations_AST.getFirstChild() : annotations_AST; - currentAST.advanceChildToEnd(); - } - annotations_AST = (AST)currentAST.root; - returnAST = annotations_AST; - } - - public final void packageDefinition() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST packageDefinition_AST = null; - Token p = null; - AST p_AST = null; - - try { // for error handling - annotations(); - astFactory.addASTChild(currentAST, returnAST); - p = LT(1); - p_AST = astFactory.create(p); - astFactory.makeASTRoot(currentAST, p_AST); - match(LITERAL_package); - if ( inputState.guessing==0 ) { - p_AST.setType(PACKAGE_DEF); - } - identifier(); - astFactory.addASTChild(currentAST, returnAST); - match(SEMI); - packageDefinition_AST = (AST)currentAST.root; - } - catch (RecognitionException ex) { - if (inputState.guessing==0) { - reportError(ex); - recover(ex,_tokenSet_5); - } else { - throw ex; - } - } - returnAST = packageDefinition_AST; - } - - public final void importDefinition() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST importDefinition_AST = null; - Token i = null; - AST i_AST = null; - boolean isStatic = false; - - try { // for error handling - i = LT(1); - i_AST = astFactory.create(i); - astFactory.makeASTRoot(currentAST, i_AST); - match(LITERAL_import); - if ( inputState.guessing==0 ) { - i_AST.setType(IMPORT); - } - { - switch ( LA(1)) { - case LITERAL_static: - { - match(LITERAL_static); - if ( inputState.guessing==0 ) { - i_AST.setType(STATIC_IMPORT); - } - break; - } - case IDENT: - { - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - identifierStar(); - astFactory.addASTChild(currentAST, returnAST); - match(SEMI); - importDefinition_AST = (AST)currentAST.root; - } - catch (RecognitionException ex) { - if (inputState.guessing==0) { - reportError(ex); - recover(ex,_tokenSet_5); - } else { - throw ex; - } - } - returnAST = importDefinition_AST; - } - - public final void typeDefinition() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST typeDefinition_AST = null; - AST m_AST = null; - - try { // for error handling - switch ( LA(1)) { - case FINAL: - case ABSTRACT: - case STRICTFP: - case LITERAL_static: - case LITERAL_private: - case LITERAL_public: - case LITERAL_protected: - case LITERAL_transient: - case LITERAL_native: - case LITERAL_threadsafe: - case LITERAL_synchronized: - case LITERAL_volatile: - case AT: - case LITERAL_class: - case LITERAL_interface: - case LITERAL_enum: - { - modifiers(); - m_AST = (AST)returnAST; - typeDefinitionInternal(m_AST); - astFactory.addASTChild(currentAST, returnAST); - typeDefinition_AST = (AST)currentAST.root; - break; - } - case SEMI: - { - match(SEMI); - typeDefinition_AST = (AST)currentAST.root; - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - catch (RecognitionException ex) { - if (inputState.guessing==0) { - reportError(ex); - recover(ex,_tokenSet_30); - } else { - throw ex; - } - } - returnAST = typeDefinition_AST; - } - - public final void identifier() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST identifier_AST = null; - - AST tmp125_AST = null; - tmp125_AST = astFactory.create(LT(1)); - astFactory.addASTChild(currentAST, tmp125_AST); - match(IDENT); - { - _loop91: - do { - if ((LA(1)==DOT)) { - AST tmp126_AST = null; - tmp126_AST = astFactory.create(LT(1)); - astFactory.makeASTRoot(currentAST, tmp126_AST); - match(DOT); - AST tmp127_AST = null; - tmp127_AST = astFactory.create(LT(1)); - astFactory.addASTChild(currentAST, tmp127_AST); - match(IDENT); - } - else { - break _loop91; - } - - } while (true); - } - identifier_AST = (AST)currentAST.root; - returnAST = identifier_AST; - } - - public final void identifierStar() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST identifierStar_AST = null; - - AST tmp128_AST = null; - tmp128_AST = astFactory.create(LT(1)); - astFactory.addASTChild(currentAST, tmp128_AST); - match(IDENT); - { - _loop94: - do { - if ((LA(1)==DOT) && (LA(2)==IDENT)) { - AST tmp129_AST = null; - tmp129_AST = astFactory.create(LT(1)); - astFactory.makeASTRoot(currentAST, tmp129_AST); - match(DOT); - AST tmp130_AST = null; - tmp130_AST = astFactory.create(LT(1)); - astFactory.addASTChild(currentAST, tmp130_AST); - match(IDENT); - } - else { - break _loop94; - } - - } while (true); - } - { - switch ( LA(1)) { - case DOT: - { - AST tmp131_AST = null; - tmp131_AST = astFactory.create(LT(1)); - astFactory.makeASTRoot(currentAST, tmp131_AST); - match(DOT); - AST tmp132_AST = null; - tmp132_AST = astFactory.create(LT(1)); - astFactory.addASTChild(currentAST, tmp132_AST); - match(STAR); - break; - } - case SEMI: - { - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - identifierStar_AST = (AST)currentAST.root; - returnAST = identifierStar_AST; - } - - public final void modifiers() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST modifiers_AST = null; - - { - _loop98: - do { - if ((_tokenSet_31.member(LA(1)))) { - modifier(); - astFactory.addASTChild(currentAST, returnAST); - } - else if (((LA(1)==AT) && (LA(2)==IDENT))&&(LA(1)==AT && !LT(2).getText().equals("interface"))) { - annotation(); - astFactory.addASTChild(currentAST, returnAST); - } - else { - break _loop98; - } - - } while (true); - } - if ( inputState.guessing==0 ) { - modifiers_AST = (AST)currentAST.root; - modifiers_AST = (AST)astFactory.make( (new ASTArray(2)).add(astFactory.create(MODIFIERS,"MODIFIERS")).add(modifiers_AST)); - currentAST.root = modifiers_AST; - currentAST.child = modifiers_AST!=null &&modifiers_AST.getFirstChild()!=null ? - modifiers_AST.getFirstChild() : modifiers_AST; - currentAST.advanceChildToEnd(); - } - modifiers_AST = (AST)currentAST.root; - returnAST = modifiers_AST; - } - - protected final void typeDefinitionInternal( - AST mods - ) throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST typeDefinitionInternal_AST = null; - - switch ( LA(1)) { - case LITERAL_class: - { - classDefinition(mods); - astFactory.addASTChild(currentAST, returnAST); - typeDefinitionInternal_AST = (AST)currentAST.root; - break; - } - case LITERAL_interface: - { - interfaceDefinition(mods); - astFactory.addASTChild(currentAST, returnAST); - typeDefinitionInternal_AST = (AST)currentAST.root; - break; - } - case LITERAL_enum: - { - enumDefinition(mods); - astFactory.addASTChild(currentAST, returnAST); - typeDefinitionInternal_AST = (AST)currentAST.root; - break; - } - case AT: - { - annotationDefinition(mods); - astFactory.addASTChild(currentAST, returnAST); - typeDefinitionInternal_AST = (AST)currentAST.root; - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - returnAST = typeDefinitionInternal_AST; - } - - public final void interfaceDefinition( - AST modifiers - ) throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST interfaceDefinition_AST = null; - AST tp_AST = null; - AST ie_AST = null; - AST ib_AST = null; - - match(LITERAL_interface); - AST tmp134_AST = null; - tmp134_AST = astFactory.create(LT(1)); - match(IDENT); - { - switch ( LA(1)) { - case LT: - { - typeParameters(); - tp_AST = (AST)returnAST; - break; - } - case LITERAL_extends: - case LCURLY: - { - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - interfaceExtends(); - ie_AST = (AST)returnAST; - interfaceBlock(); - ib_AST = (AST)returnAST; - if ( inputState.guessing==0 ) { - interfaceDefinition_AST = (AST)currentAST.root; - interfaceDefinition_AST = (AST)astFactory.make( (new ASTArray(6)).add(astFactory.create(INTERFACE_DEF,"INTERFACE_DEF")).add(modifiers).add(tmp134_AST).add(tp_AST).add(ie_AST).add(ib_AST)); - currentAST.root = interfaceDefinition_AST; - currentAST.child = interfaceDefinition_AST!=null &&interfaceDefinition_AST.getFirstChild()!=null ? - interfaceDefinition_AST.getFirstChild() : interfaceDefinition_AST; - currentAST.advanceChildToEnd(); - } - returnAST = interfaceDefinition_AST; - } - - public final void enumDefinition( - AST modifiers - ) throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST enumDefinition_AST = null; - AST ic_AST = null; - AST eb_AST = null; - - match(LITERAL_enum); - AST tmp136_AST = null; - tmp136_AST = astFactory.create(LT(1)); - match(IDENT); - implementsClause(); - ic_AST = (AST)returnAST; - enumBlock(); - eb_AST = (AST)returnAST; - if ( inputState.guessing==0 ) { - enumDefinition_AST = (AST)currentAST.root; - enumDefinition_AST = (AST)astFactory.make( (new ASTArray(5)).add(astFactory.create(ENUM_DEF,"ENUM_DEF")).add(modifiers).add(tmp136_AST).add(ic_AST).add(eb_AST)); - currentAST.root = enumDefinition_AST; - currentAST.child = enumDefinition_AST!=null &&enumDefinition_AST.getFirstChild()!=null ? - enumDefinition_AST.getFirstChild() : enumDefinition_AST; - currentAST.advanceChildToEnd(); - } - returnAST = enumDefinition_AST; - } - - public final void annotationDefinition( - AST modifiers - ) throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST annotationDefinition_AST = null; - AST ab_AST = null; - - AST tmp137_AST = null; - tmp137_AST = astFactory.create(LT(1)); - match(AT); - match(LITERAL_interface); - AST tmp139_AST = null; - tmp139_AST = astFactory.create(LT(1)); - match(IDENT); - annotationBlock(); - ab_AST = (AST)returnAST; - if ( inputState.guessing==0 ) { - annotationDefinition_AST = (AST)currentAST.root; - annotationDefinition_AST = (AST)astFactory.make( (new ASTArray(4)).add(astFactory.create(ANNOTATION_DEF,"ANNOTATION_DEF")).add(modifiers).add(tmp139_AST).add(ab_AST)); - currentAST.root = annotationDefinition_AST; - currentAST.child = annotationDefinition_AST!=null &&annotationDefinition_AST.getFirstChild()!=null ? - annotationDefinition_AST.getFirstChild() : annotationDefinition_AST; - currentAST.advanceChildToEnd(); - } - returnAST = annotationDefinition_AST; - } - - public final void declaration() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST declaration_AST = null; - AST m_AST = null; - AST t_AST = null; - AST v_AST = null; - - modifiers(); - m_AST = (AST)returnAST; - typeSpec(false); - t_AST = (AST)returnAST; - variableDefinitions(m_AST,t_AST); - v_AST = (AST)returnAST; - if ( inputState.guessing==0 ) { - declaration_AST = (AST)currentAST.root; - declaration_AST = v_AST; - currentAST.root = declaration_AST; - currentAST.child = declaration_AST!=null &&declaration_AST.getFirstChild()!=null ? - declaration_AST.getFirstChild() : declaration_AST; - currentAST.advanceChildToEnd(); - } - returnAST = declaration_AST; - } - - public final void typeSpec( - boolean addImagNode - ) throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST typeSpec_AST = null; - - switch ( LA(1)) { - case IDENT: - { - classTypeSpec(addImagNode); - astFactory.addASTChild(currentAST, returnAST); - typeSpec_AST = (AST)currentAST.root; - break; - } - case LITERAL_void: - case LITERAL_boolean: - case LITERAL_byte: - case LITERAL_char: - case LITERAL_short: - case LITERAL_int: - case LITERAL_float: - case LITERAL_long: - case LITERAL_double: - case LITERAL_color: - { - builtInTypeSpec(addImagNode); - astFactory.addASTChild(currentAST, returnAST); - typeSpec_AST = (AST)currentAST.root; - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - returnAST = typeSpec_AST; - } - - public final void classTypeSpec( - boolean addImagNode - ) throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST classTypeSpec_AST = null; - Token lb = null; - AST lb_AST = null; - - classOrInterfaceType(false); - astFactory.addASTChild(currentAST, returnAST); - { - _loop67: - do { - if ((LA(1)==LBRACK) && (LA(2)==RBRACK)) { - lb = LT(1); - lb_AST = astFactory.create(lb); - astFactory.makeASTRoot(currentAST, lb_AST); - match(LBRACK); - if ( inputState.guessing==0 ) { - lb_AST.setType(ARRAY_DECLARATOR); - } - match(RBRACK); - } - else { - break _loop67; - } - - } while (true); - } - if ( inputState.guessing==0 ) { - classTypeSpec_AST = (AST)currentAST.root; - - if ( addImagNode ) { - classTypeSpec_AST = (AST)astFactory.make( (new ASTArray(2)).add(astFactory.create(TYPE,"TYPE")).add(classTypeSpec_AST)); - } - - currentAST.root = classTypeSpec_AST; - currentAST.child = classTypeSpec_AST!=null &&classTypeSpec_AST.getFirstChild()!=null ? - classTypeSpec_AST.getFirstChild() : classTypeSpec_AST; - currentAST.advanceChildToEnd(); - } - classTypeSpec_AST = (AST)currentAST.root; - returnAST = classTypeSpec_AST; - } - - public final void builtInTypeSpec( - boolean addImagNode - ) throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST builtInTypeSpec_AST = null; - Token lb = null; - AST lb_AST = null; - - builtInType(); - astFactory.addASTChild(currentAST, returnAST); - { - _loop87: - do { - if ((LA(1)==LBRACK)) { - lb = LT(1); - lb_AST = astFactory.create(lb); - astFactory.makeASTRoot(currentAST, lb_AST); - match(LBRACK); - if ( inputState.guessing==0 ) { - lb_AST.setType(ARRAY_DECLARATOR); - } - match(RBRACK); - } - else { - break _loop87; - } - - } while (true); - } - if ( inputState.guessing==0 ) { - builtInTypeSpec_AST = (AST)currentAST.root; - - if ( addImagNode ) { - builtInTypeSpec_AST = (AST)astFactory.make( (new ASTArray(2)).add(astFactory.create(TYPE,"TYPE")).add(builtInTypeSpec_AST)); - } - - currentAST.root = builtInTypeSpec_AST; - currentAST.child = builtInTypeSpec_AST!=null &&builtInTypeSpec_AST.getFirstChild()!=null ? - builtInTypeSpec_AST.getFirstChild() : builtInTypeSpec_AST; - currentAST.advanceChildToEnd(); - } - builtInTypeSpec_AST = (AST)currentAST.root; - returnAST = builtInTypeSpec_AST; - } - - public final void classOrInterfaceType( - boolean addImagNode - ) throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST classOrInterfaceType_AST = null; - - AST tmp142_AST = null; - tmp142_AST = astFactory.create(LT(1)); - astFactory.addASTChild(currentAST, tmp142_AST); - match(IDENT); - { - switch ( LA(1)) { - case LT: - { - typeArguments(); - astFactory.addASTChild(currentAST, returnAST); - break; - } - case SEMI: - case LBRACK: - case RBRACK: - case IDENT: - case DOT: - case QUESTION: - case LITERAL_extends: - case LITERAL_super: - case COMMA: - case GT: - case SR: - case BSR: - case LITERAL_void: - case LITERAL_boolean: - case LITERAL_byte: - case LITERAL_char: - case LITERAL_short: - case LITERAL_int: - case LITERAL_float: - case LITERAL_long: - case LITERAL_double: - case LPAREN: - case RPAREN: - case ASSIGN: - case LCURLY: - case RCURLY: - case BAND: - case LITERAL_implements: - case LITERAL_this: - case TRIPLE_DOT: - case COLON: - case PLUS_ASSIGN: - case MINUS_ASSIGN: - case STAR_ASSIGN: - case DIV_ASSIGN: - case MOD_ASSIGN: - case SR_ASSIGN: - case BSR_ASSIGN: - case SL_ASSIGN: - case BAND_ASSIGN: - case BXOR_ASSIGN: - case BOR_ASSIGN: - case LOR: - case LAND: - case BOR: - case BXOR: - case NOT_EQUAL: - case EQUAL: - case LITERAL_color: - { - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - { - _loop72: - do { - if ((LA(1)==DOT) && (LA(2)==IDENT)) { - AST tmp143_AST = null; - tmp143_AST = astFactory.create(LT(1)); - astFactory.makeASTRoot(currentAST, tmp143_AST); - match(DOT); - AST tmp144_AST = null; - tmp144_AST = astFactory.create(LT(1)); - astFactory.addASTChild(currentAST, tmp144_AST); - match(IDENT); - { - switch ( LA(1)) { - case LT: - { - typeArguments(); - astFactory.addASTChild(currentAST, returnAST); - break; - } - case SEMI: - case LBRACK: - case RBRACK: - case IDENT: - case DOT: - case QUESTION: - case LITERAL_extends: - case LITERAL_super: - case COMMA: - case GT: - case SR: - case BSR: - case LITERAL_void: - case LITERAL_boolean: - case LITERAL_byte: - case LITERAL_char: - case LITERAL_short: - case LITERAL_int: - case LITERAL_float: - case LITERAL_long: - case LITERAL_double: - case LPAREN: - case RPAREN: - case ASSIGN: - case LCURLY: - case RCURLY: - case BAND: - case LITERAL_implements: - case LITERAL_this: - case TRIPLE_DOT: - case COLON: - case PLUS_ASSIGN: - case MINUS_ASSIGN: - case STAR_ASSIGN: - case DIV_ASSIGN: - case MOD_ASSIGN: - case SR_ASSIGN: - case BSR_ASSIGN: - case SL_ASSIGN: - case BAND_ASSIGN: - case BXOR_ASSIGN: - case BOR_ASSIGN: - case LOR: - case LAND: - case BOR: - case BXOR: - case NOT_EQUAL: - case EQUAL: - case LITERAL_color: - { - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - } - else { - break _loop72; - } - - } while (true); - } - if ( inputState.guessing==0 ) { - classOrInterfaceType_AST = (AST)currentAST.root; - - if ( addImagNode ) { - classOrInterfaceType_AST = (AST)astFactory.make( (new ASTArray(2)).add(astFactory.create(TYPE,"TYPE")).add(classOrInterfaceType_AST)); - } - - currentAST.root = classOrInterfaceType_AST; - currentAST.child = classOrInterfaceType_AST!=null &&classOrInterfaceType_AST.getFirstChild()!=null ? - classOrInterfaceType_AST.getFirstChild() : classOrInterfaceType_AST; - currentAST.advanceChildToEnd(); - } - classOrInterfaceType_AST = (AST)currentAST.root; - returnAST = classOrInterfaceType_AST; - } - - public final void typeArgumentSpec() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST typeArgumentSpec_AST = null; - - switch ( LA(1)) { - case IDENT: - { - classTypeSpec(true); - astFactory.addASTChild(currentAST, returnAST); - typeArgumentSpec_AST = (AST)currentAST.root; - break; - } - case LITERAL_void: - case LITERAL_boolean: - case LITERAL_byte: - case LITERAL_char: - case LITERAL_short: - case LITERAL_int: - case LITERAL_float: - case LITERAL_long: - case LITERAL_double: - case LITERAL_color: - { - builtInTypeArraySpec(true); - astFactory.addASTChild(currentAST, returnAST); - typeArgumentSpec_AST = (AST)currentAST.root; - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - returnAST = typeArgumentSpec_AST; - } - - public final void builtInTypeArraySpec( - boolean addImagNode - ) throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST builtInTypeArraySpec_AST = null; - Token lb = null; - AST lb_AST = null; - - builtInType(); - astFactory.addASTChild(currentAST, returnAST); - { - int _cnt84=0; - _loop84: - do { - if ((LA(1)==LBRACK) && (LA(2)==RBRACK)) { - lb = LT(1); - lb_AST = astFactory.create(lb); - astFactory.makeASTRoot(currentAST, lb_AST); - match(LBRACK); - if ( inputState.guessing==0 ) { - lb_AST.setType(ARRAY_DECLARATOR); - } - match(RBRACK); - } - else { - if ( _cnt84>=1 ) { break _loop84; } else {throw new NoViableAltException(LT(1), getFilename());} - } - - _cnt84++; - } while (true); - } - if ( inputState.guessing==0 ) { - builtInTypeArraySpec_AST = (AST)currentAST.root; - - if ( addImagNode ) { - builtInTypeArraySpec_AST = (AST)astFactory.make( (new ASTArray(2)).add(astFactory.create(TYPE,"TYPE")).add(builtInTypeArraySpec_AST)); - } - - currentAST.root = builtInTypeArraySpec_AST; - currentAST.child = builtInTypeArraySpec_AST!=null &&builtInTypeArraySpec_AST.getFirstChild()!=null ? - builtInTypeArraySpec_AST.getFirstChild() : builtInTypeArraySpec_AST; - currentAST.advanceChildToEnd(); - } - builtInTypeArraySpec_AST = (AST)currentAST.root; - returnAST = builtInTypeArraySpec_AST; - } - - public final void wildcardType() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST wildcardType_AST = null; - Token q = null; - AST q_AST = null; - - q = LT(1); - q_AST = astFactory.create(q); - astFactory.makeASTRoot(currentAST, q_AST); - match(QUESTION); - if ( inputState.guessing==0 ) { - q_AST.setType(WILDCARD_TYPE); - } - { - boolean synPredMatched79 = false; - if (((LA(1)==LITERAL_extends||LA(1)==LITERAL_super) && (LA(2)==IDENT))) { - int _m79 = mark(); - synPredMatched79 = true; - inputState.guessing++; - try { - { - switch ( LA(1)) { - case LITERAL_extends: - { - match(LITERAL_extends); - break; - } - case LITERAL_super: - { - match(LITERAL_super); - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - } - catch (RecognitionException pe) { - synPredMatched79 = false; - } - rewind(_m79); -inputState.guessing--; - } - if ( synPredMatched79 ) { - typeArgumentBounds(); - astFactory.addASTChild(currentAST, returnAST); - } - else if ((_tokenSet_17.member(LA(1))) && (_tokenSet_18.member(LA(2)))) { - } - else { - throw new NoViableAltException(LT(1), getFilename()); - } - - } - wildcardType_AST = (AST)currentAST.root; - returnAST = wildcardType_AST; - } - - public final void typeArgumentBounds() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST typeArgumentBounds_AST = null; - boolean isUpperBounds = false; - - { - switch ( LA(1)) { - case LITERAL_extends: - { - match(LITERAL_extends); - if ( inputState.guessing==0 ) { - isUpperBounds=true; - } - break; - } - case LITERAL_super: - { - match(LITERAL_super); - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - classOrInterfaceType(false); - astFactory.addASTChild(currentAST, returnAST); - if ( inputState.guessing==0 ) { - typeArgumentBounds_AST = (AST)currentAST.root; - - if (isUpperBounds) - { - typeArgumentBounds_AST = (AST)astFactory.make( (new ASTArray(2)).add(astFactory.create(TYPE_UPPER_BOUNDS,"TYPE_UPPER_BOUNDS")).add(typeArgumentBounds_AST)); - } - else - { - typeArgumentBounds_AST = (AST)astFactory.make( (new ASTArray(2)).add(astFactory.create(TYPE_LOWER_BOUNDS,"TYPE_LOWER_BOUNDS")).add(typeArgumentBounds_AST)); - } - - currentAST.root = typeArgumentBounds_AST; - currentAST.child = typeArgumentBounds_AST!=null &&typeArgumentBounds_AST.getFirstChild()!=null ? - typeArgumentBounds_AST.getFirstChild() : typeArgumentBounds_AST; - currentAST.advanceChildToEnd(); - } - typeArgumentBounds_AST = (AST)currentAST.root; - returnAST = typeArgumentBounds_AST; - } - - public final void type() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST type_AST = null; - - switch ( LA(1)) { - case IDENT: - { - classOrInterfaceType(false); - astFactory.addASTChild(currentAST, returnAST); - type_AST = (AST)currentAST.root; - break; - } - case LITERAL_void: - case LITERAL_boolean: - case LITERAL_byte: - case LITERAL_char: - case LITERAL_short: - case LITERAL_int: - case LITERAL_float: - case LITERAL_long: - case LITERAL_double: - case LITERAL_color: - { - builtInType(); - astFactory.addASTChild(currentAST, returnAST); - type_AST = (AST)currentAST.root; - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - returnAST = type_AST; - } - - public final void modifier() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST modifier_AST = null; - - switch ( LA(1)) { - case LITERAL_private: - { - AST tmp148_AST = null; - tmp148_AST = astFactory.create(LT(1)); - astFactory.addASTChild(currentAST, tmp148_AST); - match(LITERAL_private); - modifier_AST = (AST)currentAST.root; - break; - } - case LITERAL_public: - { - AST tmp149_AST = null; - tmp149_AST = astFactory.create(LT(1)); - astFactory.addASTChild(currentAST, tmp149_AST); - match(LITERAL_public); - modifier_AST = (AST)currentAST.root; - break; - } - case LITERAL_protected: - { - AST tmp150_AST = null; - tmp150_AST = astFactory.create(LT(1)); - astFactory.addASTChild(currentAST, tmp150_AST); - match(LITERAL_protected); - modifier_AST = (AST)currentAST.root; - break; - } - case LITERAL_static: - { - AST tmp151_AST = null; - tmp151_AST = astFactory.create(LT(1)); - astFactory.addASTChild(currentAST, tmp151_AST); - match(LITERAL_static); - modifier_AST = (AST)currentAST.root; - break; - } - case LITERAL_transient: - { - AST tmp152_AST = null; - tmp152_AST = astFactory.create(LT(1)); - astFactory.addASTChild(currentAST, tmp152_AST); - match(LITERAL_transient); - modifier_AST = (AST)currentAST.root; - break; - } - case FINAL: - { - AST tmp153_AST = null; - tmp153_AST = astFactory.create(LT(1)); - astFactory.addASTChild(currentAST, tmp153_AST); - match(FINAL); - modifier_AST = (AST)currentAST.root; - break; - } - case ABSTRACT: - { - AST tmp154_AST = null; - tmp154_AST = astFactory.create(LT(1)); - astFactory.addASTChild(currentAST, tmp154_AST); - match(ABSTRACT); - modifier_AST = (AST)currentAST.root; - break; - } - case LITERAL_native: - { - AST tmp155_AST = null; - tmp155_AST = astFactory.create(LT(1)); - astFactory.addASTChild(currentAST, tmp155_AST); - match(LITERAL_native); - modifier_AST = (AST)currentAST.root; - break; - } - case LITERAL_threadsafe: - { - AST tmp156_AST = null; - tmp156_AST = astFactory.create(LT(1)); - astFactory.addASTChild(currentAST, tmp156_AST); - match(LITERAL_threadsafe); - modifier_AST = (AST)currentAST.root; - break; - } - case LITERAL_synchronized: - { - AST tmp157_AST = null; - tmp157_AST = astFactory.create(LT(1)); - astFactory.addASTChild(currentAST, tmp157_AST); - match(LITERAL_synchronized); - modifier_AST = (AST)currentAST.root; - break; - } - case LITERAL_volatile: - { - AST tmp158_AST = null; - tmp158_AST = astFactory.create(LT(1)); - astFactory.addASTChild(currentAST, tmp158_AST); - match(LITERAL_volatile); - modifier_AST = (AST)currentAST.root; - break; - } - case STRICTFP: - { - AST tmp159_AST = null; - tmp159_AST = astFactory.create(LT(1)); - astFactory.addASTChild(currentAST, tmp159_AST); - match(STRICTFP); - modifier_AST = (AST)currentAST.root; - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - returnAST = modifier_AST; - } - - public final void annotation() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST annotation_AST = null; - AST i_AST = null; - AST args_AST = null; - - match(AT); - identifier(); - i_AST = (AST)returnAST; - { - switch ( LA(1)) { - case LPAREN: - { - match(LPAREN); - { - switch ( LA(1)) { - case IDENT: - case LITERAL_super: - case LT: - case LITERAL_void: - case LITERAL_boolean: - case LITERAL_byte: - case LITERAL_char: - case LITERAL_short: - case LITERAL_int: - case LITERAL_float: - case LITERAL_long: - case LITERAL_double: - case AT: - case LPAREN: - case LCURLY: - case LITERAL_this: - case PLUS: - case MINUS: - case INC: - case DEC: - case BNOT: - case LNOT: - case LITERAL_true: - case LITERAL_false: - case LITERAL_null: - case LITERAL_new: - case NUM_INT: - case CHAR_LITERAL: - case STRING_LITERAL: - case NUM_FLOAT: - case NUM_LONG: - case NUM_DOUBLE: - case WEBCOLOR_LITERAL: - case LITERAL_color: - { - annotationArguments(); - args_AST = (AST)returnAST; - break; - } - case RPAREN: - { - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - match(RPAREN); - break; - } - case FINAL: - case ABSTRACT: - case STRICTFP: - case LITERAL_package: - case SEMI: - case LITERAL_static: - case IDENT: - case LT: - case COMMA: - case LITERAL_void: - case LITERAL_boolean: - case LITERAL_byte: - case LITERAL_char: - case LITERAL_short: - case LITERAL_int: - case LITERAL_float: - case LITERAL_long: - case LITERAL_double: - case LITERAL_private: - case LITERAL_public: - case LITERAL_protected: - case LITERAL_transient: - case LITERAL_native: - case LITERAL_threadsafe: - case LITERAL_synchronized: - case LITERAL_volatile: - case AT: - case RPAREN: - case RCURLY: - case LITERAL_class: - case LITERAL_interface: - case LITERAL_enum: - case LITERAL_color: - { - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - if ( inputState.guessing==0 ) { - annotation_AST = (AST)currentAST.root; - annotation_AST = (AST)astFactory.make( (new ASTArray(3)).add(astFactory.create(ANNOTATION,"ANNOTATION")).add(i_AST).add(args_AST)); - currentAST.root = annotation_AST; - currentAST.child = annotation_AST!=null &&annotation_AST.getFirstChild()!=null ? - annotation_AST.getFirstChild() : annotation_AST; - currentAST.advanceChildToEnd(); - } - returnAST = annotation_AST; - } - - public final void annotationArguments() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST annotationArguments_AST = null; - - if ((_tokenSet_32.member(LA(1))) && (_tokenSet_33.member(LA(2)))) { - annotationMemberValueInitializer(); - astFactory.addASTChild(currentAST, returnAST); - annotationArguments_AST = (AST)currentAST.root; - } - else if ((LA(1)==IDENT) && (LA(2)==ASSIGN)) { - anntotationMemberValuePairs(); - astFactory.addASTChild(currentAST, returnAST); - annotationArguments_AST = (AST)currentAST.root; - } - else { - throw new NoViableAltException(LT(1), getFilename()); - } - - returnAST = annotationArguments_AST; - } - - public final void annotationMemberValueInitializer() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST annotationMemberValueInitializer_AST = null; - - switch ( LA(1)) { - case IDENT: - case LITERAL_super: - case LT: - case LITERAL_void: - case LITERAL_boolean: - case LITERAL_byte: - case LITERAL_char: - case LITERAL_short: - case LITERAL_int: - case LITERAL_float: - case LITERAL_long: - case LITERAL_double: - case LPAREN: - case LITERAL_this: - case PLUS: - case MINUS: - case INC: - case DEC: - case BNOT: - case LNOT: - case LITERAL_true: - case LITERAL_false: - case LITERAL_null: - case LITERAL_new: - case NUM_INT: - case CHAR_LITERAL: - case STRING_LITERAL: - case NUM_FLOAT: - case NUM_LONG: - case NUM_DOUBLE: - case WEBCOLOR_LITERAL: - case LITERAL_color: - { - conditionalExpression(); - astFactory.addASTChild(currentAST, returnAST); - annotationMemberValueInitializer_AST = (AST)currentAST.root; - break; - } - case AT: - { - annotation(); - astFactory.addASTChild(currentAST, returnAST); - annotationMemberValueInitializer_AST = (AST)currentAST.root; - break; - } - case LCURLY: - { - annotationMemberArrayInitializer(); - astFactory.addASTChild(currentAST, returnAST); - annotationMemberValueInitializer_AST = (AST)currentAST.root; - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - returnAST = annotationMemberValueInitializer_AST; - } - - public final void anntotationMemberValuePairs() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST anntotationMemberValuePairs_AST = null; - - annotationMemberValuePair(); - astFactory.addASTChild(currentAST, returnAST); - { - _loop109: - do { - if ((LA(1)==COMMA)) { - match(COMMA); - annotationMemberValuePair(); - astFactory.addASTChild(currentAST, returnAST); - } - else { - break _loop109; - } - - } while (true); - } - anntotationMemberValuePairs_AST = (AST)currentAST.root; - returnAST = anntotationMemberValuePairs_AST; - } - - public final void annotationMemberValuePair() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST annotationMemberValuePair_AST = null; - Token i = null; - AST i_AST = null; - AST v_AST = null; - - i = LT(1); - i_AST = astFactory.create(i); - match(IDENT); - match(ASSIGN); - annotationMemberValueInitializer(); - v_AST = (AST)returnAST; - if ( inputState.guessing==0 ) { - annotationMemberValuePair_AST = (AST)currentAST.root; - annotationMemberValuePair_AST = (AST)astFactory.make( (new ASTArray(3)).add(astFactory.create(ANNOTATION_MEMBER_VALUE_PAIR,"ANNOTATION_MEMBER_VALUE_PAIR")).add(i_AST).add(v_AST)); - currentAST.root = annotationMemberValuePair_AST; - currentAST.child = annotationMemberValuePair_AST!=null &&annotationMemberValuePair_AST.getFirstChild()!=null ? - annotationMemberValuePair_AST.getFirstChild() : annotationMemberValuePair_AST; - currentAST.advanceChildToEnd(); - } - returnAST = annotationMemberValuePair_AST; - } - - public final void conditionalExpression() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST conditionalExpression_AST = null; - - logicalOrExpression(); - astFactory.addASTChild(currentAST, returnAST); - { - switch ( LA(1)) { - case QUESTION: - { - AST tmp165_AST = null; - tmp165_AST = astFactory.create(LT(1)); - astFactory.makeASTRoot(currentAST, tmp165_AST); - match(QUESTION); - assignmentExpression(); - astFactory.addASTChild(currentAST, returnAST); - match(COLON); - conditionalExpression(); - astFactory.addASTChild(currentAST, returnAST); - break; - } - case SEMI: - case RBRACK: - case IDENT: - case COMMA: - case RPAREN: - case ASSIGN: - case RCURLY: - case COLON: - case PLUS_ASSIGN: - case MINUS_ASSIGN: - case STAR_ASSIGN: - case DIV_ASSIGN: - case MOD_ASSIGN: - case SR_ASSIGN: - case BSR_ASSIGN: - case SL_ASSIGN: - case BAND_ASSIGN: - case BXOR_ASSIGN: - case BOR_ASSIGN: - { - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - conditionalExpression_AST = (AST)currentAST.root; - returnAST = conditionalExpression_AST; - } - - public final void annotationMemberArrayInitializer() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST annotationMemberArrayInitializer_AST = null; - Token lc = null; - AST lc_AST = null; - - lc = LT(1); - lc_AST = astFactory.create(lc); - astFactory.makeASTRoot(currentAST, lc_AST); - match(LCURLY); - if ( inputState.guessing==0 ) { - lc_AST.setType(ANNOTATION_ARRAY_INIT); - } - { - switch ( LA(1)) { - case IDENT: - case LITERAL_super: - case LT: - case LITERAL_void: - case LITERAL_boolean: - case LITERAL_byte: - case LITERAL_char: - case LITERAL_short: - case LITERAL_int: - case LITERAL_float: - case LITERAL_long: - case LITERAL_double: - case AT: - case LPAREN: - case LITERAL_this: - case PLUS: - case MINUS: - case INC: - case DEC: - case BNOT: - case LNOT: - case LITERAL_true: - case LITERAL_false: - case LITERAL_null: - case LITERAL_new: - case NUM_INT: - case CHAR_LITERAL: - case STRING_LITERAL: - case NUM_FLOAT: - case NUM_LONG: - case NUM_DOUBLE: - case WEBCOLOR_LITERAL: - case LITERAL_color: - { - annotationMemberArrayValueInitializer(); - astFactory.addASTChild(currentAST, returnAST); - { - _loop115: - do { - if ((LA(1)==COMMA) && (_tokenSet_34.member(LA(2)))) { - match(COMMA); - annotationMemberArrayValueInitializer(); - astFactory.addASTChild(currentAST, returnAST); - } - else { - break _loop115; - } - - } while (true); - } - { - switch ( LA(1)) { - case COMMA: - { - match(COMMA); - break; - } - case RCURLY: - { - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - break; - } - case RCURLY: - { - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - match(RCURLY); - annotationMemberArrayInitializer_AST = (AST)currentAST.root; - returnAST = annotationMemberArrayInitializer_AST; - } - - public final void annotationMemberArrayValueInitializer() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST annotationMemberArrayValueInitializer_AST = null; - - switch ( LA(1)) { - case IDENT: - case LITERAL_super: - case LT: - case LITERAL_void: - case LITERAL_boolean: - case LITERAL_byte: - case LITERAL_char: - case LITERAL_short: - case LITERAL_int: - case LITERAL_float: - case LITERAL_long: - case LITERAL_double: - case LPAREN: - case LITERAL_this: - case PLUS: - case MINUS: - case INC: - case DEC: - case BNOT: - case LNOT: - case LITERAL_true: - case LITERAL_false: - case LITERAL_null: - case LITERAL_new: - case NUM_INT: - case CHAR_LITERAL: - case STRING_LITERAL: - case NUM_FLOAT: - case NUM_LONG: - case NUM_DOUBLE: - case WEBCOLOR_LITERAL: - case LITERAL_color: - { - conditionalExpression(); - astFactory.addASTChild(currentAST, returnAST); - annotationMemberArrayValueInitializer_AST = (AST)currentAST.root; - break; - } - case AT: - { - annotation(); - astFactory.addASTChild(currentAST, returnAST); - annotationMemberArrayValueInitializer_AST = (AST)currentAST.root; - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - returnAST = annotationMemberArrayValueInitializer_AST; - } - - public final void interfaceExtends() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST interfaceExtends_AST = null; - Token e = null; - AST e_AST = null; - - { - switch ( LA(1)) { - case LITERAL_extends: - { - e = LT(1); - e_AST = astFactory.create(e); - match(LITERAL_extends); - classOrInterfaceType(false); - astFactory.addASTChild(currentAST, returnAST); - { - _loop166: - do { - if ((LA(1)==COMMA)) { - match(COMMA); - classOrInterfaceType(false); - astFactory.addASTChild(currentAST, returnAST); - } - else { - break _loop166; - } - - } while (true); - } - break; - } - case LCURLY: - { - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - if ( inputState.guessing==0 ) { - interfaceExtends_AST = (AST)currentAST.root; - interfaceExtends_AST = (AST)astFactory.make( (new ASTArray(2)).add(astFactory.create(EXTENDS_CLAUSE,"EXTENDS_CLAUSE")).add(interfaceExtends_AST)); - currentAST.root = interfaceExtends_AST; - currentAST.child = interfaceExtends_AST!=null &&interfaceExtends_AST.getFirstChild()!=null ? - interfaceExtends_AST.getFirstChild() : interfaceExtends_AST; - currentAST.advanceChildToEnd(); - } - interfaceExtends_AST = (AST)currentAST.root; - returnAST = interfaceExtends_AST; - } - - public final void interfaceBlock() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST interfaceBlock_AST = null; - - match(LCURLY); - { - _loop135: - do { - switch ( LA(1)) { - case FINAL: - case ABSTRACT: - case STRICTFP: - case LITERAL_static: - case IDENT: - case LT: - case LITERAL_void: - case LITERAL_boolean: - case LITERAL_byte: - case LITERAL_char: - case LITERAL_short: - case LITERAL_int: - case LITERAL_float: - case LITERAL_long: - case LITERAL_double: - case LITERAL_private: - case LITERAL_public: - case LITERAL_protected: - case LITERAL_transient: - case LITERAL_native: - case LITERAL_threadsafe: - case LITERAL_synchronized: - case LITERAL_volatile: - case AT: - case LITERAL_class: - case LITERAL_interface: - case LITERAL_enum: - case LITERAL_color: - { - interfaceField(); - astFactory.addASTChild(currentAST, returnAST); - break; - } - case SEMI: - { - match(SEMI); - break; - } - default: - { - break _loop135; - } - } - } while (true); - } - match(RCURLY); - if ( inputState.guessing==0 ) { - interfaceBlock_AST = (AST)currentAST.root; - interfaceBlock_AST = (AST)astFactory.make( (new ASTArray(2)).add(astFactory.create(OBJBLOCK,"OBJBLOCK")).add(interfaceBlock_AST)); - currentAST.root = interfaceBlock_AST; - currentAST.child = interfaceBlock_AST!=null &&interfaceBlock_AST.getFirstChild()!=null ? - interfaceBlock_AST.getFirstChild() : interfaceBlock_AST; - currentAST.advanceChildToEnd(); - } - interfaceBlock_AST = (AST)currentAST.root; - returnAST = interfaceBlock_AST; - } - - public final void enumBlock() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST enumBlock_AST = null; - - match(LCURLY); - { - switch ( LA(1)) { - case IDENT: - case AT: - { - enumConstant(); - astFactory.addASTChild(currentAST, returnAST); - { - _loop142: - do { - if ((LA(1)==COMMA) && (LA(2)==IDENT||LA(2)==AT)) { - match(COMMA); - enumConstant(); - astFactory.addASTChild(currentAST, returnAST); - } - else { - break _loop142; - } - - } while (true); - } - { - switch ( LA(1)) { - case COMMA: - { - match(COMMA); - break; - } - case SEMI: - case RCURLY: - { - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - break; - } - case SEMI: - case RCURLY: - { - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - { - switch ( LA(1)) { - case SEMI: - { - match(SEMI); - { - _loop146: - do { - switch ( LA(1)) { - case FINAL: - case ABSTRACT: - case STRICTFP: - case LITERAL_static: - case IDENT: - case LT: - case LITERAL_void: - case LITERAL_boolean: - case LITERAL_byte: - case LITERAL_char: - case LITERAL_short: - case LITERAL_int: - case LITERAL_float: - case LITERAL_long: - case LITERAL_double: - case LITERAL_private: - case LITERAL_public: - case LITERAL_protected: - case LITERAL_transient: - case LITERAL_native: - case LITERAL_threadsafe: - case LITERAL_synchronized: - case LITERAL_volatile: - case AT: - case LCURLY: - case LITERAL_class: - case LITERAL_interface: - case LITERAL_enum: - case LITERAL_color: - { - classField(); - astFactory.addASTChild(currentAST, returnAST); - break; - } - case SEMI: - { - match(SEMI); - break; - } - default: - { - break _loop146; - } - } - } while (true); - } - break; - } - case RCURLY: - { - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - match(RCURLY); - if ( inputState.guessing==0 ) { - enumBlock_AST = (AST)currentAST.root; - enumBlock_AST = (AST)astFactory.make( (new ASTArray(2)).add(astFactory.create(OBJBLOCK,"OBJBLOCK")).add(enumBlock_AST)); - currentAST.root = enumBlock_AST; - currentAST.child = enumBlock_AST!=null &&enumBlock_AST.getFirstChild()!=null ? - enumBlock_AST.getFirstChild() : enumBlock_AST; - currentAST.advanceChildToEnd(); - } - enumBlock_AST = (AST)currentAST.root; - returnAST = enumBlock_AST; - } - - public final void annotationBlock() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST annotationBlock_AST = null; - - match(LCURLY); - { - _loop138: - do { - switch ( LA(1)) { - case FINAL: - case ABSTRACT: - case STRICTFP: - case LITERAL_static: - case IDENT: - case LITERAL_void: - case LITERAL_boolean: - case LITERAL_byte: - case LITERAL_char: - case LITERAL_short: - case LITERAL_int: - case LITERAL_float: - case LITERAL_long: - case LITERAL_double: - case LITERAL_private: - case LITERAL_public: - case LITERAL_protected: - case LITERAL_transient: - case LITERAL_native: - case LITERAL_threadsafe: - case LITERAL_synchronized: - case LITERAL_volatile: - case AT: - case LITERAL_class: - case LITERAL_interface: - case LITERAL_enum: - case LITERAL_color: - { - annotationField(); - astFactory.addASTChild(currentAST, returnAST); - break; - } - case SEMI: - { - match(SEMI); - break; - } - default: - { - break _loop138; - } - } - } while (true); - } - match(RCURLY); - if ( inputState.guessing==0 ) { - annotationBlock_AST = (AST)currentAST.root; - annotationBlock_AST = (AST)astFactory.make( (new ASTArray(2)).add(astFactory.create(OBJBLOCK,"OBJBLOCK")).add(annotationBlock_AST)); - currentAST.root = annotationBlock_AST; - currentAST.child = annotationBlock_AST!=null &&annotationBlock_AST.getFirstChild()!=null ? - annotationBlock_AST.getFirstChild() : annotationBlock_AST; - currentAST.advanceChildToEnd(); - } - annotationBlock_AST = (AST)currentAST.root; - returnAST = annotationBlock_AST; - } - - public final void typeParameterBounds() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST typeParameterBounds_AST = null; - - match(LITERAL_extends); - classOrInterfaceType(false); - astFactory.addASTChild(currentAST, returnAST); - { - _loop129: - do { - if ((LA(1)==BAND)) { - match(BAND); - classOrInterfaceType(false); - astFactory.addASTChild(currentAST, returnAST); - } - else { - break _loop129; - } - - } while (true); - } - if ( inputState.guessing==0 ) { - typeParameterBounds_AST = (AST)currentAST.root; - typeParameterBounds_AST = (AST)astFactory.make( (new ASTArray(2)).add(astFactory.create(TYPE_UPPER_BOUNDS,"TYPE_UPPER_BOUNDS")).add(typeParameterBounds_AST)); - currentAST.root = typeParameterBounds_AST; - currentAST.child = typeParameterBounds_AST!=null &&typeParameterBounds_AST.getFirstChild()!=null ? - typeParameterBounds_AST.getFirstChild() : typeParameterBounds_AST; - currentAST.advanceChildToEnd(); - } - typeParameterBounds_AST = (AST)currentAST.root; - returnAST = typeParameterBounds_AST; - } - - public final void interfaceField() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST interfaceField_AST = null; - AST mods_AST = null; - AST td_AST = null; - AST tp_AST = null; - AST t_AST = null; - AST param_AST = null; - AST rt_AST = null; - AST tc_AST = null; - AST v_AST = null; - - modifiers(); - mods_AST = (AST)returnAST; - { - switch ( LA(1)) { - case AT: - case LITERAL_class: - case LITERAL_interface: - case LITERAL_enum: - { - typeDefinitionInternal(mods_AST); - td_AST = (AST)returnAST; - if ( inputState.guessing==0 ) { - interfaceField_AST = (AST)currentAST.root; - interfaceField_AST = td_AST; - currentAST.root = interfaceField_AST; - currentAST.child = interfaceField_AST!=null &&interfaceField_AST.getFirstChild()!=null ? - interfaceField_AST.getFirstChild() : interfaceField_AST; - currentAST.advanceChildToEnd(); - } - break; - } - case IDENT: - case LT: - case LITERAL_void: - case LITERAL_boolean: - case LITERAL_byte: - case LITERAL_char: - case LITERAL_short: - case LITERAL_int: - case LITERAL_float: - case LITERAL_long: - case LITERAL_double: - case LITERAL_color: - { - { - switch ( LA(1)) { - case LT: - { - typeParameters(); - tp_AST = (AST)returnAST; - break; - } - case IDENT: - case LITERAL_void: - case LITERAL_boolean: - case LITERAL_byte: - case LITERAL_char: - case LITERAL_short: - case LITERAL_int: - case LITERAL_float: - case LITERAL_long: - case LITERAL_double: - case LITERAL_color: - { - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - typeSpec(false); - t_AST = (AST)returnAST; - { - if ((LA(1)==IDENT) && (LA(2)==LPAREN)) { - AST tmp185_AST = null; - tmp185_AST = astFactory.create(LT(1)); - match(IDENT); - match(LPAREN); - parameterDeclarationList(); - param_AST = (AST)returnAST; - match(RPAREN); - declaratorBrackets(t_AST); - rt_AST = (AST)returnAST; - { - switch ( LA(1)) { - case LITERAL_throws: - { - throwsClause(); - tc_AST = (AST)returnAST; - break; - } - case SEMI: - { - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - AST tmp188_AST = null; - tmp188_AST = astFactory.create(LT(1)); - match(SEMI); - if ( inputState.guessing==0 ) { - interfaceField_AST = (AST)currentAST.root; - interfaceField_AST = (AST)astFactory.make( (new ASTArray(7)).add(astFactory.create(METHOD_DEF,"METHOD_DEF")).add(mods_AST).add(tp_AST).add((AST)astFactory.make( (new ASTArray(2)).add(astFactory.create(TYPE,"TYPE")).add(rt_AST))).add(tmp185_AST).add(param_AST).add(tc_AST)); - currentAST.root = interfaceField_AST; - currentAST.child = interfaceField_AST!=null &&interfaceField_AST.getFirstChild()!=null ? - interfaceField_AST.getFirstChild() : interfaceField_AST; - currentAST.advanceChildToEnd(); - } - } - else if ((LA(1)==IDENT) && (_tokenSet_29.member(LA(2)))) { - variableDefinitions(mods_AST,t_AST); - v_AST = (AST)returnAST; - AST tmp189_AST = null; - tmp189_AST = astFactory.create(LT(1)); - match(SEMI); - if ( inputState.guessing==0 ) { - interfaceField_AST = (AST)currentAST.root; - interfaceField_AST = v_AST; - currentAST.root = interfaceField_AST; - currentAST.child = interfaceField_AST!=null &&interfaceField_AST.getFirstChild()!=null ? - interfaceField_AST.getFirstChild() : interfaceField_AST; - currentAST.advanceChildToEnd(); - } - } - else { - throw new NoViableAltException(LT(1), getFilename()); - } - - } - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - returnAST = interfaceField_AST; - } - - public final void annotationField() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST annotationField_AST = null; - AST mods_AST = null; - AST td_AST = null; - AST t_AST = null; - Token i = null; - AST i_AST = null; - AST rt_AST = null; - AST amvi_AST = null; - AST v_AST = null; - - modifiers(); - mods_AST = (AST)returnAST; - { - switch ( LA(1)) { - case AT: - case LITERAL_class: - case LITERAL_interface: - case LITERAL_enum: - { - typeDefinitionInternal(mods_AST); - td_AST = (AST)returnAST; - if ( inputState.guessing==0 ) { - annotationField_AST = (AST)currentAST.root; - annotationField_AST = td_AST; - currentAST.root = annotationField_AST; - currentAST.child = annotationField_AST!=null &&annotationField_AST.getFirstChild()!=null ? - annotationField_AST.getFirstChild() : annotationField_AST; - currentAST.advanceChildToEnd(); - } - break; - } - case IDENT: - case LITERAL_void: - case LITERAL_boolean: - case LITERAL_byte: - case LITERAL_char: - case LITERAL_short: - case LITERAL_int: - case LITERAL_float: - case LITERAL_long: - case LITERAL_double: - case LITERAL_color: - { - typeSpec(false); - t_AST = (AST)returnAST; - { - if ((LA(1)==IDENT) && (LA(2)==LPAREN)) { - i = LT(1); - i_AST = astFactory.create(i); - match(IDENT); - match(LPAREN); - match(RPAREN); - declaratorBrackets(t_AST); - rt_AST = (AST)returnAST; - { - switch ( LA(1)) { - case LITERAL_default: - { - match(LITERAL_default); - annotationMemberValueInitializer(); - amvi_AST = (AST)returnAST; - break; - } - case SEMI: - { - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - AST tmp193_AST = null; - tmp193_AST = astFactory.create(LT(1)); - match(SEMI); - if ( inputState.guessing==0 ) { - annotationField_AST = (AST)currentAST.root; - annotationField_AST = - (AST)astFactory.make( (new ASTArray(5)).add(astFactory.create(ANNOTATION_FIELD_DEF,"ANNOTATION_FIELD_DEF")).add(mods_AST).add((AST)astFactory.make( (new ASTArray(2)).add(astFactory.create(TYPE,"TYPE")).add(rt_AST))).add(i_AST).add(amvi_AST)); - currentAST.root = annotationField_AST; - currentAST.child = annotationField_AST!=null &&annotationField_AST.getFirstChild()!=null ? - annotationField_AST.getFirstChild() : annotationField_AST; - currentAST.advanceChildToEnd(); - } - } - else if ((LA(1)==IDENT) && (_tokenSet_29.member(LA(2)))) { - variableDefinitions(mods_AST,t_AST); - v_AST = (AST)returnAST; - AST tmp194_AST = null; - tmp194_AST = astFactory.create(LT(1)); - match(SEMI); - if ( inputState.guessing==0 ) { - annotationField_AST = (AST)currentAST.root; - annotationField_AST = v_AST; - currentAST.root = annotationField_AST; - currentAST.child = annotationField_AST!=null &&annotationField_AST.getFirstChild()!=null ? - annotationField_AST.getFirstChild() : annotationField_AST; - currentAST.advanceChildToEnd(); - } - } - else { - throw new NoViableAltException(LT(1), getFilename()); - } - - } - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - returnAST = annotationField_AST; - } - - public final void enumConstant() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST enumConstant_AST = null; - AST an_AST = null; - Token i = null; - AST i_AST = null; - AST a_AST = null; - AST b_AST = null; - - annotations(); - an_AST = (AST)returnAST; - i = LT(1); - i_AST = astFactory.create(i); - match(IDENT); - { - switch ( LA(1)) { - case LPAREN: - { - match(LPAREN); - argList(); - a_AST = (AST)returnAST; - match(RPAREN); - break; - } - case SEMI: - case COMMA: - case LCURLY: - case RCURLY: - { - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - { - switch ( LA(1)) { - case LCURLY: - { - enumConstantBlock(); - b_AST = (AST)returnAST; - break; - } - case SEMI: - case COMMA: - case RCURLY: - { - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - if ( inputState.guessing==0 ) { - enumConstant_AST = (AST)currentAST.root; - enumConstant_AST = (AST)astFactory.make( (new ASTArray(5)).add(astFactory.create(ENUM_CONSTANT_DEF,"ENUM_CONSTANT_DEF")).add(an_AST).add(i_AST).add(a_AST).add(b_AST)); - currentAST.root = enumConstant_AST; - currentAST.child = enumConstant_AST!=null &&enumConstant_AST.getFirstChild()!=null ? - enumConstant_AST.getFirstChild() : enumConstant_AST; - currentAST.advanceChildToEnd(); - } - returnAST = enumConstant_AST; - } - - public final void declaratorBrackets( - AST typ - ) throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST declaratorBrackets_AST = null; - Token lb = null; - AST lb_AST = null; - - if ( inputState.guessing==0 ) { - declaratorBrackets_AST = (AST)currentAST.root; - declaratorBrackets_AST=typ; - currentAST.root = declaratorBrackets_AST; - currentAST.child = declaratorBrackets_AST!=null &&declaratorBrackets_AST.getFirstChild()!=null ? - declaratorBrackets_AST.getFirstChild() : declaratorBrackets_AST; - currentAST.advanceChildToEnd(); - } - { - _loop189: - do { - if ((LA(1)==LBRACK)) { - lb = LT(1); - lb_AST = astFactory.create(lb); - astFactory.makeASTRoot(currentAST, lb_AST); - match(LBRACK); - if ( inputState.guessing==0 ) { - lb_AST.setType(ARRAY_DECLARATOR); - } - match(RBRACK); - } - else { - break _loop189; - } - - } while (true); - } - declaratorBrackets_AST = (AST)currentAST.root; - returnAST = declaratorBrackets_AST; - } - - public final void enumConstantBlock() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST enumConstantBlock_AST = null; - - match(LCURLY); - { - _loop156: - do { - switch ( LA(1)) { - case FINAL: - case ABSTRACT: - case STRICTFP: - case LITERAL_static: - case IDENT: - case LT: - case LITERAL_void: - case LITERAL_boolean: - case LITERAL_byte: - case LITERAL_char: - case LITERAL_short: - case LITERAL_int: - case LITERAL_float: - case LITERAL_long: - case LITERAL_double: - case LITERAL_private: - case LITERAL_public: - case LITERAL_protected: - case LITERAL_transient: - case LITERAL_native: - case LITERAL_threadsafe: - case LITERAL_synchronized: - case LITERAL_volatile: - case AT: - case LCURLY: - case LITERAL_class: - case LITERAL_interface: - case LITERAL_enum: - case LITERAL_color: - { - enumConstantField(); - astFactory.addASTChild(currentAST, returnAST); - break; - } - case SEMI: - { - match(SEMI); - break; - } - default: - { - break _loop156; - } - } - } while (true); - } - match(RCURLY); - if ( inputState.guessing==0 ) { - enumConstantBlock_AST = (AST)currentAST.root; - enumConstantBlock_AST = (AST)astFactory.make( (new ASTArray(2)).add(astFactory.create(OBJBLOCK,"OBJBLOCK")).add(enumConstantBlock_AST)); - currentAST.root = enumConstantBlock_AST; - currentAST.child = enumConstantBlock_AST!=null &&enumConstantBlock_AST.getFirstChild()!=null ? - enumConstantBlock_AST.getFirstChild() : enumConstantBlock_AST; - currentAST.advanceChildToEnd(); - } - enumConstantBlock_AST = (AST)currentAST.root; - returnAST = enumConstantBlock_AST; - } - - public final void enumConstantField() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST enumConstantField_AST = null; - AST mods_AST = null; - AST td_AST = null; - AST tp_AST = null; - AST t_AST = null; - AST param_AST = null; - AST rt_AST = null; - AST tc_AST = null; - AST s2_AST = null; - AST v_AST = null; - AST s4_AST = null; - - switch ( LA(1)) { - case FINAL: - case ABSTRACT: - case STRICTFP: - case LITERAL_static: - case IDENT: - case LT: - case LITERAL_void: - case LITERAL_boolean: - case LITERAL_byte: - case LITERAL_char: - case LITERAL_short: - case LITERAL_int: - case LITERAL_float: - case LITERAL_long: - case LITERAL_double: - case LITERAL_private: - case LITERAL_public: - case LITERAL_protected: - case LITERAL_transient: - case LITERAL_native: - case LITERAL_threadsafe: - case LITERAL_synchronized: - case LITERAL_volatile: - case AT: - case LITERAL_class: - case LITERAL_interface: - case LITERAL_enum: - case LITERAL_color: - { - modifiers(); - mods_AST = (AST)returnAST; - { - switch ( LA(1)) { - case AT: - case LITERAL_class: - case LITERAL_interface: - case LITERAL_enum: - { - typeDefinitionInternal(mods_AST); - td_AST = (AST)returnAST; - if ( inputState.guessing==0 ) { - enumConstantField_AST = (AST)currentAST.root; - enumConstantField_AST = td_AST; - currentAST.root = enumConstantField_AST; - currentAST.child = enumConstantField_AST!=null &&enumConstantField_AST.getFirstChild()!=null ? - enumConstantField_AST.getFirstChild() : enumConstantField_AST; - currentAST.advanceChildToEnd(); - } - break; - } - case IDENT: - case LT: - case LITERAL_void: - case LITERAL_boolean: - case LITERAL_byte: - case LITERAL_char: - case LITERAL_short: - case LITERAL_int: - case LITERAL_float: - case LITERAL_long: - case LITERAL_double: - case LITERAL_color: - { - { - switch ( LA(1)) { - case LT: - { - typeParameters(); - tp_AST = (AST)returnAST; - break; - } - case IDENT: - case LITERAL_void: - case LITERAL_boolean: - case LITERAL_byte: - case LITERAL_char: - case LITERAL_short: - case LITERAL_int: - case LITERAL_float: - case LITERAL_long: - case LITERAL_double: - case LITERAL_color: - { - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - typeSpec(false); - t_AST = (AST)returnAST; - { - if ((LA(1)==IDENT) && (LA(2)==LPAREN)) { - AST tmp201_AST = null; - tmp201_AST = astFactory.create(LT(1)); - match(IDENT); - match(LPAREN); - parameterDeclarationList(); - param_AST = (AST)returnAST; - match(RPAREN); - declaratorBrackets(t_AST); - rt_AST = (AST)returnAST; - { - switch ( LA(1)) { - case LITERAL_throws: - { - throwsClause(); - tc_AST = (AST)returnAST; - break; - } - case SEMI: - case LCURLY: - { - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - { - switch ( LA(1)) { - case LCURLY: - { - compoundStatement(); - s2_AST = (AST)returnAST; - break; - } - case SEMI: - { - AST tmp204_AST = null; - tmp204_AST = astFactory.create(LT(1)); - match(SEMI); - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - if ( inputState.guessing==0 ) { - enumConstantField_AST = (AST)currentAST.root; - enumConstantField_AST = (AST)astFactory.make( (new ASTArray(8)).add(astFactory.create(METHOD_DEF,"METHOD_DEF")).add(mods_AST).add(tp_AST).add((AST)astFactory.make( (new ASTArray(2)).add(astFactory.create(TYPE,"TYPE")).add(rt_AST))).add(tmp201_AST).add(param_AST).add(tc_AST).add(s2_AST)); - currentAST.root = enumConstantField_AST; - currentAST.child = enumConstantField_AST!=null &&enumConstantField_AST.getFirstChild()!=null ? - enumConstantField_AST.getFirstChild() : enumConstantField_AST; - currentAST.advanceChildToEnd(); - } - } - else if ((LA(1)==IDENT) && (_tokenSet_29.member(LA(2)))) { - variableDefinitions(mods_AST,t_AST); - v_AST = (AST)returnAST; - AST tmp205_AST = null; - tmp205_AST = astFactory.create(LT(1)); - match(SEMI); - if ( inputState.guessing==0 ) { - enumConstantField_AST = (AST)currentAST.root; - enumConstantField_AST = v_AST; - currentAST.root = enumConstantField_AST; - currentAST.child = enumConstantField_AST!=null &&enumConstantField_AST.getFirstChild()!=null ? - enumConstantField_AST.getFirstChild() : enumConstantField_AST; - currentAST.advanceChildToEnd(); - } - } - else { - throw new NoViableAltException(LT(1), getFilename()); - } - - } - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - break; - } - case LCURLY: - { - compoundStatement(); - s4_AST = (AST)returnAST; - if ( inputState.guessing==0 ) { - enumConstantField_AST = (AST)currentAST.root; - enumConstantField_AST = (AST)astFactory.make( (new ASTArray(2)).add(astFactory.create(INSTANCE_INIT,"INSTANCE_INIT")).add(s4_AST)); - currentAST.root = enumConstantField_AST; - currentAST.child = enumConstantField_AST!=null &&enumConstantField_AST.getFirstChild()!=null ? - enumConstantField_AST.getFirstChild() : enumConstantField_AST; - currentAST.advanceChildToEnd(); - } - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - returnAST = enumConstantField_AST; - } - - public final void parameterDeclarationList() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST parameterDeclarationList_AST = null; - - { - boolean synPredMatched206 = false; - if (((_tokenSet_35.member(LA(1))) && (_tokenSet_36.member(LA(2))))) { - int _m206 = mark(); - synPredMatched206 = true; - inputState.guessing++; - try { - { - parameterDeclaration(); - } - } - catch (RecognitionException pe) { - synPredMatched206 = false; - } - rewind(_m206); -inputState.guessing--; - } - if ( synPredMatched206 ) { - parameterDeclaration(); - astFactory.addASTChild(currentAST, returnAST); - { - _loop210: - do { - boolean synPredMatched209 = false; - if (((LA(1)==COMMA) && (_tokenSet_35.member(LA(2))))) { - int _m209 = mark(); - synPredMatched209 = true; - inputState.guessing++; - try { - { - match(COMMA); - parameterDeclaration(); - } - } - catch (RecognitionException pe) { - synPredMatched209 = false; - } - rewind(_m209); -inputState.guessing--; - } - if ( synPredMatched209 ) { - match(COMMA); - parameterDeclaration(); - astFactory.addASTChild(currentAST, returnAST); - } - else { - break _loop210; - } - - } while (true); - } - { - switch ( LA(1)) { - case COMMA: - { - match(COMMA); - variableLengthParameterDeclaration(); - astFactory.addASTChild(currentAST, returnAST); - break; - } - case RPAREN: - { - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - } - else if ((_tokenSet_35.member(LA(1))) && (_tokenSet_37.member(LA(2)))) { - variableLengthParameterDeclaration(); - astFactory.addASTChild(currentAST, returnAST); - } - else if ((LA(1)==RPAREN)) { - } - else { - throw new NoViableAltException(LT(1), getFilename()); - } - - } - if ( inputState.guessing==0 ) { - parameterDeclarationList_AST = (AST)currentAST.root; - parameterDeclarationList_AST = (AST)astFactory.make( (new ASTArray(2)).add(astFactory.create(PARAMETERS,"PARAMETERS")).add(parameterDeclarationList_AST)); - currentAST.root = parameterDeclarationList_AST; - currentAST.child = parameterDeclarationList_AST!=null &¶meterDeclarationList_AST.getFirstChild()!=null ? - parameterDeclarationList_AST.getFirstChild() : parameterDeclarationList_AST; - currentAST.advanceChildToEnd(); - } - parameterDeclarationList_AST = (AST)currentAST.root; - returnAST = parameterDeclarationList_AST; - } - - public final void throwsClause() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST throwsClause_AST = null; - - AST tmp208_AST = null; - tmp208_AST = astFactory.create(LT(1)); - astFactory.makeASTRoot(currentAST, tmp208_AST); - match(LITERAL_throws); - identifier(); - astFactory.addASTChild(currentAST, returnAST); - { - _loop202: - do { - if ((LA(1)==COMMA)) { - match(COMMA); - identifier(); - astFactory.addASTChild(currentAST, returnAST); - } - else { - break _loop202; - } - - } while (true); - } - throwsClause_AST = (AST)currentAST.root; - returnAST = throwsClause_AST; - } - - public final void compoundStatement() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST compoundStatement_AST = null; - Token lc = null; - AST lc_AST = null; - - lc = LT(1); - lc_AST = astFactory.create(lc); - astFactory.makeASTRoot(currentAST, lc_AST); - match(LCURLY); - if ( inputState.guessing==0 ) { - lc_AST.setType(SLIST); - } - { - _loop222: - do { - if ((_tokenSet_4.member(LA(1)))) { - statement(); - astFactory.addASTChild(currentAST, returnAST); - } - else { - break _loop222; - } - - } while (true); - } - match(RCURLY); - compoundStatement_AST = (AST)currentAST.root; - returnAST = compoundStatement_AST; - } - - public final void ctorHead() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST ctorHead_AST = null; - - AST tmp211_AST = null; - tmp211_AST = astFactory.create(LT(1)); - astFactory.addASTChild(currentAST, tmp211_AST); - match(IDENT); - match(LPAREN); - parameterDeclarationList(); - astFactory.addASTChild(currentAST, returnAST); - match(RPAREN); - { - switch ( LA(1)) { - case LITERAL_throws: - { - throwsClause(); - astFactory.addASTChild(currentAST, returnAST); - break; - } - case LCURLY: - { - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - ctorHead_AST = (AST)currentAST.root; - returnAST = ctorHead_AST; - } - - public final void constructorBody() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST constructorBody_AST = null; - Token lc = null; - AST lc_AST = null; - - lc = LT(1); - lc_AST = astFactory.create(lc); - astFactory.makeASTRoot(currentAST, lc_AST); - match(LCURLY); - if ( inputState.guessing==0 ) { - lc_AST.setType(SLIST); - } - { - if ((_tokenSet_38.member(LA(1))) && (_tokenSet_39.member(LA(2)))) { - explicitConstructorInvocation(); - astFactory.addASTChild(currentAST, returnAST); - } - else if ((_tokenSet_40.member(LA(1))) && (_tokenSet_41.member(LA(2)))) { - } - else { - throw new NoViableAltException(LT(1), getFilename()); - } - - } - { - _loop186: - do { - if ((_tokenSet_4.member(LA(1)))) { - statement(); - astFactory.addASTChild(currentAST, returnAST); - } - else { - break _loop186; - } - - } while (true); - } - match(RCURLY); - constructorBody_AST = (AST)currentAST.root; - returnAST = constructorBody_AST; - } - - public final void initializer() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST initializer_AST = null; - - switch ( LA(1)) { - case IDENT: - case LITERAL_super: - case LT: - case LITERAL_void: - case LITERAL_boolean: - case LITERAL_byte: - case LITERAL_char: - case LITERAL_short: - case LITERAL_int: - case LITERAL_float: - case LITERAL_long: - case LITERAL_double: - case LPAREN: - case LITERAL_this: - case PLUS: - case MINUS: - case INC: - case DEC: - case BNOT: - case LNOT: - case LITERAL_true: - case LITERAL_false: - case LITERAL_null: - case LITERAL_new: - case NUM_INT: - case CHAR_LITERAL: - case STRING_LITERAL: - case NUM_FLOAT: - case NUM_LONG: - case NUM_DOUBLE: - case WEBCOLOR_LITERAL: - case LITERAL_color: - { - expression(); - astFactory.addASTChild(currentAST, returnAST); - initializer_AST = (AST)currentAST.root; - break; - } - case LCURLY: - { - arrayInitializer(); - astFactory.addASTChild(currentAST, returnAST); - initializer_AST = (AST)currentAST.root; - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - returnAST = initializer_AST; - } - - public final void arrayInitializer() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST arrayInitializer_AST = null; - Token lc = null; - AST lc_AST = null; - - lc = LT(1); - lc_AST = astFactory.create(lc); - astFactory.makeASTRoot(currentAST, lc_AST); - match(LCURLY); - if ( inputState.guessing==0 ) { - lc_AST.setType(ARRAY_INIT); - } - { - switch ( LA(1)) { - case IDENT: - case LITERAL_super: - case LT: - case LITERAL_void: - case LITERAL_boolean: - case LITERAL_byte: - case LITERAL_char: - case LITERAL_short: - case LITERAL_int: - case LITERAL_float: - case LITERAL_long: - case LITERAL_double: - case LPAREN: - case LCURLY: - case LITERAL_this: - case PLUS: - case MINUS: - case INC: - case DEC: - case BNOT: - case LNOT: - case LITERAL_true: - case LITERAL_false: - case LITERAL_null: - case LITERAL_new: - case NUM_INT: - case CHAR_LITERAL: - case STRING_LITERAL: - case NUM_FLOAT: - case NUM_LONG: - case NUM_DOUBLE: - case WEBCOLOR_LITERAL: - case LITERAL_color: - { - initializer(); - astFactory.addASTChild(currentAST, returnAST); - { - _loop195: - do { - if ((LA(1)==COMMA) && (_tokenSet_42.member(LA(2)))) { - match(COMMA); - initializer(); - astFactory.addASTChild(currentAST, returnAST); - } - else { - break _loop195; - } - - } while (true); - } - { - switch ( LA(1)) { - case COMMA: - { - match(COMMA); - break; - } - case RCURLY: - { - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - break; - } - case RCURLY: - { - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - match(RCURLY); - arrayInitializer_AST = (AST)currentAST.root; - returnAST = arrayInitializer_AST; - } - - public final void parameterDeclaration() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST parameterDeclaration_AST = null; - AST pm_AST = null; - AST t_AST = null; - Token id = null; - AST id_AST = null; - AST pd_AST = null; - - parameterModifier(); - pm_AST = (AST)returnAST; - typeSpec(false); - t_AST = (AST)returnAST; - id = LT(1); - id_AST = astFactory.create(id); - match(IDENT); - declaratorBrackets(t_AST); - pd_AST = (AST)returnAST; - if ( inputState.guessing==0 ) { - parameterDeclaration_AST = (AST)currentAST.root; - parameterDeclaration_AST = (AST)astFactory.make( (new ASTArray(4)).add(astFactory.create(PARAMETER_DEF,"PARAMETER_DEF")).add(pm_AST).add((AST)astFactory.make( (new ASTArray(2)).add(astFactory.create(TYPE,"TYPE")).add(pd_AST))).add(id_AST)); - currentAST.root = parameterDeclaration_AST; - currentAST.child = parameterDeclaration_AST!=null &¶meterDeclaration_AST.getFirstChild()!=null ? - parameterDeclaration_AST.getFirstChild() : parameterDeclaration_AST; - currentAST.advanceChildToEnd(); - } - returnAST = parameterDeclaration_AST; - } - - public final void variableLengthParameterDeclaration() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST variableLengthParameterDeclaration_AST = null; - AST pm_AST = null; - AST t_AST = null; - Token id = null; - AST id_AST = null; - AST pd_AST = null; - - parameterModifier(); - pm_AST = (AST)returnAST; - typeSpec(false); - t_AST = (AST)returnAST; - match(TRIPLE_DOT); - id = LT(1); - id_AST = astFactory.create(id); - match(IDENT); - declaratorBrackets(t_AST); - pd_AST = (AST)returnAST; - if ( inputState.guessing==0 ) { - variableLengthParameterDeclaration_AST = (AST)currentAST.root; - variableLengthParameterDeclaration_AST = (AST)astFactory.make( (new ASTArray(4)).add(astFactory.create(VARIABLE_PARAMETER_DEF,"VARIABLE_PARAMETER_DEF")).add(pm_AST).add((AST)astFactory.make( (new ASTArray(2)).add(astFactory.create(TYPE,"TYPE")).add(pd_AST))).add(id_AST)); - currentAST.root = variableLengthParameterDeclaration_AST; - currentAST.child = variableLengthParameterDeclaration_AST!=null &&variableLengthParameterDeclaration_AST.getFirstChild()!=null ? - variableLengthParameterDeclaration_AST.getFirstChild() : variableLengthParameterDeclaration_AST; - currentAST.advanceChildToEnd(); - } - returnAST = variableLengthParameterDeclaration_AST; - } - - public final void parameterModifier() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST parameterModifier_AST = null; - Token f = null; - AST f_AST = null; - - { - _loop216: - do { - if ((LA(1)==AT) && (LA(2)==IDENT)) { - annotation(); - astFactory.addASTChild(currentAST, returnAST); - } - else { - break _loop216; - } - - } while (true); - } - { - switch ( LA(1)) { - case FINAL: - { - f = LT(1); - f_AST = astFactory.create(f); - astFactory.addASTChild(currentAST, f_AST); - match(FINAL); - break; - } - case IDENT: - case LITERAL_void: - case LITERAL_boolean: - case LITERAL_byte: - case LITERAL_char: - case LITERAL_short: - case LITERAL_int: - case LITERAL_float: - case LITERAL_long: - case LITERAL_double: - case AT: - case LITERAL_color: - { - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - { - _loop219: - do { - if ((LA(1)==AT)) { - annotation(); - astFactory.addASTChild(currentAST, returnAST); - } - else { - break _loop219; - } - - } while (true); - } - if ( inputState.guessing==0 ) { - parameterModifier_AST = (AST)currentAST.root; - parameterModifier_AST = (AST)astFactory.make( (new ASTArray(2)).add(astFactory.create(MODIFIERS,"MODIFIERS")).add(parameterModifier_AST)); - currentAST.root = parameterModifier_AST; - currentAST.child = parameterModifier_AST!=null &¶meterModifier_AST.getFirstChild()!=null ? - parameterModifier_AST.getFirstChild() : parameterModifier_AST; - currentAST.advanceChildToEnd(); - } - parameterModifier_AST = (AST)currentAST.root; - returnAST = parameterModifier_AST; - } - - public final void forStatement() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST forStatement_AST = null; - Token f = null; - AST f_AST = null; - - f = LT(1); - f_AST = astFactory.create(f); - astFactory.makeASTRoot(currentAST, f_AST); - match(LITERAL_for); - match(LPAREN); - { - boolean synPredMatched236 = false; - if (((_tokenSet_43.member(LA(1))) && (_tokenSet_44.member(LA(2))))) { - int _m236 = mark(); - synPredMatched236 = true; - inputState.guessing++; - try { - { - forInit(); - match(SEMI); - } - } - catch (RecognitionException pe) { - synPredMatched236 = false; - } - rewind(_m236); -inputState.guessing--; - } - if ( synPredMatched236 ) { - traditionalForClause(); - astFactory.addASTChild(currentAST, returnAST); - } - else if ((_tokenSet_35.member(LA(1))) && (_tokenSet_36.member(LA(2)))) { - forEachClause(); - astFactory.addASTChild(currentAST, returnAST); - } - else { - throw new NoViableAltException(LT(1), getFilename()); - } - - } - match(RPAREN); - statement(); - astFactory.addASTChild(currentAST, returnAST); - forStatement_AST = (AST)currentAST.root; - returnAST = forStatement_AST; - } - - public final void casesGroup() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST casesGroup_AST = null; - - { - int _cnt241=0; - _loop241: - do { - if ((LA(1)==LITERAL_default||LA(1)==LITERAL_case) && (_tokenSet_45.member(LA(2)))) { - aCase(); - astFactory.addASTChild(currentAST, returnAST); - } - else { - if ( _cnt241>=1 ) { break _loop241; } else {throw new NoViableAltException(LT(1), getFilename());} - } - - _cnt241++; - } while (true); - } - caseSList(); - astFactory.addASTChild(currentAST, returnAST); - if ( inputState.guessing==0 ) { - casesGroup_AST = (AST)currentAST.root; - casesGroup_AST = (AST)astFactory.make( (new ASTArray(2)).add(astFactory.create(CASE_GROUP,"CASE_GROUP")).add(casesGroup_AST)); - currentAST.root = casesGroup_AST; - currentAST.child = casesGroup_AST!=null &&casesGroup_AST.getFirstChild()!=null ? - casesGroup_AST.getFirstChild() : casesGroup_AST; - currentAST.advanceChildToEnd(); - } - casesGroup_AST = (AST)currentAST.root; - returnAST = casesGroup_AST; - } - - public final void tryBlock() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST tryBlock_AST = null; - - AST tmp221_AST = null; - tmp221_AST = astFactory.create(LT(1)); - astFactory.makeASTRoot(currentAST, tmp221_AST); - match(LITERAL_try); - compoundStatement(); - astFactory.addASTChild(currentAST, returnAST); - { - _loop257: - do { - if ((LA(1)==LITERAL_catch)) { - handler(); - astFactory.addASTChild(currentAST, returnAST); - } - else { - break _loop257; - } - - } while (true); - } - { - switch ( LA(1)) { - case LITERAL_finally: - { - finallyClause(); - astFactory.addASTChild(currentAST, returnAST); - break; - } - case EOF: - case FINAL: - case ABSTRACT: - case STRICTFP: - case SEMI: - case LITERAL_static: - case IDENT: - case LITERAL_super: - case LT: - case LITERAL_void: - case LITERAL_boolean: - case LITERAL_byte: - case LITERAL_char: - case LITERAL_short: - case LITERAL_int: - case LITERAL_float: - case LITERAL_long: - case LITERAL_double: - case LITERAL_private: - case LITERAL_public: - case LITERAL_protected: - case LITERAL_transient: - case LITERAL_native: - case LITERAL_threadsafe: - case LITERAL_synchronized: - case LITERAL_volatile: - case AT: - case LPAREN: - case LCURLY: - case RCURLY: - case LITERAL_class: - case LITERAL_default: - case LITERAL_this: - case LITERAL_if: - case LITERAL_else: - case LITERAL_while: - case LITERAL_do: - case LITERAL_break: - case LITERAL_continue: - case LITERAL_return: - case LITERAL_switch: - case LITERAL_throw: - case LITERAL_assert: - case LITERAL_for: - case LITERAL_case: - case LITERAL_try: - case PLUS: - case MINUS: - case INC: - case DEC: - case BNOT: - case LNOT: - case LITERAL_true: - case LITERAL_false: - case LITERAL_null: - case LITERAL_new: - case NUM_INT: - case CHAR_LITERAL: - case STRING_LITERAL: - case NUM_FLOAT: - case NUM_LONG: - case NUM_DOUBLE: - case WEBCOLOR_LITERAL: - case LITERAL_color: - { - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - tryBlock_AST = (AST)currentAST.root; - returnAST = tryBlock_AST; - } - - public final void forInit() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST forInit_AST = null; - - { - boolean synPredMatched250 = false; - if (((_tokenSet_10.member(LA(1))) && (_tokenSet_11.member(LA(2))))) { - int _m250 = mark(); - synPredMatched250 = true; - inputState.guessing++; - try { - { - declaration(); - } - } - catch (RecognitionException pe) { - synPredMatched250 = false; - } - rewind(_m250); -inputState.guessing--; - } - if ( synPredMatched250 ) { - declaration(); - astFactory.addASTChild(currentAST, returnAST); - } - else if ((_tokenSet_12.member(LA(1))) && (_tokenSet_46.member(LA(2)))) { - expressionList(); - astFactory.addASTChild(currentAST, returnAST); - } - else if ((LA(1)==SEMI)) { - } - else { - throw new NoViableAltException(LT(1), getFilename()); - } - - } - if ( inputState.guessing==0 ) { - forInit_AST = (AST)currentAST.root; - forInit_AST = (AST)astFactory.make( (new ASTArray(2)).add(astFactory.create(FOR_INIT,"FOR_INIT")).add(forInit_AST)); - currentAST.root = forInit_AST; - currentAST.child = forInit_AST!=null &&forInit_AST.getFirstChild()!=null ? - forInit_AST.getFirstChild() : forInit_AST; - currentAST.advanceChildToEnd(); - } - forInit_AST = (AST)currentAST.root; - returnAST = forInit_AST; - } - - public final void traditionalForClause() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST traditionalForClause_AST = null; - - forInit(); - astFactory.addASTChild(currentAST, returnAST); - match(SEMI); - forCond(); - astFactory.addASTChild(currentAST, returnAST); - match(SEMI); - forIter(); - astFactory.addASTChild(currentAST, returnAST); - traditionalForClause_AST = (AST)currentAST.root; - returnAST = traditionalForClause_AST; - } - - public final void forEachClause() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST forEachClause_AST = null; - AST p_AST = null; - - parameterDeclaration(); - p_AST = (AST)returnAST; - astFactory.addASTChild(currentAST, returnAST); - match(COLON); - expression(); - astFactory.addASTChild(currentAST, returnAST); - if ( inputState.guessing==0 ) { - forEachClause_AST = (AST)currentAST.root; - forEachClause_AST = (AST)astFactory.make( (new ASTArray(2)).add(astFactory.create(FOR_EACH_CLAUSE,"FOR_EACH_CLAUSE")).add(forEachClause_AST)); - currentAST.root = forEachClause_AST; - currentAST.child = forEachClause_AST!=null &&forEachClause_AST.getFirstChild()!=null ? - forEachClause_AST.getFirstChild() : forEachClause_AST; - currentAST.advanceChildToEnd(); - } - forEachClause_AST = (AST)currentAST.root; - returnAST = forEachClause_AST; - } - - public final void forCond() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST forCond_AST = null; - - { - switch ( LA(1)) { - case IDENT: - case LITERAL_super: - case LT: - case LITERAL_void: - case LITERAL_boolean: - case LITERAL_byte: - case LITERAL_char: - case LITERAL_short: - case LITERAL_int: - case LITERAL_float: - case LITERAL_long: - case LITERAL_double: - case LPAREN: - case LITERAL_this: - case PLUS: - case MINUS: - case INC: - case DEC: - case BNOT: - case LNOT: - case LITERAL_true: - case LITERAL_false: - case LITERAL_null: - case LITERAL_new: - case NUM_INT: - case CHAR_LITERAL: - case STRING_LITERAL: - case NUM_FLOAT: - case NUM_LONG: - case NUM_DOUBLE: - case WEBCOLOR_LITERAL: - case LITERAL_color: - { - expression(); - astFactory.addASTChild(currentAST, returnAST); - break; - } - case SEMI: - { - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - if ( inputState.guessing==0 ) { - forCond_AST = (AST)currentAST.root; - forCond_AST = (AST)astFactory.make( (new ASTArray(2)).add(astFactory.create(FOR_CONDITION,"FOR_CONDITION")).add(forCond_AST)); - currentAST.root = forCond_AST; - currentAST.child = forCond_AST!=null &&forCond_AST.getFirstChild()!=null ? - forCond_AST.getFirstChild() : forCond_AST; - currentAST.advanceChildToEnd(); - } - forCond_AST = (AST)currentAST.root; - returnAST = forCond_AST; - } - - public final void forIter() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST forIter_AST = null; - - { - switch ( LA(1)) { - case IDENT: - case LITERAL_super: - case LT: - case LITERAL_void: - case LITERAL_boolean: - case LITERAL_byte: - case LITERAL_char: - case LITERAL_short: - case LITERAL_int: - case LITERAL_float: - case LITERAL_long: - case LITERAL_double: - case LPAREN: - case LITERAL_this: - case PLUS: - case MINUS: - case INC: - case DEC: - case BNOT: - case LNOT: - case LITERAL_true: - case LITERAL_false: - case LITERAL_null: - case LITERAL_new: - case NUM_INT: - case CHAR_LITERAL: - case STRING_LITERAL: - case NUM_FLOAT: - case NUM_LONG: - case NUM_DOUBLE: - case WEBCOLOR_LITERAL: - case LITERAL_color: - { - expressionList(); - astFactory.addASTChild(currentAST, returnAST); - break; - } - case RPAREN: - { - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - if ( inputState.guessing==0 ) { - forIter_AST = (AST)currentAST.root; - forIter_AST = (AST)astFactory.make( (new ASTArray(2)).add(astFactory.create(FOR_ITERATOR,"FOR_ITERATOR")).add(forIter_AST)); - currentAST.root = forIter_AST; - currentAST.child = forIter_AST!=null &&forIter_AST.getFirstChild()!=null ? - forIter_AST.getFirstChild() : forIter_AST; - currentAST.advanceChildToEnd(); - } - forIter_AST = (AST)currentAST.root; - returnAST = forIter_AST; - } - - public final void aCase() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST aCase_AST = null; - - { - switch ( LA(1)) { - case LITERAL_case: - { - AST tmp225_AST = null; - tmp225_AST = astFactory.create(LT(1)); - astFactory.makeASTRoot(currentAST, tmp225_AST); - match(LITERAL_case); - expression(); - astFactory.addASTChild(currentAST, returnAST); - break; - } - case LITERAL_default: - { - AST tmp226_AST = null; - tmp226_AST = astFactory.create(LT(1)); - astFactory.addASTChild(currentAST, tmp226_AST); - match(LITERAL_default); - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - match(COLON); - aCase_AST = (AST)currentAST.root; - returnAST = aCase_AST; - } - - public final void caseSList() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST caseSList_AST = null; - - { - _loop246: - do { - if ((_tokenSet_4.member(LA(1)))) { - statement(); - astFactory.addASTChild(currentAST, returnAST); - } - else { - break _loop246; - } - - } while (true); - } - if ( inputState.guessing==0 ) { - caseSList_AST = (AST)currentAST.root; - caseSList_AST = (AST)astFactory.make( (new ASTArray(2)).add(astFactory.create(SLIST,"SLIST")).add(caseSList_AST)); - currentAST.root = caseSList_AST; - currentAST.child = caseSList_AST!=null &&caseSList_AST.getFirstChild()!=null ? - caseSList_AST.getFirstChild() : caseSList_AST; - currentAST.advanceChildToEnd(); - } - caseSList_AST = (AST)currentAST.root; - returnAST = caseSList_AST; - } - - public final void expressionList() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST expressionList_AST = null; - - expression(); - astFactory.addASTChild(currentAST, returnAST); - { - _loop264: - do { - if ((LA(1)==COMMA)) { - match(COMMA); - expression(); - astFactory.addASTChild(currentAST, returnAST); - } - else { - break _loop264; - } - - } while (true); - } - if ( inputState.guessing==0 ) { - expressionList_AST = (AST)currentAST.root; - expressionList_AST = (AST)astFactory.make( (new ASTArray(2)).add(astFactory.create(ELIST,"ELIST")).add(expressionList_AST)); - currentAST.root = expressionList_AST; - currentAST.child = expressionList_AST!=null &&expressionList_AST.getFirstChild()!=null ? - expressionList_AST.getFirstChild() : expressionList_AST; - currentAST.advanceChildToEnd(); - } - expressionList_AST = (AST)currentAST.root; - returnAST = expressionList_AST; - } - - public final void handler() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST handler_AST = null; - - AST tmp229_AST = null; - tmp229_AST = astFactory.create(LT(1)); - astFactory.makeASTRoot(currentAST, tmp229_AST); - match(LITERAL_catch); - match(LPAREN); - parameterDeclaration(); - astFactory.addASTChild(currentAST, returnAST); - match(RPAREN); - compoundStatement(); - astFactory.addASTChild(currentAST, returnAST); - handler_AST = (AST)currentAST.root; - returnAST = handler_AST; - } - - public final void finallyClause() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST finallyClause_AST = null; - - AST tmp232_AST = null; - tmp232_AST = astFactory.create(LT(1)); - astFactory.makeASTRoot(currentAST, tmp232_AST); - match(LITERAL_finally); - compoundStatement(); - astFactory.addASTChild(currentAST, returnAST); - finallyClause_AST = (AST)currentAST.root; - returnAST = finallyClause_AST; - } - - public final void logicalOrExpression() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST logicalOrExpression_AST = null; - - logicalAndExpression(); - astFactory.addASTChild(currentAST, returnAST); - { - _loop272: - do { - if ((LA(1)==LOR)) { - AST tmp233_AST = null; - tmp233_AST = astFactory.create(LT(1)); - astFactory.makeASTRoot(currentAST, tmp233_AST); - match(LOR); - logicalAndExpression(); - astFactory.addASTChild(currentAST, returnAST); - } - else { - break _loop272; - } - - } while (true); - } - logicalOrExpression_AST = (AST)currentAST.root; - returnAST = logicalOrExpression_AST; - } - - public final void logicalAndExpression() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST logicalAndExpression_AST = null; - - inclusiveOrExpression(); - astFactory.addASTChild(currentAST, returnAST); - { - _loop275: - do { - if ((LA(1)==LAND)) { - AST tmp234_AST = null; - tmp234_AST = astFactory.create(LT(1)); - astFactory.makeASTRoot(currentAST, tmp234_AST); - match(LAND); - inclusiveOrExpression(); - astFactory.addASTChild(currentAST, returnAST); - } - else { - break _loop275; - } - - } while (true); - } - logicalAndExpression_AST = (AST)currentAST.root; - returnAST = logicalAndExpression_AST; - } - - public final void inclusiveOrExpression() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST inclusiveOrExpression_AST = null; - - exclusiveOrExpression(); - astFactory.addASTChild(currentAST, returnAST); - { - _loop278: - do { - if ((LA(1)==BOR)) { - AST tmp235_AST = null; - tmp235_AST = astFactory.create(LT(1)); - astFactory.makeASTRoot(currentAST, tmp235_AST); - match(BOR); - exclusiveOrExpression(); - astFactory.addASTChild(currentAST, returnAST); - } - else { - break _loop278; - } - - } while (true); - } - inclusiveOrExpression_AST = (AST)currentAST.root; - returnAST = inclusiveOrExpression_AST; - } - - public final void exclusiveOrExpression() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST exclusiveOrExpression_AST = null; - - andExpression(); - astFactory.addASTChild(currentAST, returnAST); - { - _loop281: - do { - if ((LA(1)==BXOR)) { - AST tmp236_AST = null; - tmp236_AST = astFactory.create(LT(1)); - astFactory.makeASTRoot(currentAST, tmp236_AST); - match(BXOR); - andExpression(); - astFactory.addASTChild(currentAST, returnAST); - } - else { - break _loop281; - } - - } while (true); - } - exclusiveOrExpression_AST = (AST)currentAST.root; - returnAST = exclusiveOrExpression_AST; - } - - public final void andExpression() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST andExpression_AST = null; - - equalityExpression(); - astFactory.addASTChild(currentAST, returnAST); - { - _loop284: - do { - if ((LA(1)==BAND)) { - AST tmp237_AST = null; - tmp237_AST = astFactory.create(LT(1)); - astFactory.makeASTRoot(currentAST, tmp237_AST); - match(BAND); - equalityExpression(); - astFactory.addASTChild(currentAST, returnAST); - } - else { - break _loop284; - } - - } while (true); - } - andExpression_AST = (AST)currentAST.root; - returnAST = andExpression_AST; - } - - public final void equalityExpression() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST equalityExpression_AST = null; - - relationalExpression(); - astFactory.addASTChild(currentAST, returnAST); - { - _loop288: - do { - if ((LA(1)==NOT_EQUAL||LA(1)==EQUAL)) { - { - switch ( LA(1)) { - case NOT_EQUAL: - { - AST tmp238_AST = null; - tmp238_AST = astFactory.create(LT(1)); - astFactory.makeASTRoot(currentAST, tmp238_AST); - match(NOT_EQUAL); - break; - } - case EQUAL: - { - AST tmp239_AST = null; - tmp239_AST = astFactory.create(LT(1)); - astFactory.makeASTRoot(currentAST, tmp239_AST); - match(EQUAL); - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - relationalExpression(); - astFactory.addASTChild(currentAST, returnAST); - } - else { - break _loop288; - } - - } while (true); - } - equalityExpression_AST = (AST)currentAST.root; - returnAST = equalityExpression_AST; - } - - public final void relationalExpression() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST relationalExpression_AST = null; - - shiftExpression(); - astFactory.addASTChild(currentAST, returnAST); - { - switch ( LA(1)) { - case SEMI: - case RBRACK: - case IDENT: - case QUESTION: - case LT: - case COMMA: - case GT: - case RPAREN: - case ASSIGN: - case RCURLY: - case BAND: - case COLON: - case PLUS_ASSIGN: - case MINUS_ASSIGN: - case STAR_ASSIGN: - case DIV_ASSIGN: - case MOD_ASSIGN: - case SR_ASSIGN: - case BSR_ASSIGN: - case SL_ASSIGN: - case BAND_ASSIGN: - case BXOR_ASSIGN: - case BOR_ASSIGN: - case LOR: - case LAND: - case BOR: - case BXOR: - case NOT_EQUAL: - case EQUAL: - case LE: - case GE: - { - { - _loop293: - do { - if ((_tokenSet_47.member(LA(1)))) { - { - switch ( LA(1)) { - case LT: - { - AST tmp240_AST = null; - tmp240_AST = astFactory.create(LT(1)); - astFactory.makeASTRoot(currentAST, tmp240_AST); - match(LT); - break; - } - case GT: - { - AST tmp241_AST = null; - tmp241_AST = astFactory.create(LT(1)); - astFactory.makeASTRoot(currentAST, tmp241_AST); - match(GT); - break; - } - case LE: - { - AST tmp242_AST = null; - tmp242_AST = astFactory.create(LT(1)); - astFactory.makeASTRoot(currentAST, tmp242_AST); - match(LE); - break; - } - case GE: - { - AST tmp243_AST = null; - tmp243_AST = astFactory.create(LT(1)); - astFactory.makeASTRoot(currentAST, tmp243_AST); - match(GE); - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - shiftExpression(); - astFactory.addASTChild(currentAST, returnAST); - } - else { - break _loop293; - } - - } while (true); - } - break; - } - case LITERAL_instanceof: - { - AST tmp244_AST = null; - tmp244_AST = astFactory.create(LT(1)); - astFactory.makeASTRoot(currentAST, tmp244_AST); - match(LITERAL_instanceof); - typeSpec(true); - astFactory.addASTChild(currentAST, returnAST); - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - relationalExpression_AST = (AST)currentAST.root; - returnAST = relationalExpression_AST; - } - - public final void shiftExpression() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST shiftExpression_AST = null; - - additiveExpression(); - astFactory.addASTChild(currentAST, returnAST); - { - _loop297: - do { - if ((_tokenSet_48.member(LA(1)))) { - { - switch ( LA(1)) { - case SL: - { - AST tmp245_AST = null; - tmp245_AST = astFactory.create(LT(1)); - astFactory.makeASTRoot(currentAST, tmp245_AST); - match(SL); - break; - } - case SR: - { - AST tmp246_AST = null; - tmp246_AST = astFactory.create(LT(1)); - astFactory.makeASTRoot(currentAST, tmp246_AST); - match(SR); - break; - } - case BSR: - { - AST tmp247_AST = null; - tmp247_AST = astFactory.create(LT(1)); - astFactory.makeASTRoot(currentAST, tmp247_AST); - match(BSR); - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - additiveExpression(); - astFactory.addASTChild(currentAST, returnAST); - } - else { - break _loop297; - } - - } while (true); - } - shiftExpression_AST = (AST)currentAST.root; - returnAST = shiftExpression_AST; - } - - public final void additiveExpression() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST additiveExpression_AST = null; - - multiplicativeExpression(); - astFactory.addASTChild(currentAST, returnAST); - { - _loop301: - do { - if ((LA(1)==PLUS||LA(1)==MINUS)) { - { - switch ( LA(1)) { - case PLUS: - { - AST tmp248_AST = null; - tmp248_AST = astFactory.create(LT(1)); - astFactory.makeASTRoot(currentAST, tmp248_AST); - match(PLUS); - break; - } - case MINUS: - { - AST tmp249_AST = null; - tmp249_AST = astFactory.create(LT(1)); - astFactory.makeASTRoot(currentAST, tmp249_AST); - match(MINUS); - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - multiplicativeExpression(); - astFactory.addASTChild(currentAST, returnAST); - } - else { - break _loop301; - } - - } while (true); - } - additiveExpression_AST = (AST)currentAST.root; - returnAST = additiveExpression_AST; - } - - public final void multiplicativeExpression() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST multiplicativeExpression_AST = null; - - unaryExpression(); - astFactory.addASTChild(currentAST, returnAST); - { - _loop305: - do { - if ((_tokenSet_49.member(LA(1)))) { - { - switch ( LA(1)) { - case STAR: - { - AST tmp250_AST = null; - tmp250_AST = astFactory.create(LT(1)); - astFactory.makeASTRoot(currentAST, tmp250_AST); - match(STAR); - break; - } - case DIV: - { - AST tmp251_AST = null; - tmp251_AST = astFactory.create(LT(1)); - astFactory.makeASTRoot(currentAST, tmp251_AST); - match(DIV); - break; - } - case MOD: - { - AST tmp252_AST = null; - tmp252_AST = astFactory.create(LT(1)); - astFactory.makeASTRoot(currentAST, tmp252_AST); - match(MOD); - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - unaryExpression(); - astFactory.addASTChild(currentAST, returnAST); - } - else { - break _loop305; - } - - } while (true); - } - multiplicativeExpression_AST = (AST)currentAST.root; - returnAST = multiplicativeExpression_AST; - } - - public final void unaryExpression() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST unaryExpression_AST = null; - - switch ( LA(1)) { - case INC: - { - AST tmp253_AST = null; - tmp253_AST = astFactory.create(LT(1)); - astFactory.makeASTRoot(currentAST, tmp253_AST); - match(INC); - unaryExpression(); - astFactory.addASTChild(currentAST, returnAST); - unaryExpression_AST = (AST)currentAST.root; - break; - } - case DEC: - { - AST tmp254_AST = null; - tmp254_AST = astFactory.create(LT(1)); - astFactory.makeASTRoot(currentAST, tmp254_AST); - match(DEC); - unaryExpression(); - astFactory.addASTChild(currentAST, returnAST); - unaryExpression_AST = (AST)currentAST.root; - break; - } - case MINUS: - { - AST tmp255_AST = null; - tmp255_AST = astFactory.create(LT(1)); - astFactory.makeASTRoot(currentAST, tmp255_AST); - match(MINUS); - if ( inputState.guessing==0 ) { - tmp255_AST.setType(UNARY_MINUS); - } - unaryExpression(); - astFactory.addASTChild(currentAST, returnAST); - unaryExpression_AST = (AST)currentAST.root; - break; - } - case PLUS: - { - AST tmp256_AST = null; - tmp256_AST = astFactory.create(LT(1)); - astFactory.makeASTRoot(currentAST, tmp256_AST); - match(PLUS); - if ( inputState.guessing==0 ) { - tmp256_AST.setType(UNARY_PLUS); - } - unaryExpression(); - astFactory.addASTChild(currentAST, returnAST); - unaryExpression_AST = (AST)currentAST.root; - break; - } - case IDENT: - case LITERAL_super: - case LT: - case LITERAL_void: - case LITERAL_boolean: - case LITERAL_byte: - case LITERAL_char: - case LITERAL_short: - case LITERAL_int: - case LITERAL_float: - case LITERAL_long: - case LITERAL_double: - case LPAREN: - case LITERAL_this: - case BNOT: - case LNOT: - case LITERAL_true: - case LITERAL_false: - case LITERAL_null: - case LITERAL_new: - case NUM_INT: - case CHAR_LITERAL: - case STRING_LITERAL: - case NUM_FLOAT: - case NUM_LONG: - case NUM_DOUBLE: - case WEBCOLOR_LITERAL: - case LITERAL_color: - { - unaryExpressionNotPlusMinus(); - astFactory.addASTChild(currentAST, returnAST); - unaryExpression_AST = (AST)currentAST.root; - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - returnAST = unaryExpression_AST; - } - - public final void unaryExpressionNotPlusMinus() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST unaryExpressionNotPlusMinus_AST = null; - Token lpb = null; - AST lpb_AST = null; - Token lp = null; - AST lp_AST = null; - - switch ( LA(1)) { - case BNOT: - { - AST tmp257_AST = null; - tmp257_AST = astFactory.create(LT(1)); - astFactory.makeASTRoot(currentAST, tmp257_AST); - match(BNOT); - unaryExpression(); - astFactory.addASTChild(currentAST, returnAST); - unaryExpressionNotPlusMinus_AST = (AST)currentAST.root; - break; - } - case LNOT: - { - AST tmp258_AST = null; - tmp258_AST = astFactory.create(LT(1)); - astFactory.makeASTRoot(currentAST, tmp258_AST); - match(LNOT); - unaryExpression(); - astFactory.addASTChild(currentAST, returnAST); - unaryExpressionNotPlusMinus_AST = (AST)currentAST.root; - break; - } - case IDENT: - case LITERAL_super: - case LT: - case LITERAL_void: - case LITERAL_boolean: - case LITERAL_byte: - case LITERAL_char: - case LITERAL_short: - case LITERAL_int: - case LITERAL_float: - case LITERAL_long: - case LITERAL_double: - case LPAREN: - case LITERAL_this: - case LITERAL_true: - case LITERAL_false: - case LITERAL_null: - case LITERAL_new: - case NUM_INT: - case CHAR_LITERAL: - case STRING_LITERAL: - case NUM_FLOAT: - case NUM_LONG: - case NUM_DOUBLE: - case WEBCOLOR_LITERAL: - case LITERAL_color: - { - { - boolean synPredMatched310 = false; - if (((LA(1)==LPAREN) && (_tokenSet_23.member(LA(2))))) { - int _m310 = mark(); - synPredMatched310 = true; - inputState.guessing++; - try { - { - match(LPAREN); - builtInTypeSpec(true); - match(RPAREN); - unaryExpression(); - } - } - catch (RecognitionException pe) { - synPredMatched310 = false; - } - rewind(_m310); -inputState.guessing--; - } - if ( synPredMatched310 ) { - lpb = LT(1); - lpb_AST = astFactory.create(lpb); - astFactory.makeASTRoot(currentAST, lpb_AST); - match(LPAREN); - if ( inputState.guessing==0 ) { - lpb_AST.setType(TYPECAST); - } - builtInTypeSpec(true); - astFactory.addASTChild(currentAST, returnAST); - match(RPAREN); - unaryExpression(); - astFactory.addASTChild(currentAST, returnAST); - } - else { - boolean synPredMatched312 = false; - if (((LA(1)==LPAREN) && (LA(2)==IDENT))) { - int _m312 = mark(); - synPredMatched312 = true; - inputState.guessing++; - try { - { - match(LPAREN); - classTypeSpec(true); - match(RPAREN); - unaryExpressionNotPlusMinus(); - } - } - catch (RecognitionException pe) { - synPredMatched312 = false; - } - rewind(_m312); -inputState.guessing--; - } - if ( synPredMatched312 ) { - lp = LT(1); - lp_AST = astFactory.create(lp); - astFactory.makeASTRoot(currentAST, lp_AST); - match(LPAREN); - if ( inputState.guessing==0 ) { - lp_AST.setType(TYPECAST); - } - classTypeSpec(true); - astFactory.addASTChild(currentAST, returnAST); - match(RPAREN); - unaryExpressionNotPlusMinus(); - astFactory.addASTChild(currentAST, returnAST); - } - else if ((_tokenSet_50.member(LA(1))) && (_tokenSet_51.member(LA(2)))) { - postfixExpression(); - astFactory.addASTChild(currentAST, returnAST); - } - else { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - unaryExpressionNotPlusMinus_AST = (AST)currentAST.root; - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - returnAST = unaryExpressionNotPlusMinus_AST; - } - - public final void postfixExpression() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST postfixExpression_AST = null; - Token lp = null; - AST lp_AST = null; - Token lp3 = null; - AST lp3_AST = null; - Token lps = null; - AST lps_AST = null; - Token lb = null; - AST lb_AST = null; - Token in = null; - AST in_AST = null; - Token de = null; - AST de_AST = null; - - primaryExpression(); - astFactory.addASTChild(currentAST, returnAST); - { - _loop321: - do { - if ((LA(1)==DOT) && (_tokenSet_52.member(LA(2)))) { - AST tmp261_AST = null; - tmp261_AST = astFactory.create(LT(1)); - astFactory.makeASTRoot(currentAST, tmp261_AST); - match(DOT); - { - switch ( LA(1)) { - case LT: - { - typeArguments(); - astFactory.addASTChild(currentAST, returnAST); - break; - } - case IDENT: - case LITERAL_super: - { - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - { - switch ( LA(1)) { - case IDENT: - { - AST tmp262_AST = null; - tmp262_AST = astFactory.create(LT(1)); - astFactory.addASTChild(currentAST, tmp262_AST); - match(IDENT); - { - switch ( LA(1)) { - case LPAREN: - { - lp = LT(1); - lp_AST = astFactory.create(lp); - astFactory.makeASTRoot(currentAST, lp_AST); - match(LPAREN); - if ( inputState.guessing==0 ) { - lp_AST.setType(METHOD_CALL); - } - argList(); - astFactory.addASTChild(currentAST, returnAST); - match(RPAREN); - break; - } - case SEMI: - case LBRACK: - case RBRACK: - case IDENT: - case DOT: - case QUESTION: - case LT: - case COMMA: - case GT: - case SR: - case BSR: - case STAR: - case RPAREN: - case ASSIGN: - case RCURLY: - case BAND: - case COLON: - case PLUS_ASSIGN: - case MINUS_ASSIGN: - case STAR_ASSIGN: - case DIV_ASSIGN: - case MOD_ASSIGN: - case SR_ASSIGN: - case BSR_ASSIGN: - case SL_ASSIGN: - case BAND_ASSIGN: - case BXOR_ASSIGN: - case BOR_ASSIGN: - case LOR: - case LAND: - case BOR: - case BXOR: - case NOT_EQUAL: - case EQUAL: - case LE: - case GE: - case LITERAL_instanceof: - case SL: - case PLUS: - case MINUS: - case DIV: - case MOD: - case INC: - case DEC: - { - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - break; - } - case LITERAL_super: - { - AST tmp264_AST = null; - tmp264_AST = astFactory.create(LT(1)); - astFactory.addASTChild(currentAST, tmp264_AST); - match(LITERAL_super); - { - switch ( LA(1)) { - case LPAREN: - { - lp3 = LT(1); - lp3_AST = astFactory.create(lp3); - astFactory.makeASTRoot(currentAST, lp3_AST); - match(LPAREN); - argList(); - astFactory.addASTChild(currentAST, returnAST); - match(RPAREN); - if ( inputState.guessing==0 ) { - lp3_AST.setType(SUPER_CTOR_CALL); - } - break; - } - case DOT: - { - AST tmp266_AST = null; - tmp266_AST = astFactory.create(LT(1)); - astFactory.makeASTRoot(currentAST, tmp266_AST); - match(DOT); - { - switch ( LA(1)) { - case LT: - { - typeArguments(); - astFactory.addASTChild(currentAST, returnAST); - break; - } - case IDENT: - { - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - AST tmp267_AST = null; - tmp267_AST = astFactory.create(LT(1)); - astFactory.addASTChild(currentAST, tmp267_AST); - match(IDENT); - { - switch ( LA(1)) { - case LPAREN: - { - lps = LT(1); - lps_AST = astFactory.create(lps); - astFactory.makeASTRoot(currentAST, lps_AST); - match(LPAREN); - if ( inputState.guessing==0 ) { - lps_AST.setType(METHOD_CALL); - } - argList(); - astFactory.addASTChild(currentAST, returnAST); - match(RPAREN); - break; - } - case SEMI: - case LBRACK: - case RBRACK: - case IDENT: - case DOT: - case QUESTION: - case LT: - case COMMA: - case GT: - case SR: - case BSR: - case STAR: - case RPAREN: - case ASSIGN: - case RCURLY: - case BAND: - case COLON: - case PLUS_ASSIGN: - case MINUS_ASSIGN: - case STAR_ASSIGN: - case DIV_ASSIGN: - case MOD_ASSIGN: - case SR_ASSIGN: - case BSR_ASSIGN: - case SL_ASSIGN: - case BAND_ASSIGN: - case BXOR_ASSIGN: - case BOR_ASSIGN: - case LOR: - case LAND: - case BOR: - case BXOR: - case NOT_EQUAL: - case EQUAL: - case LE: - case GE: - case LITERAL_instanceof: - case SL: - case PLUS: - case MINUS: - case DIV: - case MOD: - case INC: - case DEC: - { - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - } - else if ((LA(1)==DOT) && (LA(2)==LITERAL_this)) { - AST tmp269_AST = null; - tmp269_AST = astFactory.create(LT(1)); - astFactory.makeASTRoot(currentAST, tmp269_AST); - match(DOT); - AST tmp270_AST = null; - tmp270_AST = astFactory.create(LT(1)); - astFactory.addASTChild(currentAST, tmp270_AST); - match(LITERAL_this); - } - else if ((LA(1)==DOT) && (LA(2)==LITERAL_new)) { - AST tmp271_AST = null; - tmp271_AST = astFactory.create(LT(1)); - astFactory.makeASTRoot(currentAST, tmp271_AST); - match(DOT); - newExpression(); - astFactory.addASTChild(currentAST, returnAST); - } - else if ((LA(1)==LBRACK)) { - lb = LT(1); - lb_AST = astFactory.create(lb); - astFactory.makeASTRoot(currentAST, lb_AST); - match(LBRACK); - if ( inputState.guessing==0 ) { - lb_AST.setType(INDEX_OP); - } - expression(); - astFactory.addASTChild(currentAST, returnAST); - match(RBRACK); - } - else { - break _loop321; - } - - } while (true); - } - { - switch ( LA(1)) { - case INC: - { - in = LT(1); - in_AST = astFactory.create(in); - astFactory.makeASTRoot(currentAST, in_AST); - match(INC); - if ( inputState.guessing==0 ) { - in_AST.setType(POST_INC); - } - break; - } - case DEC: - { - de = LT(1); - de_AST = astFactory.create(de); - astFactory.makeASTRoot(currentAST, de_AST); - match(DEC); - if ( inputState.guessing==0 ) { - de_AST.setType(POST_DEC); - } - break; - } - case SEMI: - case RBRACK: - case IDENT: - case QUESTION: - case LT: - case COMMA: - case GT: - case SR: - case BSR: - case STAR: - case RPAREN: - case ASSIGN: - case RCURLY: - case BAND: - case COLON: - case PLUS_ASSIGN: - case MINUS_ASSIGN: - case STAR_ASSIGN: - case DIV_ASSIGN: - case MOD_ASSIGN: - case SR_ASSIGN: - case BSR_ASSIGN: - case SL_ASSIGN: - case BAND_ASSIGN: - case BXOR_ASSIGN: - case BOR_ASSIGN: - case LOR: - case LAND: - case BOR: - case BXOR: - case NOT_EQUAL: - case EQUAL: - case LE: - case GE: - case LITERAL_instanceof: - case SL: - case PLUS: - case MINUS: - case DIV: - case MOD: - { - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - postfixExpression_AST = (AST)currentAST.root; - returnAST = postfixExpression_AST; - } - - public final void newArrayDeclarator() throws RecognitionException, TokenStreamException { - - returnAST = null; - ASTPair currentAST = new ASTPair(); - AST newArrayDeclarator_AST = null; - Token lb = null; - AST lb_AST = null; - - { - int _cnt345=0; - _loop345: - do { - if ((LA(1)==LBRACK) && (_tokenSet_53.member(LA(2)))) { - lb = LT(1); - lb_AST = astFactory.create(lb); - astFactory.makeASTRoot(currentAST, lb_AST); - match(LBRACK); - if ( inputState.guessing==0 ) { - lb_AST.setType(ARRAY_DECLARATOR); - } - { - switch ( LA(1)) { - case IDENT: - case LITERAL_super: - case LT: - case LITERAL_void: - case LITERAL_boolean: - case LITERAL_byte: - case LITERAL_char: - case LITERAL_short: - case LITERAL_int: - case LITERAL_float: - case LITERAL_long: - case LITERAL_double: - case LPAREN: - case LITERAL_this: - case PLUS: - case MINUS: - case INC: - case DEC: - case BNOT: - case LNOT: - case LITERAL_true: - case LITERAL_false: - case LITERAL_null: - case LITERAL_new: - case NUM_INT: - case CHAR_LITERAL: - case STRING_LITERAL: - case NUM_FLOAT: - case NUM_LONG: - case NUM_DOUBLE: - case WEBCOLOR_LITERAL: - case LITERAL_color: - { - expression(); - astFactory.addASTChild(currentAST, returnAST); - break; - } - case RBRACK: - { - break; - } - default: - { - throw new NoViableAltException(LT(1), getFilename()); - } - } - } - match(RBRACK); - } - else { - if ( _cnt345>=1 ) { break _loop345; } else {throw new NoViableAltException(LT(1), getFilename());} - } - - _cnt345++; - } while (true); - } - newArrayDeclarator_AST = (AST)currentAST.root; - returnAST = newArrayDeclarator_AST; - } - - - public static final String[] _tokenNames = { - "<0>", - "EOF", - "<2>", - "NULL_TREE_LOOKAHEAD", - "BLOCK", - "MODIFIERS", - "OBJBLOCK", - "SLIST", - "CTOR_DEF", - "METHOD_DEF", - "VARIABLE_DEF", - "INSTANCE_INIT", - "STATIC_INIT", - "TYPE", - "CLASS_DEF", - "INTERFACE_DEF", - "PACKAGE_DEF", - "ARRAY_DECLARATOR", - "EXTENDS_CLAUSE", - "IMPLEMENTS_CLAUSE", - "PARAMETERS", - "PARAMETER_DEF", - "LABELED_STAT", - "TYPECAST", - "INDEX_OP", - "POST_INC", - "POST_DEC", - "METHOD_CALL", - "EXPR", - "ARRAY_INIT", - "IMPORT", - "UNARY_MINUS", - "UNARY_PLUS", - "CASE_GROUP", - "ELIST", - "FOR_INIT", - "FOR_CONDITION", - "FOR_ITERATOR", - "EMPTY_STAT", - "\"final\"", - "\"abstract\"", - "\"strictfp\"", - "SUPER_CTOR_CALL", - "CTOR_CALL", - "VARIABLE_PARAMETER_DEF", - "STATIC_IMPORT", - "ENUM_DEF", - "ENUM_CONSTANT_DEF", - "FOR_EACH_CLAUSE", - "ANNOTATION_DEF", - "ANNOTATIONS", - "ANNOTATION", - "ANNOTATION_MEMBER_VALUE_PAIR", - "ANNOTATION_FIELD_DEF", - "ANNOTATION_ARRAY_INIT", - "TYPE_ARGUMENTS", - "TYPE_ARGUMENT", - "TYPE_PARAMETERS", - "TYPE_PARAMETER", - "WILDCARD_TYPE", - "TYPE_UPPER_BOUNDS", - "TYPE_LOWER_BOUNDS", - "\"package\"", - "SEMI", - "\"import\"", - "\"static\"", - "LBRACK", - "RBRACK", - "IDENT", - "DOT", - "QUESTION", - "\"extends\"", - "\"super\"", - "LT", - "COMMA", - "GT", - "SR", - "BSR", - "\"void\"", - "\"boolean\"", - "\"byte\"", - "\"char\"", - "\"short\"", - "\"int\"", - "\"float\"", - "\"long\"", - "\"double\"", - "STAR", - "\"private\"", - "\"public\"", - "\"protected\"", - "\"transient\"", - "\"native\"", - "\"threadsafe\"", - "\"synchronized\"", - "\"volatile\"", - "AT", - "LPAREN", - "RPAREN", - "ASSIGN", - "LCURLY", - "RCURLY", - "\"class\"", - "\"interface\"", - "\"enum\"", - "BAND", - "\"default\"", - "\"implements\"", - "\"this\"", - "\"throws\"", - "TRIPLE_DOT", - "COLON", - "\"if\"", - "\"else\"", - "\"while\"", - "\"do\"", - "\"break\"", - "\"continue\"", - "\"return\"", - "\"switch\"", - "\"throw\"", - "\"assert\"", - "\"for\"", - "\"case\"", - "\"try\"", - "\"finally\"", - "\"catch\"", - "PLUS_ASSIGN", - "MINUS_ASSIGN", - "STAR_ASSIGN", - "DIV_ASSIGN", - "MOD_ASSIGN", - "SR_ASSIGN", - "BSR_ASSIGN", - "SL_ASSIGN", - "BAND_ASSIGN", - "BXOR_ASSIGN", - "BOR_ASSIGN", - "LOR", - "LAND", - "BOR", - "BXOR", - "NOT_EQUAL", - "EQUAL", - "LE", - "GE", - "\"instanceof\"", - "SL", - "PLUS", - "MINUS", - "DIV", - "MOD", - "INC", - "DEC", - "BNOT", - "LNOT", - "\"true\"", - "\"false\"", - "\"null\"", - "\"new\"", - "NUM_INT", - "CHAR_LITERAL", - "STRING_LITERAL", - "NUM_FLOAT", - "NUM_LONG", - "NUM_DOUBLE", - "WS", - "SL_COMMENT", - "ML_COMMENT", - "ESC", - "HEX_DIGIT", - "VOCAB", - "EXPONENT", - "FLOAT_SUFFIX", - "CONSTRUCTOR_CAST", - "EMPTY_FIELD", - "WEBCOLOR_LITERAL", - "\"color\"" - }; - - protected void buildTokenTypeASTClassMap() { - tokenTypeToASTClassMap=null; - }; - - private static final long[] mk_tokenSet_0() { - long[] data = { -9223368188564078590L, 1728555784935031570L, 844699794407424L, 0L, 0L, 0L}; - return data; - } - public static final BitSet _tokenSet_0 = new BitSet(mk_tokenSet_0()); - private static final long[] mk_tokenSet_1() { - long[] data = { -9223368188564078590L, -7494673143601038474L, 844699808038911L, 0L, 0L, 0L}; - return data; - } - public static final BitSet _tokenSet_1 = new BitSet(mk_tokenSet_1()); - private static final long[] mk_tokenSet_2() { - long[] data = { -9223368188564078592L, 2001446355474L, 562949953421312L, 0L, 0L, 0L}; - return data; - } - public static final BitSet _tokenSet_2 = new BitSet(mk_tokenSet_2()); - private static final long[] mk_tokenSet_3() { - long[] data = { -9223368188564078590L, 1728557571641426742L, 844699794407424L, 0L, 0L, 0L}; - return data; - } - public static final BitSet _tokenSet_3 = new BitSet(mk_tokenSet_3()); - private static final long[] mk_tokenSet_4() { - long[] data = { -9223368188564078592L, 1728555784935031570L, 844699794407424L, 0L, 0L, 0L}; - return data; - } - public static final BitSet _tokenSet_4 = new BitSet(mk_tokenSet_4()); - private static final long[] mk_tokenSet_5() { - long[] data = { -9223368188564078590L, 1932718505987L, 0L, 0L}; - return data; - } - public static final BitSet _tokenSet_5 = new BitSet(mk_tokenSet_5()); - private static final long[] mk_tokenSet_6() { - long[] data = { -9223368188564078590L, 1932718506002L, 0L, 0L}; - return data; - } - public static final BitSet _tokenSet_6 = new BitSet(mk_tokenSet_6()); - private static final long[] mk_tokenSet_7() { - long[] data = { -9223368188564078592L, 1932718505986L, 0L, 0L}; - return data; - } - public static final BitSet _tokenSet_7 = new BitSet(mk_tokenSet_7()); - private static final long[] mk_tokenSet_8() { - long[] data = { -9223368188564078590L, 2305584022677340946L, 844699794407424L, 0L, 0L, 0L}; - return data; - } - public static final BitSet _tokenSet_8 = new BitSet(mk_tokenSet_8()); - private static final long[] mk_tokenSet_9() { - long[] data = { -9223368188564078590L, -114366389159050L, 844699808038911L, 0L, 0L, 0L}; - return data; - } - public static final BitSet _tokenSet_9 = new BitSet(mk_tokenSet_9()); - private static final long[] mk_tokenSet_10() { - long[] data = { 3848290697216L, 8581529618L, 562949953421312L, 0L, 0L, 0L}; - return data; - } - public static final BitSet _tokenSet_10 = new BitSet(mk_tokenSet_10()); - private static final long[] mk_tokenSet_11() { - long[] data = { 3848290697216L, 8581530166L, 562949953421312L, 0L, 0L, 0L}; - return data; - } - public static final BitSet _tokenSet_11 = new BitSet(mk_tokenSet_11()); - private static final long[] mk_tokenSet_12() { - long[] data = { 0L, 17600784352016L, 844699794407424L, 0L, 0L, 0L}; - return data; - } - public static final BitSet _tokenSet_12 = new BitSet(mk_tokenSet_12()); - private static final long[] mk_tokenSet_13() { - long[] data = { -9223372036854775808L, -9223352202679026828L, 844699808038911L, 0L, 0L, 0L}; - return data; - } - public static final BitSet _tokenSet_13 = new BitSet(mk_tokenSet_13()); - private static final long[] mk_tokenSet_14() { - long[] data = { 3848290697216L, 283451064322L, 0L, 0L}; - return data; - } - public static final BitSet _tokenSet_14 = new BitSet(mk_tokenSet_14()); - private static final long[] mk_tokenSet_15() { - long[] data = { 3848290697216L, 283451064338L, 0L, 0L}; - return data; - } - public static final BitSet _tokenSet_15 = new BitSet(mk_tokenSet_15()); - private static final long[] mk_tokenSet_16() { - long[] data = { 0L, 8372304L, 562949953421312L, 0L, 0L, 0L}; - return data; - } - public static final BitSet _tokenSet_16 = new BitSet(mk_tokenSet_16()); - private static final long[] mk_tokenSet_17() { - long[] data = { -9223372036854775808L, -9223132077023560196L, 562949953486847L, 0L, 0L, 0L}; - return data; - } - public static final BitSet _tokenSet_17 = new BitSet(mk_tokenSet_17()); - private static final long[] mk_tokenSet_18() { - long[] data = { -4611682170136690686L, -6917564212013170690L, 844699808038911L, 0L, 0L, 0L}; - return data; - } - public static final BitSet _tokenSet_18 = new BitSet(mk_tokenSet_18()); - private static final long[] mk_tokenSet_19() { - long[] data = { 0L, 8864820886672L, 562949953421312L, 0L, 0L, 0L}; - return data; - } - public static final BitSet _tokenSet_19 = new BitSet(mk_tokenSet_19()); - private static final long[] mk_tokenSet_20() { - long[] data = { -9223368188564078592L, 10943568265910L, 562949953421312L, 0L, 0L, 0L}; - return data; - } - public static final BitSet _tokenSet_20 = new BitSet(mk_tokenSet_20()); - private static final long[] mk_tokenSet_21() { - long[] data = { -9223372036854775808L, -9223228911356199300L, 67108863L, 0L, 0L, 0L}; - return data; - } - public static final BitSet _tokenSet_21 = new BitSet(mk_tokenSet_21()); - private static final long[] mk_tokenSet_22() { - long[] data = { -4611682170136690686L, -6917643376850370690L, 844699808038911L, 0L, 0L, 0L}; - return data; - } - public static final BitSet _tokenSet_22 = new BitSet(mk_tokenSet_22()); - private static final long[] mk_tokenSet_23() { - long[] data = { 0L, 8372224L, 562949953421312L, 0L, 0L, 0L}; - return data; - } - public static final BitSet _tokenSet_23 = new BitSet(mk_tokenSet_23()); - private static final long[] mk_tokenSet_24() { - long[] data = { -9223372036854775808L, -9223228902766264708L, 67108863L, 0L, 0L, 0L}; - return data; - } - public static final BitSet _tokenSet_24 = new BitSet(mk_tokenSet_24()); - private static final long[] mk_tokenSet_25() { - long[] data = { 3848290697216L, 1932726878738L, 562949953421312L, 0L, 0L, 0L}; - return data; - } - public static final BitSet _tokenSet_25 = new BitSet(mk_tokenSet_25()); - private static final long[] mk_tokenSet_26() { - long[] data = { 3848290697216L, 1941316813366L, 562949953421312L, 0L, 0L, 0L}; - return data; - } - public static final BitSet _tokenSet_26 = new BitSet(mk_tokenSet_26()); - private static final long[] mk_tokenSet_27() { - long[] data = { 0L, 8372240L, 562949953421312L, 0L, 0L, 0L}; - return data; - } - public static final BitSet _tokenSet_27 = new BitSet(mk_tokenSet_27()); - private static final long[] mk_tokenSet_28() { - long[] data = { 0L, 564L, 0L, 0L}; - return data; - } - public static final BitSet _tokenSet_28 = new BitSet(mk_tokenSet_28()); - private static final long[] mk_tokenSet_29() { - long[] data = { -9223372036854775808L, 34359739412L, 0L, 0L}; - return data; - } - public static final BitSet _tokenSet_29 = new BitSet(mk_tokenSet_29()); - private static final long[] mk_tokenSet_30() { - long[] data = { -9223368188564078590L, 1932718505986L, 0L, 0L}; - return data; - } - public static final BitSet _tokenSet_30 = new BitSet(mk_tokenSet_30()); - private static final long[] mk_tokenSet_31() { - long[] data = { 3848290697216L, 4278190082L, 0L, 0L}; - return data; - } - public static final BitSet _tokenSet_31 = new BitSet(mk_tokenSet_31()); - private static final long[] mk_tokenSet_32() { - long[] data = { 0L, 17673798796048L, 844699794407424L, 0L, 0L, 0L}; - return data; - } - public static final BitSet _tokenSet_32 = new BitSet(mk_tokenSet_32()); - private static final long[] mk_tokenSet_33() { - long[] data = { 0L, 19958729800564L, 844699808037888L, 0L, 0L, 0L}; - return data; - } - public static final BitSet _tokenSet_33 = new BitSet(mk_tokenSet_33()); - private static final long[] mk_tokenSet_34() { - long[] data = { 0L, 17605079319312L, 844699794407424L, 0L, 0L, 0L}; - return data; - } - public static final BitSet _tokenSet_34 = new BitSet(mk_tokenSet_34()); - private static final long[] mk_tokenSet_35() { - long[] data = { 549755813888L, 4303339536L, 562949953421312L, 0L, 0L, 0L}; - return data; - } - public static final BitSet _tokenSet_35 = new BitSet(mk_tokenSet_35()); - private static final long[] mk_tokenSet_36() { - long[] data = { 0L, 4303340084L, 562949953421312L, 0L, 0L, 0L}; - return data; - } - public static final BitSet _tokenSet_36 = new BitSet(mk_tokenSet_36()); - private static final long[] mk_tokenSet_37() { - long[] data = { 0L, 70373047517748L, 562949953421312L, 0L, 0L, 0L}; - return data; - } - public static final BitSet _tokenSet_37 = new BitSet(mk_tokenSet_37()); - private static final long[] mk_tokenSet_38() { - long[] data = { 0L, 17592186045184L, 0L, 0L}; - return data; - } - public static final BitSet _tokenSet_38 = new BitSet(mk_tokenSet_38()); - private static final long[] mk_tokenSet_39() { - long[] data = { 0L, 8598306896L, 562949953421312L, 0L, 0L, 0L}; - return data; - } - public static final BitSet _tokenSet_39 = new BitSet(mk_tokenSet_39()); - private static final long[] mk_tokenSet_40() { - long[] data = { -9223368188564078592L, 1728555922373985042L, 844699794407424L, 0L, 0L, 0L}; - return data; - } - public static final BitSet _tokenSet_40 = new BitSet(mk_tokenSet_40()); - private static final long[] mk_tokenSet_41() { - long[] data = { -9223368188564078590L, -7494671494333596810L, 844699808038911L, 0L, 0L, 0L}; - return data; - } - public static final BitSet _tokenSet_41 = new BitSet(mk_tokenSet_41()); - private static final long[] mk_tokenSet_42() { - long[] data = { 0L, 17669503828752L, 844699794407424L, 0L, 0L, 0L}; - return data; - } - public static final BitSet _tokenSet_42 = new BitSet(mk_tokenSet_42()); - private static final long[] mk_tokenSet_43() { - long[] data = { -9223368188564078592L, 17609357509394L, 844699794407424L, 0L, 0L, 0L}; - return data; - } - public static final BitSet _tokenSet_43 = new BitSet(mk_tokenSet_43()); - private static final long[] mk_tokenSet_44() { - long[] data = { -9223368188564078592L, -9223352194105868426L, 844699808038911L, 0L, 0L, 0L}; - return data; - } - public static final BitSet _tokenSet_44 = new BitSet(mk_tokenSet_44()); - private static final long[] mk_tokenSet_45() { - long[] data = { 0L, 158338272707344L, 844699794407424L, 0L, 0L, 0L}; - return data; - } - public static final BitSet _tokenSet_45 = new BitSet(mk_tokenSet_45()); - private static final long[] mk_tokenSet_46() { - long[] data = { -9223372036854775808L, -9223352202679025804L, 844699808038911L, 0L, 0L, 0L}; - return data; - } - public static final BitSet _tokenSet_46 = new BitSet(mk_tokenSet_46()); - private static final long[] mk_tokenSet_47() { - long[] data = { 0L, 2560L, 196608L, 0L, 0L, 0L}; - return data; - } - public static final BitSet _tokenSet_47 = new BitSet(mk_tokenSet_47()); - private static final long[] mk_tokenSet_48() { - long[] data = { 0L, 12288L, 524288L, 0L, 0L, 0L}; - return data; - } - public static final BitSet _tokenSet_48 = new BitSet(mk_tokenSet_48()); - private static final long[] mk_tokenSet_49() { - long[] data = { 0L, 8388608L, 12582912L, 0L, 0L, 0L}; - return data; - } - public static final BitSet _tokenSet_49 = new BitSet(mk_tokenSet_49()); - private static final long[] mk_tokenSet_50() { - long[] data = { 0L, 17600784352016L, 844699539603456L, 0L, 0L, 0L}; - return data; - } - public static final BitSet _tokenSet_50 = new BitSet(mk_tokenSet_50()); - private static final long[] mk_tokenSet_51() { - long[] data = { -9223372036854775808L, -9223211310571847812L, 844699808038911L, 0L, 0L, 0L}; - return data; - } - public static final BitSet _tokenSet_51 = new BitSet(mk_tokenSet_51()); - private static final long[] mk_tokenSet_52() { - long[] data = { 0L, 784L, 0L, 0L}; - return data; - } - public static final BitSet _tokenSet_52 = new BitSet(mk_tokenSet_52()); - private static final long[] mk_tokenSet_53() { - long[] data = { 0L, 17600784352024L, 844699794407424L, 0L, 0L, 0L}; - return data; - } - public static final BitSet _tokenSet_53 = new BitSet(mk_tokenSet_53()); - - } diff --git a/Java/Processing/processing-3.3.6/modes/java/generated/processing/mode/java/preproc/PdeRecognizer.smap b/Java/Processing/processing-3.3.6/modes/java/generated/processing/mode/java/preproc/PdeRecognizer.smap deleted file mode 100644 index e3311f9..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/generated/processing/mode/java/preproc/PdeRecognizer.smap +++ /dev/null @@ -1,5720 +0,0 @@ -SMAP -PdeRecognizer.java -G -*S G -*F -+ 0 expandedpde.g -expandedpde.g -*L -1:3 -20:27 -21:28 -22:29 -23:30 -24:31 -25:32 -26:33 -27:34 -28:35 -30:37 -31:38 -32:39 -33:40 -34:41 -36:43 -37:44 -38:45 -39:46 -41:77 -41:79 -41:80 -41:81 -41:106 -41:131 -41:139 -41:140 -41:141 -41:142 -41:143 -41:144 -41:145 -43:83 -43:84 -43:85 -43:86 -43:87 -43:88 -43:90 -43:92 -43:93 -43:94 -43:95 -43:96 -43:97 -43:98 -43:99 -43:100 -43:101 -44:102 -44:103 -46:107 -46:108 -46:109 -46:110 -46:111 -46:112 -46:113 -46:115 -46:117 -46:118 -46:119 -46:120 -46:121 -46:122 -46:123 -46:124 -46:125 -46:126 -47:105 -47:127 -47:128 -49:132 -49:133 -49:134 -50:130 -50:135 -50:136 -53:138 -53:227 -53:229 -53:230 -53:231 -53:233 -53:234 -53:235 -53:236 -53:237 -56:171 -56:173 -56:174 -56:175 -56:178 -56:179 -56:180 -56:210 -56:214 -56:215 -56:216 -56:217 -56:219 -56:220 -56:221 -56:224 -56:225 -57:181 -57:182 -57:183 -57:184 -57:185 -57:186 -57:188 -57:189 -57:191 -57:192 -57:193 -57:194 -57:195 -57:196 -57:197 -57:198 -57:199 -57:200 -57:201 -57:202 -57:203 -57:204 -57:205 -57:206 -57:207 -57:208 -58:211 -58:212 -58:213 -59:222 -61:223 -62:147 -62:149 -62:150 -62:151 -62:153 -62:154 -62:155 -62:159 -62:160 -62:161 -62:162 -62:164 -62:165 -62:168 -62:169 -63:156 -63:157 -63:158 -64:166 -66:167 -67:736 -67:738 -67:739 -67:740 -67:742 -67:743 -67:744 -67:745 -67:746 -67:747 -67:748 -67:804 -67:805 -67:806 -67:807 -67:808 -67:809 -67:810 -68:752 -68:753 -68:754 -68:755 -68:756 -68:757 -69:749 -69:761 -69:762 -69:763 -69:764 -69:765 -69:766 -70:758 -70:770 -70:771 -70:772 -70:773 -70:774 -70:775 -71:767 -71:779 -71:780 -71:781 -71:782 -71:783 -71:784 -72:776 -72:788 -72:789 -72:790 -72:791 -72:792 -72:793 -73:785 -73:797 -73:798 -73:799 -73:800 -73:801 -74:794 -76:836 -76:838 -76:839 -76:840 -76:841 -76:899 -76:900 -77:843 -77:844 -78:846 -78:847 -78:848 -79:850 -79:851 -80:852 -80:853 -80:854 -80:865 -80:866 -80:867 -80:868 -80:870 -80:871 -81:855 -81:856 -81:857 -82:858 -83:859 -84:860 -85:862 -85:863 -85:864 -88:876 -88:878 -88:879 -88:880 -88:881 -91:873 -91:874 -91:875 -96:884 -96:885 -97:886 -98:887 -99:888 -101:890 -101:891 -101:892 -101:893 -101:895 -101:896 -102:898 -104:992 -104:994 -104:995 -104:996 -104:997 -104:1070 -104:1071 -105:999 -105:1000 -106:1002 -106:1003 -106:1004 -107:1006 -107:1007 -107:1008 -107:1009 -107:1010 -107:1011 -107:1012 -107:1013 -107:1014 -107:1015 -107:1016 -107:1017 -107:1018 -107:1020 -107:1021 -108:1023 -108:1024 -108:1025 -108:1026 -108:1027 -108:1028 -108:1029 -108:1049 -108:1050 -108:1051 -108:1052 -108:1053 -112:1055 -112:1056 -113:1057 -114:1058 -115:1059 -117:1061 -117:1062 -117:1063 -117:1064 -117:1066 -117:1067 -118:1069 -120:950 -120:952 -120:953 -120:954 -120:956 -120:957 -120:958 -120:959 -120:960 -120:961 -120:984 -120:985 -120:986 -120:987 -120:988 -120:989 -120:990 -121:966 -121:967 -121:968 -121:969 -121:970 -122:975 -122:976 -122:977 -122:978 -122:979 -123:963 -124:972 -125:812 -125:814 -125:815 -125:816 -125:817 -125:818 -125:820 -125:821 -125:822 -125:823 -125:833 -125:834 -125:981 -126:824 -126:825 -127:826 -128:827 -129:828 -130:829 -131:830 -134:832 -134:1111 -134:1113 -134:1114 -134:1115 -134:1117 -134:1118 -134:1119 -134:1120 -134:1121 -134:1122 -134:1123 -134:1124 -134:1199 -134:1200 -134:1201 -134:1202 -134:1203 -134:1204 -134:1205 -135:1127 -135:1128 -135:1129 -135:1130 -135:1131 -135:1132 -135:1133 -136:1136 -136:1137 -136:1138 -136:1139 -136:1140 -136:1141 -136:1142 -137:1145 -137:1146 -137:1147 -137:1148 -137:1149 -137:1150 -137:1151 -138:1154 -138:1155 -138:1156 -138:1157 -138:1158 -138:1159 -138:1160 -139:1163 -139:1164 -139:1165 -139:1166 -139:1167 -139:1168 -139:1169 -140:1172 -140:1173 -140:1174 -140:1175 -140:1176 -140:1177 -140:1178 -141:1181 -141:1182 -141:1183 -141:1184 -141:1185 -141:1186 -141:1187 -142:1190 -142:1191 -142:1192 -142:1193 -142:1194 -142:1195 -142:1196 -145:1207 -145:1209 -145:1210 -145:1211 -145:1213 -145:1214 -145:1215 -145:1216 -145:1217 -145:1218 -145:1219 -145:1220 -145:1221 -145:1222 -145:1223 -145:1224 -145:1225 -145:1226 -145:1240 -145:1241 -145:1242 -145:1243 -145:1244 -145:1245 -145:1246 -146:1229 -146:1230 -146:1231 -146:1232 -146:1233 -146:1234 -147:1235 -147:1236 -147:1237 -150:1248 -150:1250 -150:1251 -150:1252 -150:1253 -150:1256 -150:1257 -150:1279 -150:1280 -151:1258 -152:1254 -152:1259 -152:1260 -153:1261 -157:1262 -157:1263 -157:1264 -157:1265 -157:1266 -157:1267 -157:1268 -157:1269 -157:1270 -167:1271 -167:1272 -167:1273 -167:1274 -167:1276 -167:1277 -170:1282 -170:1283 -170:1284 -170:1286 -170:1287 -170:1288 -170:1290 -170:1291 -170:1292 -170:1293 -170:1294 -174:1316 -174:1317 -174:1318 -174:1320 -174:1321 -174:1322 -174:1324 -174:1325 -174:1339 -174:1340 -175:1326 -175:1327 -175:1333 -175:1335 -175:1336 -176:1329 -176:1338 -177:1330 -178:1331 -183:1342 -183:1344 -183:1345 -183:1346 -183:1347 -183:1348 -183:1352 -183:1353 -183:1354 -183:1355 -183:1356 -183:1357 -183:1370 -183:1371 -184:1349 -184:1350 -184:1359 -184:1360 -184:1361 -184:1362 -184:1363 -184:1364 -185:1366 -185:1367 -186:1368 -188:1369 -189:1440 -189:1442 -189:1443 -189:1444 -189:1448 -189:1549 -189:1550 -189:1551 -189:1552 -189:1553 -189:1554 -189:1555 -189:1557 -189:1558 -189:1560 -189:1561 -189:1562 -189:1563 -189:1564 -189:1565 -189:1566 -189:1567 -189:1568 -189:1569 -189:1573 -189:1578 -189:1610 -189:1611 -189:1612 -189:1613 -189:1614 -189:1615 -189:1616 -190:1570 -190:1571 -190:1572 -191:1449 -191:1450 -191:1451 -191:1452 -191:1453 -191:1455 -191:1456 -191:1457 -191:1458 -191:1459 -191:1460 -191:1461 -191:1462 -191:1463 -191:1464 -191:1466 -191:1467 -191:1468 -191:1469 -192:1472 -192:1475 -192:1476 -192:1477 -192:1478 -192:1479 -192:1480 -192:1481 -192:1482 -192:1483 -192:1484 -192:1485 -193:1488 -193:1489 -193:1490 -193:1491 -193:1492 -193:1493 -193:1494 -194:1497 -194:1498 -194:1499 -194:1500 -194:1501 -194:1502 -194:1503 -195:1506 -195:1507 -195:1508 -195:1509 -195:1510 -195:1511 -195:1512 -196:1515 -196:1516 -196:1517 -196:1518 -196:1519 -197:1522 -197:1523 -197:1524 -197:1525 -197:1526 -197:1527 -197:1528 -198:1531 -198:1532 -198:1533 -198:1534 -198:1535 -198:1536 -198:1537 -199:1540 -199:1541 -199:1542 -199:1543 -199:1544 -199:1545 -200:1574 -200:1575 -200:1576 -200:1577 -201:1546 -202:1579 -202:1580 -202:1581 -203:1445 -203:1446 -203:1582 -203:1583 -203:1584 -203:1585 -203:1586 -203:1587 -203:1588 -203:1589 -203:1590 -203:1591 -203:1593 -203:1594 -203:1595 -203:1596 -203:1597 -203:1599 -203:1600 -204:1601 -204:1602 -204:1603 -204:1604 -204:1605 -204:1606 -204:1607 -204:1608 -204:1609 -207:2119 -207:2120 -207:2121 -207:2123 -207:2124 -207:2125 -207:2126 -207:2128 -207:2129 -207:2130 -207:2139 -207:2140 -208:2129 -209:2131 -209:2132 -209:2133 -209:2134 -209:2136 -209:2137 -213:2142 -213:2143 -213:2144 -213:2146 -213:2147 -213:2148 -213:2149 -213:2150 -213:2151 -213:2152 -213:2156 -213:2157 -213:2158 -213:2159 -213:2160 -213:2161 -213:2162 -213:2163 -213:2164 -213:2165 -213:2166 -213:2167 -213:2168 -213:2169 -213:2170 -213:2171 -213:2172 -213:2173 -213:2175 -213:2176 -213:2177 -213:2178 -213:2179 -213:2181 -213:2182 -213:2204 -213:2205 -213:2206 -213:2207 -213:2209 -213:2210 -213:2211 -213:2212 -213:2213 -213:2214 -214:2153 -214:2183 -214:2184 -214:2185 -214:2187 -214:2188 -214:2189 -214:2190 -214:2198 -214:2199 -214:2200 -214:2201 -214:2202 -217:2250 -217:2252 -217:2253 -217:2254 -217:2262 -217:2263 -217:2264 -217:2265 -217:2267 -217:2268 -217:2269 -217:2270 -217:2277 -217:2278 -217:2279 -217:2280 -217:2281 -217:2333 -217:2334 -217:2335 -217:2336 -217:2337 -217:2338 -217:2339 -218:2255 -218:2256 -218:2257 -218:2283 -218:2284 -218:2285 -218:2286 -218:2287 -218:2288 -218:2289 -218:2290 -218:2291 -218:2292 -218:2293 -218:2294 -218:2295 -218:2296 -219:2297 -219:2298 -219:2299 -219:2300 -219:2302 -219:2303 -221:2258 -221:2259 -221:2260 -221:2307 -221:2308 -221:2309 -221:2310 -221:2311 -221:2312 -221:2313 -221:2314 -221:2315 -221:2316 -221:2317 -221:2318 -221:2319 -221:2320 -221:2321 -221:2322 -222:2323 -222:2324 -222:2325 -222:2326 -222:2328 -222:2329 -227:2341 -227:2342 -227:2343 -227:2345 -227:2346 -227:2347 -227:2348 -227:2349 -227:2355 -227:2356 -227:2357 -227:2358 -227:2394 -227:2395 -229:2350 -229:2360 -229:2361 -229:2362 -229:2363 -229:2364 -229:2373 -229:2374 -229:2375 -229:2376 -229:2377 -231:2351 -231:2379 -231:2380 -233:2352 -233:2381 -233:2382 -235:2353 -235:2383 -235:2384 -236:2385 -236:2386 -236:2387 -236:2389 -236:2391 -236:2392 -237:2388 -241:305 -241:307 -241:308 -241:309 -241:313 -241:314 -241:315 -241:316 -241:317 -241:318 -241:319 -241:320 -241:321 -241:322 -241:323 -241:324 -241:325 -241:326 -241:327 -241:328 -241:329 -241:330 -241:331 -241:332 -241:333 -241:334 -241:335 -241:336 -241:337 -241:338 -241:339 -241:340 -241:341 -241:342 -241:343 -241:344 -241:345 -241:346 -241:361 -241:362 -241:363 -241:364 -241:365 -241:366 -241:367 -242:310 -242:311 -242:349 -242:350 -242:351 -242:352 -242:353 -242:354 -242:355 -242:356 -245:358 -246:239 -246:241 -246:242 -246:243 -246:302 -246:303 -247:246 -247:247 -247:248 -247:249 -247:250 -247:251 -247:253 -247:254 -247:256 -247:257 -247:258 -247:259 -247:260 -247:261 -247:262 -247:263 -247:264 -247:265 -247:266 -247:268 -247:269 -247:270 -247:271 -252:274 -252:275 -252:276 -252:277 -252:278 -252:279 -252:280 -252:281 -252:282 -252:283 -252:285 -252:286 -256:287 -256:288 -256:289 -256:290 -256:291 -256:292 -256:293 -256:294 -256:295 -256:296 -256:298 -256:299 -258:300 -260:301 -262:2818 -262:2820 -262:2821 -262:2822 -262:2826 -262:2840 -262:2841 -262:2842 -262:2843 -262:2844 -262:2845 -262:2846 -262:2847 -262:2848 -262:2849 -262:2850 -266:2823 -266:2824 -266:2827 -266:2828 -266:2829 -266:2830 -266:2831 -266:2832 -266:2833 -266:2834 -266:2836 -266:2837 -266:2838 -268:2839 -270:2852 -270:2854 -270:2855 -270:2856 -270:2859 -270:2861 -270:2893 -270:2894 -270:2895 -270:2896 -270:2897 -270:2898 -270:2899 -270:2900 -270:2901 -270:2902 -270:2903 -275:2857 -275:2858 -275:2862 -275:2863 -275:2864 -275:2865 -275:2866 -275:2867 -275:2870 -275:2871 -275:2872 -275:2873 -275:2874 -275:2875 -275:2883 -275:2884 -275:2885 -275:2886 -275:2887 -275:2889 -275:2890 -275:2891 -277:2892 -279:2905 -279:2907 -279:2908 -279:2909 -279:2912 -279:2913 -279:2944 -279:2945 -279:2946 -279:2947 -279:2948 -279:2949 -279:2950 -279:2951 -279:2952 -279:2953 -279:2954 -279:2955 -279:2956 -279:2957 -279:2958 -279:2959 -283:2910 -283:2914 -283:2915 -283:2916 -283:2917 -283:2918 -283:2919 -283:2920 -283:2921 -283:2922 -283:2923 -283:2924 -283:2925 -283:2926 -283:2927 -283:2928 -283:2929 -283:2930 -283:2931 -283:2932 -284:2933 -284:2934 -284:2935 -285:2938 -285:2939 -285:2940 -287:2941 -289:3086 -289:3087 -289:3088 -289:3090 -289:3091 -289:3092 -289:3094 -289:3095 -289:3096 -289:3097 -289:3098 -289:3099 -289:3123 -289:3124 -289:3125 -289:3126 -289:3127 -289:3128 -289:3129 -290:3102 -290:3103 -290:3104 -290:3105 -290:3106 -291:3109 -291:3110 -291:3111 -291:3112 -291:3113 -292:3116 -292:3117 -292:3118 -292:3119 -292:3120 -296:3238 -296:3240 -296:3241 -296:3242 -296:3243 -296:3244 -296:3245 -296:3247 -296:3248 -296:3249 -296:3250 -296:3251 -296:3252 -296:3261 -296:3262 -297:3253 -297:3254 -297:3255 -297:3256 -297:3258 -297:3259 -301:3264 -301:3265 -301:3266 -301:3268 -301:3269 -301:3270 -301:3272 -301:3273 -301:3274 -301:3275 -301:3276 -301:3277 -301:3296 -301:3297 -301:3298 -301:3299 -301:3300 -301:3301 -301:3302 -302:3280 -302:3281 -302:3282 -302:3283 -302:3284 -302:3285 -302:3286 -302:3287 -302:3288 -302:3289 -302:3290 -302:3291 -302:3292 -302:3293 -306:3304 -306:3305 -306:3306 -306:3308 -306:3309 -306:3310 -306:3314 -306:3315 -306:3348 -306:3349 -307:3316 -307:3317 -307:3318 -307:3328 -307:3329 -307:3330 -307:3331 -307:3333 -307:3334 -308:3311 -308:3312 -308:3319 -308:3320 -308:3321 -308:3322 -308:3323 -308:3324 -308:3325 -308:3327 -310:3335 -310:3336 -310:3342 -310:3344 -310:3345 -311:3338 -311:3347 -312:3339 -313:3340 -318:3398 -318:3399 -318:3400 -318:3402 -318:3403 -318:3404 -318:3406 -318:3407 -318:3408 -318:3409 -318:3411 -318:3412 -318:3413 -318:3414 -318:3415 -318:3470 -318:3471 -318:3472 -318:3473 -318:3474 -318:3574 -318:3575 -319:3476 -319:3477 -319:3478 -319:3554 -319:3555 -319:3556 -319:3557 -319:3559 -319:3560 -320:3479 -320:3480 -320:3481 -320:3482 -320:3483 -321:3484 -321:3485 -321:3486 -321:3487 -321:3489 -321:3490 -321:3491 -321:3492 -321:3493 -321:3548 -321:3549 -321:3550 -321:3551 -321:3552 -323:3561 -323:3562 -323:3568 -323:3570 -323:3571 -324:3564 -324:3573 -325:3565 -326:3566 -331:3577 -331:3579 -331:3580 -331:3581 -331:3583 -331:3584 -331:3585 -331:3586 -331:3587 -331:3588 -331:3607 -331:3608 -331:3609 -331:3610 -331:3611 -331:3612 -331:3613 -332:3591 -332:3592 -332:3593 -332:3594 -332:3595 -332:3596 -332:3597 -332:3598 -332:3599 -332:3600 -332:3601 -332:3602 -332:3603 -332:3604 -336:902 -336:904 -336:905 -336:906 -336:909 -336:910 -336:911 -336:912 -336:913 -336:914 -336:915 -336:916 -336:917 -336:918 -336:919 -336:920 -336:921 -336:922 -336:923 -336:932 -336:933 -336:934 -336:935 -336:936 -336:947 -336:948 -337:926 -337:927 -337:928 -337:929 -339:938 -339:939 -339:940 -339:941 -339:943 -339:944 -340:946 -343:3664 -343:3666 -343:3667 -343:3668 -343:3669 -343:3670 -343:3672 -343:3673 -343:3674 -343:3675 -343:3676 -343:3677 -343:3723 -343:3724 -344:3680 -344:3681 -344:3682 -344:3683 -344:3684 -344:3685 -344:3687 -344:3688 -344:3689 -344:3690 -344:3693 -344:3694 -344:3695 -344:3698 -344:3699 -344:3700 -344:3701 -344:3702 -344:3704 -344:3705 -344:3706 -344:3707 -344:3708 -344:3709 -344:3710 -344:3711 -344:3712 -344:3713 -344:3714 -344:3716 -344:3717 -344:3718 -344:3719 -345:3722 -348:3726 -348:3728 -348:3729 -348:3730 -348:3731 -348:3774 -348:3775 -349:3734 -349:3735 -349:3736 -349:3737 -349:3738 -349:3739 -349:3743 -349:3744 -349:3745 -349:3748 -349:3749 -349:3750 -349:3751 -349:3752 -349:3754 -349:3755 -350:3756 -350:3757 -350:3768 -350:3770 -350:3771 -351:3759 -351:3773 -352:3760 -353:3761 -354:3762 -355:3763 -356:3764 -357:3765 -358:3766 -363:3615 -363:3616 -363:3617 -363:3619 -363:3620 -363:3621 -363:3625 -363:3626 -363:3661 -363:3662 -364:3628 -364:3629 -364:3630 -364:3640 -364:3641 -364:3642 -364:3643 -364:3645 -364:3646 -364:3647 -365:3622 -365:3623 -365:3631 -365:3632 -365:3633 -365:3634 -365:3635 -365:3636 -365:3637 -365:3639 -368:3648 -368:3649 -368:3655 -368:3657 -368:3658 -369:3651 -369:3660 -370:3652 -371:3653 -376:3351 -376:3352 -376:3353 -376:3355 -376:3356 -376:3357 -376:3361 -376:3362 -376:3395 -376:3396 -377:3363 -377:3364 -377:3365 -377:3375 -377:3376 -377:3377 -377:3378 -377:3380 -377:3381 -378:3358 -378:3359 -378:3366 -378:3367 -378:3368 -378:3369 -378:3370 -378:3371 -378:3372 -378:3374 -380:3382 -380:3383 -380:3389 -380:3391 -380:3392 -381:3385 -381:3394 -382:3386 -383:3387 -388:3777 -388:3779 -388:3780 -388:3781 -388:3783 -388:3784 -388:3785 -388:3786 -388:3787 -388:3788 -388:3807 -388:3808 -388:3809 -388:3810 -388:3811 -388:3812 -388:3813 -389:3791 -389:3792 -389:3793 -389:3794 -389:3795 -389:3796 -389:3797 -389:3798 -389:3799 -389:3800 -389:3801 -389:3802 -389:3803 -389:3804 -393:2961 -393:2963 -393:2964 -393:2965 -393:2967 -393:2968 -393:2969 -393:2970 -393:2971 -393:2972 -393:2973 -393:2974 -393:2975 -393:2976 -393:2977 -393:2978 -393:2979 -393:2980 -393:2981 -393:2982 -393:2983 -393:2984 -393:2985 -393:2986 -393:2988 -393:2989 -393:2990 -393:2991 -393:2992 -397:2994 -397:2996 -397:2997 -397:2998 -397:3000 -397:3001 -397:3002 -397:3003 -397:3048 -397:3049 -398:3004 -398:3005 -398:3006 -398:3007 -398:3008 -398:3009 -398:3010 -398:3011 -398:3012 -398:3013 -398:3014 -398:3015 -398:3016 -398:3017 -398:3018 -398:3019 -398:3021 -398:3022 -399:3024 -399:3025 -399:3026 -399:3027 -399:3028 -399:3029 -399:3030 -399:3031 -399:3032 -399:3033 -399:3034 -399:3041 -399:3042 -399:3043 -399:3044 -399:3045 -400:3047 -403:3051 -403:3053 -403:3054 -403:3055 -403:3057 -403:3058 -403:3059 -403:3063 -403:3067 -403:3068 -403:3069 -403:3070 -403:3072 -403:3073 -403:3083 -403:3084 -407:3060 -407:3061 -407:3062 -411:3064 -411:3065 -411:3066 -414:3074 -414:3075 -414:3076 -414:3077 -414:3079 -414:3080 -415:3082 -418:3815 -418:3817 -418:3818 -418:3819 -418:3821 -418:3822 -418:3823 -418:3824 -418:3825 -418:3826 -418:3827 -418:3828 -418:3930 -418:3931 -418:3932 -418:3933 -418:3934 -418:3935 -418:3936 -419:3831 -419:3832 -419:3833 -419:3834 -419:3835 -419:3836 -419:3837 -420:3840 -420:3841 -420:3842 -420:3843 -420:3844 -420:3845 -420:3846 -421:3849 -421:3850 -421:3851 -421:3852 -421:3853 -421:3854 -421:3855 -422:3858 -422:3859 -422:3860 -422:3861 -422:3862 -422:3863 -422:3864 -423:3867 -423:3868 -423:3869 -423:3870 -423:3871 -423:3872 -423:3873 -424:3876 -424:3877 -424:3878 -424:3879 -424:3880 -424:3881 -424:3882 -425:3885 -425:3886 -425:3887 -425:3888 -425:3889 -425:3890 -425:3891 -426:3894 -426:3895 -426:3896 -426:3897 -426:3898 -426:3899 -426:3900 -427:3903 -427:3904 -427:3905 -427:3906 -427:3907 -427:3908 -427:3909 -428:3912 -428:3913 -428:3914 -428:3915 -428:3916 -428:3917 -428:3918 -429:3921 -429:3922 -429:3923 -429:3924 -429:3925 -429:3926 -429:3927 -433:3938 -433:3940 -433:3941 -433:3942 -433:3943 -433:3944 -433:3946 -433:3947 -433:3948 -433:3950 -433:3951 -433:3952 -433:3953 -433:3955 -433:3956 -433:3957 -433:3958 -433:3959 -433:3960 -433:3961 -433:3962 -433:3963 -433:3964 -433:3965 -433:3966 -433:3967 -433:3968 -433:3969 -433:3970 -433:3971 -433:3972 -433:3973 -433:3974 -433:3975 -433:3976 -433:3977 -433:3978 -433:3979 -433:3980 -433:3981 -433:3982 -433:3983 -433:3984 -433:3985 -433:3986 -433:3987 -433:3988 -433:3989 -433:3990 -433:3991 -433:3992 -433:3999 -433:4000 -433:4001 -433:4002 -433:4003 -433:4005 -433:4044 -433:4045 -433:4046 -433:4047 -433:4048 -433:4058 -433:4059 -434:4050 -434:4051 -434:4052 -434:4053 -434:4055 -434:4056 -438:2787 -438:2789 -438:2790 -438:2791 -438:2793 -438:2794 -438:2795 -438:2796 -438:2797 -438:2798 -438:2799 -438:2800 -438:2801 -438:2802 -438:2804 -438:2805 -438:2815 -438:2816 -439:2806 -439:2807 -439:2808 -439:2809 -439:2811 -439:2812 -440:2814 -443:4061 -443:4063 -443:4064 -443:4065 -443:4067 -443:4068 -443:4069 -443:4070 -443:4071 -443:4072 -443:4073 -443:4074 -443:4075 -443:4076 -443:4077 -443:4078 -443:4079 -443:4081 -443:4082 -447:4151 -447:4153 -447:4154 -447:4155 -447:4157 -447:4158 -447:4159 -447:4160 -447:4161 -447:4162 -447:4163 -447:4164 -447:4165 -447:4166 -447:4167 -447:4168 -447:4169 -447:4171 -447:4172 -447:4173 -447:4174 -447:4175 -451:4177 -451:4179 -451:4180 -451:4181 -451:4182 -451:4183 -451:4184 -451:4186 -451:4187 -451:4188 -451:4189 -451:4190 -451:4191 -451:4200 -451:4201 -452:4192 -452:4193 -452:4194 -452:4195 -452:4197 -452:4198 -456:4084 -456:4086 -456:4087 -456:4088 -456:4090 -456:4091 -456:4092 -456:4093 -456:4094 -456:4095 -456:4096 -456:4097 -456:4098 -456:4099 -456:4100 -456:4101 -456:4102 -456:4103 -456:4104 -456:4105 -456:4106 -456:4107 -456:4108 -456:4109 -456:4110 -456:4111 -456:4112 -456:4113 -456:4114 -456:4115 -456:4116 -456:4117 -456:4118 -456:4119 -456:4120 -456:4121 -456:4122 -456:4123 -456:4124 -456:4125 -456:4126 -456:4129 -456:4130 -456:4131 -456:4132 -456:4133 -456:4136 -456:4137 -456:4138 -456:4139 -456:4140 -456:4143 -456:4144 -456:4145 -456:4146 -456:4147 -456:4148 -456:4149 -460:4258 -460:4260 -460:4261 -460:4262 -460:4263 -460:4264 -460:4266 -460:4267 -460:4268 -460:4269 -460:4270 -460:4271 -460:4356 -460:4357 -461:4274 -461:4275 -461:4276 -461:4277 -461:4278 -461:4279 -461:4280 -461:4281 -461:4282 -461:4283 -461:4284 -461:4285 -461:4286 -461:4287 -461:4288 -461:4289 -461:4290 -461:4291 -461:4292 -461:4293 -461:4294 -461:4295 -461:4296 -461:4297 -461:4298 -461:4299 -461:4300 -461:4301 -461:4302 -461:4303 -461:4304 -461:4305 -461:4306 -461:4307 -461:4308 -461:4309 -461:4310 -461:4348 -461:4349 -461:4350 -461:4351 -461:4352 -462:4311 -462:4312 -462:4313 -462:4318 -462:4319 -462:4320 -462:4321 -462:4323 -462:4324 -471:4314 -471:4315 -471:4316 -471:4317 -473:4326 -473:4327 -473:4328 -473:4329 -473:4336 -473:4337 -473:4338 -473:4339 -473:4340 -475:4354 -477:4355 -479:4359 -479:4361 -479:4362 -479:4363 -479:4365 -479:4366 -479:4367 -479:4368 -479:4369 -479:4370 -479:4371 -479:4372 -479:4373 -479:4374 -479:4375 -479:4376 -479:4377 -479:4378 -479:4379 -479:4380 -479:4381 -479:4382 -479:4383 -479:4384 -479:4385 -479:4386 -479:4387 -479:4388 -479:4389 -479:4390 -479:4391 -479:4392 -479:4393 -479:4394 -479:4395 -479:4396 -479:4397 -479:4398 -479:4399 -479:4400 -479:4401 -479:4411 -479:4412 -479:4413 -479:4414 -479:4415 -479:4416 -479:4417 -480:4404 -480:4405 -480:4406 -480:4407 -480:4408 -484:2397 -484:2399 -484:2400 -484:2401 -484:2402 -484:2405 -484:2406 -484:2407 -484:2408 -484:2409 -484:2410 -484:2418 -484:2419 -484:2420 -484:2421 -484:2422 -484:2432 -484:2433 -485:2424 -485:2425 -485:2426 -485:2427 -485:2429 -485:2430 -489:3131 -489:3132 -489:3133 -489:3135 -489:3136 -489:3137 -489:3142 -489:3143 -489:3144 -489:3145 -489:3177 -489:3178 -491:3138 -491:3147 -491:3148 -491:3149 -491:3150 -491:3151 -491:3159 -491:3160 -491:3161 -491:3162 -491:3163 -493:3139 -493:3165 -493:3166 -495:3140 -495:3167 -495:3168 -496:3169 -496:3170 -496:3171 -496:3172 -496:3174 -496:3175 -501:3180 -501:3181 -501:3182 -501:3184 -501:3185 -501:3186 -501:3190 -501:3191 -501:3192 -501:3193 -501:3206 -501:3207 -503:3187 -503:3194 -503:3195 -505:3188 -505:3196 -505:3197 -506:3198 -506:3199 -506:3200 -506:3201 -506:3203 -506:3204 -511:3209 -511:3210 -511:3211 -511:3213 -511:3214 -511:3215 -511:3218 -511:3219 -511:3220 -511:3221 -511:3222 -511:3223 -511:3224 -511:3235 -511:3236 -513:3216 -513:3225 -513:3226 -514:3227 -514:3228 -514:3229 -514:3230 -514:3232 -514:3233 -519:1073 -519:1075 -519:1076 -519:1077 -519:1108 -519:1109 -520:1078 -520:1079 -520:1082 -520:1083 -520:1084 -520:1085 -520:1088 -520:1089 -520:1090 -520:1091 -520:1093 -520:1094 -520:1095 -520:1096 -521:1099 -521:1100 -521:1101 -521:1102 -521:1104 -521:1105 -522:1107 -525:4750 -525:4752 -525:4753 -525:4754 -525:4756 -525:4757 -525:4758 -525:4782 -525:4783 -526:4759 -526:4760 -526:4761 -526:4762 -526:4763 -526:4764 -526:4765 -526:4766 -526:4767 -526:4768 -526:4769 -526:4771 -526:4772 -527:4773 -527:4774 -527:4775 -527:4776 -527:4778 -527:4779 -528:4781 -531:2490 -531:2492 -531:2493 -531:2494 -531:2496 -531:2557 -531:2558 -532:2497 -532:2498 -532:2499 -532:2500 -532:2501 -532:2502 -532:2503 -532:2504 -532:2505 -532:2506 -532:2507 -532:2508 -532:2509 -532:2510 -532:2511 -532:2512 -532:2513 -532:2514 -532:2515 -532:2516 -532:2517 -532:2518 -532:2519 -532:2520 -532:2521 -532:2522 -532:2523 -532:2524 -532:2525 -532:2526 -532:2527 -532:2528 -532:2529 -532:2530 -532:2531 -532:2532 -532:2535 -532:2536 -532:2537 -532:2540 -532:2541 -532:2542 -532:2543 -532:2544 -532:2545 -532:2546 -533:2547 -534:2548 -534:2549 -534:2550 -534:2551 -534:2553 -534:2554 -535:2556 -538:4474 -538:4476 -538:4477 -538:4478 -538:4480 -538:4540 -538:4541 -539:4481 -539:4482 -539:4483 -539:4484 -539:4485 -539:4486 -539:4487 -539:4488 -539:4489 -539:4490 -539:4491 -539:4492 -539:4493 -539:4494 -539:4495 -539:4496 -539:4497 -539:4498 -539:4499 -539:4500 -539:4501 -539:4502 -539:4503 -539:4504 -539:4505 -539:4506 -539:4507 -539:4508 -539:4509 -539:4510 -539:4511 -539:4512 -539:4513 -539:4514 -539:4515 -539:4518 -539:4519 -539:4520 -539:4523 -539:4524 -539:4525 -539:4526 -539:4527 -539:4528 -539:4529 -540:4530 -541:4531 -541:4532 -541:4533 -541:4534 -541:4536 -541:4537 -542:4539 -545:4682 -545:4684 -545:4685 -545:4686 -545:4688 -545:4747 -545:4748 -546:4689 -546:4690 -546:4691 -546:4692 -546:4693 -546:4694 -546:4695 -546:4696 -546:4697 -546:4698 -546:4699 -546:4700 -546:4701 -546:4702 -546:4703 -546:4704 -546:4705 -546:4706 -546:4707 -546:4708 -546:4709 -546:4710 -546:4711 -546:4712 -546:4713 -546:4714 -546:4715 -546:4716 -546:4717 -546:4718 -546:4719 -546:4720 -546:4721 -546:4722 -546:4725 -546:4726 -546:4727 -546:4730 -546:4731 -546:4732 -546:4733 -546:4734 -546:4735 -546:4736 -547:4737 -548:4738 -548:4739 -548:4740 -548:4741 -548:4743 -548:4744 -549:4746 -552:4543 -552:4545 -552:4546 -552:4547 -552:4549 -552:4679 -552:4680 -553:4551 -553:4552 -553:4553 -553:4554 -553:4555 -553:4556 -553:4557 -553:4558 -553:4559 -553:4560 -553:4561 -553:4562 -553:4563 -553:4564 -553:4565 -553:4566 -553:4567 -553:4569 -553:4570 -553:4572 -553:4573 -553:4574 -553:4575 -553:4583 -553:4584 -553:4585 -553:4586 -553:4587 -553:4596 -553:4597 -553:4598 -553:4599 -553:4600 -554:4603 -554:4604 -554:4605 -554:4606 -554:4607 -554:4608 -554:4609 -554:4610 -554:4611 -554:4612 -554:4613 -554:4614 -554:4615 -554:4616 -554:4617 -554:4618 -554:4619 -554:4620 -554:4621 -554:4622 -554:4623 -554:4624 -554:4625 -554:4626 -554:4627 -554:4628 -554:4629 -554:4630 -554:4631 -554:4632 -554:4633 -554:4634 -554:4635 -554:4636 -554:4637 -554:4638 -554:4639 -554:4640 -554:4641 -554:4642 -554:4645 -554:4646 -554:4647 -554:4650 -554:4651 -554:4652 -554:4653 -554:4654 -554:4655 -554:4656 -554:4663 -554:4664 -554:4665 -554:4666 -554:4667 -555:4669 -556:4670 -556:4671 -556:4672 -556:4673 -556:4675 -556:4676 -557:4678 -560:4935 -560:4937 -560:4938 -560:4939 -560:4940 -560:4949 -560:4950 -560:5053 -560:5054 -561:4941 -561:4952 -561:4953 -561:4954 -561:4955 -561:4956 -561:4957 -561:4958 -561:4959 -561:5047 -561:5048 -561:5049 -561:5050 -561:5051 -562:4960 -562:4961 -562:4962 -562:4963 -562:4965 -562:4966 -563:4942 -563:4970 -563:4971 -563:4972 -563:4973 -563:4974 -563:4975 -563:4976 -563:4977 -563:4978 -563:4979 -563:4980 -563:4981 -563:4982 -563:4983 -564:4943 -564:4944 -564:4985 -564:4986 -564:4987 -564:4988 -564:5024 -564:5039 -564:5040 -564:5041 -564:5042 -566:4989 -566:4990 -568:4945 -568:4991 -568:4992 -570:4946 -570:4994 -570:4995 -570:4996 -570:4997 -570:4998 -570:4999 -570:5006 -570:5007 -570:5008 -570:5009 -570:5010 -572:5012 -572:5013 -572:5014 -574:5015 -574:5016 -574:5017 -574:5019 -574:5021 -574:5022 -575:5018 -580:4947 -580:5025 -580:5026 -580:5027 -580:5028 -580:5029 -580:5030 -581:5031 -581:5032 -581:5033 -581:5034 -581:5036 -581:5037 -587:5056 -587:5058 -587:5059 -587:5060 -587:5061 -587:5067 -587:5068 -587:5123 -587:5124 -588:5062 -588:5063 -588:5069 -588:5070 -588:5071 -589:5073 -589:5074 -589:5075 -589:5076 -589:5089 -589:5090 -589:5091 -589:5092 -589:5093 -590:5064 -590:5077 -590:5078 -591:5079 -593:5065 -593:5096 -593:5097 -593:5098 -593:5099 -593:5100 -593:5109 -593:5110 -593:5111 -593:5112 -593:5113 -594:5115 -594:5116 -594:5117 -594:5118 -594:5120 -594:5121 -598:5167 -598:5169 -598:5170 -598:5171 -598:5173 -598:5234 -598:5235 -599:5174 -599:5175 -599:5176 -599:5177 -599:5178 -599:5179 -599:5180 -599:5181 -599:5182 -599:5183 -599:5184 -599:5185 -599:5186 -599:5187 -599:5188 -599:5189 -599:5190 -599:5191 -599:5192 -599:5193 -599:5194 -599:5195 -599:5196 -599:5197 -599:5198 -599:5199 -599:5200 -599:5201 -599:5202 -599:5203 -599:5204 -599:5205 -599:5206 -599:5207 -599:5208 -599:5209 -599:5212 -599:5213 -599:5214 -599:5217 -599:5218 -599:5219 -599:5220 -599:5221 -599:5222 -599:5223 -600:5224 -601:5225 -601:5226 -601:5227 -601:5228 -601:5230 -601:5231 -602:5233 -605:5237 -605:5239 -605:5240 -605:5241 -605:5242 -605:5253 -605:5254 -605:5255 -605:5256 -605:5257 -605:5258 -605:5259 -605:5260 -605:5261 -605:5262 -605:5263 -605:5264 -605:5265 -605:5266 -605:5267 -605:5268 -605:5269 -605:5270 -605:5271 -605:5272 -605:5273 -605:5274 -605:5275 -605:5276 -605:5277 -605:5278 -605:5279 -605:5280 -605:5281 -605:5282 -605:5283 -605:5284 -605:5451 -605:5452 -605:5453 -605:5454 -605:5455 -605:5456 -605:5457 -606:5243 -606:5286 -606:5287 -606:5288 -606:5289 -606:5290 -606:5291 -606:5292 -606:5293 -606:5429 -606:5430 -606:5431 -606:5432 -606:5433 -607:5294 -607:5295 -607:5296 -607:5297 -607:5299 -607:5300 -612:5244 -612:5245 -612:5304 -612:5305 -612:5306 -612:5307 -612:5308 -612:5309 -612:5310 -612:5311 -612:5312 -612:5313 -612:5314 -612:5315 -612:5316 -612:5318 -612:5319 -612:5320 -612:5321 -612:5322 -612:5339 -612:5340 -612:5341 -612:5342 -612:5343 -612:5345 -612:5346 -613:5348 -613:5349 -613:5350 -613:5351 -613:5406 -613:5421 -613:5422 -613:5423 -613:5424 -616:5246 -616:5352 -616:5353 -616:5354 -616:5355 -618:5247 -618:5356 -618:5357 -622:5248 -622:5359 -622:5360 -622:5361 -622:5362 -622:5363 -622:5371 -622:5372 -622:5373 -622:5374 -622:5375 -624:5249 -624:5378 -624:5379 -624:5380 -624:5381 -624:5382 -624:5385 -624:5386 -624:5387 -624:5388 -624:5389 -624:5392 -624:5393 -624:5394 -624:5395 -624:5396 -625:5398 -625:5399 -625:5400 -625:5401 -625:5403 -625:5404 -633:5250 -633:5407 -633:5408 -633:5409 -633:5410 -633:5411 -633:5412 -634:5413 -634:5414 -634:5415 -634:5416 -634:5418 -634:5419 -639:5251 -639:5437 -639:5438 -639:5439 -639:5440 -640:5441 -640:5442 -640:5443 -640:5444 -640:5446 -640:5447 -644:4419 -644:4421 -644:4422 -644:4423 -644:4428 -644:4456 -644:4457 -644:4458 -644:4459 -644:4460 -644:4471 -644:4472 -645:4424 -645:4425 -645:4429 -645:4430 -645:4431 -645:4432 -645:4433 -646:4434 -646:4435 -646:4436 -646:4437 -646:4438 -646:4439 -646:4440 -646:4441 -646:4442 -646:4443 -646:4444 -646:4445 -646:4446 -646:4448 -646:4449 -648:4462 -648:4463 -648:4464 -648:4465 -648:4467 -648:4468 -649:4470 -653:2435 -653:2437 -653:2438 -653:2439 -653:2444 -653:2472 -653:2473 -653:2474 -653:2475 -653:2476 -653:2487 -653:2488 -654:2440 -654:2441 -654:2445 -654:2446 -654:2447 -654:2448 -654:2449 -654:2450 -654:2451 -654:2452 -654:2453 -654:2454 -654:2455 -654:2456 -654:2457 -654:2458 -654:2459 -654:2460 -654:2461 -654:2462 -654:2464 -654:2465 -656:2478 -656:2479 -656:2480 -656:2481 -656:2483 -656:2484 -657:2486 -661:2560 -661:2562 -661:2563 -661:2564 -661:2754 -661:2767 -661:2779 -661:2780 -661:2781 -661:2782 -661:2784 -661:2785 -662:2565 -662:2579 -662:2580 -662:2581 -663:2566 -663:2583 -663:2584 -663:2585 -663:2586 -663:2587 -663:2588 -663:2589 -663:2590 -663:2748 -663:2749 -663:2750 -663:2751 -663:2752 -664:2591 -664:2592 -664:2593 -664:2594 -664:2596 -664:2597 -666:2567 -666:2601 -666:2602 -666:2603 -666:2604 -666:2605 -666:2606 -666:2607 -666:2608 -666:2609 -666:2610 -666:2611 -666:2612 -666:2613 -666:2615 -666:2616 -666:2617 -666:2618 -666:2619 -666:2636 -666:2637 -666:2638 -666:2639 -666:2640 -667:2656 -667:2740 -667:2741 -667:2742 -667:2743 -668:2568 -668:2569 -668:2643 -668:2644 -668:2645 -668:2646 -668:2647 -669:2648 -669:2649 -669:2650 -669:2651 -669:2653 -669:2654 -674:2570 -674:2657 -674:2658 -674:2659 -675:2661 -675:2662 -675:2663 -675:2664 -675:2719 -675:2734 -675:2735 -675:2736 -675:2737 -678:2571 -678:2665 -678:2666 -678:2667 -678:2668 -680:2572 -680:2669 -680:2670 -684:2573 -684:2672 -684:2673 -684:2674 -684:2675 -684:2676 -684:2684 -684:2685 -684:2686 -684:2687 -684:2688 -686:2574 -686:2691 -686:2692 -686:2693 -686:2694 -686:2695 -686:2698 -686:2699 -686:2700 -686:2701 -686:2702 -686:2705 -686:2706 -686:2707 -686:2708 -686:2709 -687:2711 -687:2712 -687:2713 -687:2714 -687:2716 -687:2717 -695:2575 -695:2720 -695:2721 -695:2722 -695:2723 -695:2724 -695:2725 -696:2726 -696:2727 -696:2728 -696:2729 -696:2731 -696:2732 -702:2576 -702:2755 -702:2756 -702:2757 -702:2758 -703:2759 -703:2760 -703:2761 -703:2762 -703:2764 -703:2765 -706:2577 -706:2768 -706:2769 -706:2770 -707:2771 -707:2772 -707:2773 -707:2774 -707:2776 -707:2777 -711:4785 -711:4787 -711:4788 -711:4789 -711:4932 -711:4933 -712:4790 -712:4799 -712:4800 -713:4791 -713:4802 -713:4803 -713:4804 -713:4805 -713:4806 -713:4807 -713:4808 -713:4809 -713:4926 -713:4927 -713:4928 -713:4929 -713:4930 -714:4810 -714:4811 -714:4812 -714:4813 -714:4815 -714:4816 -716:4792 -716:4820 -716:4821 -716:4822 -716:4823 -716:4824 -716:4825 -716:4826 -716:4827 -716:4828 -716:4829 -716:4830 -716:4831 -716:4832 -716:4834 -716:4835 -716:4836 -716:4837 -716:4838 -716:4855 -716:4856 -716:4857 -716:4858 -716:4859 -721:4793 -721:4861 -721:4862 -722:4864 -722:4865 -722:4866 -722:4867 -722:4903 -722:4918 -722:4919 -722:4920 -722:4921 -725:4794 -725:4868 -725:4869 -725:4870 -725:4871 -727:4795 -727:4872 -727:4873 -731:4796 -731:4875 -731:4876 -731:4877 -731:4878 -731:4879 -731:4886 -731:4887 -731:4888 -731:4889 -731:4890 -733:4892 -733:4893 -733:4894 -735:4895 -735:4896 -735:4897 -735:4898 -735:4900 -735:4901 -742:4797 -742:4904 -742:4905 -742:4906 -742:4907 -742:4908 -742:4909 -743:4910 -743:4911 -743:4912 -743:4913 -743:4915 -743:4916 -749:5658 -749:5660 -749:5661 -749:5662 -749:5663 -749:5664 -749:5666 -749:5667 -749:5668 -749:5669 -749:5670 -749:5671 -749:5700 -749:5701 -750:5674 -750:5675 -750:5676 -750:5677 -750:5679 -750:5680 -750:5681 -750:5682 -751:5685 -751:5686 -751:5687 -751:5688 -751:5689 -751:5690 -751:5691 -751:5692 -751:5693 -751:5694 -751:5696 -751:5697 -752:5698 -754:5699 -756:5126 -756:5127 -756:5128 -756:5130 -756:5131 -756:5132 -756:5136 -756:5137 -756:5138 -756:5139 -756:5141 -756:5142 -756:5164 -756:5165 -757:5133 -757:5134 -757:5144 -757:5145 -757:5146 -757:5147 -757:5148 -757:5149 -757:5150 -757:5151 -757:5152 -757:5153 -757:5155 -757:5156 -757:5157 -757:5158 -757:5159 -757:5161 -757:5162 -757:5163 -761:2216 -761:2218 -761:2219 -761:2220 -761:2223 -761:2224 -761:2225 -761:2226 -761:2227 -761:2228 -761:2229 -761:2230 -761:2231 -761:2240 -761:2241 -761:2242 -761:2243 -761:2244 -761:2247 -761:2248 -762:2246 -765:5763 -765:5765 -765:5766 -765:5767 -765:5768 -765:5769 -765:5771 -765:5772 -765:5773 -765:5774 -765:5775 -765:5776 -765:5861 -765:5862 -766:5779 -766:5780 -766:5781 -766:5782 -766:5783 -766:5784 -766:5785 -766:5786 -766:5787 -766:5788 -766:5789 -766:5790 -766:5791 -766:5792 -766:5793 -766:5794 -766:5795 -766:5796 -766:5797 -766:5798 -766:5799 -766:5800 -766:5801 -766:5802 -766:5803 -766:5804 -766:5805 -766:5806 -766:5807 -766:5808 -766:5809 -766:5810 -766:5811 -766:5812 -766:5813 -766:5814 -766:5815 -766:5853 -766:5854 -766:5855 -766:5856 -766:5857 -767:5816 -767:5817 -767:5818 -767:5823 -767:5824 -767:5825 -767:5826 -767:5828 -767:5829 -776:5819 -776:5820 -776:5821 -776:5822 -778:5831 -778:5832 -778:5833 -778:5834 -778:5841 -778:5842 -778:5843 -778:5844 -778:5845 -780:5859 -782:5860 -784:5703 -784:5705 -784:5706 -784:5707 -784:5709 -784:5710 -784:5711 -784:5712 -784:5713 -784:5714 -784:5715 -784:5716 -784:5717 -784:5718 -784:5719 -784:5720 -784:5721 -784:5722 -784:5723 -784:5724 -784:5725 -784:5726 -784:5727 -784:5728 -784:5729 -784:5730 -784:5731 -784:5732 -784:5733 -784:5734 -784:5735 -784:5736 -784:5737 -784:5738 -784:5739 -784:5740 -784:5741 -784:5742 -784:5743 -784:5744 -784:5745 -784:5755 -784:5756 -784:5757 -784:5758 -784:5759 -784:5760 -784:5761 -785:5748 -785:5749 -785:5750 -785:5751 -785:5752 -789:5622 -789:5624 -789:5625 -789:5626 -789:5628 -789:5629 -789:5630 -789:5631 -789:5655 -789:5656 -792:5632 -792:5633 -792:5634 -792:5635 -795:5637 -795:5638 -795:5639 -795:5640 -795:5641 -795:5648 -795:5649 -795:5650 -795:5651 -795:5652 -796:5654 -799:5559 -799:5561 -799:5562 -799:5563 -799:5565 -799:5566 -799:5567 -799:5568 -799:5569 -799:5570 -799:5571 -799:5572 -799:5573 -799:5574 -799:5575 -799:5576 -799:5577 -799:5578 -799:5579 -799:5580 -799:5581 -799:5583 -799:5584 -799:5585 -799:5586 -799:5587 -803:5459 -803:5461 -803:5462 -803:5463 -803:5466 -803:5467 -803:5468 -803:5469 -803:5470 -803:5471 -803:5473 -803:5475 -803:5476 -803:5477 -803:5478 -803:5479 -803:5480 -803:5481 -803:5482 -803:5483 -803:5484 -803:5535 -803:5539 -803:5541 -803:5542 -803:5543 -803:5544 -803:5556 -803:5557 -804:5485 -804:5486 -804:5487 -804:5488 -804:5489 -804:5490 -804:5491 -804:5492 -804:5493 -804:5495 -804:5496 -804:5498 -804:5499 -804:5500 -804:5501 -804:5502 -804:5503 -804:5504 -804:5505 -804:5506 -804:5507 -804:5508 -804:5509 -804:5510 -804:5511 -804:5512 -804:5514 -804:5515 -805:5517 -805:5518 -805:5519 -805:5520 -805:5521 -805:5522 -805:5529 -805:5530 -805:5531 -805:5532 -805:5533 -807:5536 -807:5537 -807:5538 -809:5547 -809:5548 -809:5549 -809:5550 -809:5552 -809:5553 -810:5555 -814:5864 -814:5866 -814:5867 -814:5868 -814:5869 -814:5870 -814:5871 -814:5872 -814:5875 -814:5876 -814:5877 -814:5878 -814:5879 -814:5880 -814:5881 -814:5892 -814:5893 -815:5873 -815:5882 -815:5883 -816:5884 -816:5885 -816:5886 -816:5887 -816:5889 -816:5890 -821:5895 -821:5897 -821:5898 -821:5899 -821:5900 -821:5901 -821:5902 -821:5903 -821:5906 -821:5907 -821:5908 -821:5909 -821:5910 -821:5911 -821:5912 -821:5913 -821:5924 -821:5925 -822:5904 -822:5914 -822:5915 -823:5916 -823:5917 -823:5918 -823:5919 -823:5921 -823:5922 -828:5927 -828:5929 -828:5930 -828:5931 -828:5932 -828:5933 -828:5935 -828:5936 -828:5937 -828:5938 -828:5939 -828:5940 -828:5941 -828:5942 -828:5943 -828:5944 -828:5946 -828:5947 -828:5949 -828:5950 -828:5951 -828:5952 -828:5953 -828:5954 -828:5955 -828:5973 -828:5974 -828:5975 -828:5976 -828:5977 -828:5979 -828:5980 -828:5981 -828:5982 -828:5983 -828:5984 -828:5985 -828:5986 -828:5987 -828:5988 -828:5990 -828:5991 -828:6001 -828:6002 -829:5992 -829:5993 -829:5994 -829:5995 -829:5997 -829:5998 -830:6000 -833:5589 -833:5591 -833:5592 -833:5593 -833:5594 -833:5595 -833:5597 -833:5598 -833:5599 -833:5600 -833:5601 -833:5602 -833:5619 -833:5620 -835:5604 -835:5605 -835:5606 -835:5607 -835:5608 -835:5609 -835:5610 -835:5611 -835:5612 -835:5613 -835:5615 -835:5616 -836:5617 -838:5618 -840:369 -840:371 -840:372 -840:373 -840:380 -840:381 -840:382 -840:383 -840:384 -840:385 -840:664 -840:686 -840:692 -840:699 -840:715 -840:728 -840:729 -840:730 -840:731 -840:732 -840:733 -840:734 -846:665 -846:666 -846:667 -846:668 -846:669 -846:670 -846:672 -846:674 -846:675 -846:676 -846:677 -846:678 -846:679 -846:680 -846:681 -846:682 -846:683 -846:684 -848:685 -851:687 -851:688 -851:689 -851:690 -853:691 -855:374 -855:693 -855:694 -855:695 -855:696 -855:697 -855:698 -858:375 -858:376 -858:700 -858:701 -858:702 -858:703 -858:704 -858:705 -858:706 -858:707 -858:708 -858:709 -858:710 -858:712 -858:713 -858:714 -861:388 -861:389 -861:390 -861:391 -861:392 -861:393 -861:394 -861:395 -861:396 -861:397 -861:398 -861:399 -862:405 -862:407 -862:408 -862:409 -862:410 -863:413 -870:401 -870:402 -870:403 -870:404 -874:416 -874:417 -874:418 -874:419 -874:420 -877:423 -877:424 -877:425 -877:426 -877:427 -877:428 -877:429 -877:430 -877:431 -877:432 -877:433 -877:434 -877:435 -880:438 -880:439 -880:440 -880:441 -880:442 -880:443 -880:444 -880:445 -880:446 -880:447 -880:448 -880:449 -880:450 -880:451 -882:452 -883:455 -883:456 -883:457 -883:458 -883:459 -883:460 -883:462 -883:463 -883:464 -883:465 -883:466 -883:467 -883:468 -883:475 -883:476 -883:477 -883:478 -883:479 -883:481 -885:482 -886:485 -886:486 -886:487 -886:488 -886:489 -886:490 -886:492 -886:493 -886:494 -886:495 -886:496 -886:497 -886:498 -886:505 -886:506 -886:507 -886:508 -886:509 -886:511 -888:512 -889:515 -889:516 -889:517 -889:518 -889:519 -889:520 -889:522 -889:523 -889:524 -889:525 -889:526 -889:527 -889:528 -889:529 -889:530 -889:531 -889:532 -889:533 -889:534 -889:535 -889:536 -889:537 -889:538 -889:539 -889:540 -889:541 -889:542 -889:543 -889:544 -889:545 -889:546 -889:547 -889:548 -889:549 -889:550 -889:551 -889:552 -889:553 -889:554 -889:555 -889:556 -889:557 -889:564 -889:565 -889:566 -889:567 -889:568 -889:570 -891:571 -892:574 -892:575 -892:576 -892:577 -892:578 -892:579 -892:580 -892:581 -892:582 -892:583 -892:584 -893:585 -893:586 -893:587 -893:588 -893:589 -893:590 -893:591 -893:592 -893:593 -893:594 -893:596 -893:597 -894:598 -896:599 -897:602 -897:603 -897:604 -897:605 -897:606 -900:609 -900:610 -900:611 -900:612 -900:613 -900:614 -900:615 -900:616 -900:617 -902:618 -903:716 -903:717 -903:718 -903:719 -903:720 -903:721 -903:722 -903:723 -903:724 -903:725 -903:726 -903:727 -906:621 -906:622 -906:623 -906:624 -906:625 -906:626 -906:627 -906:628 -906:630 -906:631 -906:632 -906:633 -906:634 -906:635 -906:642 -906:643 -906:644 -906:645 -906:646 -906:648 -908:649 -909:377 -909:378 -909:652 -909:653 -909:654 -909:655 -909:656 -909:657 -909:658 -909:659 -912:661 -913:6004 -913:6006 -913:6007 -913:6008 -913:6009 -913:6010 -913:6012 -913:6013 -913:6014 -913:6015 -913:6052 -913:6053 -914:6016 -915:6018 -915:6019 -915:6020 -915:6021 -915:6022 -915:6023 -915:6025 -915:6026 -915:6028 -915:6029 -915:6030 -915:6031 -915:6032 -915:6033 -915:6034 -915:6035 -915:6036 -915:6037 -915:6038 -915:6042 -915:6043 -915:6044 -915:6045 -916:6039 -916:6040 -916:6041 -918:6048 -919:6049 -919:6050 -919:6051 -923:6250 -923:6252 -923:6253 -923:6254 -923:6256 -923:6257 -923:6258 -923:6265 -923:6266 -924:6259 -924:6260 -924:6261 -925:6262 -925:6263 -925:6264 -929:6268 -929:6270 -929:6271 -929:6272 -929:6273 -929:6275 -929:6276 -929:6277 -929:6278 -929:6279 -929:6280 -929:6290 -929:6291 -930:6281 -930:6282 -930:6283 -930:6284 -930:6286 -930:6287 -931:6289 -934:6055 -934:6057 -934:6058 -934:6059 -934:6062 -934:6063 -934:6064 -934:6068 -934:6069 -934:6070 -934:6071 -934:6073 -934:6074 -934:6075 -934:6087 -934:6088 -942:6065 -942:6066 -942:6067 -944:6076 -944:6077 -945:6078 -945:6079 -945:6080 -945:6081 -945:6083 -945:6084 -946:6086 -949:6427 -949:6429 -949:6430 -949:6431 -949:6434 -949:6435 -949:6436 -949:6437 -949:6438 -949:6439 -949:6440 -949:6441 -949:6442 -949:6445 -949:6446 -949:6447 -949:6448 -949:6449 -949:6450 -949:6453 -949:6454 -949:6455 -949:6456 -949:6457 -949:6459 -949:6461 -949:6462 -951:6460 -953:6464 -953:6466 -953:6467 -953:6468 -953:6470 -953:6471 -953:6472 -953:6473 -953:6474 -953:6475 -953:6476 -953:6477 -953:6478 -953:6479 -953:6481 -953:6482 -953:6492 -953:6493 -954:6483 -954:6484 -954:6485 -954:6486 -954:6488 -954:6489 -955:6491 -958:6200 -958:6202 -958:6203 -958:6204 -958:6207 -958:6208 -958:6209 -958:6210 -958:6211 -958:6212 -958:6214 -958:6216 -958:6217 -958:6218 -958:6219 -958:6220 -958:6221 -958:6222 -958:6223 -958:6224 -958:6225 -958:6226 -958:6230 -958:6232 -958:6233 -958:6234 -958:6235 -958:6247 -958:6248 -960:6227 -960:6228 -960:6229 -962:6238 -962:6239 -962:6240 -962:6241 -962:6243 -962:6244 -963:6246 -966:6293 -966:6295 -966:6296 -966:6297 -966:6300 -966:6301 -966:6302 -966:6303 -966:6304 -966:6305 -966:6306 -966:6307 -966:6308 -966:6309 -966:6310 -966:6311 -966:6312 -966:6313 -966:6314 -966:6315 -966:6316 -966:6317 -966:6318 -966:6319 -966:6320 -966:6321 -966:6322 -966:6323 -966:6324 -966:6325 -966:6326 -966:6327 -966:6328 -966:6329 -966:6330 -966:6331 -966:6332 -966:6333 -966:6334 -966:6335 -966:6342 -966:6343 -966:6344 -966:6345 -966:6346 -966:6357 -966:6358 -967:6348 -967:6349 -967:6350 -967:6351 -967:6353 -967:6354 -968:6356 -971:6360 -971:6362 -971:6363 -971:6364 -971:6367 -971:6368 -971:6369 -971:6370 -971:6371 -971:6372 -971:6373 -971:6374 -971:6375 -971:6376 -971:6377 -971:6378 -971:6379 -971:6380 -971:6381 -971:6382 -971:6383 -971:6384 -971:6385 -971:6386 -971:6387 -971:6388 -971:6389 -971:6390 -971:6391 -971:6392 -971:6393 -971:6394 -971:6395 -971:6396 -971:6397 -971:6398 -971:6399 -971:6400 -971:6401 -971:6402 -971:6409 -971:6410 -971:6411 -971:6412 -971:6413 -971:6424 -971:6425 -972:6415 -972:6416 -972:6417 -972:6418 -972:6420 -972:6421 -973:6423 -976:6090 -976:6092 -976:6093 -976:6094 -976:6096 -976:6097 -976:6098 -976:6099 -976:6100 -976:6101 -976:6197 -976:6198 -977:6102 -977:6103 -977:6104 -977:6105 -977:6106 -977:6107 -977:6108 -977:6109 -977:6110 -977:6111 -977:6113 -977:6114 -978:6116 -978:6117 -978:6118 -978:6119 -978:6120 -978:6190 -978:6191 -978:6192 -978:6193 -978:6194 -979:6196 -982:6549 -982:6551 -982:6552 -982:6553 -982:6555 -982:6556 -982:6557 -982:6558 -982:6559 -982:6560 -982:6561 -982:6562 -982:6563 -986:6529 -986:6531 -986:6532 -986:6533 -986:6535 -986:6536 -986:6537 -986:6538 -986:6539 -986:6540 -986:6541 -986:6542 -986:6543 -986:6544 -986:6545 -986:6546 -986:6547 -990:1296 -990:1298 -990:1299 -990:1300 -990:1302 -990:1303 -990:1313 -990:1314 -991:1304 -991:1305 -991:1306 -991:1307 -991:1309 -991:1310 -992:1312 -995:6495 -995:6497 -995:6498 -995:6499 -995:6501 -995:6502 -995:6503 -995:6504 -995:6505 -995:6506 -995:6507 -995:6508 -995:6509 -995:6510 -995:6511 -995:6512 -995:6513 -995:6515 -995:6516 -995:6526 -995:6527 -996:6517 -996:6518 -996:6519 -996:6520 -996:6522 -996:6523 -997:6525 -1000:1968 -1000:1970 -1000:1971 -1000:1972 -1000:1974 -1000:1975 -1000:2116 -1000:2117 -1001:1977 -1001:1978 -1001:1979 -1001:1980 -1001:1981 -1001:1982 -1001:1983 -1001:1984 -1001:1985 -1001:1986 -1001:1987 -1001:1988 -1001:1989 -1001:1990 -1001:1992 -1001:1993 -1001:1994 -1001:1995 -1001:1996 -1001:1997 -1001:1998 -1001:2089 -1001:2090 -1001:2091 -1001:2092 -1001:2093 -1001:2109 -1001:2110 -1001:2111 -1001:2112 -1001:2113 -1002:2001 -1002:2002 -1002:2003 -1002:2004 -1002:2005 -1002:2006 -1002:2115 -1003:2009 -1003:2010 -1003:2011 -1003:2012 -1003:2013 -1003:2014 -1004:2017 -1004:2018 -1004:2019 -1004:2020 -1004:2021 -1004:2022 -1005:2025 -1005:2026 -1005:2027 -1005:2028 -1005:2029 -1005:2030 -1006:2033 -1006:2034 -1006:2035 -1006:2036 -1006:2037 -1006:2038 -1007:2041 -1007:2042 -1007:2043 -1007:2044 -1007:2045 -1007:2046 -1008:2049 -1008:2050 -1008:2051 -1008:2052 -1008:2053 -1008:2054 -1009:2057 -1009:2058 -1009:2059 -1009:2060 -1009:2061 -1009:2062 -1010:2065 -1010:2066 -1010:2067 -1010:2068 -1010:2069 -1010:2070 -1011:2073 -1011:2074 -1011:2075 -1011:2076 -1011:2077 -1011:2078 -1012:2081 -1012:2082 -1012:2083 -1012:2084 -1012:2085 -1012:2086 -1014:2095 -1014:2096 -1019:4203 -1019:4205 -1019:4206 -1019:4207 -1019:4209 -1019:4210 -1019:4255 -1019:4256 -1020:4212 -1020:4213 -1020:4214 -1020:4215 -1020:4216 -1020:4217 -1020:4218 -1020:4219 -1020:4220 -1020:4221 -1020:4222 -1020:4223 -1020:4248 -1020:4249 -1020:4250 -1020:4251 -1020:4252 -1021:4254 -1024:6565 -1024:6567 -1024:6568 -1024:6569 -1024:6571 -1024:6572 -1024:6573 -1024:6574 -1024:6575 -1024:6576 -1024:6577 -1024:6578 -1024:6579 -1024:6580 -1024:6581 -1024:6582 -1024:6583 -1024:6584 -1024:6585 -1024:6586 -1024:6588 -1024:6589 -1024:6590 -1024:6591 -1024:6592 -1028:6594 -1028:6596 -1028:6597 -1028:6598 -1028:6600 -1028:6601 -1028:6602 -1028:6603 -1028:6604 -1028:6605 -1028:6606 -1028:6607 -1028:6608 -1028:6609 -1028:6610 -1028:6611 -1028:6612 -1028:6613 -1028:6614 -1028:6615 -1028:6617 -1028:6618 -1028:6619 -1028:6620 -1028:6621 -1032:6623 -1032:6625 -1032:6626 -1032:6627 -1032:6629 -1032:6630 -1032:6631 -1032:6632 -1032:6633 -1032:6634 -1032:6635 -1032:6636 -1032:6637 -1032:6638 -1032:6639 -1032:6640 -1032:6641 -1032:6642 -1032:6643 -1032:6644 -1032:6646 -1032:6647 -1032:6648 -1032:6649 -1032:6650 -1036:6652 -1036:6654 -1036:6655 -1036:6656 -1036:6658 -1036:6659 -1036:6660 -1036:6661 -1036:6662 -1036:6663 -1036:6664 -1036:6665 -1036:6666 -1036:6667 -1036:6668 -1036:6669 -1036:6670 -1036:6671 -1036:6672 -1036:6673 -1036:6675 -1036:6676 -1036:6677 -1036:6678 -1036:6679 -1040:6681 -1040:6683 -1040:6684 -1040:6685 -1040:6687 -1040:6688 -1040:6689 -1040:6690 -1040:6691 -1040:6692 -1040:6693 -1040:6694 -1040:6695 -1040:6696 -1040:6697 -1040:6698 -1040:6699 -1040:6700 -1040:6701 -1040:6702 -1040:6704 -1040:6705 -1040:6706 -1040:6707 -1040:6708 -1044:6710 -1044:6712 -1044:6713 -1044:6714 -1044:6716 -1044:6717 -1044:6718 -1044:6719 -1044:6720 -1044:6721 -1044:6723 -1044:6724 -1044:6725 -1044:6726 -1044:6727 -1044:6728 -1044:6729 -1044:6732 -1044:6733 -1044:6734 -1044:6735 -1044:6736 -1044:6737 -1044:6740 -1044:6741 -1044:6742 -1044:6743 -1044:6744 -1044:6746 -1044:6747 -1044:6748 -1044:6749 -1044:6750 -1044:6751 -1044:6753 -1044:6754 -1044:6755 -1044:6756 -1044:6757 -1048:6759 -1048:6761 -1048:6762 -1048:6763 -1048:6765 -1048:6766 -1048:6873 -1048:6874 -1049:6768 -1049:6769 -1049:6770 -1049:6771 -1049:6772 -1049:6773 -1049:6774 -1049:6775 -1049:6776 -1049:6777 -1049:6778 -1049:6779 -1049:6780 -1049:6781 -1049:6782 -1049:6783 -1049:6784 -1049:6785 -1049:6786 -1049:6787 -1049:6788 -1049:6789 -1049:6790 -1049:6791 -1049:6792 -1049:6793 -1049:6794 -1049:6795 -1049:6796 -1049:6797 -1049:6798 -1049:6799 -1049:6800 -1049:6801 -1049:6802 -1049:6803 -1049:6804 -1049:6806 -1049:6807 -1049:6808 -1049:6809 -1049:6810 -1049:6811 -1049:6812 -1049:6839 -1049:6840 -1049:6841 -1049:6842 -1049:6843 -1049:6847 -1049:6848 -1049:6849 -1049:6850 -1049:6852 -1049:6853 -1049:6866 -1049:6867 -1049:6868 -1049:6869 -1049:6870 -1050:6815 -1050:6816 -1050:6817 -1050:6818 -1050:6819 -1050:6820 -1050:6872 -1051:6823 -1051:6824 -1051:6825 -1051:6826 -1051:6827 -1051:6828 -1052:6831 -1052:6832 -1052:6833 -1052:6834 -1052:6835 -1052:6836 -1054:6845 -1054:6846 -1056:6856 -1056:6857 -1056:6858 -1056:6859 -1056:6860 -1056:6861 -1056:6862 -1056:6863 -1061:6876 -1061:6878 -1061:6879 -1061:6880 -1061:6882 -1061:6883 -1061:6884 -1061:6885 -1061:6886 -1061:6887 -1061:6889 -1061:6890 -1061:6891 -1061:6892 -1061:6893 -1061:6894 -1061:6895 -1061:6898 -1061:6899 -1061:6900 -1061:6901 -1061:6902 -1061:6903 -1061:6906 -1061:6907 -1061:6908 -1061:6909 -1061:6910 -1061:6911 -1061:6914 -1061:6915 -1061:6916 -1061:6917 -1061:6918 -1061:6920 -1061:6921 -1061:6922 -1061:6923 -1061:6924 -1061:6925 -1061:6927 -1061:6928 -1061:6929 -1061:6930 -1061:6931 -1065:6933 -1065:6935 -1065:6936 -1065:6937 -1065:6939 -1065:6940 -1065:6941 -1065:6942 -1065:6943 -1065:6944 -1065:6946 -1065:6947 -1065:6948 -1065:6949 -1065:6950 -1065:6951 -1065:6952 -1065:6955 -1065:6956 -1065:6957 -1065:6958 -1065:6959 -1065:6960 -1065:6963 -1065:6964 -1065:6965 -1065:6966 -1065:6967 -1065:6969 -1065:6970 -1065:6971 -1065:6972 -1065:6973 -1065:6974 -1065:6976 -1065:6977 -1065:6978 -1065:6979 -1065:6980 -1069:6982 -1069:6984 -1069:6985 -1069:6986 -1069:6988 -1069:6989 -1069:6990 -1069:6991 -1069:6992 -1069:6993 -1069:6995 -1069:6996 -1069:6997 -1069:6998 -1069:6999 -1069:7000 -1069:7001 -1069:7004 -1069:7005 -1069:7006 -1069:7007 -1069:7008 -1069:7009 -1069:7012 -1069:7013 -1069:7014 -1069:7015 -1069:7016 -1069:7017 -1069:7020 -1069:7021 -1069:7022 -1069:7023 -1069:7024 -1069:7026 -1069:7027 -1069:7028 -1069:7029 -1069:7030 -1069:7031 -1069:7033 -1069:7034 -1069:7035 -1069:7036 -1069:7037 -1073:7039 -1073:7041 -1073:7042 -1073:7043 -1073:7045 -1073:7046 -1073:7047 -1073:7048 -1073:7049 -1073:7050 -1073:7051 -1073:7052 -1073:7053 -1073:7054 -1073:7130 -1073:7131 -1073:7132 -1073:7133 -1073:7134 -1073:7135 -1073:7136 -1074:7057 -1074:7058 -1074:7059 -1074:7060 -1074:7061 -1074:7062 -1074:7063 -1074:7064 -1074:7065 -1075:7068 -1075:7069 -1075:7070 -1075:7071 -1075:7072 -1075:7073 -1075:7074 -1075:7075 -1075:7077 -1075:7078 -1075:7079 -1076:7082 -1076:7083 -1076:7084 -1076:7085 -1076:7086 -1076:7087 -1076:7088 -1076:7089 -1076:7091 -1076:7092 -1076:7093 -1077:7096 -1077:7097 -1077:7098 -1077:7099 -1077:7100 -1077:7101 -1077:7102 -1077:7103 -1077:7104 -1077:7105 -1077:7106 -1077:7107 -1077:7108 -1077:7109 -1077:7110 -1077:7111 -1077:7112 -1077:7113 -1077:7114 -1077:7115 -1077:7116 -1077:7117 -1077:7118 -1077:7119 -1077:7120 -1077:7121 -1077:7122 -1077:7123 -1077:7124 -1077:7125 -1077:7126 -1077:7127 -1081:7138 -1081:7140 -1081:7141 -1081:7142 -1081:7148 -1081:7149 -1081:7150 -1081:7151 -1081:7152 -1081:7153 -1081:7154 -1081:7155 -1081:7156 -1081:7157 -1081:7278 -1081:7279 -1081:7280 -1081:7281 -1081:7282 -1081:7283 -1081:7284 -1082:7160 -1082:7161 -1082:7162 -1082:7163 -1082:7164 -1082:7165 -1082:7166 -1082:7167 -1082:7168 -1083:7171 -1083:7172 -1083:7173 -1083:7174 -1083:7175 -1083:7176 -1083:7177 -1083:7178 -1083:7179 -1083:7180 -1083:7181 -1083:7182 -1083:7183 -1083:7184 -1083:7185 -1083:7186 -1083:7187 -1083:7188 -1083:7189 -1083:7190 -1083:7191 -1083:7192 -1083:7193 -1083:7194 -1083:7195 -1083:7196 -1083:7197 -1083:7231 -1083:7265 -1083:7269 -1083:7270 -1083:7271 -1083:7272 -1083:7273 -1084:7275 -1091:7199 -1091:7200 -1091:7201 -1091:7202 -1091:7203 -1091:7204 -1091:7206 -1091:7207 -1091:7208 -1091:7209 -1091:7211 -1091:7212 -1091:7213 -1091:7214 -1091:7215 -1091:7216 -1091:7217 -1091:7218 -1092:7143 -1092:7144 -1092:7219 -1092:7220 -1092:7221 -1092:7222 -1092:7223 -1092:7224 -1092:7226 -1092:7227 -1092:7228 -1093:7229 -1093:7230 -1098:7232 -1098:7233 -1098:7234 -1098:7235 -1098:7236 -1098:7237 -1098:7238 -1098:7240 -1098:7241 -1098:7242 -1098:7243 -1098:7245 -1098:7246 -1098:7247 -1098:7248 -1098:7249 -1098:7250 -1098:7251 -1098:7252 -1099:7145 -1099:7146 -1099:7253 -1099:7254 -1099:7255 -1099:7256 -1099:7257 -1099:7258 -1099:7260 -1099:7261 -1099:7262 -1100:7263 -1100:7264 -1102:7266 -1102:7267 -1102:7268 -1107:7286 -1107:7288 -1107:7289 -1107:7290 -1107:7304 -1107:7305 -1107:7658 -1107:7659 -1109:7306 -1109:7307 -1109:7308 -1109:7547 -1109:7557 -1109:7565 -1109:7577 -1109:7578 -1109:7579 -1109:7580 -1109:7582 -1109:7583 -1121:7309 -1121:7310 -1121:7311 -1121:7312 -1121:7313 -1121:7315 -1121:7316 -1121:7317 -1121:7318 -1121:7319 -1121:7327 -1121:7328 -1121:7329 -1121:7330 -1121:7331 -1122:7334 -1122:7335 -1122:7336 -1122:7337 -1122:7338 -1122:7339 -1122:7340 -1122:7541 -1122:7542 -1122:7543 -1122:7544 -1122:7545 -1123:7291 -1123:7292 -1123:7342 -1123:7343 -1123:7344 -1123:7345 -1123:7346 -1123:7347 -1123:7348 -1123:7349 -1123:7350 -1123:7404 -1123:7405 -1123:7406 -1123:7407 -1123:7408 -1124:7352 -1124:7353 -1125:7354 -1127:7412 -1127:7413 -1127:7414 -1127:7415 -1127:7416 -1127:7417 -1128:7419 -1128:7533 -1128:7534 -1128:7535 -1128:7536 -1128:7537 -1129:7293 -1129:7294 -1129:7420 -1129:7421 -1129:7422 -1129:7423 -1129:7424 -1129:7425 -1129:7426 -1129:7427 -1129:7428 -1130:7429 -1130:7430 -1131:7434 -1131:7435 -1131:7436 -1131:7437 -1131:7438 -1131:7439 -1131:7441 -1131:7442 -1131:7443 -1131:7444 -1131:7445 -1131:7452 -1131:7453 -1131:7454 -1131:7455 -1131:7456 -1131:7458 -1131:7459 -1131:7460 -1131:7461 -1132:7295 -1132:7296 -1132:7463 -1132:7464 -1132:7465 -1132:7466 -1132:7467 -1132:7468 -1132:7469 -1132:7470 -1132:7471 -1132:7525 -1132:7526 -1132:7527 -1132:7528 -1132:7529 -1133:7473 -1133:7474 -1134:7475 -1138:7548 -1138:7549 -1138:7550 -1138:7551 -1138:7552 -1138:7553 -1138:7554 -1138:7555 -1138:7556 -1139:7558 -1139:7559 -1139:7560 -1139:7561 -1139:7562 -1139:7563 -1139:7564 -1140:7297 -1140:7298 -1140:7566 -1140:7567 -1140:7568 -1140:7569 -1140:7570 -1140:7571 -1140:7572 -1140:7574 -1140:7575 -1140:7576 -1143:7585 -1143:7651 -1143:7652 -1143:7653 -1143:7654 -1143:7655 -1144:7657 -1145:7299 -1145:7300 -1145:7586 -1145:7587 -1145:7588 -1145:7589 -1145:7590 -1145:7591 -1145:7592 -1145:7593 -1146:7301 -1146:7302 -1146:7597 -1146:7598 -1146:7599 -1146:7600 -1146:7601 -1146:7602 -1146:7603 -1146:7604 -1151:1618 -1151:1620 -1151:1621 -1151:1622 -1151:1623 -1151:1631 -1151:1632 -1151:1633 -1151:1634 -1151:1635 -1151:1642 -1151:1643 -1151:1644 -1151:1645 -1151:1646 -1151:1777 -1151:1778 -1152:1648 -1152:1649 -1152:1650 -1152:1651 -1155:1652 -1155:1653 -1155:1654 -1155:1716 -1155:1718 -1155:1719 -1155:1720 -1155:1721 -1155:1723 -1155:1724 -1169:1655 -1169:1656 -1169:1657 -1169:1658 -1169:1659 -1169:1660 -1169:1662 -1169:1664 -1169:1665 -1169:1666 -1169:1667 -1169:1674 -1169:1675 -1169:1676 -1169:1677 -1169:1678 -1169:1680 -1169:1682 -1169:1683 -1169:1684 -1169:1685 -1169:1686 -1169:1687 -1169:1688 -1169:1689 -1170:1624 -1170:1690 -1170:1691 -1170:1692 -1170:1693 -1170:1695 -1170:1696 -1170:1697 -1170:1698 -1170:1699 -1170:1706 -1170:1707 -1170:1708 -1170:1709 -1170:1710 -1170:1712 -1170:1713 -1170:1714 -1170:1715 -1179:1745 -1179:1768 -1179:1770 -1179:1771 -1179:1772 -1179:1773 -1180:1776 -1187:1625 -1187:1626 -1187:1726 -1187:1728 -1187:1729 -1187:1730 -1187:1731 -1187:1732 -1187:1733 -1190:1735 -1190:1736 -1191:1738 -1191:1739 -1192:1741 -1192:1742 -1192:1743 -1194:1746 -1194:1748 -1194:1749 -1194:1750 -1194:1760 -1194:1761 -1194:1762 -1194:1763 -1194:1765 -1194:1766 -1194:1767 -1195:1627 -1195:1628 -1195:1751 -1195:1752 -1195:1753 -1195:1754 -1195:1755 -1195:1756 -1195:1757 -1195:1759 -1201:1780 -1201:1782 -1201:1783 -1201:1784 -1201:1786 -1201:1787 -1201:1788 -1201:1789 -1201:1791 -1201:1792 -1201:1793 -1201:1794 -1201:1795 -1201:1812 -1201:1813 -1201:1814 -1201:1815 -1201:1816 -1201:1818 -1201:1819 -1201:1965 -1201:1966 -1202:1821 -1202:1822 -1202:1823 -1202:1824 -1202:1825 -1202:1826 -1202:1827 -1202:1829 -1202:1830 -1202:1831 -1202:1832 -1202:1833 -1202:1883 -1202:1884 -1202:1885 -1202:1886 -1202:1887 -1202:1958 -1202:1959 -1202:1960 -1202:1961 -1202:1962 -1203:1964 -1212:1891 -1212:1892 -1212:1893 -1212:1894 -1212:1896 -1212:1897 -1212:1898 -1212:1899 -1212:1900 -1212:1950 -1212:1951 -1212:1952 -1212:1953 -1212:1954 -1217:1373 -1217:1375 -1217:1376 -1217:1377 -1217:1380 -1217:1381 -1217:1382 -1217:1383 -1217:1384 -1217:1385 -1217:1386 -1217:1387 -1217:1388 -1217:1389 -1217:1390 -1217:1391 -1217:1392 -1217:1393 -1217:1394 -1217:1395 -1217:1396 -1217:1397 -1217:1398 -1217:1399 -1217:1400 -1217:1401 -1217:1402 -1217:1403 -1217:1404 -1217:1405 -1217:1406 -1217:1407 -1217:1408 -1217:1409 -1217:1410 -1217:1411 -1217:1412 -1217:1413 -1217:1414 -1217:1415 -1217:1430 -1217:1431 -1217:1432 -1217:1433 -1217:1434 -1217:1437 -1217:1438 -1218:1436 -1219:1418 -1219:1419 -1219:1420 -1219:1421 -1219:1422 -1219:1423 -1219:1425 -1219:1426 -1224:7661 -1224:7663 -1224:7664 -1224:7665 -1224:7670 -1224:7671 -1224:7672 -1224:7731 -1224:7732 -1224:7733 -1224:7734 -1224:7736 -1224:7737 -1224:7738 -1224:7739 -1224:7740 -1224:7741 -1234:7666 -1234:7667 -1234:7673 -1234:7674 -1234:7675 -1234:7676 -1234:7677 -1234:7678 -1234:7679 -1235:7682 -1235:7683 -1235:7684 -1235:7685 -1235:7686 -1235:7687 -1235:7688 -1235:7689 -1235:7690 -1235:7691 -1235:7692 -1235:7693 -1235:7694 -1235:7695 -1235:7696 -1235:7697 -1235:7698 -1235:7699 -1235:7700 -1235:7701 -1235:7702 -1235:7703 -1235:7704 -1235:7705 -1235:7706 -1235:7707 -1235:7708 -1235:7709 -1235:7710 -1235:7711 -1235:7712 -1235:7713 -1235:7714 -1235:7715 -1235:7716 -1235:7717 -1235:7724 -1235:7725 -1235:7726 -1235:7727 -1235:7728 -1236:7730 -*E diff --git a/Java/Processing/processing-3.3.6/modes/java/generated/processing/mode/java/preproc/PdeTokenTypes.java b/Java/Processing/processing-3.3.6/modes/java/generated/processing/mode/java/preproc/PdeTokenTypes.java deleted file mode 100644 index 0f2aab9..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/generated/processing/mode/java/preproc/PdeTokenTypes.java +++ /dev/null @@ -1,182 +0,0 @@ -// $ANTLR 2.7.7 (2006-11-01): "expandedpde.g" -> "PdeRecognizer.java"$ - -package processing.mode.java.preproc; - -public interface PdeTokenTypes { - int EOF = 1; - int NULL_TREE_LOOKAHEAD = 3; - int BLOCK = 4; - int MODIFIERS = 5; - int OBJBLOCK = 6; - int SLIST = 7; - int CTOR_DEF = 8; - int METHOD_DEF = 9; - int VARIABLE_DEF = 10; - int INSTANCE_INIT = 11; - int STATIC_INIT = 12; - int TYPE = 13; - int CLASS_DEF = 14; - int INTERFACE_DEF = 15; - int PACKAGE_DEF = 16; - int ARRAY_DECLARATOR = 17; - int EXTENDS_CLAUSE = 18; - int IMPLEMENTS_CLAUSE = 19; - int PARAMETERS = 20; - int PARAMETER_DEF = 21; - int LABELED_STAT = 22; - int TYPECAST = 23; - int INDEX_OP = 24; - int POST_INC = 25; - int POST_DEC = 26; - int METHOD_CALL = 27; - int EXPR = 28; - int ARRAY_INIT = 29; - int IMPORT = 30; - int UNARY_MINUS = 31; - int UNARY_PLUS = 32; - int CASE_GROUP = 33; - int ELIST = 34; - int FOR_INIT = 35; - int FOR_CONDITION = 36; - int FOR_ITERATOR = 37; - int EMPTY_STAT = 38; - int FINAL = 39; - int ABSTRACT = 40; - int STRICTFP = 41; - int SUPER_CTOR_CALL = 42; - int CTOR_CALL = 43; - int VARIABLE_PARAMETER_DEF = 44; - int STATIC_IMPORT = 45; - int ENUM_DEF = 46; - int ENUM_CONSTANT_DEF = 47; - int FOR_EACH_CLAUSE = 48; - int ANNOTATION_DEF = 49; - int ANNOTATIONS = 50; - int ANNOTATION = 51; - int ANNOTATION_MEMBER_VALUE_PAIR = 52; - int ANNOTATION_FIELD_DEF = 53; - int ANNOTATION_ARRAY_INIT = 54; - int TYPE_ARGUMENTS = 55; - int TYPE_ARGUMENT = 56; - int TYPE_PARAMETERS = 57; - int TYPE_PARAMETER = 58; - int WILDCARD_TYPE = 59; - int TYPE_UPPER_BOUNDS = 60; - int TYPE_LOWER_BOUNDS = 61; - int LITERAL_package = 62; - int SEMI = 63; - int LITERAL_import = 64; - int LITERAL_static = 65; - int LBRACK = 66; - int RBRACK = 67; - int IDENT = 68; - int DOT = 69; - int QUESTION = 70; - int LITERAL_extends = 71; - int LITERAL_super = 72; - int LT = 73; - int COMMA = 74; - int GT = 75; - int SR = 76; - int BSR = 77; - int LITERAL_void = 78; - int LITERAL_boolean = 79; - int LITERAL_byte = 80; - int LITERAL_char = 81; - int LITERAL_short = 82; - int LITERAL_int = 83; - int LITERAL_float = 84; - int LITERAL_long = 85; - int LITERAL_double = 86; - int STAR = 87; - int LITERAL_private = 88; - int LITERAL_public = 89; - int LITERAL_protected = 90; - int LITERAL_transient = 91; - int LITERAL_native = 92; - int LITERAL_threadsafe = 93; - int LITERAL_synchronized = 94; - int LITERAL_volatile = 95; - int AT = 96; - int LPAREN = 97; - int RPAREN = 98; - int ASSIGN = 99; - int LCURLY = 100; - int RCURLY = 101; - int LITERAL_class = 102; - int LITERAL_interface = 103; - int LITERAL_enum = 104; - int BAND = 105; - int LITERAL_default = 106; - int LITERAL_implements = 107; - int LITERAL_this = 108; - int LITERAL_throws = 109; - int TRIPLE_DOT = 110; - int COLON = 111; - int LITERAL_if = 112; - int LITERAL_else = 113; - int LITERAL_while = 114; - int LITERAL_do = 115; - int LITERAL_break = 116; - int LITERAL_continue = 117; - int LITERAL_return = 118; - int LITERAL_switch = 119; - int LITERAL_throw = 120; - int LITERAL_assert = 121; - int LITERAL_for = 122; - int LITERAL_case = 123; - int LITERAL_try = 124; - int LITERAL_finally = 125; - int LITERAL_catch = 126; - int PLUS_ASSIGN = 127; - int MINUS_ASSIGN = 128; - int STAR_ASSIGN = 129; - int DIV_ASSIGN = 130; - int MOD_ASSIGN = 131; - int SR_ASSIGN = 132; - int BSR_ASSIGN = 133; - int SL_ASSIGN = 134; - int BAND_ASSIGN = 135; - int BXOR_ASSIGN = 136; - int BOR_ASSIGN = 137; - int LOR = 138; - int LAND = 139; - int BOR = 140; - int BXOR = 141; - int NOT_EQUAL = 142; - int EQUAL = 143; - int LE = 144; - int GE = 145; - int LITERAL_instanceof = 146; - int SL = 147; - int PLUS = 148; - int MINUS = 149; - int DIV = 150; - int MOD = 151; - int INC = 152; - int DEC = 153; - int BNOT = 154; - int LNOT = 155; - int LITERAL_true = 156; - int LITERAL_false = 157; - int LITERAL_null = 158; - int LITERAL_new = 159; - int NUM_INT = 160; - int CHAR_LITERAL = 161; - int STRING_LITERAL = 162; - int NUM_FLOAT = 163; - int NUM_LONG = 164; - int NUM_DOUBLE = 165; - int WS = 166; - int SL_COMMENT = 167; - int ML_COMMENT = 168; - int ESC = 169; - int HEX_DIGIT = 170; - int VOCAB = 171; - int EXPONENT = 172; - int FLOAT_SUFFIX = 173; - int CONSTRUCTOR_CAST = 174; - int EMPTY_FIELD = 175; - int WEBCOLOR_LITERAL = 176; - int LITERAL_color = 177; -} diff --git a/Java/Processing/processing-3.3.6/modes/java/generated/processing/mode/java/preproc/PdeTokenTypes.txt b/Java/Processing/processing-3.3.6/modes/java/generated/processing/mode/java/preproc/PdeTokenTypes.txt deleted file mode 100644 index dedff29..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/generated/processing/mode/java/preproc/PdeTokenTypes.txt +++ /dev/null @@ -1,176 +0,0 @@ -// $ANTLR 2.7.7 (2006-11-01): expandedpde.g -> PdeTokenTypes.txt$ -Pde // output token vocab name -BLOCK=4 -MODIFIERS=5 -OBJBLOCK=6 -SLIST=7 -CTOR_DEF=8 -METHOD_DEF=9 -VARIABLE_DEF=10 -INSTANCE_INIT=11 -STATIC_INIT=12 -TYPE=13 -CLASS_DEF=14 -INTERFACE_DEF=15 -PACKAGE_DEF=16 -ARRAY_DECLARATOR=17 -EXTENDS_CLAUSE=18 -IMPLEMENTS_CLAUSE=19 -PARAMETERS=20 -PARAMETER_DEF=21 -LABELED_STAT=22 -TYPECAST=23 -INDEX_OP=24 -POST_INC=25 -POST_DEC=26 -METHOD_CALL=27 -EXPR=28 -ARRAY_INIT=29 -IMPORT=30 -UNARY_MINUS=31 -UNARY_PLUS=32 -CASE_GROUP=33 -ELIST=34 -FOR_INIT=35 -FOR_CONDITION=36 -FOR_ITERATOR=37 -EMPTY_STAT=38 -FINAL="final"=39 -ABSTRACT="abstract"=40 -STRICTFP="strictfp"=41 -SUPER_CTOR_CALL=42 -CTOR_CALL=43 -VARIABLE_PARAMETER_DEF=44 -STATIC_IMPORT=45 -ENUM_DEF=46 -ENUM_CONSTANT_DEF=47 -FOR_EACH_CLAUSE=48 -ANNOTATION_DEF=49 -ANNOTATIONS=50 -ANNOTATION=51 -ANNOTATION_MEMBER_VALUE_PAIR=52 -ANNOTATION_FIELD_DEF=53 -ANNOTATION_ARRAY_INIT=54 -TYPE_ARGUMENTS=55 -TYPE_ARGUMENT=56 -TYPE_PARAMETERS=57 -TYPE_PARAMETER=58 -WILDCARD_TYPE=59 -TYPE_UPPER_BOUNDS=60 -TYPE_LOWER_BOUNDS=61 -LITERAL_package="package"=62 -SEMI=63 -LITERAL_import="import"=64 -LITERAL_static="static"=65 -LBRACK=66 -RBRACK=67 -IDENT=68 -DOT=69 -QUESTION=70 -LITERAL_extends="extends"=71 -LITERAL_super="super"=72 -LT=73 -COMMA=74 -GT=75 -SR=76 -BSR=77 -LITERAL_void="void"=78 -LITERAL_boolean="boolean"=79 -LITERAL_byte="byte"=80 -LITERAL_char="char"=81 -LITERAL_short="short"=82 -LITERAL_int="int"=83 -LITERAL_float="float"=84 -LITERAL_long="long"=85 -LITERAL_double="double"=86 -STAR=87 -LITERAL_private="private"=88 -LITERAL_public="public"=89 -LITERAL_protected="protected"=90 -LITERAL_transient="transient"=91 -LITERAL_native="native"=92 -LITERAL_threadsafe="threadsafe"=93 -LITERAL_synchronized="synchronized"=94 -LITERAL_volatile="volatile"=95 -AT=96 -LPAREN=97 -RPAREN=98 -ASSIGN=99 -LCURLY=100 -RCURLY=101 -LITERAL_class="class"=102 -LITERAL_interface="interface"=103 -LITERAL_enum="enum"=104 -BAND=105 -LITERAL_default="default"=106 -LITERAL_implements="implements"=107 -LITERAL_this="this"=108 -LITERAL_throws="throws"=109 -TRIPLE_DOT=110 -COLON=111 -LITERAL_if="if"=112 -LITERAL_else="else"=113 -LITERAL_while="while"=114 -LITERAL_do="do"=115 -LITERAL_break="break"=116 -LITERAL_continue="continue"=117 -LITERAL_return="return"=118 -LITERAL_switch="switch"=119 -LITERAL_throw="throw"=120 -LITERAL_assert="assert"=121 -LITERAL_for="for"=122 -LITERAL_case="case"=123 -LITERAL_try="try"=124 -LITERAL_finally="finally"=125 -LITERAL_catch="catch"=126 -PLUS_ASSIGN=127 -MINUS_ASSIGN=128 -STAR_ASSIGN=129 -DIV_ASSIGN=130 -MOD_ASSIGN=131 -SR_ASSIGN=132 -BSR_ASSIGN=133 -SL_ASSIGN=134 -BAND_ASSIGN=135 -BXOR_ASSIGN=136 -BOR_ASSIGN=137 -LOR=138 -LAND=139 -BOR=140 -BXOR=141 -NOT_EQUAL=142 -EQUAL=143 -LE=144 -GE=145 -LITERAL_instanceof="instanceof"=146 -SL=147 -PLUS=148 -MINUS=149 -DIV=150 -MOD=151 -INC=152 -DEC=153 -BNOT=154 -LNOT=155 -LITERAL_true="true"=156 -LITERAL_false="false"=157 -LITERAL_null="null"=158 -LITERAL_new="new"=159 -NUM_INT=160 -CHAR_LITERAL=161 -STRING_LITERAL=162 -NUM_FLOAT=163 -NUM_LONG=164 -NUM_DOUBLE=165 -WS=166 -SL_COMMENT=167 -ML_COMMENT=168 -ESC=169 -HEX_DIGIT=170 -VOCAB=171 -EXPONENT=172 -FLOAT_SUFFIX=173 -CONSTRUCTOR_CAST=174 -EMPTY_FIELD=175 -WEBCOLOR_LITERAL=176 -LITERAL_color="color"=177 diff --git a/Java/Processing/processing-3.3.6/modes/java/generated/processing/mode/java/preproc/expandedpde.g b/Java/Processing/processing-3.3.6/modes/java/generated/processing/mode/java/preproc/expandedpde.g deleted file mode 100644 index 0cc9874..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/generated/processing/mode/java/preproc/expandedpde.g +++ /dev/null @@ -1,1581 +0,0 @@ -header { -package processing.mode.java.preproc; -} -class PdeRecognizer extends Parser; - -options { - importVocab= Java; - exportVocab= PdePartial; - defaultErrorHandler= false; - k= 2; - codeGenMakeSwitchThreshold= 2; - codeGenBitsetTestThreshold= 3; - buildAST= true; -} - -tokens { - CONSTRUCTOR_CAST; EMPTY_FIELD; -} -{ - // this clause copied from java15.g! ANTLR does not copy this - // section from the super grammar. - /** - * Counts the number of LT seen in the typeArguments production. - * It is used in semantic predicates to ensure we have seen - * enough closing '>' characters; which actually may have been - * either GT, SR or BSR tokens. - */ - private int ltCounter = 0; - - private PdePreprocessor pp; - public PdeRecognizer(final PdePreprocessor pp, final TokenStream ts) { - this(ts); - this.pp = pp; - } - - private void mixed() throws RecognitionException, TokenStreamException { - throw new RecognitionException("It looks like you're mixing \"active\" and \"static\" modes.", - getFilename(), LT(1).getLine(), LT(1).getColumn()); - } -} -pdeProgram :// Some programs can be equally well interpreted as STATIC or ACTIVE; - // this forces the parser to prefer the STATIC interpretation. - (staticProgram) => staticProgram - { pp.setMode(PdePreprocessor.Mode.STATIC); } - - | (activeProgram) => activeProgram - { pp.setMode(PdePreprocessor.Mode.ACTIVE); } - - | staticProgram - { pp.setMode(PdePreprocessor.Mode.STATIC); } - ; - -javaProgram :compilationUnit - ; - -activeProgram :( - (IDENT LPAREN) => IDENT LPAREN { mixed(); } - | possiblyEmptyField - )+ EOF! - ; - -staticProgram :( - statement - )* EOF! - ; - -constant :NUM_INT - | CHAR_LITERAL - | STRING_LITERAL - | NUM_FLOAT - | NUM_LONG - | NUM_DOUBLE - | webcolor_literal - ; - -typeArguments {int currentLtLevel = 0;} -:{currentLtLevel = ltCounter;} - LT! {ltCounter++;} - typeArgument - (options{greedy=true;}: // match as many as possible - {if (! (inputState.guessing !=0 || ltCounter == currentLtLevel + 1)) { - throw new RecognitionException("Maybe too many > characters?", - getFilename(), LT(1).getLine(), LT(1).getColumn()); - }} - COMMA! typeArgument - )* - - ( // turn warning off since Antlr generates the right code, - // plus we have our semantic predicate below - options{generateAmbigWarnings=false;}: - typeArgumentsOrParametersEnd - )? - - // make sure we have gobbled up enough '>' characters - // if we are at the "top level" of nested typeArgument productions - {if (! ((currentLtLevel != 0) || ltCounter == currentLtLevel)) { - throw new RecognitionException("Maybe too many > characters?", - getFilename(), LT(1).getLine(), LT(1).getColumn()); - }} - - {#typeArguments = #(#[TYPE_ARGUMENTS, "TYPE_ARGUMENTS"], #typeArguments);} - ; - -typeParameters {int currentLtLevel = 0;} -:{currentLtLevel = ltCounter;} - LT! {ltCounter++;} - typeParameter (COMMA! typeParameter)* - (typeArgumentsOrParametersEnd)? - - // make sure we have gobbled up enough '>' characters - // if we are at the "top level" of nested typeArgument productions - {if (! ((currentLtLevel != 0) || ltCounter == currentLtLevel)) { - throw new RecognitionException("Maybe too many > characters?", - getFilename(), LT(1).getLine(), LT(1).getColumn()); - }} - - {#typeParameters = #(#[TYPE_PARAMETERS, "TYPE_PARAMETERS"], #typeParameters);} - ; - -protected typeArgumentsOrParametersEnd :GT! {ltCounter-=1;} - | SR! {ltCounter-=2;} - | BSR! {ltCounter-=3;} - ; - -webcolor_literal :w:WEBCOLOR_LITERAL - { if (! (processing.app.Preferences.getBoolean("preproc.web_colors") - && - w.getText().length() == 6)) { - throw new RecognitionException("Web colors must be exactly 6 hex digits. This looks like " + w.getText().length() + ".", - getFilename(), LT(1).getLine(), LT(1).getColumn()); - }} // must be exactly 6 hex digits - ; - -builtInConsCastType :"void" - | "boolean" - | "byte" - | "char" - | "short" - | "int" - | "float" - | "long" - | "double" - ; - -builtInType :builtInConsCastType - | "color" // aliased to an int in PDE - { processing.app.Preferences.getBoolean("preproc.color_datatype") }? - ; - -constructorCast! :t:consCastTypeSpec[true] - LPAREN! - e:expression - RPAREN! - // if this is a string literal, make sure the type we're trying to cast - // to is one of the supported ones - // - { (#e == null) || - ( (#e.getType() != STRING_LITERAL) || - ( #t.getType() == LITERAL_boolean || - #t.getType() == LITERAL_double || - #t.getType() == LITERAL_float || - #t.getType() == LITERAL_int || - #t.getType() == LITERAL_long || - #t.getType() == LITERAL_short )) }? - // create the node - // - {#constructorCast = #(#[CONSTRUCTOR_CAST,"CONSTRUCTOR_CAST"], t, e);} - ; - -consCastTypeSpec[boolean addImagNode] :builtInConsCastTypeSpec[addImagNode] -// trying to remove String() cast [fry] - ; - -builtInConsCastTypeSpec[boolean addImagNode] :builtInConsCastType - { - if ( addImagNode ) { - #builtInConsCastTypeSpec = #(#[TYPE,"TYPE"], - #builtInConsCastTypeSpec); - } - } - ; - -colorMethodCall :c:"color" {#c.setType(IDENT);} // this would default to LITERAL_color - lp:LPAREN^ {#lp.setType(METHOD_CALL);} - argList - RPAREN! - ; - -primaryExpression :(consCastTypeSpec[false] LPAREN) => constructorCast - { processing.app.Preferences.getBoolean("preproc.enhanced_casting") }? - | identPrimary ( options {greedy=true;} : DOT^ "class" )? - | constant - | "true" - | "false" - | "null" - | newExpression - | "this" - | "super" - | LPAREN! assignmentExpression RPAREN! - | colorMethodCall - // look for int.class and int[].class - | builtInType - ( lbt:LBRACK^ {#lbt.setType(ARRAY_DECLARATOR);} RBRACK! )* - DOT^ "class" - ; - -variableDefinitions![AST mods, AST t] :vd:variableDeclarator[getASTFactory().dupTree(mods), - getASTFactory().dupTree(t)] - {#variableDefinitions = #(#[VARIABLE_DEF,"VARIABLE_DEF"], mods, - t, vd);} - ; - -variableDeclarator[AST mods, AST t] :( id:IDENT (lb:LBRACK^ {#lb.setType(ARRAY_DECLARATOR);} RBRACK!)* - v:varInitializer (COMMA!)? )+ - ; - -explicitConstructorInvocation! :(typeArguments)? - t:"this" LPAREN a1:argList RPAREN SEMI - {#explicitConstructorInvocation = #(#[CTOR_CALL, "CTOR_CALL"], - #t, #a1);} - | s:"super" LPAREN a2:argList RPAREN SEMI - {#explicitConstructorInvocation = #(#[SUPER_CTOR_CALL, - "SUPER_CTOR_CALL"], - #s, #a2);} - ; - -classDefinition![AST modifiers] :"class" i:IDENT - // it _might_ have type paramaters - (tp:typeParameters)? - // it _might_ have a superclass... - sc:superClassClause - // it might implement some interfaces... - ic:implementsClause - // now parse the body of the class - cb:classBlock - {#classDefinition = #(#[CLASS_DEF,"CLASS_DEF"], - modifiers,i,tp,sc,ic,cb); - pp.setAdvClassName(i.getText());} - ; - -possiblyEmptyField :classField - | s:SEMI {#s.setType(EMPTY_FIELD);} - ; - -// inherited from grammar JavaRecognizer -compilationUnit :// A compilation unit starts with an optional package definition - ( (annotations "package")=> packageDefinition - | /* nothing */ - ) - - // Next we have a series of zero or more import statements - ( importDefinition )* - - // Wrapping things up with any number of class or interface - // definitions - ( typeDefinition )* - - EOF! - ; - -// inherited from grammar JavaRecognizer -packageDefinition -options { - defaultErrorHandler= true; -} -:annotations p:"package"^ {#p.setType(PACKAGE_DEF);} identifier SEMI! - ; - -// inherited from grammar JavaRecognizer -importDefinition -options { - defaultErrorHandler= true; -} -{ boolean isStatic = false; } -:i:"import"^ {#i.setType(IMPORT);} ( "static"! {#i.setType(STATIC_IMPORT);} )? identifierStar SEMI! - ; - -// inherited from grammar JavaRecognizer -typeDefinition -options { - defaultErrorHandler= true; -} -:m:modifiers! - typeDefinitionInternal[#m] - | SEMI! - ; - -// inherited from grammar JavaRecognizer -protected typeDefinitionInternal[AST mods] :classDefinition[#mods] // inner class - | interfaceDefinition[#mods] // inner interface - | enumDefinition[#mods] // inner enum - | annotationDefinition[#mods] // inner annotation - ; - -// inherited from grammar JavaRecognizer -declaration! :m:modifiers t:typeSpec[false] v:variableDefinitions[#m,#t] - {#declaration = #v;} - ; - -// inherited from grammar JavaRecognizer -typeSpec[boolean addImagNode] :classTypeSpec[addImagNode] - | builtInTypeSpec[addImagNode] - ; - -// inherited from grammar JavaRecognizer -classTypeSpec[boolean addImagNode] :classOrInterfaceType[false] - (options{greedy=true;}: // match as many as possible - lb:LBRACK^ {#lb.setType(ARRAY_DECLARATOR);} RBRACK! - )* - { - if ( addImagNode ) { - #classTypeSpec = #(#[TYPE,"TYPE"], #classTypeSpec); - } - } - ; - -// inherited from grammar JavaRecognizer -classOrInterfaceType[boolean addImagNode] :IDENT (typeArguments)? - (options{greedy=true;}: // match as many as possible - DOT^ - IDENT (typeArguments)? - )* - { - if ( addImagNode ) { - #classOrInterfaceType = #(#[TYPE,"TYPE"], #classOrInterfaceType); - } - } - ; - -// inherited from grammar JavaRecognizer -typeArgumentSpec :classTypeSpec[true] - | builtInTypeArraySpec[true] - ; - -// inherited from grammar JavaRecognizer -typeArgument :( typeArgumentSpec - | wildcardType - ) - {#typeArgument = #(#[TYPE_ARGUMENT,"TYPE_ARGUMENT"], #typeArgument);} - ; - -// inherited from grammar JavaRecognizer -wildcardType :q:QUESTION^ {#q.setType(WILDCARD_TYPE);} - (("extends" | "super")=> typeArgumentBounds)? - ; - -// inherited from grammar JavaRecognizer -typeArgumentBounds {boolean isUpperBounds = false;} -:( "extends"! {isUpperBounds=true;} | "super"! ) classOrInterfaceType[false] - { - if (isUpperBounds) - { - #typeArgumentBounds = #(#[TYPE_UPPER_BOUNDS,"TYPE_UPPER_BOUNDS"], #typeArgumentBounds); - } - else - { - #typeArgumentBounds = #(#[TYPE_LOWER_BOUNDS,"TYPE_LOWER_BOUNDS"], #typeArgumentBounds); - } - } - ; - -// inherited from grammar JavaRecognizer -builtInTypeArraySpec[boolean addImagNode] :builtInType - (options{greedy=true;}: // match as many as possible - lb:LBRACK^ {#lb.setType(ARRAY_DECLARATOR);} RBRACK! - )+ - - { - if ( addImagNode ) { - #builtInTypeArraySpec = #(#[TYPE,"TYPE"], #builtInTypeArraySpec); - } - } - ; - -// inherited from grammar JavaRecognizer -builtInTypeSpec[boolean addImagNode] :builtInType - (options{greedy=true;}: // match as many as possible - lb:LBRACK^ {#lb.setType(ARRAY_DECLARATOR);} RBRACK! - )* - { - if ( addImagNode ) { - #builtInTypeSpec = #(#[TYPE,"TYPE"], #builtInTypeSpec); - } - } - ; - -// inherited from grammar JavaRecognizer -type :classOrInterfaceType[false] - | builtInType - ; - -// inherited from grammar JavaRecognizer -identifier :IDENT ( DOT^ IDENT )* - ; - -// inherited from grammar JavaRecognizer -identifierStar :IDENT - ( DOT^ IDENT )* - ( DOT^ STAR )? - ; - -// inherited from grammar JavaRecognizer -modifiers :( - //hush warnings since the semantic check for "@interface" solves the non-determinism - options{generateAmbigWarnings=false;}: - - modifier - | - //Semantic check that we aren't matching @interface as this is not an annotation - //A nicer way to do this would be nice - {LA(1)==AT && !LT(2).getText().equals("interface")}? annotation - )* - - {#modifiers = #([MODIFIERS, "MODIFIERS"], #modifiers);} - ; - -// inherited from grammar JavaRecognizer -modifier :"private" - | "public" - | "protected" - | "static" - | "transient" - | "final" - | "abstract" - | "native" - | "threadsafe" - | "synchronized" - | "volatile" - | "strictfp" - ; - -// inherited from grammar JavaRecognizer -annotation! :AT! i:identifier ( LPAREN! ( args:annotationArguments )? RPAREN! )? - {#annotation = #(#[ANNOTATION,"ANNOTATION"], i, args);} - ; - -// inherited from grammar JavaRecognizer -annotations :(annotation)* - {#annotations = #([ANNOTATIONS, "ANNOTATIONS"], #annotations);} - ; - -// inherited from grammar JavaRecognizer -annotationArguments :annotationMemberValueInitializer | anntotationMemberValuePairs - ; - -// inherited from grammar JavaRecognizer -anntotationMemberValuePairs :annotationMemberValuePair ( COMMA! annotationMemberValuePair )* - ; - -// inherited from grammar JavaRecognizer -annotationMemberValuePair! :i:IDENT ASSIGN! v:annotationMemberValueInitializer - {#annotationMemberValuePair = #(#[ANNOTATION_MEMBER_VALUE_PAIR,"ANNOTATION_MEMBER_VALUE_PAIR"], i, v);} - ; - -// inherited from grammar JavaRecognizer -annotationMemberValueInitializer :conditionalExpression | annotation | annotationMemberArrayInitializer - ; - -// inherited from grammar JavaRecognizer -annotationMemberArrayInitializer :lc:LCURLY^ {#lc.setType(ANNOTATION_ARRAY_INIT);} - ( annotationMemberArrayValueInitializer - ( - // CONFLICT: does a COMMA after an initializer start a new - // initializer or start the option ',' at end? - // ANTLR generates proper code by matching - // the comma as soon as possible. - options { - warnWhenFollowAmbig = false; - } - : - COMMA! annotationMemberArrayValueInitializer - )* - (COMMA!)? - )? - RCURLY! - ; - -// inherited from grammar JavaRecognizer -annotationMemberArrayValueInitializer :conditionalExpression - | annotation - ; - -// inherited from grammar JavaRecognizer -superClassClause! :( "extends" c:classOrInterfaceType[false] )? - {#superClassClause = #(#[EXTENDS_CLAUSE,"EXTENDS_CLAUSE"],c);} - ; - -// inherited from grammar JavaRecognizer -interfaceDefinition![AST modifiers] :"interface" IDENT - // it _might_ have type paramaters - (tp:typeParameters)? - // it might extend some other interfaces - ie:interfaceExtends - // now parse the body of the interface (looks like a class...) - ib:interfaceBlock - {#interfaceDefinition = #(#[INTERFACE_DEF,"INTERFACE_DEF"], - modifiers,IDENT,tp,ie,ib);} - ; - -// inherited from grammar JavaRecognizer -enumDefinition![AST modifiers] :"enum" IDENT - // it might implement some interfaces... - ic:implementsClause - // now parse the body of the enum - eb:enumBlock - {#enumDefinition = #(#[ENUM_DEF,"ENUM_DEF"], - modifiers,IDENT,ic,eb);} - ; - -// inherited from grammar JavaRecognizer -annotationDefinition![AST modifiers] :AT "interface" IDENT - // now parse the body of the annotation - ab:annotationBlock - {#annotationDefinition = #(#[ANNOTATION_DEF,"ANNOTATION_DEF"], - modifiers,IDENT,ab);} - ; - -// inherited from grammar JavaRecognizer -typeParameter :// I'm pretty sure Antlr generates the right thing here: - (id:IDENT) ( options{generateAmbigWarnings=false;}: typeParameterBounds )? - {#typeParameter = #(#[TYPE_PARAMETER,"TYPE_PARAMETER"], #typeParameter);} - ; - -// inherited from grammar JavaRecognizer -typeParameterBounds :"extends"! classOrInterfaceType[false] - (BAND! classOrInterfaceType[false])* - {#typeParameterBounds = #(#[TYPE_UPPER_BOUNDS,"TYPE_UPPER_BOUNDS"], #typeParameterBounds);} - ; - -// inherited from grammar JavaRecognizer -classBlock :LCURLY! - ( classField | SEMI! )* - RCURLY! - {#classBlock = #([OBJBLOCK, "OBJBLOCK"], #classBlock);} - ; - -// inherited from grammar JavaRecognizer -interfaceBlock :LCURLY! - ( interfaceField | SEMI! )* - RCURLY! - {#interfaceBlock = #([OBJBLOCK, "OBJBLOCK"], #interfaceBlock);} - ; - -// inherited from grammar JavaRecognizer -annotationBlock :LCURLY! - ( annotationField | SEMI! )* - RCURLY! - {#annotationBlock = #([OBJBLOCK, "OBJBLOCK"], #annotationBlock);} - ; - -// inherited from grammar JavaRecognizer -enumBlock :LCURLY! - ( enumConstant ( options{greedy=true;}: COMMA! enumConstant )* ( COMMA! )? )? - ( SEMI! ( classField | SEMI! )* )? - RCURLY! - {#enumBlock = #([OBJBLOCK, "OBJBLOCK"], #enumBlock);} - ; - -// inherited from grammar JavaRecognizer -annotationField! :mods:modifiers - ( td:typeDefinitionInternal[#mods] - {#annotationField = #td;} - | t:typeSpec[false] // annotation field - ( i:IDENT // the name of the field - - LPAREN! RPAREN! - - rt:declaratorBrackets[#t] - - ( "default" amvi:annotationMemberValueInitializer )? - - SEMI - - {#annotationField = - #(#[ANNOTATION_FIELD_DEF,"ANNOTATION_FIELD_DEF"], - mods, - #(#[TYPE,"TYPE"],rt), - i,amvi - );} - | v:variableDefinitions[#mods,#t] SEMI // variable - {#annotationField = #v;} - ) - ) - ; - -// inherited from grammar JavaRecognizer -enumConstant! :an:annotations - i:IDENT - ( LPAREN! - a:argList - RPAREN! - )? - ( b:enumConstantBlock )? - {#enumConstant = #([ENUM_CONSTANT_DEF, "ENUM_CONSTANT_DEF"], an, i, a, b);} - ; - -// inherited from grammar JavaRecognizer -enumConstantBlock :LCURLY! - ( enumConstantField | SEMI! )* - RCURLY! - {#enumConstantBlock = #([OBJBLOCK, "OBJBLOCK"], #enumConstantBlock);} - ; - -// inherited from grammar JavaRecognizer -enumConstantField! :mods:modifiers - ( td:typeDefinitionInternal[#mods] - {#enumConstantField = #td;} - - | // A generic method has the typeParameters before the return type. - // This is not allowed for variable definitions, but this production - // allows it, a semantic check could be used if you wanted. - (tp:typeParameters)? t:typeSpec[false] // method or variable declaration(s) - ( IDENT // the name of the method - - // parse the formal parameter declarations. - LPAREN! param:parameterDeclarationList RPAREN! - - rt:declaratorBrackets[#t] - - // get the list of exceptions that this method is - // declared to throw - (tc:throwsClause)? - - ( s2:compoundStatement | SEMI ) - {#enumConstantField = #(#[METHOD_DEF,"METHOD_DEF"], - mods, - tp, - #(#[TYPE,"TYPE"],rt), - IDENT, - param, - tc, - s2);} - | v:variableDefinitions[#mods,#t] SEMI - {#enumConstantField = #v;} - ) - ) - - // "{ ... }" instance initializer - | s4:compoundStatement - {#enumConstantField = #(#[INSTANCE_INIT,"INSTANCE_INIT"], s4);} - ; - -// inherited from grammar JavaRecognizer -interfaceExtends :( - e:"extends"! - classOrInterfaceType[false] ( COMMA! classOrInterfaceType[false] )* - )? - {#interfaceExtends = #(#[EXTENDS_CLAUSE,"EXTENDS_CLAUSE"], - #interfaceExtends);} - ; - -// inherited from grammar JavaRecognizer -implementsClause :( - i:"implements"! classOrInterfaceType[false] ( COMMA! classOrInterfaceType[false] )* - )? - {#implementsClause = #(#[IMPLEMENTS_CLAUSE,"IMPLEMENTS_CLAUSE"], - #implementsClause);} - ; - -// inherited from grammar JavaRecognizer -classField! :// method, constructor, or variable declaration - mods:modifiers - ( td:typeDefinitionInternal[#mods] - {#classField = #td;} - - | (tp:typeParameters)? - ( - h:ctorHead s:constructorBody // constructor - {#classField = #(#[CTOR_DEF,"CTOR_DEF"], mods, tp, h, s);} - - | // A generic method/ctor has the typeParameters before the return type. - // This is not allowed for variable definitions, but this production - // allows it, a semantic check could be used if you wanted. - t:typeSpec[false] // method or variable declaration(s) - ( IDENT // the name of the method - - // parse the formal parameter declarations. - LPAREN! param:parameterDeclarationList RPAREN! - - rt:declaratorBrackets[#t] - - // get the list of exceptions that this method is - // declared to throw - (tc:throwsClause)? - - ( s2:compoundStatement | SEMI ) - {#classField = #(#[METHOD_DEF,"METHOD_DEF"], - mods, - tp, - #(#[TYPE,"TYPE"],rt), - IDENT, - param, - tc, - s2);} - | v:variableDefinitions[#mods,#t] SEMI - {#classField = #v;} - ) - ) - ) - - // "static { ... }" class initializer - | "static" s3:compoundStatement - {#classField = #(#[STATIC_INIT,"STATIC_INIT"], s3);} - - // "{ ... }" instance initializer - | s4:compoundStatement - {#classField = #(#[INSTANCE_INIT,"INSTANCE_INIT"], s4);} - ; - -// inherited from grammar JavaRecognizer -interfaceField! :// method, constructor, or variable declaration - mods:modifiers - ( td:typeDefinitionInternal[#mods] - {#interfaceField = #td;} - - | (tp:typeParameters)? - // A generic method has the typeParameters before the return type. - // This is not allowed for variable definitions, but this production - // allows it, a semantic check could be used if you want a more strict - // grammar. - t:typeSpec[false] // method or variable declaration(s) - ( IDENT // the name of the method - - // parse the formal parameter declarations. - LPAREN! param:parameterDeclarationList RPAREN! - - rt:declaratorBrackets[#t] - - // get the list of exceptions that this method is - // declared to throw - (tc:throwsClause)? - - SEMI - - {#interfaceField = #(#[METHOD_DEF,"METHOD_DEF"], - mods, - tp, - #(#[TYPE,"TYPE"],rt), - IDENT, - param, - tc);} - | v:variableDefinitions[#mods,#t] SEMI - {#interfaceField = #v;} - ) - ) - ; - -// inherited from grammar JavaRecognizer -constructorBody :lc:LCURLY^ {#lc.setType(SLIST);} - ( options { greedy=true; } : explicitConstructorInvocation)? - (statement)* - RCURLY! - ; - -// inherited from grammar JavaRecognizer -declaratorBrackets[AST typ] :{#declaratorBrackets=typ;} - (lb:LBRACK^ {#lb.setType(ARRAY_DECLARATOR);} RBRACK!)* - ; - -// inherited from grammar JavaRecognizer -varInitializer :( ASSIGN^ initializer )? - ; - -// inherited from grammar JavaRecognizer -arrayInitializer :lc:LCURLY^ {#lc.setType(ARRAY_INIT);} - ( initializer - ( - // CONFLICT: does a COMMA after an initializer start a new - // initializer or start the option ',' at end? - // ANTLR generates proper code by matching - // the comma as soon as possible. - options { - warnWhenFollowAmbig = false; - } - : - COMMA! initializer - )* - (COMMA!)? - )? - RCURLY! - ; - -// inherited from grammar JavaRecognizer -initializer :expression - | arrayInitializer - ; - -// inherited from grammar JavaRecognizer -ctorHead :IDENT // the name of the method - - // parse the formal parameter declarations. - LPAREN! parameterDeclarationList RPAREN! - - // get the list of exceptions that this method is declared to throw - (throwsClause)? - ; - -// inherited from grammar JavaRecognizer -throwsClause :"throws"^ identifier ( COMMA! identifier )* - ; - -// inherited from grammar JavaRecognizer -parameterDeclarationList :( ( parameterDeclaration )=> parameterDeclaration - ( options {warnWhenFollowAmbig=false;} : ( COMMA! parameterDeclaration ) => COMMA! parameterDeclaration )* - ( COMMA! variableLengthParameterDeclaration )? - | - variableLengthParameterDeclaration - )? - {#parameterDeclarationList = #(#[PARAMETERS,"PARAMETERS"], - #parameterDeclarationList);} - ; - -// inherited from grammar JavaRecognizer -parameterDeclaration! :pm:parameterModifier t:typeSpec[false] id:IDENT - pd:declaratorBrackets[#t] - {#parameterDeclaration = #(#[PARAMETER_DEF,"PARAMETER_DEF"], - pm, #([TYPE,"TYPE"],pd), id);} - ; - -// inherited from grammar JavaRecognizer -variableLengthParameterDeclaration! :pm:parameterModifier t:typeSpec[false] TRIPLE_DOT! id:IDENT - pd:declaratorBrackets[#t] - {#variableLengthParameterDeclaration = #(#[VARIABLE_PARAMETER_DEF,"VARIABLE_PARAMETER_DEF"], - pm, #([TYPE,"TYPE"],pd), id);} - ; - -// inherited from grammar JavaRecognizer -parameterModifier :(options{greedy=true;} : annotation)* (f:"final")? (annotation)* - {#parameterModifier = #(#[MODIFIERS,"MODIFIERS"], #parameterModifier);} - ; - -// inherited from grammar JavaRecognizer -compoundStatement :lc:LCURLY^ {#lc.setType(SLIST);} - // include the (possibly-empty) list of statements - (statement)* - RCURLY! - ; - -// inherited from grammar JavaRecognizer -statement :compoundStatement - - // declarations are ambiguous with "ID DOT" relative to expression - // statements. Must backtrack to be sure. Could use a semantic - // predicate to test symbol table to see what the type was coming - // up, but that's pretty hard without a symbol table ;) - | (declaration)=> declaration SEMI! - - // An expression statement. This could be a method call, - // assignment statement, or any other expression evaluated for - // side-effects. - | expression SEMI! - - //TODO: what abour interfaces, enums and annotations - // class definition - | m:modifiers! classDefinition[#m] - - // Attach a label to the front of a statement - | IDENT c:COLON^ {#c.setType(LABELED_STAT);} statement - - // If-else statement - | "if"^ LPAREN! expression RPAREN! statement - ( - // CONFLICT: the old "dangling-else" problem... - // ANTLR generates proper code matching - // as soon as possible. Hush warning. - options { - warnWhenFollowAmbig = false; - } - : - "else"! statement - )? - - // For statement - | forStatement - - // While statement - | "while"^ LPAREN! expression RPAREN! statement - - // do-while statement - | "do"^ statement "while"! LPAREN! expression RPAREN! SEMI! - - // get out of a loop (or switch) - | "break"^ (IDENT)? SEMI! - - // do next iteration of a loop - | "continue"^ (IDENT)? SEMI! - - // Return an expression - | "return"^ (expression)? SEMI! - - // switch/case statement - | "switch"^ LPAREN! expression RPAREN! LCURLY! - ( casesGroup )* - RCURLY! - - // exception try-catch block - | tryBlock - - // throw an exception - | "throw"^ expression SEMI! - - // synchronize a statement - | "synchronized"^ LPAREN! expression RPAREN! compoundStatement - - // asserts (uncomment if you want 1.4 compatibility) - | "assert"^ expression ( COLON! expression )? SEMI! - - // empty statement - | s:SEMI {#s.setType(EMPTY_STAT);} - ; - -// inherited from grammar JavaRecognizer -forStatement :f:"for"^ - LPAREN! - ( (forInit SEMI)=>traditionalForClause - | forEachClause - ) - RPAREN! - statement // statement to loop over - ; - -// inherited from grammar JavaRecognizer -traditionalForClause :forInit SEMI! // initializer - forCond SEMI! // condition test - forIter // updater - ; - -// inherited from grammar JavaRecognizer -forEachClause :p:parameterDeclaration COLON! expression - {#forEachClause = #(#[FOR_EACH_CLAUSE,"FOR_EACH_CLAUSE"], #forEachClause);} - ; - -// inherited from grammar JavaRecognizer -casesGroup :( // CONFLICT: to which case group do the statements bind? - // ANTLR generates proper code: it groups the - // many "case"/"default" labels together then - // follows them with the statements - options { - greedy = true; - } - : - aCase - )+ - caseSList - {#casesGroup = #([CASE_GROUP, "CASE_GROUP"], #casesGroup);} - ; - -// inherited from grammar JavaRecognizer -aCase :("case"^ expression | "default") COLON! - ; - -// inherited from grammar JavaRecognizer -caseSList :(statement)* - {#caseSList = #(#[SLIST,"SLIST"],#caseSList);} - ; - -// inherited from grammar JavaRecognizer -forInit :((declaration)=> declaration - // otherwise it could be an expression list... - | expressionList - )? - {#forInit = #(#[FOR_INIT,"FOR_INIT"],#forInit);} - ; - -// inherited from grammar JavaRecognizer -forCond :(expression)? - {#forCond = #(#[FOR_CONDITION,"FOR_CONDITION"],#forCond);} - ; - -// inherited from grammar JavaRecognizer -forIter :(expressionList)? - {#forIter = #(#[FOR_ITERATOR,"FOR_ITERATOR"],#forIter);} - ; - -// inherited from grammar JavaRecognizer -tryBlock :"try"^ compoundStatement - (handler)* - ( finallyClause )? - ; - -// inherited from grammar JavaRecognizer -finallyClause :"finally"^ compoundStatement - ; - -// inherited from grammar JavaRecognizer -handler :"catch"^ LPAREN! parameterDeclaration RPAREN! compoundStatement - ; - -// inherited from grammar JavaRecognizer -expression :assignmentExpression - {#expression = #(#[EXPR,"EXPR"],#expression);} - ; - -// inherited from grammar JavaRecognizer -expressionList :expression (COMMA! expression)* - {#expressionList = #(#[ELIST,"ELIST"], expressionList);} - ; - -// inherited from grammar JavaRecognizer -assignmentExpression :conditionalExpression - ( ( ASSIGN^ - | PLUS_ASSIGN^ - | MINUS_ASSIGN^ - | STAR_ASSIGN^ - | DIV_ASSIGN^ - | MOD_ASSIGN^ - | SR_ASSIGN^ - | BSR_ASSIGN^ - | SL_ASSIGN^ - | BAND_ASSIGN^ - | BXOR_ASSIGN^ - | BOR_ASSIGN^ - ) - assignmentExpression - )? - ; - -// inherited from grammar JavaRecognizer -conditionalExpression :logicalOrExpression - ( QUESTION^ assignmentExpression COLON! conditionalExpression )? - ; - -// inherited from grammar JavaRecognizer -logicalOrExpression :logicalAndExpression (LOR^ logicalAndExpression)* - ; - -// inherited from grammar JavaRecognizer -logicalAndExpression :inclusiveOrExpression (LAND^ inclusiveOrExpression)* - ; - -// inherited from grammar JavaRecognizer -inclusiveOrExpression :exclusiveOrExpression (BOR^ exclusiveOrExpression)* - ; - -// inherited from grammar JavaRecognizer -exclusiveOrExpression :andExpression (BXOR^ andExpression)* - ; - -// inherited from grammar JavaRecognizer -andExpression :equalityExpression (BAND^ equalityExpression)* - ; - -// inherited from grammar JavaRecognizer -equalityExpression :relationalExpression ((NOT_EQUAL^ | EQUAL^) relationalExpression)* - ; - -// inherited from grammar JavaRecognizer -relationalExpression :shiftExpression - ( ( ( LT^ - | GT^ - | LE^ - | GE^ - ) - shiftExpression - )* - | "instanceof"^ typeSpec[true] - ) - ; - -// inherited from grammar JavaRecognizer -shiftExpression :additiveExpression ((SL^ | SR^ | BSR^) additiveExpression)* - ; - -// inherited from grammar JavaRecognizer -additiveExpression :multiplicativeExpression ((PLUS^ | MINUS^) multiplicativeExpression)* - ; - -// inherited from grammar JavaRecognizer -multiplicativeExpression :unaryExpression ((STAR^ | DIV^ | MOD^ ) unaryExpression)* - ; - -// inherited from grammar JavaRecognizer -unaryExpression :INC^ unaryExpression - | DEC^ unaryExpression - | MINUS^ {#MINUS.setType(UNARY_MINUS);} unaryExpression - | PLUS^ {#PLUS.setType(UNARY_PLUS);} unaryExpression - | unaryExpressionNotPlusMinus - ; - -// inherited from grammar JavaRecognizer -unaryExpressionNotPlusMinus :BNOT^ unaryExpression - | LNOT^ unaryExpression - | ( // subrule allows option to shut off warnings - options { - // "(int" ambig with postfixExpr due to lack of sequence - // info in linear approximate LL(k). It's ok. Shut up. - generateAmbigWarnings=false; - } - : // If typecast is built in type, must be numeric operand - // Have to backtrack to see if operator follows - (LPAREN builtInTypeSpec[true] RPAREN unaryExpression)=> - lpb:LPAREN^ {#lpb.setType(TYPECAST);} builtInTypeSpec[true] RPAREN! - unaryExpression - - // Have to backtrack to see if operator follows. If no operator - // follows, it's a typecast. No semantic checking needed to parse. - // if it _looks_ like a cast, it _is_ a cast; else it's a "(expr)" - | (LPAREN classTypeSpec[true] RPAREN unaryExpressionNotPlusMinus)=> - lp:LPAREN^ {#lp.setType(TYPECAST);} classTypeSpec[true] RPAREN! - unaryExpressionNotPlusMinus - - | postfixExpression - ) - ; - -// inherited from grammar JavaRecognizer -postfixExpression :primaryExpression - - ( - /* - options { - // the use of postfixExpression in SUPER_CTOR_CALL adds DOT - // to the lookahead set, and gives loads of false non-det - // warnings. - // shut them off. - generateAmbigWarnings=false; - } - : */ - //type arguments are only appropriate for a parameterized method/ctor invocations - //semantic check may be needed here to ensure that this is the case - DOT^ (typeArguments)? - ( IDENT - ( lp:LPAREN^ {#lp.setType(METHOD_CALL);} - argList - RPAREN! - )? - | "super" - ( // (new Outer()).super() (create enclosing instance) - lp3:LPAREN^ argList RPAREN! - {#lp3.setType(SUPER_CTOR_CALL);} - | DOT^ (typeArguments)? IDENT - ( lps:LPAREN^ {#lps.setType(METHOD_CALL);} - argList - RPAREN! - )? - ) - ) - | DOT^ "this" - | DOT^ newExpression - | lb:LBRACK^ {#lb.setType(INDEX_OP);} expression RBRACK! - )* - - ( // possibly add on a post-increment or post-decrement. - // allows INC/DEC on too much, but semantics can check - in:INC^ {#in.setType(POST_INC);} - | de:DEC^ {#de.setType(POST_DEC);} - )? - ; - -// inherited from grammar JavaRecognizer -identPrimary :(ta1:typeArguments!)? - IDENT - // Syntax for method invocation with type arguments is - // foo("blah") - ( - options { - // .ident could match here or in postfixExpression. - // We do want to match here. Turn off warning. - greedy=true; - // This turns the ambiguity warning of the second alternative - // off. See below. (The "false" predicate makes it non-issue) - warnWhenFollowAmbig=false; - } - // we have a new nondeterminism because of - // typeArguments... only a syntactic predicate will help... - // The problem is that this loop here conflicts with - // DOT typeArguments "super" in postfixExpression (k=2) - // A proper solution would require a lot of refactoring... - : (DOT (typeArguments)? IDENT) => - DOT^ (ta2:typeArguments!)? IDENT - | {false}? // FIXME: this is very ugly but it seems to work... - // this will also produce an ANTLR warning! - // Unfortunately a syntactic predicate can only select one of - // multiple alternatives on the same level, not break out of - // an enclosing loop, which is why this ugly hack (a fake - // empty alternative with always-false semantic predicate) - // is necessary. - )* - ( - options { - // ARRAY_DECLARATOR here conflicts with INDEX_OP in - // postfixExpression on LBRACK RBRACK. - // We want to match [] here, so greedy. This overcomes - // limitation of linear approximate lookahead. - greedy=true; - } - : ( lp:LPAREN^ {#lp.setType(METHOD_CALL);} - // if the input is valid, only the last IDENT may - // have preceding typeArguments... rather hacky, this is... - {if (#ta2 != null) astFactory.addASTChild(currentAST, #ta2);} - {if (#ta2 == null) astFactory.addASTChild(currentAST, #ta1);} - argList RPAREN! - ) - | ( options {greedy=true;} : - lbc:LBRACK^ {#lbc.setType(ARRAY_DECLARATOR);} RBRACK! - )+ - )? - ; - -// inherited from grammar JavaRecognizer -newExpression :"new"^ (typeArguments)? type - ( LPAREN! argList RPAREN! (classBlock)? - - //java 1.1 - // Note: This will allow bad constructs like - // new int[4][][3] {exp,exp}. - // There needs to be a semantic check here... - // to make sure: - // a) [ expr ] and [ ] are not mixed - // b) [ expr ] and an init are not used together - - | newArrayDeclarator (arrayInitializer)? - ) - ; - -// inherited from grammar JavaRecognizer -argList :( expressionList - | /*nothing*/ - {#argList = #[ELIST,"ELIST"];} - ) - ; - -// inherited from grammar JavaRecognizer -newArrayDeclarator :( - // CONFLICT: - // newExpression is a primaryExpression which can be - // followed by an array index reference. This is ok, - // as the generated code will stay in this loop as - // long as it sees an LBRACK (proper behavior) - options { - warnWhenFollowAmbig = false; - } - : - lb:LBRACK^ {#lb.setType(ARRAY_DECLARATOR);} - (expression)? - RBRACK! - )+ - ; - -class PdeLexer extends Lexer; - -options { - importVocab=PdePartial; - exportVocab=Pde; - testLiterals=false; - k=4; - charVocabulary='\u0003'..'\uFFFF'; - codeGenBitsetTestThreshold=20; -} - -{ - /** flag for enabling the "assert" keyword */ - private boolean assertEnabled = true; - /** flag for enabling the "enum" keyword */ - private boolean enumEnabled = true; - - /** Enable the "assert" keyword */ - public void enableAssert(boolean shouldEnable) { assertEnabled = shouldEnable; } - /** Query the "assert" keyword state */ - public boolean isAssertEnabled() { return assertEnabled; } - /** Enable the "enum" keyword */ - public void enableEnum(boolean shouldEnable) { enumEnabled = shouldEnable; } - /** Query the "enum" keyword state */ - public boolean isEnumEnabled() { return enumEnabled; } -} -WS :( ' ' - | '\t' - | '\f' - // handle newlines - | ( options {generateAmbigWarnings=false;} - : "\r\n" // Evil DOS - | '\r' // Macintosh - | '\n' // Unix (the right way) - ) - { newline(); } - )+ - ; - -SL_COMMENT :"//" - (~('\n'|'\r'))* ('\n'|'\r'('\n')?) - {newline();} - ; - -ML_COMMENT :"/*" - ( /* '\r' '\n' can be matched in one alternative or by matching - '\r' in one iteration and '\n' in another. I am trying to - handle any flavor of newline that comes in, but the language - that allows both "\r\n" and "\r" and "\n" to all be valid - newline is ambiguous. Consequently, the resulting grammar - must be ambiguous. I'm shutting this warning off. - */ - options { - generateAmbigWarnings=false; - } - : - { LA(2)!='/' }? '*' - | '\r' '\n' {newline();} - | '\r' {newline();} - | '\n' {newline();} - | ~('*'|'\n'|'\r') - )* - "*/" - ; - -WEBCOLOR_LITERAL :'#'! (HEX_DIGIT)+ - ; - -// inherited from grammar JavaLexer -QUESTION :'?' ; - -// inherited from grammar JavaLexer -LPAREN :'(' ; - -// inherited from grammar JavaLexer -RPAREN :')' ; - -// inherited from grammar JavaLexer -LBRACK :'[' ; - -// inherited from grammar JavaLexer -RBRACK :']' ; - -// inherited from grammar JavaLexer -LCURLY :'{' ; - -// inherited from grammar JavaLexer -RCURLY :'}' ; - -// inherited from grammar JavaLexer -COLON :':' ; - -// inherited from grammar JavaLexer -COMMA :',' ; - -// inherited from grammar JavaLexer -ASSIGN :'=' ; - -// inherited from grammar JavaLexer -EQUAL :"==" ; - -// inherited from grammar JavaLexer -LNOT :'!' ; - -// inherited from grammar JavaLexer -BNOT :'~' ; - -// inherited from grammar JavaLexer -NOT_EQUAL :"!=" ; - -// inherited from grammar JavaLexer -DIV :'/' ; - -// inherited from grammar JavaLexer -DIV_ASSIGN :"/=" ; - -// inherited from grammar JavaLexer -PLUS :'+' ; - -// inherited from grammar JavaLexer -PLUS_ASSIGN :"+=" ; - -// inherited from grammar JavaLexer -INC :"++" ; - -// inherited from grammar JavaLexer -MINUS :'-' ; - -// inherited from grammar JavaLexer -MINUS_ASSIGN :"-=" ; - -// inherited from grammar JavaLexer -DEC :"--" ; - -// inherited from grammar JavaLexer -STAR :'*' ; - -// inherited from grammar JavaLexer -STAR_ASSIGN :"*=" ; - -// inherited from grammar JavaLexer -MOD :'%' ; - -// inherited from grammar JavaLexer -MOD_ASSIGN :"%=" ; - -// inherited from grammar JavaLexer -SR :">>" ; - -// inherited from grammar JavaLexer -SR_ASSIGN :">>=" ; - -// inherited from grammar JavaLexer -BSR :">>>" ; - -// inherited from grammar JavaLexer -BSR_ASSIGN :">>>=" ; - -// inherited from grammar JavaLexer -GE :">=" ; - -// inherited from grammar JavaLexer -GT :">" ; - -// inherited from grammar JavaLexer -SL :"<<" ; - -// inherited from grammar JavaLexer -SL_ASSIGN :"<<=" ; - -// inherited from grammar JavaLexer -LE :"<=" ; - -// inherited from grammar JavaLexer -LT :'<' ; - -// inherited from grammar JavaLexer -BXOR :'^' ; - -// inherited from grammar JavaLexer -BXOR_ASSIGN :"^=" ; - -// inherited from grammar JavaLexer -BOR :'|' ; - -// inherited from grammar JavaLexer -BOR_ASSIGN :"|=" ; - -// inherited from grammar JavaLexer -LOR :"||" ; - -// inherited from grammar JavaLexer -BAND :'&' ; - -// inherited from grammar JavaLexer -BAND_ASSIGN :"&=" ; - -// inherited from grammar JavaLexer -LAND :"&&" ; - -// inherited from grammar JavaLexer -SEMI :';' ; - -// inherited from grammar JavaLexer -CHAR_LITERAL :'\'' ( ESC | ~('\''|'\n'|'\r'|'\\') ) '\'' - ; - -// inherited from grammar JavaLexer -STRING_LITERAL :'"' (ESC|~('"'|'\\'|'\n'|'\r'))* '"' - ; - -// inherited from grammar JavaLexer -protected ESC :'\\' - ( 'n' - | 'r' - | 't' - | 'b' - | 'f' - | '"' - | '\'' - | '\\' - | ('u')+ HEX_DIGIT HEX_DIGIT HEX_DIGIT HEX_DIGIT - | '0'..'3' - ( - options { - warnWhenFollowAmbig = false; - } - : '0'..'7' - ( - options { - warnWhenFollowAmbig = false; - } - : '0'..'7' - )? - )? - | '4'..'7' - ( - options { - warnWhenFollowAmbig = false; - } - : '0'..'7' - )? - ) - ; - -// inherited from grammar JavaLexer -protected HEX_DIGIT :('0'..'9'|'A'..'F'|'a'..'f') - ; - -// inherited from grammar JavaLexer -protected VOCAB :'\3'..'\377' - ; - -// inherited from grammar JavaLexer -IDENT -options { - testLiterals=true; -} -:('a'..'z'|'A'..'Z'|'_'|'$') ('a'..'z'|'A'..'Z'|'_'|'0'..'9'|'$')* - { - // check if "assert" keyword is enabled - if (assertEnabled && "assert".equals($getText)) { - $setType(LITERAL_assert); // set token type for the rule in the parser - } - // check if "enum" keyword is enabled - if (enumEnabled && "enum".equals($getText)) { - $setType(LITERAL_enum); // set token type for the rule in the parser - } - } - ; - -// inherited from grammar JavaLexer -NUM_INT {boolean isDecimal=false; Token t=null;} -:'.' {_ttype = DOT;} - ( - (('0'..'9')+ (EXPONENT)? (f1:FLOAT_SUFFIX {t=f1;})? - { - if (t != null && t.getText().toUpperCase().indexOf('F')>=0) { - _ttype = NUM_FLOAT; - } - else { - _ttype = NUM_DOUBLE; // assume double - } - }) - | - // JDK 1.5 token for variable length arguments - (".." {_ttype = TRIPLE_DOT;}) - )? - - | ( '0' {isDecimal = true;} // special case for just '0' - ( ('x'|'X') - ( // hex - // the 'e'|'E' and float suffix stuff look - // like hex digits, hence the (...)+ doesn't - // know when to stop: ambig. ANTLR resolves - // it correctly by matching immediately. It - // is therefor ok to hush warning. - options { - warnWhenFollowAmbig=false; - } - : HEX_DIGIT - )+ - - | //float or double with leading zero - (('0'..'9')+ ('.'|EXPONENT|FLOAT_SUFFIX)) => ('0'..'9')+ - - | ('0'..'7')+ // octal - )? - | ('1'..'9') ('0'..'9')* {isDecimal=true;} // non-zero decimal - ) - ( ('l'|'L') { _ttype = NUM_LONG; } - - // only check to see if it's a float if looks like decimal so far - | {isDecimal}? - ( '.' ('0'..'9')* (EXPONENT)? (f2:FLOAT_SUFFIX {t=f2;})? - | EXPONENT (f3:FLOAT_SUFFIX {t=f3;})? - | f4:FLOAT_SUFFIX {t=f4;} - ) - { - if (t != null && t.getText().toUpperCase() .indexOf('F') >= 0) { - _ttype = NUM_FLOAT; - } - else { - _ttype = NUM_DOUBLE; // assume double - } - } - )? - ; - -// inherited from grammar JavaLexer -AT :'@' - ; - -// inherited from grammar JavaLexer -protected EXPONENT :('e'|'E') ('+'|'-')? ('0'..'9')+ - ; - -// inherited from grammar JavaLexer -protected FLOAT_SUFFIX :'f'|'F'|'d'|'D' - ; - - diff --git a/Java/Processing/processing-3.3.6/modes/java/keywords.txt b/Java/Processing/processing-3.3.6/modes/java/keywords.txt deleted file mode 100644 index a59b071..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/keywords.txt +++ /dev/null @@ -1,934 +0,0 @@ -# THE TEXT BELOW IS HAND WRITTEN AND FOUND IN THE FILE "keywords_base.txt" -# IN THE PROCESSING-DOCS REPO. DON'T EDITS THE keywords.txt FILE DIRECTLY. - -# For an explanation of these tags, see Token.java -# trunk/processing/app/src/processing/app/syntax/Token.java - -ADD LITERAL2 blend_ -ALIGN_CENTER LITERAL2 -ALIGN_LEFT LITERAL2 -ALIGN_RIGHT LITERAL2 -ALPHA LITERAL2 -ALPHA_MASK LITERAL2 -ALT LITERAL2 -AMBIENT LITERAL2 -ARC LITERAL2 createShape_ -ARROW LITERAL2 cursor_ -ARGB LITERAL2 -BACKSPACE LITERAL2 keyCode -BASELINE LITERAL2 textAlign_ -BEVEL LITERAL2 strokeJoin_ -BLEND LITERAL2 blend_ -BLUE_MASK LITERAL2 -BLUR LITERAL2 filter_ -BOTTOM LITERAL2 textAlign_ -BOX LITERAL2 createShape_ -BURN LITERAL2 blend_ -CENTER LITERAL2 -CHATTER LITERAL2 -CHORD LITERAL2 arc_ -CLAMP LITERAL2 -CLICK LITERAL2 -CLOSE LITERAL2 -CMYK LITERAL2 -CODED LITERAL2 key -COMPLAINT LITERAL2 -COMPOSITE LITERAL2 -COMPONENT LITERAL2 -CONCAVE_POLYGON LITERAL2 -CONTROL LITERAL2 -CONVEX_POLYGON LITERAL2 -CORNER LITERAL2 textAlign_ -CORNERS LITERAL2 -CROSS LITERAL2 cursor_ -CUSTOM LITERAL2 -DARKEST LITERAL2 blend_ -DEGREES LITERAL2 -DEG_TO_RAD LITERAL2 -DELETE LITERAL2 -DIAMETER LITERAL2 -DIFFERENCE LITERAL2 blend_ -DIFFUSE LITERAL2 -DILATE LITERAL2 filter_ -DIRECTIONAL LITERAL2 -DISABLE_ACCURATE_2D LITERAL2 -DISABLE_DEPTH_MASK LITERAL2 -DISABLE_DEPTH_SORT LITERAL2 -DISABLE_DEPTH_TEST LITERAL2 -DISABLE_NATIVE_FONTS LITERAL2 -DISABLE_OPENGL_ERRORS LITERAL2 -DISABLE_PURE_STROKE LITERAL2 -DISABLE_TEXTURE_MIPMAPS LITERAL2 -DISABLE_TRANSFORM_CACHE LITERAL2 -DISABLE_STROKE_PERSPECTIVE LITERAL2 -DISABLED LITERAL2 -DODGE LITERAL2 blend_ -DOWN LITERAL2 keyCode -DRAG LITERAL2 -DXF LITERAL2 size_ -ELLIPSE LITERAL2 createShape_ -ENABLE_ACCURATE_2D LITERAL2 -ENABLE_DEPTH_MASK LITERAL2 -ENABLE_DEPTH_SORT LITERAL2 -ENABLE_DEPTH_TEST LITERAL2 -ENABLE_NATIVE_FONTS LITERAL2 -ENABLE_OPENGL_ERRORS LITERAL2 -ENABLE_PURE_STROKE LITERAL2 -ENABLE_TEXTURE_MIPMAPS LITERAL2 -ENABLE_TRANSFORM_CACHE LITERAL2 -ENABLE_STROKE_PERSPECTIVE LITERAL2 -ENTER LITERAL2 keyCode -EPSILON LITERAL2 -ERODE LITERAL2 filter_ -ESC LITERAL2 keyCode -EXCLUSION LITERAL2 blend_ -EXIT LITERAL2 -FX2D LITERAL2 size_ -GIF LITERAL2 -GRAY LITERAL2 filter_ -GREEN_MASK LITERAL2 -GROUP LITERAL2 -HALF LITERAL2 -HALF_PI LITERAL2 HALF_PI -HAND LITERAL2 cursor_ -HARD_LIGHT LITERAL2 blend_ -HINT_COUNT LITERAL2 -HSB LITERAL2 colorMode_ -IMAGE LITERAL2 textureMode_ -INVERT LITERAL2 filter_ -JAVA2D LITERAL2 size_ -JPEG LITERAL2 -LEFT LITERAL2 keyCode -LIGHTEST LITERAL2 blend_ -LINE LITERAL2 createShape_ -LINES LITERAL2 beginShape_ -LINUX LITERAL2 -MACOSX LITERAL2 -MAX_FLOAT LITERAL2 -MAX_INT LITERAL2 -MIN_FLOAT LITERAL2 -MIN_INT LITERAL2 -MITER LITERAL2 stokeJoin_ -MODEL LITERAL2 textMode_ -MOVE LITERAL2 cursor_ -MULTIPLY LITERAL2 blend_ -NORMAL LITERAL2 -NORMALIZED LITERAL2 textureMode_ -NO_DEPTH_TEST LITERAL2 -NTSC LITERAL2 -ONE LITERAL2 -OPAQUE LITERAL2 filter_ -OPEN LITERAL2 -ORTHOGRAPHIC LITERAL2 -OVERLAY LITERAL2 blend_ -PAL LITERAL2 -PDF LITERAL2 size_ -P2D LITERAL2 size_ -P3D LITERAL2 size_ -PERSPECTIVE LITERAL2 -PI LITERAL2 PI -PIE LITERAL2 -PIXEL_CENTER LITERAL2 -POINT LITERAL2 -POINTS LITERAL2 -POSTERIZE LITERAL2 filter_ -PRESS LITERAL2 -PROBLEM LITERAL2 -PROJECT LITERAL2 strokeCap_ -QUAD LITERAL2 createShape_ -QUAD_STRIP LITERAL2 beginShape_ -QUADS LITERAL2 beginShape_ -QUARTER_PI LITERAL2 QUARTER_PI -RAD_TO_DEG LITERAL2 -RADIUS LITERAL2 -RADIANS LITERAL2 -RECT LITERAL2 -RED_MASK LITERAL2 -RELEASE LITERAL2 -REPEAT LITERAL2 -REPLACE LITERAL2 -RETURN LITERAL2 -RGB LITERAL2 colorMode_ -RIGHT LITERAL2 keyCode -ROUND LITERAL2 strokeCap_ -SCREEN LITERAL2 blend_ -SECAM LITERAL2 -SHAPE LITERAL2 textMode_ -SHIFT LITERAL2 -SPAN LITERAL2 fullScreen_ -SPECULAR LITERAL2 -SPHERE LITERAL2 createShape_ -SOFT_LIGHT LITERAL2 blend_ -SQUARE LITERAL2 strokeCap_ -SUBTRACT LITERAL2 blend_ -SVG LITERAL2 -SVIDEO LITERAL2 -TAB LITERAL2 keyCode -TARGA LITERAL2 -TAU LITERAL2 TAU -TEXT LITERAL2 cursor_ -TFF LITERAL2 -THIRD_PI LITERAL2 -THRESHOLD LITERAL2 filter_ -TIFF LITERAL2 -TOP LITERAL2 textAlign_ -TRIANGLE LITERAL2 createShape_ -TRIANGLE_FAN LITERAL2 beginShape_ -TRIANGLES LITERAL2 beginShape_ -TRIANGLE_STRIP LITERAL2 beginShape_ -TUNER LITERAL2 -TWO LITERAL2 -TWO_PI LITERAL2 TWO_PI -UP LITERAL2 keyCode -WAIT LITERAL2 cursor_ -WHITESPACE LITERAL2 - - -# Java keywords (void, import, , etc.) - -abstract KEYWORD1 -break KEYWORD1 break -class KEYWORD1 class -continue KEYWORD1 continue -default KEYWORD1 default -enum KEYWORD1 -extends KEYWORD1 extends -false KEYWORD1 false -final KEYWORD1 final -finally KEYWORD1 -implements KEYWORD1 implements -import KEYWORD1 import -instanceof KEYWORD1 -interface KEYWORD1 -native KEYWORD1 -new KEYWORD1 new -null KEYWORD1 null -package KEYWORD1 -private KEYWORD1 private -protected KEYWORD1 -public KEYWORD1 public -static KEYWORD1 static -strictfp KEYWORD1 -throws KEYWORD1 -transient KEYWORD1 -true KEYWORD1 true -void KEYWORD1 void -volatile KEYWORD1 - - -# Java keywords which can be followed by a parenthesis - -assert KEYWORD6 -case KEYWORD6 case -return KEYWORD6 return -super KEYWORD6 super -this KEYWORD6 this -throw KEYWORD6 - - -# Datatypes - -Array KEYWORD5 Array -ArrayList KEYWORD5 ArrayList -Boolean KEYWORD5 -Byte KEYWORD5 -BufferedReader KEYWORD5 BufferedReader -Character KEYWORD5 -Class KEYWORD5 class -Double KEYWORD5 -Float KEYWORD5 -Integer KEYWORD5 -HashMap KEYWORD5 HashMap -PrintWriter KEYWORD5 PrintWriter -String KEYWORD5 String -StringBuffer KEYWORD5 -StringBuilder KEYWORD5 -Thread KEYWORD5 -boolean KEYWORD5 boolean -byte KEYWORD5 byte -char KEYWORD5 char -color KEYWORD5 color_datatype -double KEYWORD5 double -float KEYWORD5 float -int KEYWORD5 int -long KEYWORD5 long -short KEYWORD5 - - -# Flow structures - -catch KEYWORD3 catch -do KEYWORD3 -for KEYWORD3 for -if KEYWORD3 if -else KEYWORD3 else -switch KEYWORD3 switch -synchronized KEYWORD3 -while KEYWORD3 while -try KEYWORD3 try - -catch FUNCTION3 catch -do FUNCTION3 -for FUNCTION3 for -if FUNCTION3 if -#else FUNCTION3 else -switch FUNCTION3 switch -synchronized FUNCTION3 -while FUNCTION3 while -#try FUNCTION3 try - - -# These items are a part of Processing but, but pages don't generate - -boolean FUNCTION1 booleanconvert_ -byte FUNCTION1 byteconvert_ -cache FUNCTION2 -char FUNCTION1 charconvert_ -start FUNCTION1 -stop FUNCTION1 -breakShape FUNCTION1 -createPath FUNCTION1 -float FUNCTION1 floatconvert_ -int FUNCTION1 intconvert_ -str FUNCTION1 strconvert_ -loadMatrix FUNCTION1 -parseBoolean FUNCTION1 -parseByte FUNCTION1 -parseChar FUNCTION1 -parseFloat FUNCTION1 -parseInt FUNCTION1 -saveFile FUNCTION1 -savePath FUNCTION1 -sketchFile FUNCTION1 -sketchPath FUNCTION1 - -readLine FUNCTION2 BufferedReader_readLine_ -close FUNCTION2 PrintWriter_close_ -flush FUNCTION2 PrintWriter_flush_ -print FUNCTION2 PrintWriter_print_ -println FUNCTION2 PrintWriter_println_ -charAt FUNCTION2 String_charAt_ -equals FUNCTION2 String_equals_ -indexOf FUNCTION2 String_indexOf_ -length FUNCTION2 String_length_ -substring FUNCTION2 String_substring_ -toLowerCase FUNCTION2 String_toLowerCase_ -toUpperCase FUNCTION2 String_toUpperCase_ - -getDouble FUNCTION2 -getLong FUNCTION2 -getColumnTitles FUNCTION2 -getColumnTypes FUNCTION2 -getColumnType FUNCTION2 -setDouble FUNCTION2 -setLong FUNCTION2 - -length KEYWORD2 String - - -# Temporary additions 3 September 2012 as the reference is getting updated -#end FUNCTION1 -#addChild FUNCTION1 - -# Operators are without KEYWORDS - -+= addassign -+ addition -[] arrayaccess -= assign -& bitwiseAND -| bitwiseOR -, comma -// comment -? conditional -{} curlybraces --- decrement -/ divide -/= divideassign -/** doccomment -. dot -== equality -> greaterthan ->= greaterthanorequalto -++ increment -!= inequality -<< leftshift -< lessthan -<= lessthanorequalto -&& logicalAND -! logicalNOT -|| logicalOR -- minus -% modulo -/* multilinecomment -* multiply -*= multiplyassign -() parentheses ->> rightshift -; semicolon --= subtractassign - -# Suppressed from Generate to avoid conflicts with variables inside methods - -width KEYWORD4 width_ -height KEYWORD4 height_ - -PVector FUNCTION1 PVector -ArrayList FUNCTION1 ArrayList -HashMap FUNCTION1 HashMap - -# pixelHeight is not generating correctly: https://github.com/processing/processing-docs/issues/260 - -pixelHeight KEYWORD4 pixelHeight - - -# THE TEXT ABOVE IS HAND-WRITTEN AND FOUND IN THE FILE "keywords_base.txt" in processing/processing-docs/generate -# -# THE TEXT BELOW IS AUTO-GENERATED -# -# SO -# DON'T -# TOUCH -# IT - - -abs FUNCTION1 abs_ -acos FUNCTION1 acos_ -alpha FUNCTION1 alpha_ -ambient FUNCTION1 ambient_ -ambientLight FUNCTION1 ambientLight_ -append FUNCTION1 append_ -applyMatrix FUNCTION1 applyMatrix_ -arc FUNCTION1 arc_ -arrayCopy FUNCTION1 arrayCopy_ -asin FUNCTION1 asin_ -atan FUNCTION1 atan_ -atan2 FUNCTION1 atan2_ -background FUNCTION1 background_ -beginCamera FUNCTION1 beginCamera_ -beginContour FUNCTION1 beginContour_ -beginRaw FUNCTION1 beginRaw_ -beginRecord FUNCTION1 beginRecord_ -beginShape FUNCTION1 beginShape_ -bezier FUNCTION1 bezier_ -bezierDetail FUNCTION1 bezierDetail_ -bezierPoint FUNCTION1 bezierPoint_ -bezierTangent FUNCTION1 bezierTangent_ -bezierVertex FUNCTION1 bezierVertex_ -binary FUNCTION1 binary_ -blend FUNCTION1 blend_ -blendColor FUNCTION1 blendColor_ -blendMode FUNCTION1 blendMode_ -blue FUNCTION1 blue_ -box FUNCTION1 box_ -brightness FUNCTION1 brightness_ -camera FUNCTION1 camera_ -ceil FUNCTION1 ceil_ -clear FUNCTION1 clear_ -clip FUNCTION1 clip_ -color FUNCTION1 color_ -colorMode FUNCTION1 colorMode_ -concat FUNCTION1 concat_ -constrain FUNCTION1 constrain_ -copy FUNCTION1 copy_ -cos FUNCTION1 cos_ -createFont FUNCTION1 createFont_ -createGraphics FUNCTION1 createGraphics_ -createImage FUNCTION1 createImage_ -createInput FUNCTION1 createInput_ -createOutput FUNCTION1 createOutput_ -createReader FUNCTION1 createReader_ -createShape FUNCTION1 createShape_ -createWriter FUNCTION1 createWriter_ -cursor FUNCTION1 cursor_ -curve FUNCTION1 curve_ -curveDetail FUNCTION1 curveDetail_ -curvePoint FUNCTION1 curvePoint_ -curveTangent FUNCTION1 curveTangent_ -curveTightness FUNCTION1 curveTightness_ -curveVertex FUNCTION1 curveVertex_ -day FUNCTION1 day_ -degrees FUNCTION1 degrees_ -delay FUNCTION1 delay_ -directionalLight FUNCTION1 directionalLight_ -displayDensity FUNCTION1 displayDensity_ -displayHeight KEYWORD4 displayHeight -displayWidth KEYWORD4 displayWidth -dist FUNCTION1 dist_ -draw FUNCTION4 draw -ellipse FUNCTION1 ellipse_ -ellipseMode FUNCTION1 ellipseMode_ -emissive FUNCTION1 emissive_ -endCamera FUNCTION1 endCamera_ -endContour FUNCTION1 endContour_ -endRaw FUNCTION1 endRaw_ -endRecord FUNCTION1 endRecord_ -endShape FUNCTION1 endShape_ -exit FUNCTION1 exit_ -exp FUNCTION1 exp_ -expand FUNCTION1 expand_ -fill FUNCTION1 fill_ -filter FUNCTION1 filter_ -FloatDict KEYWORD5 FloatDict -add FUNCTION2 FloatDict_add_ -clear FUNCTION2 FloatDict_clear_ -div FUNCTION2 FloatDict_div_ -get FUNCTION2 FloatDict_get_ -hasKey FUNCTION2 FloatDict_hasKey_ -keyArray FUNCTION2 FloatDict_keyArray_ -keys FUNCTION2 FloatDict_keys_ -mult FUNCTION2 FloatDict_mult_ -remove FUNCTION2 FloatDict_remove_ -set FUNCTION2 FloatDict_set_ -size FUNCTION2 FloatDict_size_ -sortKeys FUNCTION2 FloatDict_sortKeys_ -sortKeysReverse FUNCTION2 FloatDict_sortKeysReverse_ -sortValues FUNCTION2 FloatDict_sortValues_ -sortValuesReverse FUNCTION2 FloatDict_sortValuesReverse_ -sub FUNCTION2 FloatDict_sub_ -valueArray FUNCTION2 FloatDict_valueArray_ -values FUNCTION2 FloatDict_values_ -FloatList KEYWORD5 FloatList -add FUNCTION2 FloatList_add_ -append FUNCTION2 FloatList_append_ -array FUNCTION2 FloatList_array_ -clear FUNCTION2 FloatList_clear_ -div FUNCTION2 FloatList_div_ -get FUNCTION2 FloatList_get_ -hasValue FUNCTION2 FloatList_hasValue_ -max FUNCTION2 FloatList_max_ -min FUNCTION2 FloatList_min_ -mult FUNCTION2 FloatList_mult_ -remove FUNCTION2 FloatList_remove_ -reverse FUNCTION2 FloatList_reverse_ -set FUNCTION2 FloatList_set_ -shuffle FUNCTION2 FloatList_shuffle_ -size FUNCTION2 FloatList_size_ -sort FUNCTION2 FloatList_sort_ -sortReverse FUNCTION2 FloatList_sortReverse_ -sub FUNCTION2 FloatList_sub_ -floor FUNCTION1 floor_ -focused KEYWORD4 focused -frameCount KEYWORD4 frameCount -frameRate KEYWORD4 frameRate -frameRate FUNCTION1 frameRate_ -frustum FUNCTION1 frustum_ -fullScreen FUNCTION1 fullScreen_ -get FUNCTION1 get_ -green FUNCTION1 green_ -HALF_PI LITERAL2 HALF_PI -hex FUNCTION1 hex_ -hint FUNCTION1 hint_ -hour FUNCTION1 hour_ -hue FUNCTION1 hue_ -image FUNCTION1 image_ -imageMode FUNCTION1 imageMode_ -IntDict KEYWORD5 IntDict -add FUNCTION2 IntDict_add_ -clear FUNCTION2 IntDict_clear_ -div FUNCTION2 IntDict_div_ -get FUNCTION2 IntDict_get_ -hasKey FUNCTION2 IntDict_hasKey_ -increment FUNCTION2 IntDict_increment_ -keyArray FUNCTION2 IntDict_keyArray_ -keys FUNCTION2 IntDict_keys_ -mult FUNCTION2 IntDict_mult_ -remove FUNCTION2 IntDict_remove_ -set FUNCTION2 IntDict_set_ -size FUNCTION2 IntDict_size_ -sortKeys FUNCTION2 IntDict_sortKeys_ -sortKeysReverse FUNCTION2 IntDict_sortKeysReverse_ -sortValues FUNCTION2 IntDict_sortValues_ -sortValuesReverse FUNCTION2 IntDict_sortValuesReverse_ -sub FUNCTION2 IntDict_sub_ -valueArray FUNCTION2 IntDict_valueArray_ -values FUNCTION2 IntDict_values_ -IntList KEYWORD5 IntList -add FUNCTION2 IntList_add_ -append FUNCTION2 IntList_append_ -array FUNCTION2 IntList_array_ -clear FUNCTION2 IntList_clear_ -div FUNCTION2 IntList_div_ -get FUNCTION2 IntList_get_ -hasValue FUNCTION2 IntList_hasValue_ -increment FUNCTION2 IntList_increment_ -max FUNCTION2 IntList_max_ -min FUNCTION2 IntList_min_ -mult FUNCTION2 IntList_mult_ -remove FUNCTION2 IntList_remove_ -reverse FUNCTION2 IntList_reverse_ -set FUNCTION2 IntList_set_ -shuffle FUNCTION2 IntList_shuffle_ -size FUNCTION2 IntList_size_ -sort FUNCTION2 IntList_sort_ -sortReverse FUNCTION2 IntList_sortReverse_ -sub FUNCTION2 IntList_sub_ -join FUNCTION1 join_ -JSONArray KEYWORD5 JSONArray -append FUNCTION2 JSONArray_append_ -getBoolean FUNCTION2 JSONArray_getBoolean_ -getFloat FUNCTION2 JSONArray_getFloat_ -getInt FUNCTION2 JSONArray_getInt_ -getIntArray FUNCTION2 JSONArray_getIntArray_ -getJSONArray FUNCTION2 JSONArray_getJSONArray_ -getJSONObject FUNCTION2 JSONArray_getJSONObject_ -getString FUNCTION2 JSONArray_getString_ -getStringArray FUNCTION2 JSONArray_getStringArray_ -isNull FUNCTION2 JSONArray_isNull_ -remove FUNCTION2 JSONArray_remove_ -setBoolean FUNCTION2 JSONArray_setBoolean_ -setFloat FUNCTION2 JSONArray_setFloat_ -setInt FUNCTION2 JSONArray_setInt_ -setJSONArray FUNCTION2 JSONArray_setJSONArray_ -setJSONObject FUNCTION2 JSONArray_setJSONObject_ -setString FUNCTION2 JSONArray_setString_ -size FUNCTION2 JSONArray_size_ -JSONObject KEYWORD5 JSONObject -getBoolean FUNCTION2 JSONObject_getBoolean_ -getFloat FUNCTION2 JSONObject_getFloat_ -getInt FUNCTION2 JSONObject_getInt_ -getJSONArray FUNCTION2 JSONObject_getJSONArray_ -getJSONObject FUNCTION2 JSONObject_getJSONObject_ -getString FUNCTION2 JSONObject_getString_ -isNull FUNCTION2 JSONObject_isNull_ -setBoolean FUNCTION2 JSONObject_setBoolean_ -setFloat FUNCTION2 JSONObject_setFloat_ -setInt FUNCTION2 JSONObject_setInt_ -setJSONArray FUNCTION2 JSONObject_setJSONArray_ -setJSONObject FUNCTION2 JSONObject_setJSONObject_ -setString FUNCTION2 JSONObject_setString_ -key KEYWORD4 key -keyCode KEYWORD4 keyCode -keyPressed FUNCTION4 keyPressed -keyPressed KEYWORD4 keyPressed -keyReleased FUNCTION4 keyReleased -keyTyped FUNCTION4 keyTyped -launch FUNCTION1 launch_ -lerp FUNCTION1 lerp_ -lerpColor FUNCTION1 lerpColor_ -lightFalloff FUNCTION1 lightFalloff_ -lights FUNCTION1 lights_ -lightSpecular FUNCTION1 lightSpecular_ -line FUNCTION1 line_ -loadBytes FUNCTION1 loadBytes_ -loadFont FUNCTION1 loadFont_ -loadImage FUNCTION1 loadImage_ -loadJSONArray FUNCTION1 loadJSONArray_ -loadJSONObject FUNCTION1 loadJSONObject_ -loadPixels FUNCTION1 loadPixels_ -loadShader FUNCTION1 loadShader_ -loadShape FUNCTION1 loadShape_ -loadStrings FUNCTION1 loadStrings_ -loadTable FUNCTION1 loadTable_ -loadXML FUNCTION1 loadXML_ -log FUNCTION1 log_ -loop FUNCTION1 loop_ -mag FUNCTION1 mag_ -map FUNCTION1 map_ -match FUNCTION1 match_ -matchAll FUNCTION1 matchAll_ -max FUNCTION1 max_ -millis FUNCTION1 millis_ -min FUNCTION1 min_ -minute FUNCTION1 minute_ -modelX FUNCTION1 modelX_ -modelY FUNCTION1 modelY_ -modelZ FUNCTION1 modelZ_ -month FUNCTION1 month_ -mouseButton KEYWORD4 mouseButton -mouseClicked FUNCTION4 mouseClicked -mouseDragged FUNCTION4 mouseDragged -mouseMoved FUNCTION4 mouseMoved -mousePressed FUNCTION4 mousePressed -mousePressed KEYWORD4 mousePressed -mouseReleased FUNCTION4 mouseReleased -mouseWheel FUNCTION4 mouseWheel -mouseX KEYWORD4 mouseX -mouseY KEYWORD4 mouseY -nf FUNCTION1 nf_ -nfc FUNCTION1 nfc_ -nfp FUNCTION1 nfp_ -nfs FUNCTION1 nfs_ -noClip FUNCTION1 noClip_ -noCursor FUNCTION1 noCursor_ -noFill FUNCTION1 noFill_ -noise FUNCTION1 noise_ -noiseDetail FUNCTION1 noiseDetail_ -noiseSeed FUNCTION1 noiseSeed_ -noLights FUNCTION1 noLights_ -noLoop FUNCTION1 noLoop_ -norm FUNCTION1 norm_ -normal FUNCTION1 normal_ -noSmooth FUNCTION1 noSmooth_ -noStroke FUNCTION1 noStroke_ -noTint FUNCTION1 noTint_ -ortho FUNCTION1 ortho_ -parseJSONArray FUNCTION1 parseJSONArray_ -parseJSONObject FUNCTION1 parseJSONObject_ -parseXML FUNCTION1 parseXML_ -perspective FUNCTION1 perspective_ -PFont KEYWORD5 PFont -list FUNCTION1 PFont_list_ -PGraphics KEYWORD5 PGraphics -beginDraw FUNCTION2 PGraphics_beginDraw_ -endDraw FUNCTION2 PGraphics_endDraw_ -PI LITERAL2 PI -PImage KEYWORD5 PImage -blend FUNCTION2 PImage_blend_ -copy FUNCTION2 PImage_copy_ -filter FUNCTION2 PImage_filter_ -get FUNCTION2 PImage_get_ -loadPixels FUNCTION2 PImage_loadPixels_ -mask FUNCTION2 PImage_mask_ -pixels KEYWORD2 PImage_pixels -resize FUNCTION2 PImage_resize_ -save FUNCTION2 PImage_save_ -set FUNCTION2 PImage_set_ -updatePixels FUNCTION2 PImage_updatePixels_ -pixelDensity FUNCTION1 pixelDensity_ -pixelHeight FUNCTION1 pixelHeight_ -pixels KEYWORD4 pixels -pixelWidth KEYWORD4 pixelWidth -pmouseX KEYWORD4 pmouseX -pmouseY KEYWORD4 pmouseY -point FUNCTION1 point_ -pointLight FUNCTION1 pointLight_ -popMatrix FUNCTION1 popMatrix_ -popStyle FUNCTION1 popStyle_ -pow FUNCTION1 pow_ -print FUNCTION1 print_ -printArray FUNCTION1 printArray_ -printCamera FUNCTION1 printCamera_ -println FUNCTION1 println_ -printMatrix FUNCTION1 printMatrix_ -printProjection FUNCTION1 printProjection_ -PShader KEYWORD5 PShader -PShader FUNCTION2 PShader_set_ -PShape KEYWORD5 PShape -addChild FUNCTION2 PShape_addChild_ -beginContour FUNCTION2 PShape_beginContour_ -beginShape FUNCTION2 PShape_beginShape_ -disableStyle FUNCTION2 PShape_disableStyle_ -enableStyle FUNCTION2 PShape_enableStyle_ -endContour FUNCTION2 PShape_endContour_ -endShape FUNCTION2 PShape_endShape_ -getChild FUNCTION2 PShape_getChild_ -getChildCount FUNCTION2 PShape_getChildCount_ -getVertex FUNCTION2 PShape_getVertex_ -getVertexCount FUNCTION2 PShape_getVertexCount_ -isVisible FUNCTION2 PShape_isVisible_ -resetMatrix FUNCTION2 PShape_resetMatrix_ -rotate FUNCTION2 PShape_rotate_ -rotateX FUNCTION2 PShape_rotateX_ -rotateY FUNCTION2 PShape_rotateY_ -rotateZ FUNCTION2 PShape_rotateZ_ -scale FUNCTION2 PShape_scale_ -setFill FUNCTION2 PShape_setFill_ -setStroke FUNCTION2 PShape_setStroke_ -setVertex FUNCTION2 PShape_setVertex_ -setVisible FUNCTION2 PShape_setVisible_ -translate FUNCTION2 PShape_translate_ -pushMatrix FUNCTION1 pushMatrix_ -pushStyle FUNCTION1 pushStyle_ -PVector KEYWORD5 PVector -add FUNCTION2 PVector_add_ -angleBetween FUNCTION2 PVector_angleBetween_ -array FUNCTION2 PVector_array_ -copy FUNCTION2 PVector_copy_ -cross FUNCTION2 PVector_cross_ -dist FUNCTION2 PVector_dist_ -div FUNCTION2 PVector_div_ -dot FUNCTION2 PVector_dot_ -fromAngle FUNCTION2 PVector_fromAngle_ -get FUNCTION2 PVector_get_ -heading FUNCTION2 PVector_heading_ -lerp FUNCTION2 PVector_lerp_ -limit FUNCTION2 PVector_limit_ -mag FUNCTION2 PVector_mag_ -magSq FUNCTION2 PVector_magSq_ -mult FUNCTION2 PVector_mult_ -normalize FUNCTION2 PVector_normalize_ -random2D FUNCTION2 PVector_random2D_ -random3D FUNCTION2 PVector_random3D_ -rotate FUNCTION2 PVector_rotate_ -set FUNCTION2 PVector_set_ -setMag FUNCTION2 PVector_setMag_ -sub FUNCTION2 PVector_sub_ -quad FUNCTION1 quad_ -quadraticVertex FUNCTION1 quadraticVertex_ -QUARTER_PI LITERAL2 QUARTER_PI -radians FUNCTION1 radians_ -random FUNCTION1 random_ -randomGaussian FUNCTION1 randomGaussian_ -randomSeed FUNCTION1 randomSeed_ -rect FUNCTION1 rect_ -rectMode FUNCTION1 rectMode_ -red FUNCTION1 red_ -redraw FUNCTION1 redraw_ -requestImage FUNCTION1 requestImage_ -resetMatrix FUNCTION1 resetMatrix_ -resetShader FUNCTION1 resetShader_ -reverse FUNCTION1 reverse_ -rotate FUNCTION1 rotate_ -rotateX FUNCTION1 rotateX_ -rotateY FUNCTION1 rotateY_ -rotateZ FUNCTION1 rotateZ_ -round FUNCTION1 round_ -saturation FUNCTION1 saturation_ -save FUNCTION1 save_ -saveBytes FUNCTION1 saveBytes_ -saveFrame FUNCTION1 saveFrame_ -saveJSONArray FUNCTION1 saveJSONArray_ -saveJSONObject FUNCTION1 saveJSONObject_ -saveStream FUNCTION1 saveStream_ -saveStrings FUNCTION1 saveStrings_ -saveTable FUNCTION1 saveTable_ -saveXML FUNCTION1 saveXML_ -scale FUNCTION1 scale_ -screenX FUNCTION1 screenX_ -screenY FUNCTION1 screenY_ -screenZ FUNCTION1 screenZ_ -second FUNCTION1 second_ -selectFolder FUNCTION1 selectFolder_ -selectInput FUNCTION1 selectInput_ -selectOutput FUNCTION1 selectOutput_ -set FUNCTION1 set_ -settings FUNCTION4 settings -setup FUNCTION4 setup -shader FUNCTION1 shader_ -shape FUNCTION1 shape_ -shapeMode FUNCTION1 shapeMode_ -shearX FUNCTION1 shearX_ -shearY FUNCTION1 shearY_ -shininess FUNCTION1 shininess_ -shorten FUNCTION1 shorten_ -sin FUNCTION1 sin_ -size FUNCTION1 size_ -smooth FUNCTION1 smooth_ -sort FUNCTION1 sort_ -specular FUNCTION1 specular_ -sphere FUNCTION1 sphere_ -sphereDetail FUNCTION1 sphereDetail_ -splice FUNCTION1 splice_ -split FUNCTION1 split_ -splitTokens FUNCTION1 splitTokens_ -spotLight FUNCTION1 spotLight_ -sq FUNCTION1 sq_ -sqrt FUNCTION1 sqrt_ -StringDict KEYWORD5 StringDict -clear FUNCTION2 StringDict_clear_ -get FUNCTION2 StringDict_get_ -hasKey FUNCTION2 StringDict_hasKey_ -keyArray FUNCTION2 StringDict_keyArray_ -keys FUNCTION2 StringDict_keys_ -remove FUNCTION2 StringDict_remove_ -set FUNCTION2 StringDict_set_ -size FUNCTION2 StringDict_size_ -sortKeys FUNCTION2 StringDict_sortKeys_ -sortKeysReverse FUNCTION2 StringDict_sortKeysReverse_ -sortValues FUNCTION2 StringDict_sortValues_ -sortValuesReverse FUNCTION2 StringDict_sortValuesReverse_ -valueArray FUNCTION2 StringDict_valueArray_ -values FUNCTION2 StringDict_values_ -StringList KEYWORD5 StringList -append FUNCTION2 StringList_append_ -array FUNCTION2 StringList_array_ -clear FUNCTION2 StringList_clear_ -get FUNCTION2 StringList_get_ -hasValue FUNCTION2 StringList_hasValue_ -lower FUNCTION2 StringList_lower_ -remove FUNCTION2 StringList_remove_ -reverse FUNCTION2 StringList_reverse_ -set FUNCTION2 StringList_set_ -shuffle FUNCTION2 StringList_shuffle_ -size FUNCTION2 StringList_size_ -sort FUNCTION2 StringList_sort_ -sortReverse FUNCTION2 StringList_sortReverse_ -upper FUNCTION2 StringList_upper_ -stroke FUNCTION1 stroke_ -strokeCap FUNCTION1 strokeCap_ -strokeJoin FUNCTION1 strokeJoin_ -strokeWeight FUNCTION1 strokeWeight_ -subset FUNCTION1 subset_ -Table KEYWORD5 Table -addColumn FUNCTION2 Table_addColumn_ -addRow FUNCTION2 Table_addRow_ -clearRows FUNCTION2 Table_clearRows_ -findRow FUNCTION2 Table_findRow_ -findRows FUNCTION2 Table_findRows_ -getColumnCount FUNCTION2 Table_getColumnCount_ -getFloat FUNCTION2 Table_getFloat_ -getInt FUNCTION2 Table_getInt_ -getRow FUNCTION2 Table_getRow_ -getRowCount FUNCTION2 Table_getRowCount_ -getString FUNCTION2 Table_getString_ -getStringColumn FUNCTION2 Table_getStringColumn_ -matchRow FUNCTION2 Table_matchRow_ -matchRows FUNCTION2 Table_matchRows_ -removeColumn FUNCTION2 Table_removeColumn_ -removeRow FUNCTION2 Table_removeRow_ -removeTokens FUNCTION2 Table_removeTokens_ -rows FUNCTION2 Table_rows_ -setFloat FUNCTION2 Table_setFloat_ -setInt FUNCTION2 Table_setInt_ -setString FUNCTION2 Table_setString_ -trim FUNCTION2 Table_trim_ -TableRow KEYWORD5 TableRow -getColumnCount FUNCTION2 TableRow_getColumnCount_ -getColumnTitle FUNCTION2 TableRow_getColumnTitle_ -getFloat FUNCTION2 TableRow_getFloat_ -getInt FUNCTION2 TableRow_getInt_ -getString FUNCTION2 TableRow_getString_ -setFloat FUNCTION2 TableRow_setFloat_ -setInt FUNCTION2 TableRow_setInt_ -setString FUNCTION2 TableRow_setString_ -tan FUNCTION1 tan_ -TAU LITERAL2 TAU -text FUNCTION1 text_ -textAlign FUNCTION1 textAlign_ -textAscent FUNCTION1 textAscent_ -textDescent FUNCTION1 textDescent_ -textFont FUNCTION1 textFont_ -textLeading FUNCTION1 textLeading_ -textMode FUNCTION1 textMode_ -textSize FUNCTION1 textSize_ -texture FUNCTION1 texture_ -textureMode FUNCTION1 textureMode_ -textureWrap FUNCTION1 textureWrap_ -textWidth FUNCTION1 textWidth_ -thread FUNCTION1 thread_ -tint FUNCTION1 tint_ -translate FUNCTION1 translate_ -triangle FUNCTION1 triangle_ -trim FUNCTION1 trim_ -TWO_PI LITERAL2 TWO_PI -unbinary FUNCTION1 unbinary_ -unhex FUNCTION1 unhex_ -updatePixels FUNCTION1 updatePixels_ -vertex FUNCTION1 vertex_ -XML KEYWORD5 XML -addChild FUNCTION2 XML_addChild_ -format FUNCTION2 XML_format_ -getAttributeCount FUNCTION2 XML_getAttributeCount_ -getChild FUNCTION2 XML_getChild_ -getChildren FUNCTION2 XML_getChildren_ -getContent FUNCTION2 XML_getContent_ -getFloat FUNCTION2 XML_getFloat_ -getContent FUNCTION2 XML_getFloatContent_ -getInt FUNCTION2 XML_getInt_ -getContent FUNCTION2 XML_getIntContent_ -getName FUNCTION2 XML_getName_ -getParent FUNCTION2 XML_getParent_ -getString FUNCTION2 XML_getString_ -hasAttribute FUNCTION2 XML_hasAttribute_ -hasChildren FUNCTION2 XML_hasChildren_ -listAttributes FUNCTION2 XML_listAttributes_ -listChildren FUNCTION2 XML_listChildren_ -removeChild FUNCTION2 XML_removeChild_ -setContent FUNCTION2 XML_setContent_ -setFloat FUNCTION2 XML_setFloat_ -setInt FUNCTION2 XML_setInt_ -setName FUNCTION2 XML_setName_ -setString FUNCTION2 XML_setString_ -toString FUNCTION2 XML_toString_ -year FUNCTION1 year_ diff --git a/Java/Processing/processing-3.3.6/modes/java/libraries/dxf/.classpath b/Java/Processing/processing-3.3.6/modes/java/libraries/dxf/.classpath deleted file mode 100644 index 83403fb..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/libraries/dxf/.classpath +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/libraries/dxf/.project b/Java/Processing/processing-3.3.6/modes/java/libraries/dxf/.project deleted file mode 100644 index 99ab093..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/libraries/dxf/.project +++ /dev/null @@ -1,17 +0,0 @@ - - - processing-dxf - - - - - - org.eclipse.jdt.core.javabuilder - - - - - - org.eclipse.jdt.core.javanature - - diff --git a/Java/Processing/processing-3.3.6/modes/java/libraries/dxf/.settings/org.eclipse.jdt.core.prefs b/Java/Processing/processing-3.3.6/modes/java/libraries/dxf/.settings/org.eclipse.jdt.core.prefs deleted file mode 100644 index 2770cf1..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/libraries/dxf/.settings/org.eclipse.jdt.core.prefs +++ /dev/null @@ -1,12 +0,0 @@ -#Sat Nov 12 10:56:00 CST 2011 -eclipse.preferences.version=1 -org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 -org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.compliance=1.6 -org.eclipse.jdt.core.compiler.debug.lineNumber=generate -org.eclipse.jdt.core.compiler.debug.localVariable=generate -org.eclipse.jdt.core.compiler.debug.sourceFile=generate -org.eclipse.jdt.core.compiler.problem.assertIdentifier=error -org.eclipse.jdt.core.compiler.problem.enumIdentifier=error -org.eclipse.jdt.core.compiler.source=1.6 diff --git a/Java/Processing/processing-3.3.6/modes/java/libraries/dxf/build.xml b/Java/Processing/processing-3.3.6/modes/java/libraries/dxf/build.xml deleted file mode 100644 index f5c0ed0..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/libraries/dxf/build.xml +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/libraries/dxf/dxfviewer.jar b/Java/Processing/processing-3.3.6/modes/java/libraries/dxf/dxfviewer.jar deleted file mode 100644 index 19a5dec..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/libraries/dxf/dxfviewer.jar and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/libraries/dxf/examples/SimpleExport/SimpleExport.pde b/Java/Processing/processing-3.3.6/modes/java/libraries/dxf/examples/SimpleExport/SimpleExport.pde deleted file mode 100644 index 43c6c0d..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/libraries/dxf/examples/SimpleExport/SimpleExport.pde +++ /dev/null @@ -1,48 +0,0 @@ -/** - * Simple DXF Export - * by Simon Greenwold. - * - * Press the 'R' key to export a DXF file. - */ - - -import processing.dxf.*; -boolean record = false; - -void setup() { - size(400, 400, P3D); - noStroke(); - sphereDetail(12); -} - -void draw() { - if (record == true) { - beginRaw(DXF, "output.dxf"); // Start recording to the file - } - lights(); - background(0); - translate(width / 3, height / 3, -200); - rotateZ(map(mouseY, 0, height, 0, PI)); - rotateY(map(mouseX, 0, width, 0, HALF_PI)); - for (int y = -2; y < 2; y++) { - for (int x = -2; x < 2; x++) { - for (int z = -2; z < 2; z++) { - pushMatrix(); - translate(120*x, 120*y, -120*z); - sphere(30); - popMatrix(); - } - } - } - if (record == true) { - endRaw(); - record = false; // Stop recording to the file - } -} - -void keyPressed() { - if (key == 'R' || key == 'r') { // Press R to save the file - record = true; - } -} - diff --git a/Java/Processing/processing-3.3.6/modes/java/libraries/dxf/library.properties b/Java/Processing/processing-3.3.6/modes/java/libraries/dxf/library.properties deleted file mode 100644 index ba57e88..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/libraries/dxf/library.properties +++ /dev/null @@ -1,2 +0,0 @@ -name = DXF Export -version = 1 diff --git a/Java/Processing/processing-3.3.6/modes/java/libraries/dxf/library/dxf.jar b/Java/Processing/processing-3.3.6/modes/java/libraries/dxf/library/dxf.jar deleted file mode 100644 index 658ce98..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/libraries/dxf/library/dxf.jar and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/libraries/dxf/src/processing/dxf/RawDXF.java b/Java/Processing/processing-3.3.6/modes/java/libraries/dxf/src/processing/dxf/RawDXF.java deleted file mode 100644 index 1de48e4..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/libraries/dxf/src/processing/dxf/RawDXF.java +++ /dev/null @@ -1,403 +0,0 @@ -/* -*- mode: java; c-basic-offset: 2; indent-tabs-mode: nil -*- */ - -/* - * RawDXF - Code to write DXF files with beginRaw/endRaw - * An extension for the Processing project - http://processing.org - *

- * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - *

- * This library 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 - * Lesser General Public License for more details. - *

- * You should have received a copy of the GNU Lesser General - * Public License along with the Processing project; if not, - * write to the Free Software Foundation, Inc., 59 Temple Place, - * Suite 330, Boston, MA 02111-1307 USA - */ - -package processing.dxf; - -import java.io.*; - -import processing.core.*; - - -/** - * A simple library to write DXF files with Processing. - * Because this is used with beginRaw() and endRaw(), only individual - * triangles and (discontinuous) line segments will be written to the file. - *

- * Use something like a keyPressed() in PApplet to trigger it, - * to avoid writing a bazillion .dxf files. - *

- * Usually, the file will be saved to the sketch's folder. - * Use Sketch → Show Sketch Folder to see it from the PDE. - *

- * A simple example of how to use: - *

- * import processing.dxf.*;
- *
- * boolean record;
- *
- * void setup() {
- *   size(500, 500, P3D);
- * }
- *
- * void keyPressed() {
- *   // use a key press so that it doesn't make a million files
- *   if (key == 'r') record = true;
- * }
- *
- * void draw() {
- *   if (record) {
- *     beginRaw(DXF, "output.dxf");
- *   }
- *
- *   // do all your drawing here
- *
- *   if (record) {
- *     endRaw();
- *     record = false;
- *   }
- * }
- * 
- * or to use it and be able to control the current layer: - *
- * import processing.dxf.*;
- *
- * boolean record;
- * RawDXF dxf;
- *
- * void setup() {
- *   size(500, 500, P3D);
- * }
- *
- * void keyPressed() {
- *   // use a key press so that it doesn't make a million files
- *   if (key == 'r') record = true;
- * }
- *
- * void draw() {
- *   if (record) {
- *     dxf = (RawDXF) createGraphics(width, height, DXF, "output.dxf");
- *     beginRaw(dxf);
- *   }
- *
- *   // do all your drawing here, and to set the layer, call:
- *   // if (record) {
- *   //   dxf.setLayer(num);
- *   // }
- *   // where 'num' is an integer.
- *   // the default is zero, or you can set it to whatever.
- *
- *   if (record) {
- *     endRaw();
- *     record = false;
- *     dxf = null;
- *   }
- * }
- * 
- * Note that even though this class is a subclass of PGraphics, it only - * implements the parts of the API that are necessary for beginRaw/endRaw. - *

- * Based on the original DXF writer from Simon Greenwold, February 2004. - * Updated for Processing 0070 by Ben Fry in September 2004, - * and again for Processing beta in April 2005. - * Rewritten to support beginRaw/endRaw by Ben Fry in February 2006. - * Updated again for inclusion as a core library in March 2006. - * Constructor modifications in September 2008 as we approach 1.0. - */ -public class RawDXF extends PGraphics { - - File file; - PrintWriter writer; - int currentLayer; - - - public RawDXF() { } - - - public void setPath(String path) { - this.path = path; - if (path != null) { - file = new File(path); - if (!file.isAbsolute()) file = null; - } - if (file == null) { - throw new RuntimeException("DXF export requires an absolute path " + - "for the location of the output file."); - } - } - - - // .............................................................. - - - protected void allocate() { - /* - for (int i = 0; i < MAX_TRI_LAYERS; i++) { - layerList[i] = NO_LAYER; - } - */ - setLayer(0); - } - - - public void dispose() { - writeFooter(); - - writer.flush(); - writer.close(); - writer = null; - } - - - public boolean displayable() { - return false; // just in case someone wants to use this on its own - } - - - public boolean is2D() { - return false; - } - - - public boolean is3D() { - return true; - } - - - // .............................................................. - - - public void beginDraw() { - // have to create file object here, because the name isn't yet - // available in allocate() - if (writer == null) { - try { - writer = new PrintWriter(new FileWriter(file)); - } catch (IOException e) { - throw new RuntimeException(e); // java 1.4+ - } - writeHeader(); - } - } - - - public void endDraw() { - writer.flush(); - } - - - // .............................................................. - - - /** - * Set the current layer being used in the DXF file. - * The default is zero. - */ - public void setLayer(int layer) { - currentLayer = layer; - } - - - // .............................................................. - - - private void writeHeader() { - writer.println("0"); - writer.println("SECTION"); - writer.println("2"); - writer.println("ENTITIES"); - } - - - private void writeFooter() { - writer.println("0"); - writer.println("ENDSEC"); - writer.println("0"); - writer.println("EOF"); - } - - - /** - * Write a command on one line (as a String), then start a new line - * and write out a formatted float. Available for anyone who wants to - * insert additional commands into the DXF stream. - */ - public void write(String cmd, float val) { - writer.println(cmd); - // Don't number format, will cause trouble on systems that aren't en-US - // http://dev.processing.org/bugs/show_bug.cgi?id=495 - writer.println(val); - } - - - /** - * Write a line to the dxf file. Available for anyone who wants to - * insert additional commands into the DXF stream. - */ - public void println(String what) { - writer.println(what); - } - - - protected void writeLine(int index1, int index2) { - writer.println("0"); - writer.println("LINE"); - - // write out the layer - writer.println("8"); - writer.println(String.valueOf(currentLayer)); - - write("10", vertices[index1][X]); - write("20", vertices[index1][Y]); - write("30", vertices[index1][Z]); - - write("11", vertices[index2][X]); - write("21", vertices[index2][Y]); - write("31", vertices[index2][Z]); - } - - - /* - protected void writeLineStrip() { - writeLine(); - // shift the last vertex to be the first vertex - System.arraycopy(vertices[1], 0, vertices[0], 0, vertices[1].length); - vertexCount = 1; - } - */ - - - protected void writeTriangle() { - writer.println("0"); - writer.println("3DFACE"); - - // write out the layer - writer.println("8"); - /* - if (i < MAX_TRI_LAYERS) { - if (layerList[i] >= 0) { - currentLayer = layerList[i]; - } - } - */ - writer.println(String.valueOf(currentLayer)); - - write("10", vertices[0][X]); - write("20", vertices[0][Y]); - write("30", vertices[0][Z]); - - write("11", vertices[1][X]); - write("21", vertices[1][Y]); - write("31", vertices[1][Z]); - - write("12", vertices[2][X]); - write("22", vertices[2][Y]); - write("32", vertices[2][Z]); - - // Without adding EPSILON, Rhino kinda freaks out. - // A face is actually a quad, not a triangle, - // so instead kinda fudging the final point here. - write("13", vertices[2][X] + EPSILON); - write("23", vertices[2][Y] + EPSILON); - write("33", vertices[2][Z] + EPSILON); - - vertexCount = 0; - } - - - // .............................................................. - - - public void beginShape(int kind) { - shape = kind; - - if ((shape != LINES) && - (shape != TRIANGLES) && - (shape != POLYGON)) { - String err = - "RawDXF can only be used with beginRaw(), " + - "because it only supports lines and triangles"; - throw new RuntimeException(err); - } - - if ((shape == POLYGON) && fill) { - throw new RuntimeException("DXF Export only supports non-filled shapes."); - } - - vertexCount = 0; - } - - - public void vertex(float x, float y) { - vertex(x, y, 0); - } - - - public void vertex(float x, float y, float z) { - float vertex[] = vertices[vertexCount]; - - vertex[X] = x; // note: not mx, my, mz like PGraphics3 - vertex[Y] = y; - vertex[Z] = z; - - if (fill) { - vertex[R] = fillR; - vertex[G] = fillG; - vertex[B] = fillB; - vertex[A] = fillA; - } - - if (stroke) { - vertex[SR] = strokeR; - vertex[SG] = strokeG; - vertex[SB] = strokeB; - vertex[SA] = strokeA; - vertex[SW] = strokeWeight; - } - - if (textureImage != null) { // for the future? - vertex[U] = textureU; - vertex[V] = textureV; - } - vertexCount++; - - if ((shape == LINES) && (vertexCount == 2)) { - writeLine(0, 1); - vertexCount = 0; - -/* - } else if ((shape == LINE_STRIP) && (vertexCount == 2)) { - writeLineStrip(); -*/ - - } else if ((shape == TRIANGLES) && (vertexCount == 3)) { - writeTriangle(); - } - } - - - public void endShape(int mode) { - if (shape == POLYGON) { - for (int i = 0; i < vertexCount - 1; i++) { - writeLine(i, i+1); - } - if (mode == CLOSE) { - writeLine(vertexCount - 1, 0); - } - } - /* - if ((vertexCount != 0) && - ((shape != LINE_STRIP) && (vertexCount != 1))) { - System.err.println("Extra vertex boogers found."); - } - */ - } -} diff --git a/Java/Processing/processing-3.3.6/modes/java/libraries/io/build.xml b/Java/Processing/processing-3.3.6/modes/java/libraries/io/build.xml deleted file mode 100644 index 0e9e102..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/libraries/io/build.xml +++ /dev/null @@ -1,74 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/libraries/io/examples/I2CCompass/I2CCompass.pde b/Java/Processing/processing-3.3.6/modes/java/libraries/io/examples/I2CCompass/I2CCompass.pde deleted file mode 100644 index 079a7bc..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/libraries/io/examples/I2CCompass/I2CCompass.pde +++ /dev/null @@ -1,43 +0,0 @@ -import processing.io.*; -I2C i2c; - -// HMC6352 is a digital compass module using I2C -// datasheet: https://www.sparkfun.com/datasheets/Components/HMC6352.pdf -// see setup.png in the sketch folder for wiring details - -void setup() { - //printArray(I2C.list()); - i2c = new I2C(I2C.list()[0]); - setHeadingMode(); -} - -void draw() { - background(255); - float deg = getHeading(); - println(deg + " degrees"); - line(width/2, height/2, width/2+sin(radians(deg))*width/2, height/2-cos(radians(deg))*height/2); -} - -void setHeadingMode() { - i2c.beginTransmission(0x21); - // command byte for writing to EEPROM - i2c.write(0x77); - // address of the output data control byte - i2c.write(0x4e); - // give us the plain heading - i2c.write(0x00); - i2c.endTransmission(); -} - -float getHeading() { - i2c.beginTransmission(0x21); - // command byte for reading the data - i2c.write(0x41); - byte[] in = i2c.read(2); - i2c.endTransmission(); - // put bytes together to tenth of degrees - // & 0xff makes sure the byte is not interpreted as a negative value - int deg = (in[0] & 0xff) << 8 | (in[1] & 0xff); - // return degrees - return deg / 10.0; -} diff --git a/Java/Processing/processing-3.3.6/modes/java/libraries/io/examples/I2CCompass/setup.png b/Java/Processing/processing-3.3.6/modes/java/libraries/io/examples/I2CCompass/setup.png deleted file mode 100644 index 2e322cb..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/libraries/io/examples/I2CCompass/setup.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/libraries/io/examples/I2CDigitalAnalog/I2CDigitalAnalog.pde b/Java/Processing/processing-3.3.6/modes/java/libraries/io/examples/I2CDigitalAnalog/I2CDigitalAnalog.pde deleted file mode 100644 index 66f034f..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/libraries/io/examples/I2CDigitalAnalog/I2CDigitalAnalog.pde +++ /dev/null @@ -1,27 +0,0 @@ -import processing.io.*; -I2C i2c; - -// MCP4725 is a Digital-to-Analog converter using I2C -// datasheet: http://ww1.microchip.com/downloads/en/DeviceDoc/22039d.pdf - -void setup() { - //printArray(I2C.list()); - i2c = new I2C(I2C.list()[0]); -} - -void draw() { - background(map(mouseX, 0, width, 0, 255)); - setAnalog(map(mouseX, 0, width, 0.0, 1.0)); -} - -// outputs voltages from 0V to the supply voltage -// (works with 3.3V and 5V) -void setAnalog(float fac) { - fac = constrain(fac, 0.0, 1.0); - // convert to 12 bit value - int val = int(4095 * fac); - i2c.beginTransmission(0x60); - i2c.write(val >> 8); - i2c.write(val & 255); - i2c.endTransmission(); -} diff --git a/Java/Processing/processing-3.3.6/modes/java/libraries/io/examples/I2CDigitalAnalogOOP/I2CDigitalAnalogOOP.pde b/Java/Processing/processing-3.3.6/modes/java/libraries/io/examples/I2CDigitalAnalogOOP/I2CDigitalAnalogOOP.pde deleted file mode 100644 index 2c69dae..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/libraries/io/examples/I2CDigitalAnalogOOP/I2CDigitalAnalogOOP.pde +++ /dev/null @@ -1,12 +0,0 @@ -import processing.io.*; -MCP4725 dac; - -void setup() { - //printArray(I2C.list()); - dac = new MCP4725(I2C.list()[0], 0x60); -} - -void draw() { - background(map(mouseX, 0, width, 0, 255)); - dac.setAnalog(map(mouseX, 0, width, 0.0, 1.0)); -} diff --git a/Java/Processing/processing-3.3.6/modes/java/libraries/io/examples/I2CDigitalAnalogOOP/MCP4725.pde b/Java/Processing/processing-3.3.6/modes/java/libraries/io/examples/I2CDigitalAnalogOOP/MCP4725.pde deleted file mode 100644 index 67c5017..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/libraries/io/examples/I2CDigitalAnalogOOP/MCP4725.pde +++ /dev/null @@ -1,27 +0,0 @@ -import processing.io.I2C; - -// MCP4725 is a Digital-to-Analog converter using I2C -// datasheet: http://ww1.microchip.com/downloads/en/DeviceDoc/22039d.pdf - -class MCP4725 extends I2C { - int address; - - // there can be more than one device connected to the bus - // as long as they have different addresses - MCP4725(String dev, int address) { - super(dev); - this.address = address; - } - - // outputs voltages from 0V to the supply voltage - // (works with 3.3V and 5V) - void setAnalog(float fac) { - fac = constrain(fac, 0.0, 1.0); - // convert to 12 bit value - int val = int(4095 * fac); - beginTransmission(address); - write(val >> 8); - write(val & 255); - endTransmission(); - } -} diff --git a/Java/Processing/processing-3.3.6/modes/java/libraries/io/examples/I2CScreen/I2CScreen.pde b/Java/Processing/processing-3.3.6/modes/java/libraries/io/examples/I2CScreen/I2CScreen.pde deleted file mode 100644 index e16e654..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/libraries/io/examples/I2CScreen/I2CScreen.pde +++ /dev/null @@ -1,22 +0,0 @@ -import processing.io.*; - -// 0.96" 128x64 OLED display ("SKU 346540") -SSD1306 oled; - -void setup() { - size(128, 64); - - // the display can be set to one of these two addresses: 0x3c (default) or 0x3d - // (they might be listed as 0x7a and 0x7b on the circuit board) - - // you might need to use a different interface on other SBCs - oled = new SSD1306("i2c-1", 0x3c); -} - -void draw() { - background(0); - stroke(255); - line(0, 0, 127, 63); - line(0, 63, 127, 0); - oled.sendImage(get()); -} diff --git a/Java/Processing/processing-3.3.6/modes/java/libraries/io/examples/I2CScreen/SSD1306.pde b/Java/Processing/processing-3.3.6/modes/java/libraries/io/examples/I2CScreen/SSD1306.pde deleted file mode 100644 index dee79a0..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/libraries/io/examples/I2CScreen/SSD1306.pde +++ /dev/null @@ -1,118 +0,0 @@ -import processing.io.I2C; - -// SSD1306 is a small, inexpensive 128x64 pixels monochrome OLED display -// available online as "0.96" 128x64 OLED display", SKU 346540 -// or from Adafruit -// datasheet: https://www.adafruit.com/datasheets/SSD1306.pdf - -class SSD1306 extends I2C { - int address; - - // there can be more than one device connected to the bus - // as long as they have different addresses - SSD1306(String dev, int address) { - super(dev); - this.address = address; - init(); - } - - protected void init() { - writeCommand(0xae); // turn display off - writeCommand(0xa8, 0x3f); // set multiplex ratio to the highest setting - writeCommand(0x8d, 0x14); // enable charge pump - writeCommand(0x20, 0x00); // set memory addressing mode to horizontal - writeCommand(0xd5, 0x80); // set display clock divide ratio & oscillator frequency to default - writeCommand(0xd3, 0x00); // no display offset - writeCommand(0x40 | 0x00); // set default display start line - - // use the following two lines to flip the display - writeCommand(0xa0 | 0x01); // set segment re-map - writeCommand(0xc8); // set COM output scan direction - - writeCommand(0xda, 0x12); // set COM pins hardware configuration - writeCommand(0xd9, 0xf1); // set pre-charge period to 241x DCLK - writeCommand(0xdB, 0x40); // set VCOMH deselect level - writeCommand(0xa4); // display RAM content (not all-on) - writeCommand(0xa6); // set normal (not-inverted) display - - // set this since we don't have access to the OLED's reset pins (?) - writeCommand(0x21, 0, 127); // set column address - writeCommand(0x22, 0, 7); // set page address - - writeCommand(0x81, 0xcf); // set contrast - writeCommand(0x2e); // deactivate scroll - writeCommand(0xaf); // turn display on - } - - void invert(boolean inverted) { - if (inverted) { - writeCommand(0xa7); - } else { - writeCommand(0xa6); - } - } - - void sendImage(PImage img) { - sendImage(img, 0, 0); - } - - void sendImage(PImage img, int startX, int startY) { - byte[] frame = new byte[1024]; - img.loadPixels(); - for (int y=startY; y < height && y-startY < 64; y++) { - for (int x=startX; x < width && x-startX < 128; x++) { - if (128 <= brightness(img.pixels[y*img.width+x])) { - // this isn't the normal (scanline) mapping, but 8 pixels below each other at a time - // white pixels have their bit turned on - frame[x + (y/8)*128] |= (1 << (y % 8)); - } - } - } - sendFramebuffer(frame); - } - - void sendFramebuffer(byte[] buf) { - if (buf.length != 1024) { - System.err.println("The framebuffer should be 1024 bytes long, with one bit per pixel"); - throw new IllegalArgumentException("Unexpected buffer size"); - } - - writeCommand(0x00 | 0x0); // set start address - writeCommand(0x10 | 0x0); // set higher column start address - writeCommand(0x40 | 0x0); // set start line - - // send the frame buffer as 16 byte long packets - for (int i=0; i < buf.length/16; i++) { - super.beginTransmission(address); - super.write(0x40); // indicates data write - for (int j=0; j < 16; j++) { - super.write(buf[i*16+j]); - } - super.endTransmission(); - } - } - - protected void writeCommand(int arg1) { - super.beginTransmission(address); - super.write(0x00); // indicates command write - super.write(arg1); - super.endTransmission(); - } - - protected void writeCommand(int arg1, int arg2) { - super.beginTransmission(address); - super.write(0x00); - super.write(arg1); - super.write(arg2); - super.endTransmission(); - } - - protected void writeCommand(int arg1, int arg2, int arg3) { - super.beginTransmission(address); - super.write(0x00); - super.write(arg1); - super.write(arg2); - super.write(arg3); - super.endTransmission(); - } -} diff --git a/Java/Processing/processing-3.3.6/modes/java/libraries/io/examples/Interrupt/Interrupt.pde b/Java/Processing/processing-3.3.6/modes/java/libraries/io/examples/Interrupt/Interrupt.pde deleted file mode 100644 index 15bdc4c..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/libraries/io/examples/Interrupt/Interrupt.pde +++ /dev/null @@ -1,25 +0,0 @@ -import processing.io.*; -color bgcolor = 0; - -// GPIO numbers refer to different phyiscal pins on various boards -// On the Raspberry Pi GPIO 4 is physical pin 7 on the header -// see setup.png in the sketch folder for wiring details - -void setup() { - GPIO.pinMode(4, GPIO.INPUT); - GPIO.attachInterrupt(4, this, "pinEvent", GPIO.RISING); -} - -void draw() { - background(bgcolor); -} - -// this function will be called whenever GPIO 4 is brought from LOW to HIGH -void pinEvent(int pin) { - println("Received interrupt"); - if (bgcolor == 0) { - bgcolor = color(255); - } else { - bgcolor = color(0); - } -} diff --git a/Java/Processing/processing-3.3.6/modes/java/libraries/io/examples/Interrupt/setup.png b/Java/Processing/processing-3.3.6/modes/java/libraries/io/examples/Interrupt/setup.png deleted file mode 100644 index eb0a003..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/libraries/io/examples/Interrupt/setup.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/libraries/io/examples/LedCounter/LedCounter.pde b/Java/Processing/processing-3.3.6/modes/java/libraries/io/examples/LedCounter/LedCounter.pde deleted file mode 100644 index 3cd440b..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/libraries/io/examples/LedCounter/LedCounter.pde +++ /dev/null @@ -1,39 +0,0 @@ -import processing.io.*; -LED leds[]; - -// the Raspberry Pi has two build-in LEDs we can control -// led0 (green) and led1 (red) - -void setup() { - String available[] = LED.list(); - print("Available: "); - println(available); - - // create an object for each LED and store it in an array - leds = new LED[available.length]; - for (int i=0; i < available.length; i++) { - leds[i] = new LED(available[i]); - } - - frameRate(1); -} - -void draw() { - // make the LEDs count in binary - for (int i=0; i < leds.length; i++) { - if ((frameCount & (1 << i)) != 0) { - leds[i].brightness(1.0); - } else { - leds[i].brightness(0.0); - } - } - println(frameCount); -} - -void keyPressed() { - // cleanup - for (int i=0; i < leds.length; i++) { - leds[i].close(); - } - exit(); -} diff --git a/Java/Processing/processing-3.3.6/modes/java/libraries/io/examples/SPIAnalogDigital/SPIAnalogDigital.pde b/Java/Processing/processing-3.3.6/modes/java/libraries/io/examples/SPIAnalogDigital/SPIAnalogDigital.pde deleted file mode 100644 index bb1311a..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/libraries/io/examples/SPIAnalogDigital/SPIAnalogDigital.pde +++ /dev/null @@ -1,22 +0,0 @@ -import processing.io.*; -SPI spi; - -// MCP3001 is a Analog-to-Digital converter using SPI -// datasheet: http://ww1.microchip.com/downloads/en/DeviceDoc/21293C.pdf -// see setup.png in the sketch folder for wiring details - -void setup() { - //printArray(SPI.list()); - spi = new SPI(SPI.list()[0]); - spi.settings(500000, SPI.MSBFIRST, SPI.MODE0); -} - -void draw() { - // dummy write, actual values don't matter - byte[] out = { 0, 0 }; - byte[] in = spi.transfer(out); - // some input bit shifting according to the datasheet p. 16 - int val = ((in[0] & 0x1f) << 5) | ((in[1] & 0xf8) >> 3); - // val is between 0 and 1023 - background(map(val, 0, 1023, 0, 255)); -} diff --git a/Java/Processing/processing-3.3.6/modes/java/libraries/io/examples/SPIAnalogDigital/setup.png b/Java/Processing/processing-3.3.6/modes/java/libraries/io/examples/SPIAnalogDigital/setup.png deleted file mode 100644 index c52f67f..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/libraries/io/examples/SPIAnalogDigital/setup.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/libraries/io/examples/SPIAnalogDigitalOOP/MCP3001.pde b/Java/Processing/processing-3.3.6/modes/java/libraries/io/examples/SPIAnalogDigitalOOP/MCP3001.pde deleted file mode 100644 index 944e097..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/libraries/io/examples/SPIAnalogDigitalOOP/MCP3001.pde +++ /dev/null @@ -1,22 +0,0 @@ -import processing.io.SPI; - -// MCP3001 is a Analog-to-Digital converter using SPI -// datasheet: http://ww1.microchip.com/downloads/en/DeviceDoc/21293C.pdf - -class MCP3001 extends SPI { - - MCP3001(String dev) { - super(dev); - settings(500000, SPI.MSBFIRST, SPI.MODE0); - } - - float getAnalog() { - // dummy write, actual values don't matter - byte[] out = { 0, 0 }; - byte[] in = transfer(out); - // some input bit shifting according to the datasheet p. 16 - int val = ((in[0] & 0x1f) << 5) | ((in[1] & 0xf8) >> 3); - // val is between 0 and 1023 - return val/1023.0; - } -} diff --git a/Java/Processing/processing-3.3.6/modes/java/libraries/io/examples/SPIAnalogDigitalOOP/SPIAnalogDigitalOOP.pde b/Java/Processing/processing-3.3.6/modes/java/libraries/io/examples/SPIAnalogDigitalOOP/SPIAnalogDigitalOOP.pde deleted file mode 100644 index f45f0fa..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/libraries/io/examples/SPIAnalogDigitalOOP/SPIAnalogDigitalOOP.pde +++ /dev/null @@ -1,13 +0,0 @@ -import processing.io.*; -MCP3001 adc; - -// see setup.png in the sketch folder for wiring details - -void setup() { - //printArray(SPI.list()); - adc = new MCP3001(SPI.list()[0]); -} - -void draw() { - background(adc.getAnalog() * 255); -} diff --git a/Java/Processing/processing-3.3.6/modes/java/libraries/io/examples/SPIAnalogDigitalOOP/setup.png b/Java/Processing/processing-3.3.6/modes/java/libraries/io/examples/SPIAnalogDigitalOOP/setup.png deleted file mode 100644 index c52f67f..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/libraries/io/examples/SPIAnalogDigitalOOP/setup.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/libraries/io/examples/SPIAnalogDigitalOOP8/MCP3008.pde b/Java/Processing/processing-3.3.6/modes/java/libraries/io/examples/SPIAnalogDigitalOOP8/MCP3008.pde deleted file mode 100644 index ee3affd..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/libraries/io/examples/SPIAnalogDigitalOOP8/MCP3008.pde +++ /dev/null @@ -1,27 +0,0 @@ -import processing.io.SPI; - -// MCP3008 is a Analog-to-Digital converter using SPI -// other than the MCP3001, this has 8 input channels -// datasheet: http://ww1.microchip.com/downloads/en/DeviceDoc/21295d.pdf - -class MCP3008 extends SPI { - - MCP3008(String dev) { - super(dev); - settings(500000, SPI.MSBFIRST, SPI.MODE0); - } - - float getAnalog(int channel) { - if (channel < 0 || 7 < channel) { - System.err.println("The channel needs to be from 0 to 7"); - throw new IllegalArgumentException("Unexpected channel"); - } - byte[] out = { 0, 0, 0 }; - // encode the channel number in the first byte - out[0] = (byte)(0x18 | channel); - byte[] in = transfer(out); - int val = ((in[1] & 0x03) << 8) | (in[2] & 0xff); - // val is between 0 and 1023 - return val/1023.0; - } -} diff --git a/Java/Processing/processing-3.3.6/modes/java/libraries/io/examples/SPIAnalogDigitalOOP8/SPIAnalogDigitalOOP8.pde b/Java/Processing/processing-3.3.6/modes/java/libraries/io/examples/SPIAnalogDigitalOOP8/SPIAnalogDigitalOOP8.pde deleted file mode 100644 index 58c4969..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/libraries/io/examples/SPIAnalogDigitalOOP8/SPIAnalogDigitalOOP8.pde +++ /dev/null @@ -1,15 +0,0 @@ -import processing.io.*; -MCP3008 adc; - -// see setup.png in the sketch folder for wiring details - -void setup() { - //printArray(SPI.list()); - adc = new MCP3008(SPI.list()[0]); -} - -void draw() { - background(adc.getAnalog(0) * 255); - fill(adc.getAnalog(1) * 255); - ellipse(width/2, height/2, width * 0.75, width * 0.75); -} diff --git a/Java/Processing/processing-3.3.6/modes/java/libraries/io/examples/SPIAnalogDigitalOOP8/setup.png b/Java/Processing/processing-3.3.6/modes/java/libraries/io/examples/SPIAnalogDigitalOOP8/setup.png deleted file mode 100644 index 92d1b69..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/libraries/io/examples/SPIAnalogDigitalOOP8/setup.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/libraries/io/examples/ServoSweep/ServoSweep.pde b/Java/Processing/processing-3.3.6/modes/java/libraries/io/examples/ServoSweep/ServoSweep.pde deleted file mode 100644 index a09d52a..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/libraries/io/examples/ServoSweep/ServoSweep.pde +++ /dev/null @@ -1,34 +0,0 @@ -import processing.io.*; - -// see setup.png in the sketch folder for wiring details -// for more reliable operation it is recommended to power -// the servo from an external power source, see setup_better.png - -SoftwareServo servo1; -SoftwareServo servo2; - -void setup() { - size(400, 300); - servo1 = new SoftwareServo(this); - servo1.attach(17); - servo2 = new SoftwareServo(this); - servo2.attach(4); -} - -void draw() { - background(0); - stroke(255); - strokeWeight(3); - - // we don't go right to the edge to prevent - // making the servo unhappy - float angle = 90 + sin(frameCount / 100.0)*85; - servo1.write(angle); - float y = map(angle, 0, 180, 0, height); - line(0, y, width/2, y); - - angle = 90 + cos(frameCount / 100.0)*85; - servo2.write(90 + cos(frameCount / 100.0)*85); - y = map(angle, 0, 180, 0, height); - line(width/2, y, width, y); -} diff --git a/Java/Processing/processing-3.3.6/modes/java/libraries/io/examples/ServoSweep/setup.png b/Java/Processing/processing-3.3.6/modes/java/libraries/io/examples/ServoSweep/setup.png deleted file mode 100644 index 2370f37..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/libraries/io/examples/ServoSweep/setup.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/libraries/io/examples/ServoSweep/setup_better.png b/Java/Processing/processing-3.3.6/modes/java/libraries/io/examples/ServoSweep/setup_better.png deleted file mode 100644 index 7931e0d..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/libraries/io/examples/ServoSweep/setup_better.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/libraries/io/examples/SimpleInput/SimpleInput.pde b/Java/Processing/processing-3.3.6/modes/java/libraries/io/examples/SimpleInput/SimpleInput.pde deleted file mode 100644 index d7a420c..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/libraries/io/examples/SimpleInput/SimpleInput.pde +++ /dev/null @@ -1,20 +0,0 @@ -import processing.io.*; - -// GPIO numbers refer to different phyiscal pins on various boards -// On the Raspberry Pi GPIO 4 is physical pin 7 on the header -// see setup.png in the sketch folder for wiring details - -void setup() { - GPIO.pinMode(4, GPIO.INPUT); -} - -void draw() { - // sense the input pin - if (GPIO.digitalRead(4) == GPIO.HIGH) { - fill(255); - } else { - fill(204); - } - stroke(255); - ellipse(width/2, height/2, width*0.75, height*0.75); -} diff --git a/Java/Processing/processing-3.3.6/modes/java/libraries/io/examples/SimpleInput/setup.png b/Java/Processing/processing-3.3.6/modes/java/libraries/io/examples/SimpleInput/setup.png deleted file mode 100644 index eb0a003..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/libraries/io/examples/SimpleInput/setup.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/libraries/io/examples/SimpleOutput/SimpleOutput.pde b/Java/Processing/processing-3.3.6/modes/java/libraries/io/examples/SimpleOutput/SimpleOutput.pde deleted file mode 100644 index af5e05d..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/libraries/io/examples/SimpleOutput/SimpleOutput.pde +++ /dev/null @@ -1,25 +0,0 @@ -import processing.io.*; -boolean ledOn = false; - -// GPIO numbers refer to different phyiscal pins on various boards -// On the Raspberry Pi GPIO 4 is physical pin 7 on the header -// see setup.png in the sketch folder for wiring details - -void setup() { - GPIO.pinMode(4, GPIO.OUTPUT); - frameRate(0.5); -} - -void draw() { - // make the LED blink - ledOn = !ledOn; - if (ledOn) { - GPIO.digitalWrite(4, GPIO.LOW); - fill(204); - } else { - GPIO.digitalWrite(4, GPIO.HIGH); - fill(255); - } - stroke(255); - ellipse(width/2, height/2, width*0.75, height*0.75); -} diff --git a/Java/Processing/processing-3.3.6/modes/java/libraries/io/examples/SimpleOutput/setup.png b/Java/Processing/processing-3.3.6/modes/java/libraries/io/examples/SimpleOutput/setup.png deleted file mode 100644 index 8438aba..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/libraries/io/examples/SimpleOutput/setup.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/libraries/io/examples/SimpleResistorSensor/SimpleResistorSensor.pde b/Java/Processing/processing-3.3.6/modes/java/libraries/io/examples/SimpleResistorSensor/SimpleResistorSensor.pde deleted file mode 100644 index 874b699..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/libraries/io/examples/SimpleResistorSensor/SimpleResistorSensor.pde +++ /dev/null @@ -1,56 +0,0 @@ -import processing.io.*; - -// using a capacitor that gets charged and discharged, while -// measuring the time it takes, is an inexpensive way to -// read the value of an (analog) resistive sensor, such as -// a photocell -// kudos to ladyada for the original tutorial - -// see setup.png in the sketch folder for wiring details - -int max = 0; -int min = 9999; - -void setup() { -} - -void draw() { - int val = sensorRead(4); - println(val); - - // track largest and smallest reading, to get a sense - // how we compare - if (max < val) { - max = val; - } - if (val < min) { - min = val; - } - - // convert current reading into a number between 0.0 and 1.0 - float frac = map(val, min, max, 0.0, 1.0); - - background(255 * frac); -} - -int sensorRead(int pin) { - // discharge the capacitor - GPIO.pinMode(pin, GPIO.OUTPUT); - GPIO.digitalWrite(pin, GPIO.LOW); - delay(100); - // now the capacitor should be empty - - // measure the time takes to fill it - // up to ~ 1.4V again - GPIO.pinMode(pin, GPIO.INPUT); - int start = millis(); - while (GPIO.digitalRead(pin) == GPIO.LOW) { - // wait - } - - // return the time elapsed - // this will vary based on the value of the - // resistive sensor (lower resistance will - // make the capacitor charge faster) - return millis() - start; -} diff --git a/Java/Processing/processing-3.3.6/modes/java/libraries/io/examples/SimpleResistorSensor/setup.png b/Java/Processing/processing-3.3.6/modes/java/libraries/io/examples/SimpleResistorSensor/setup.png deleted file mode 100644 index bcad945..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/libraries/io/examples/SimpleResistorSensor/setup.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/libraries/io/library.properties b/Java/Processing/processing-3.3.6/modes/java/libraries/io/library.properties deleted file mode 100644 index 519c341..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/libraries/io/library.properties +++ /dev/null @@ -1,9 +0,0 @@ -name = Hardware I/O -authors = The Processing Foundation -url = http://processing.org/reference/libraries/io/index.html -categories = Hardware -sentence = Access peripherals on the Raspberry Pi and other Linux-based computers. -paragraph = For other platforms, this is solely provided in order to build and export sketches that require processing.io. -version = 1 -prettyVersion = 1 -minRevision = 247 diff --git a/Java/Processing/processing-3.3.6/modes/java/libraries/io/library/export.txt b/Java/Processing/processing-3.3.6/modes/java/libraries/io/library/export.txt deleted file mode 100644 index 4626bbf..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/libraries/io/library/export.txt +++ /dev/null @@ -1 +0,0 @@ -name = Hardware I/O for Raspberry Pi and other Linux-based computers diff --git a/Java/Processing/processing-3.3.6/modes/java/libraries/io/library/linux-arm64/libprocessing-io.so b/Java/Processing/processing-3.3.6/modes/java/libraries/io/library/linux-arm64/libprocessing-io.so deleted file mode 100644 index d180991..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/libraries/io/library/linux-arm64/libprocessing-io.so and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/libraries/io/library/linux-armv6hf/libprocessing-io.so b/Java/Processing/processing-3.3.6/modes/java/libraries/io/library/linux-armv6hf/libprocessing-io.so deleted file mode 100644 index 94ed162..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/libraries/io/library/linux-armv6hf/libprocessing-io.so and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/libraries/io/library/linux32/libprocessing-io.so b/Java/Processing/processing-3.3.6/modes/java/libraries/io/library/linux32/libprocessing-io.so deleted file mode 100644 index 32a2311..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/libraries/io/library/linux32/libprocessing-io.so and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/libraries/io/library/linux64/libprocessing-io.so b/Java/Processing/processing-3.3.6/modes/java/libraries/io/library/linux64/libprocessing-io.so deleted file mode 100644 index 2979766..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/libraries/io/library/linux64/libprocessing-io.so and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/libraries/io/src/native/Makefile b/Java/Processing/processing-3.3.6/modes/java/libraries/io/src/native/Makefile deleted file mode 100644 index 6a2c003..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/libraries/io/src/native/Makefile +++ /dev/null @@ -1,20 +0,0 @@ -TARGET := libprocessing-io.so -OBJS := impl.o -CC := gcc - -# prefix with -m32 to compile for linux32 -CFLAGS := -std=gnu99 -fPIC -g -ffast-math -CFLAGS += -I$(shell dirname $(shell realpath $(shell which javac)))/../include -CFLAGS += -I$(shell dirname $(shell realpath $(shell which javac)))/../include/linux -LDFLAGS := -shared - -$(TARGET): $(OBJS) - $(CC) $(CFLAGS) $(LDFLAGS) $^ -o $@ - -iface.h: - javah -classpath .. -o iface.h processing.io.NativeInterface - -clean: - rm -f $(TARGET) $(OBJS) - -.PHONY: iface.h clean diff --git a/Java/Processing/processing-3.3.6/modes/java/libraries/io/src/native/iface.h b/Java/Processing/processing-3.3.6/modes/java/libraries/io/src/native/iface.h deleted file mode 100644 index 32e235e..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/libraries/io/src/native/iface.h +++ /dev/null @@ -1,109 +0,0 @@ -/* DO NOT EDIT THIS FILE - it is machine generated */ -#include -/* Header for class processing_io_NativeInterface */ - -#ifndef _Included_processing_io_NativeInterface -#define _Included_processing_io_NativeInterface -#ifdef __cplusplus -extern "C" { -#endif -/* - * Class: processing_io_NativeInterface - * Method: openDevice - * Signature: (Ljava/lang/String;)I - */ -JNIEXPORT jint JNICALL Java_processing_io_NativeInterface_openDevice - (JNIEnv *, jclass, jstring); - -/* - * Class: processing_io_NativeInterface - * Method: getError - * Signature: (I)Ljava/lang/String; - */ -JNIEXPORT jstring JNICALL Java_processing_io_NativeInterface_getError - (JNIEnv *, jclass, jint); - -/* - * Class: processing_io_NativeInterface - * Method: closeDevice - * Signature: (I)I - */ -JNIEXPORT jint JNICALL Java_processing_io_NativeInterface_closeDevice - (JNIEnv *, jclass, jint); - -/* - * Class: processing_io_NativeInterface - * Method: readFile - * Signature: (Ljava/lang/String;[B)I - */ -JNIEXPORT jint JNICALL Java_processing_io_NativeInterface_readFile - (JNIEnv *, jclass, jstring, jbyteArray); - -/* - * Class: processing_io_NativeInterface - * Method: writeFile - * Signature: (Ljava/lang/String;[B)I - */ -JNIEXPORT jint JNICALL Java_processing_io_NativeInterface_writeFile - (JNIEnv *, jclass, jstring, jbyteArray); - -/* - * Class: processing_io_NativeInterface - * Method: pollDevice - * Signature: (Ljava/lang/String;I)I - */ -JNIEXPORT jint JNICALL Java_processing_io_NativeInterface_pollDevice - (JNIEnv *, jclass, jstring, jint); - -/* - * Class: processing_io_NativeInterface - * Method: transferI2c - * Signature: (II[B[B)I - */ -JNIEXPORT jint JNICALL Java_processing_io_NativeInterface_transferI2c - (JNIEnv *, jclass, jint, jint, jbyteArray, jbyteArray); - -/* - * Class: processing_io_NativeInterface - * Method: servoStartThread - * Signature: (III)J - */ -JNIEXPORT jlong JNICALL Java_processing_io_NativeInterface_servoStartThread - (JNIEnv *, jclass, jint, jint, jint); - -/* - * Class: processing_io_NativeInterface - * Method: servoUpdateThread - * Signature: (JII)I - */ -JNIEXPORT jint JNICALL Java_processing_io_NativeInterface_servoUpdateThread - (JNIEnv *, jclass, jlong, jint, jint); - -/* - * Class: processing_io_NativeInterface - * Method: servoStopThread - * Signature: (J)I - */ -JNIEXPORT jint JNICALL Java_processing_io_NativeInterface_servoStopThread - (JNIEnv *, jclass, jlong); - -/* - * Class: processing_io_NativeInterface - * Method: setSpiSettings - * Signature: (IIII)I - */ -JNIEXPORT jint JNICALL Java_processing_io_NativeInterface_setSpiSettings - (JNIEnv *, jclass, jint, jint, jint, jint); - -/* - * Class: processing_io_NativeInterface - * Method: transferSpi - * Signature: (I[B[B)I - */ -JNIEXPORT jint JNICALL Java_processing_io_NativeInterface_transferSpi - (JNIEnv *, jclass, jint, jbyteArray, jbyteArray); - -#ifdef __cplusplus -} -#endif -#endif diff --git a/Java/Processing/processing-3.3.6/modes/java/libraries/io/src/native/impl.c b/Java/Processing/processing-3.3.6/modes/java/libraries/io/src/native/impl.c deleted file mode 100644 index 0f9402a..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/libraries/io/src/native/impl.c +++ /dev/null @@ -1,344 +0,0 @@ -/* - Copyright (c) The Processing Foundation 2015 - Hardware I/O library developed by Gottfried Haider as part of GSoC 2015 - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - This library 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General - Public License along with this library; if not, write to the - Free Software Foundation, Inc., 59 Temple Place, Suite 330, - Boston, MA 02111-1307 USA -*/ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include "iface.h" - - -static const int servo_pulse_oversleep = 35; // amount of uS to account for when sleeping - - -JNIEXPORT jint JNICALL Java_processing_io_NativeInterface_openDevice - (JNIEnv *env, jclass cls, jstring _fn) -{ - const char *fn = (*env)->GetStringUTFChars(env, _fn, JNI_FALSE); - int file = open(fn, O_RDWR); - (*env)->ReleaseStringUTFChars(env, _fn, fn); - if (file < 0) { - return -errno; - } else { - return file; - } -} - - -JNIEXPORT jstring JNICALL Java_processing_io_NativeInterface_getError - (JNIEnv *env, jclass cls, jint _errno) -{ - char *msg = strerror(abs(_errno)); - if (msg) { - return (*env)->NewStringUTF(env, msg); - } else { - return NULL; - } -} - - -JNIEXPORT jint JNICALL Java_processing_io_NativeInterface_closeDevice - (JNIEnv *env, jclass cls, jint handle) -{ - if (close(handle) < 0) { - return -errno; - } else { - return 0; - } -} - - -JNIEXPORT jint JNICALL Java_processing_io_NativeInterface_readFile - (JNIEnv *env, jclass cls, jstring _fn, jbyteArray _in) -{ - const char *fn = (*env)->GetStringUTFChars(env, _fn, JNI_FALSE); - int file = open(fn, O_RDONLY); - (*env)->ReleaseStringUTFChars(env, _fn, fn); - if (file < 0) { - return -errno; - } - - jbyte *in = (*env)->GetByteArrayElements(env, _in, NULL); - int len = read(file, in, (*env)->GetArrayLength(env, _in)); - if (len < 0) { - len = -errno; - } - (*env)->ReleaseByteArrayElements(env, _in, in, 0); - - close(file); - return len; -} - - -JNIEXPORT jint JNICALL Java_processing_io_NativeInterface_writeFile - (JNIEnv *env, jclass cls, jstring _fn, jbyteArray _out) -{ - const char *fn = (*env)->GetStringUTFChars(env, _fn, JNI_FALSE); - int file = open(fn, O_WRONLY); - (*env)->ReleaseStringUTFChars(env, _fn, fn); - if (file < 0) { - return -errno; - } - - jbyte *out = (*env)->GetByteArrayElements(env, _out, JNI_FALSE); - int len = write(file, out, (*env)->GetArrayLength(env, _out)); - if (len < 0) { - len = -errno; - } - (*env)->ReleaseByteArrayElements(env, _out, out, JNI_ABORT); - - close(file); - return len; -} - - -JNIEXPORT jint JNICALL Java_processing_io_NativeInterface_pollDevice - (JNIEnv *env, jclass cls, jstring _fn, jint timeout) -{ - const char *fn = (*env)->GetStringUTFChars(env, _fn, JNI_FALSE); - int file = open(fn, O_RDONLY|O_NONBLOCK); - (*env)->ReleaseStringUTFChars(env, _fn, fn); - if (file < 0) { - return -errno; - } - - // dummy read - char tmp; - while (0 < read(file, &tmp, 1)); - - struct pollfd fds[1]; - memset(fds, 0, sizeof(fds)); - fds[0].fd = file; - fds[0].events = POLLPRI|POLLERR; - - // and wait - int ret = poll(fds, 1, timeout); - close(file); - - if (ret < 0) { - return -errno; - } else if (ret == 0) { - // timeout - return 0; - } else if (fds[0].revents & POLLPRI) { - // interrupt - return 1; - } else { - // POLLERR? - return -ENOMSG; - } -} - - -JNIEXPORT jint JNICALL Java_processing_io_NativeInterface_transferI2c - (JNIEnv *env, jclass cls, jint handle, jint slave, jbyteArray _out, jbyteArray _in) -{ - struct i2c_rdwr_ioctl_data packets; - struct i2c_msg msgs[2]; - jbyte *out, *in; - - packets.msgs = msgs; - - msgs[0].addr = slave; - msgs[0].flags = 0; - msgs[0].len = (*env)->GetArrayLength(env, _out); - out = (*env)->GetByteArrayElements(env, _out, NULL); - msgs[0].buf = out; - if (_in != NULL) { - in = (*env)->GetByteArrayElements(env, _in, NULL); - msgs[1].addr = slave; - msgs[1].flags = I2C_M_RD; // I2C_M_RECV_LEN is not supported - msgs[1].len = (*env)->GetArrayLength(env, _in); - msgs[1].buf = in; - packets.nmsgs = 2; - } else { - packets.nmsgs = 1; - } - - int ret = ioctl(handle, I2C_RDWR, &packets); - if (ret < 0) { - ret = -errno; - } - - (*env)->ReleaseByteArrayElements(env, _out, out, JNI_ABORT); - if (_in != NULL) { - (*env)->ReleaseByteArrayElements(env, _in, in, 0); - } - - return ret; -} - - -typedef struct { - int fd; - pthread_t thread; - int pulse; - int period; -} SERVO_STATE_T; - - -static void* servoThread(void *ptr) { - SERVO_STATE_T *state = (SERVO_STATE_T*)ptr; - struct timespec on, off; - on.tv_sec = 0; - off.tv_sec = 0; - - do { - write(state->fd, "1", 1); - - on.tv_nsec = state->pulse * 1000; - nanosleep(&on, NULL); - - write(state->fd, "0", 1); - - off.tv_nsec = (state->period - state->pulse) * 1000; - nanosleep(&off, NULL); - } while (1); -} - - -JNIEXPORT jlong JNICALL Java_processing_io_NativeInterface_servoStartThread - (JNIEnv *env, jclass cls, jint gpio, jint pulse, jint period) -{ - char path[26 + 19 + 1]; - int fd; - pthread_t thread; - - // setup struct holding our state - SERVO_STATE_T *state = malloc(sizeof(SERVO_STATE_T)); - if (!state) { - return -ENOMEM; - } - memset(state, 0, sizeof(*state)); - state->pulse = (pulse - servo_pulse_oversleep > 0) ? pulse - servo_pulse_oversleep : 0; - // we're obviously also oversleeping in the general period case - // but other than the pulse, this doesn't seem to be crucial with servos - state->period = period; - - // open gpio - sprintf(path, "/sys/class/gpio/gpio%d/value", gpio); - state->fd = open(path, O_WRONLY); - if (state->fd < 0) { - free(state); - return -errno; - } - - // start thread - int ret = pthread_create(&state->thread, NULL, servoThread, state); - if (ret != 0) { - free(state); - return -ret; - } - - // set scheduling policy and priority - struct sched_param param; - param.sched_priority = 75; - ret = pthread_setschedparam(state->thread, SCHED_FIFO, ¶m); - if (ret != 0) { - fprintf(stderr, "Error setting thread policy: %s\n", strerror(ret)); - } - - return (intptr_t)state; -} - - -JNIEXPORT jint JNICALL Java_processing_io_NativeInterface_servoUpdateThread - (JNIEnv *env, jclass cls, jlong handle, jint pulse, jint period) -{ - SERVO_STATE_T *state = (SERVO_STATE_T*)(intptr_t)handle; - state->pulse = (pulse - servo_pulse_oversleep > 0) ? pulse - servo_pulse_oversleep : 0; - state->period = period; - return 0; -} - - -JNIEXPORT jint JNICALL Java_processing_io_NativeInterface_servoStopThread - (JNIEnv *env, jclass cls, jlong handle) -{ - SERVO_STATE_T *state = (SERVO_STATE_T*)(intptr_t)handle; - - // signal thread to stop - pthread_cancel(state->thread); - pthread_join(state->thread, NULL); - - close(state->fd); - free(state); - return 0; -} - - -JNIEXPORT jint JNICALL Java_processing_io_NativeInterface_setSpiSettings - (JNIEnv *env, jclass cls, jint handle, jint _maxSpeed, jint dataOrder, jint mode) -{ - uint8_t tmp; - uint32_t maxSpeed; - - tmp = (uint8_t)mode; - int ret = ioctl(handle, SPI_IOC_WR_MODE, &tmp); - if (ret < 0) { - return ret; - } - - tmp = (uint8_t)dataOrder; - ret = ioctl(handle, SPI_IOC_WR_LSB_FIRST, &tmp); - if (ret < 0) { - return ret; - } - - maxSpeed = (uint32_t)_maxSpeed; - ret = ioctl(handle, SPI_IOC_WR_MAX_SPEED_HZ, &maxSpeed); - if (ret < 0) { - return ret; - } - - return 0; -} - - -JNIEXPORT jint JNICALL Java_processing_io_NativeInterface_transferSpi - (JNIEnv *env, jclass cls, jint handle, jbyteArray _out, jbyteArray _in) -{ - jbyte* out = (*env)->GetByteArrayElements(env, _out, NULL); - jbyte* in = (*env)->GetByteArrayElements(env, _in, NULL); - - struct spi_ioc_transfer xfer = { - .tx_buf = (unsigned long)out, - .rx_buf = (unsigned long)in, - .len = MIN((*env)->GetArrayLength(env, _out), (*env)->GetArrayLength(env, _in)), - }; - - int ret = ioctl(handle, SPI_IOC_MESSAGE(1), &xfer); - - (*env)->ReleaseByteArrayElements(env, _out, out, JNI_ABORT); - (*env)->ReleaseByteArrayElements(env, _in, in, 0); - - return ret; -} diff --git a/Java/Processing/processing-3.3.6/modes/java/libraries/io/src/processing/io/GPIO.java b/Java/Processing/processing-3.3.6/modes/java/libraries/io/src/processing/io/GPIO.java deleted file mode 100644 index b4e0d47..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/libraries/io/src/processing/io/GPIO.java +++ /dev/null @@ -1,514 +0,0 @@ -/* -*- mode: java; c-basic-offset: 2; indent-tabs-mode: nil -*- */ - -/* - Copyright (c) The Processing Foundation 2015 - Hardware I/O library developed by Gottfried Haider as part of GSoC 2015 - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - This library 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General - Public License along with this library; if not, write to the - Free Software Foundation, Inc., 59 Temple Place, Suite 330, - Boston, MA 02111-1307 USA -*/ - -package processing.io; - -import processing.core.*; -import processing.io.NativeInterface; - -import java.lang.reflect.Method; -import java.util.BitSet; -import java.util.HashMap; -import java.util.Map; - - -/** - * @webref - */ -public class GPIO { - - // those constants are generally the same as in Arduino.h - public static final int INPUT = 0; - public static final int OUTPUT = 1; - public static final int INPUT_PULLUP = 2; - public static final int INPUT_PULLDOWN = 3; - - public static final int LOW = 0; - public static final int HIGH = 1; - - public static final int NONE = 0; - /** - * trigger when level changes - */ - public static final int CHANGE = 1; - /** - * trigger when level changes from high to low - */ - public static final int FALLING = 2; - /** - * trigger when level changes from low to high - */ - public static final int RISING = 3; - - protected static Map irqThreads = new HashMap(); - protected static boolean serveInterrupts = true; - protected static BitSet values = new BitSet(); - - - static { - NativeInterface.loadLibrary(); - } - - - public static void analogWrite(int pin, int value) { - // currently this can't be done in a non-platform-specific way - // the best way forward would be implementing a generic, "soft" - // PWM in the kernel that uses high resolution timers, similiar - // to the patch Bill Gatliff posted, which unfortunately didn't - // get picked up, see - // https://dev.openwrt.org/browser/trunk/target/linux/generic/files/drivers/pwm/gpio-pwm.c?rev=35328 - - // additionally, there currently doesn't seem to be a way to link - // a PWM channel back to the GPIO pin it is associated with - - // alternatively, this could be implemented in user-space to some - // degree - // see http://stackoverflow.com/a/13371570/3030124 - // see http://raspberrypi.stackexchange.com/a/304 - throw new RuntimeException("Not yet implemented"); - } - - - /** - * Calls a function when the value of an input pin changes - * @param pin GPIO pin - * @param parent typically use "this" - * @param method name of sketch method to call - * @param mode when to call: GPIO.CHANGE, GPIO.FALLING or GPIO.RISING - * @see noInterrupts - * @see interrupts - * @see releaseInterrupt - * @webref - */ - public static void attachInterrupt(int pin, PApplet parent, String method, int mode) { - if (irqThreads.containsKey(pin)) { - throw new RuntimeException("You must call releaseInterrupt before attaching another interrupt on the same pin"); - } - - enableInterrupt(pin, mode); - - final int irqPin = pin; - final PApplet irqObject = parent; - final Method irqMethod; - try { - irqMethod = parent.getClass().getMethod(method, int.class); - } catch (NoSuchMethodException e) { - throw new RuntimeException("Method " + method + " does not exist"); - } - - // it might be worth checking how Java threads compare to pthreads in terms - // of latency - Thread t = new Thread(new Runnable() { - public void run() { - boolean gotInterrupt = false; - try { - do { - try { - if (waitForInterrupt(irqPin, 100)) { - gotInterrupt = true; - } - if (gotInterrupt && serveInterrupts) { - irqMethod.invoke(irqObject, irqPin); - gotInterrupt = false; - } - // if we received an interrupt while interrupts were disabled - // we still deliver it the next time interrupts get enabled - // not sure if everyone agrees with this logic though - } catch (RuntimeException e) { - // make sure we're not busy spinning on error - Thread.sleep(100); - } - } while (!Thread.currentThread().isInterrupted()); - } catch (Exception e) { - // terminate the thread on any unexpected exception that might occur - System.err.println("Terminating interrupt handling for pin " + irqPin + " after catching: " + e.getMessage()); - } - } - }, "GPIO" + pin + " IRQ"); - - t.setPriority(Thread.MAX_PRIORITY); - t.start(); - - irqThreads.put(pin, t); - } - - - /** - * Checks if the GPIO pin number can be valid - * - * Board-specific classes, such as RPI, assign -1 to pins that carry power, - * ground and the like. - * @param pin GPIO pin - */ - protected static void checkValidPin(int pin) { - if (pin < 0) { - throw new RuntimeException("Operation not supported on this pin"); - } - } - - - /** - * Returns the value of an input pin - * @param pin GPIO pin - * @return GPIO.HIGH (1) or GPIO.LOW (0) - * @see pinMode - * @see digitalWrite - * @webref - */ - public static int digitalRead(int pin) { - checkValidPin(pin); - - if (NativeInterface.isSimulated()) { - return LOW; - } - - String fn = String.format("/sys/class/gpio/gpio%d/value", pin); - byte in[] = new byte[2]; - int ret = NativeInterface.readFile(fn, in); - if (ret < 0) { - throw new RuntimeException(NativeInterface.getError(ret)); - } else if (1 <= ret && in[0] == '0') { - return LOW; - } else if (1 <= ret && in[0] == '1') { - return HIGH; - } else { - System.err.print("Read " + ret + " bytes"); - if (0 < ret) { - System.err.format(", first byte is 0x%02x" + in[0]); - } - System.err.println(); - throw new RuntimeException("Unexpected value"); - } - } - - - /** - * Sets an output pin to be either high or low - * @param pin GPIO pin - * @param value GPIO.HIGH (1) or GPIO.LOW (0) - * @see pinMode - * @see digitalRead - * @webref - */ - public static void digitalWrite(int pin, int value) { - checkValidPin(pin); - - String out; - if (value == LOW) { - // values are also stored in a bitmap to make it possible to set a - // default level per pin before enabling the output - values.clear(pin); - out = "0"; - } else if (value == HIGH) { - values.set(pin); - out = "1"; - } else { - System.err.println("Only GPIO.LOW and GPIO.HIGH, 0 and 1, or true and false, can be used."); - throw new IllegalArgumentException("Illegal value"); - } - - if (NativeInterface.isSimulated()) { - return; - } - - String fn = String.format("/sys/class/gpio/gpio%d/value", pin); - int ret = NativeInterface.writeFile(fn, out); - if (ret < 0) { - if (ret != -2) { // ENOENT, pin might not yet be exported - throw new RuntimeException(NativeInterface.getError(ret)); - } - } - } - - - /** - * @param value true or false - */ - public static void digitalWrite(int pin, boolean value) { - if (value) { - digitalWrite(pin, HIGH); - } else { - digitalWrite(pin, LOW); - } - } - - - /** - * Disables an interrupt for an input pin - * @param pin GPIO pin - * @see enableInterrupt - * @see waitForInterrupt - */ - protected static void disableInterrupt(int pin) { - enableInterrupt(pin, NONE); - } - - - /** - * Enables an interrupt for an input pin - * @param pin GPIO pin - * @param mode what to wait for: GPIO.CHANGE, GPIO.FALLING or GPIO.RISING - * @see waitForInterrupt - * @see disableInterrupt - */ - protected static void enableInterrupt(int pin, int mode) { - checkValidPin(pin); - - String out; - if (mode == NONE) { - out = "none"; - } else if (mode == CHANGE) { - out = "both"; - } else if (mode == FALLING) { - out = "falling"; - } else if (mode == RISING) { - out = "rising"; - } else { - throw new IllegalArgumentException("Unknown mode"); - } - - if (NativeInterface.isSimulated()) { - return; - } - - String fn = String.format("/sys/class/gpio/gpio%d/edge", pin); - int ret = NativeInterface.writeFile(fn, out); - if (ret < 0) { - if (ret == -2) { // ENOENT - System.err.println("Make sure your called pinMode on the input pin"); - } - throw new RuntimeException(NativeInterface.getError(ret)); - } - } - - - /** - * Allows interrupts to happen - * @see attachInterrupt - * @see noInterrupts - * @see releaseInterrupt - * @webref - */ - public static void interrupts() { - serveInterrupts = true; - } - - - /** - * Prevents interrupts from happpening - * @see attachInterrupt - * @see interrupts - * @see releaseInterrupt - * @webref - */ - public static void noInterrupts() { - serveInterrupts = false; - } - - - /** - * Configures a pin to act either as input or output - * @param pin GPIO pin - * @param mode GPIO.INPUT or GPIO.OUTPUT - * @see digitalRead - * @see digitalWrite - * @see releasePin - * @webref - */ - public static void pinMode(int pin, int mode) { - checkValidPin(pin); - - if (NativeInterface.isSimulated()) { - return; - } - - // export pin through sysfs - String fn = "/sys/class/gpio/export"; - int ret = NativeInterface.writeFile(fn, Integer.toString(pin)); - if (ret < 0) { - if (ret == -2) { // ENOENT - System.err.println("Make sure your kernel is compiled with GPIO_SYSFS enabled"); - } - if (ret == -22) { // EINVAL - System.err.println("GPIO pin " + pin + " does not seem to be available on your platform"); - } - if (ret != -16) { // EBUSY, returned when the pin is already exported - throw new RuntimeException(fn + ": " + NativeInterface.getError(ret)); - } - } - - // delay to give udev a chance to change the file permissions behind our back - // there should really be a cleaner way for this - try { - Thread.sleep(500); - } catch (InterruptedException e) { - Thread.currentThread().interrupt(); - } - - // set direction and default level for outputs - fn = String.format("/sys/class/gpio/gpio%d/direction", pin); - String out; - if (mode == INPUT) { - out = "in"; - } else if (mode == OUTPUT) { - if (values.get(pin)) { - out = "high"; - } else { - out = "low"; - } - } else if (mode == INPUT_PULLUP || mode == INPUT_PULLDOWN) { - // currently this can't be done in a non-platform-specific way, see - // http://lists.infradead.org/pipermail/linux-rpi-kernel/2015-August/002146.html - throw new RuntimeException("Not yet implemented"); - } else { - throw new IllegalArgumentException("Unknown mode"); - } - ret = NativeInterface.writeFile(fn, out); - if (ret < 0) { - throw new RuntimeException(fn + ": " + NativeInterface.getError(ret)); - } - } - - - /** - * Stops listening for interrupts on an input pin - * @param pin GPIO pin - * @see attachInterrupt - * @see noInterrupts - * @see interrupts - * @webref - */ - public static void releaseInterrupt(int pin) { - Thread t = irqThreads.get(pin); - if (t == null) { - return; - } - - t.interrupt(); - try { - t.join(); - } catch (InterruptedException e) { - System.err.println("Error joining thread in releaseInterrupt: " + e.getMessage()); - } - t = null; - irqThreads.remove(pin); - - disableInterrupt(pin); - } - - - /** - * Gives ownership of a pin back to the operating system - * @param pin GPIO pin - * @see pinMode - * @webref - */ - public static void releasePin(int pin) { - checkValidPin(pin); - - if (NativeInterface.isSimulated()) { - return; - } - - String fn = "/sys/class/gpio/unexport"; - int ret = NativeInterface.writeFile(fn, Integer.toString(pin)); - if (ret < 0) { - if (ret == -2) { // ENOENT - System.err.println("Make sure your kernel is compiled with GPIO_SYSFS enabled"); - } - // EINVAL is returned when trying to unexport pins that weren't exported to begin with, ignore this case - if (ret != -22) { - throw new RuntimeException(NativeInterface.getError(ret)); - } - } - } - - - /** - * Waits for the value of an input pin to change - * @param pin GPIO pin - * @param mode what to wait for: GPIO.CHANGE, GPIO.FALLING or GPIO.RISING - * @webref - */ - public static void waitFor(int pin, int mode) { - waitFor(pin, mode, -1); - } - - - /** - * Waits for the value of an input pin to change - * - * This function will throw a RuntimeException in case of a timeout. - * @param timeout don't wait more than timeout milliseconds - * @webref - */ - public static void waitFor(int pin, int mode, int timeout) { - enableInterrupt(pin, mode); - if (waitForInterrupt(pin, timeout) == false) { - throw new RuntimeException("Timeout occurred"); - } - } - - - public static boolean waitForInterrupt(int pin, int mode, int timeout) { - throw new RuntimeException("The waitForInterrupt function has been renamed to waitFor. Please update your sketch accordingly."); - } - - - /** - * Waits for the value of an input pin to change - * - * Make sure to setup the interrupt with enableInterrupt() before calling - * this function. A timeout value of -1 waits indefinitely. - * @param pin GPIO pin - * @param timeout don't wait more than timeout milliseconds - * @return true if the interrupt occured, false if the timeout occured - * @see enableInterrupt - * @see disableInterrupt - */ - protected static boolean waitForInterrupt(int pin, int timeout) { - checkValidPin(pin); - - if (NativeInterface.isSimulated()) { - // pretend the interrupt happens after 200ms - try { - Thread.sleep(200); - } catch (InterruptedException e) {} - return true; - } - - String fn = String.format("/sys/class/gpio/gpio%d/value", pin); - int ret = NativeInterface.pollDevice(fn, timeout); - if (ret < 0) { - if (ret == -2) { // ENOENT - System.err.println("Make sure your called pinMode on the input pin"); - } - throw new RuntimeException(NativeInterface.getError(ret)); - } else if (ret == 0) { - // timeout - return false; - } else { - // interrupt - return true; - } - } -} diff --git a/Java/Processing/processing-3.3.6/modes/java/libraries/io/src/processing/io/I2C.java b/Java/Processing/processing-3.3.6/modes/java/libraries/io/src/processing/io/I2C.java deleted file mode 100644 index 1d0bfac..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/libraries/io/src/processing/io/I2C.java +++ /dev/null @@ -1,262 +0,0 @@ -/* -*- mode: java; c-basic-offset: 2; indent-tabs-mode: nil -*- */ - -/* - Copyright (c) The Processing Foundation 2015 - Hardware I/O library developed by Gottfried Haider as part of GSoC 2015 - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - This library 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General - Public License along with this library; if not, write to the - Free Software Foundation, Inc., 59 Temple Place, Suite 330, - Boston, MA 02111-1307 USA -*/ - -package processing.io; - -import processing.io.NativeInterface; - -import java.io.File; -import java.util.ArrayList; -import java.util.Arrays; - - -/** - * @webref - */ -public class I2C { - - protected String dev; - protected int handle; - protected int slave; - protected byte[] out; - protected boolean transmitting; - - - /** - * Opens an I2C interface as master - * @param dev interface name - * @see list - * @webref - */ - public I2C(String dev) { - NativeInterface.loadLibrary(); - this.dev = dev; - - if (NativeInterface.isSimulated()) { - return; - } - - handle = NativeInterface.openDevice("/dev/" + dev); - if (handle < 0) { - throw new RuntimeException(NativeInterface.getError(handle)); - } - } - - - /** - * Begins a transmission to an attached device - * @see write - * @see read - * @see endTransmission - * @webref - */ - public void beginTransmission(int slave) { - // addresses 120 (0x78) to 127 are additionally reserved - if (0x78 <= slave) { - System.err.println("beginTransmission expects a 7 bit address, try shifting one bit to the right"); - throw new IllegalArgumentException("Illegal address"); - } - this.slave = slave; - transmitting = true; - out = null; - } - - - /** - * Closes the I2C device - * @webref - */ - public void close() { - if (NativeInterface.isSimulated()) { - return; - } - - NativeInterface.closeDevice(handle); - handle = 0; - } - - - protected void finalize() throws Throwable { - try { - close(); - } finally { - super.finalize(); - } - } - - - /** - * Ends the current transmissions - * @see beginTransmission - * @see write - * @webref - */ - public void endTransmission() { - if (!transmitting) { - // silently ignore this case - return; - } - - if (NativeInterface.isSimulated()) { - return; - } - - // implement these flags if needed: https://github.com/raspberrypi/linux/blob/rpi-patches/Documentation/i2c/i2c-protocol - int ret = NativeInterface.transferI2c(handle, slave, out, null); - transmitting = false; - out = null; - if (ret < 0) { - if (ret == -5) { // EIO - System.err.println("The device did not respond. Check the cabling and whether you are using the correct address."); - } - throw new RuntimeException(NativeInterface.getError(ret)); - } - } - - - /** - * Lists all available I2C interfaces - * @return String array - * @webref - */ - public static String[] list() { - if (NativeInterface.isSimulated()) { - // as on the Raspberry Pi - return new String[]{ "i2c-1" }; - } - - ArrayList devs = new ArrayList(); - File dir = new File("/dev"); - File[] files = dir.listFiles(); - if (files != null) { - for (File file : files) { - if (file.getName().startsWith("i2c-")) { - devs.add(file.getName()); - } - } - } - // listFiles() does not guarantee ordering - String[] tmp = devs.toArray(new String[devs.size()]); - Arrays.sort(tmp); - return tmp; - } - - - /** - * Reads bytes from the attached device - * @param len number of bytes to read - * @return bytes read from device - * @see beginTransmission - * @see write - * @see endTransmission - * @webref - */ - public byte[] read(int len) { - if (!transmitting) { - throw new RuntimeException("beginTransmisson has not been called"); - } - - byte[] in = new byte[len]; - - if (NativeInterface.isSimulated()) { - return in; - } - - int ret = NativeInterface.transferI2c(handle, slave, out, in); - transmitting = false; - out = null; - if (ret < 0) { - if (ret == -5) { // EIO - System.err.println("The device did not respond. Check the cabling and whether you are using the correct address."); - } - throw new RuntimeException(NativeInterface.getError(ret)); - } - - return in; - } - - - /** - * Adds bytes to be written to the device - * @param out bytes to be written - * @see beginTransmission - * @see read - * @see endTransmission - * @webref - */ - public void write(byte[] out) { - if (!transmitting) { - throw new RuntimeException("beginTransmisson has not been called"); - } - - if (this.out == null) { - this.out = out; - } else { - byte[] tmp = new byte[this.out.length + out.length]; - System.arraycopy(this.out, 0, tmp, 0, this.out.length); - System.arraycopy(out, 0, tmp, this.out.length, out.length); - this.out = tmp; - } - } - - - /** - * Adds bytes to be written to the attached device - * @param out string to be written - * @see beginTransmission - * @see read - * @see endTransmission - */ - public void write(String out) { - write(out.getBytes()); - } - - - /** - * Adds a byte to be written to the attached device - * @param out single byte to be written, e.g. numeric literal (0 to 255, or -128 to 127) - * @see beginTransmission - * @see read - * @see endTransmission - */ - public void write(int out) { - if (out < -128 || 255 < out) { - System.err.println("The write function can only operate on a single byte at a time. Call it with a value from 0 to 255, or -128 to 127."); - throw new RuntimeException("Argument does not fit into a single byte"); - } - byte[] tmp = new byte[1]; - tmp[0] = (byte)out; - write(tmp); - } - - /** - * Adds a byte to be written to the attached device - * @param out single byte to be written - * @see beginTransmission - * @see read - * @see endTransmission - */ - public void write(byte out) { - // cast to (unsigned) int - write(out & 0xff); - } -} diff --git a/Java/Processing/processing-3.3.6/modes/java/libraries/io/src/processing/io/LED.java b/Java/Processing/processing-3.3.6/modes/java/libraries/io/src/processing/io/LED.java deleted file mode 100644 index 61635f4..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/libraries/io/src/processing/io/LED.java +++ /dev/null @@ -1,177 +0,0 @@ -/* -*- mode: java; c-basic-offset: 2; indent-tabs-mode: nil -*- */ - -/* - Copyright (c) The Processing Foundation 2015 - Hardware I/O library developed by Gottfried Haider as part of GSoC 2015 - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - This library 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General - Public License along with this library; if not, write to the - Free Software Foundation, Inc., 59 Temple Place, Suite 330, - Boston, MA 02111-1307 USA -*/ - -package processing.io; - -import processing.io.NativeInterface; - -import java.io.File; -import java.nio.file.Files; -import java.nio.file.Path; -import java.nio.file.Paths; -import java.util.ArrayList; -import java.util.Arrays; - - -/** - * @webref - */ -public class LED { - - protected String dev; - protected int maxBrightness; - protected int prevBrightness; - protected String prevTrigger; - - - /** - * Opens a LED device - * @param dev device name - * @see list - * @webref - */ - public LED(String dev) { - NativeInterface.loadLibrary(); - this.dev = dev; - - if (NativeInterface.isSimulated()) { - return; - } - - // read maximum brightness - try { - Path path = Paths.get("/sys/class/leds/" + dev + "/max_brightness"); - String tmp = new String(Files.readAllBytes(path)); - maxBrightness = Integer.parseInt(tmp.trim()); - } catch (Exception e) { - System.err.println(e.getMessage()); - throw new RuntimeException("Unable to read maximum brightness"); - } - - // read current trigger setting to be able to restore it later - try { - Path path = Paths.get("/sys/class/leds/" + dev + "/trigger"); - String tmp = new String(Files.readAllBytes(path)); - int start = tmp.indexOf('['); - int end = tmp.indexOf(']', start); - if (start != -1 && end != -1) { - prevTrigger = tmp.substring(start+1, end); - } - } catch (Exception e) { - System.err.println(e.getMessage()); - throw new RuntimeException("Unable to read trigger setting"); - } - - // read current brightness to be able to restore it later - try { - Path path = Paths.get("/sys/class/leds/" + dev + "/brightness"); - String tmp = new String(Files.readAllBytes(path)); - prevBrightness = Integer.parseInt(tmp.trim()); - } catch (Exception e) { - System.err.println(e.getMessage()); - throw new RuntimeException("Unable to read current brightness"); - } - - // disable trigger - String fn = "/sys/class/leds/" + dev + "/trigger"; - int ret = NativeInterface.writeFile(fn, "none"); - if (ret < 0) { - if (ret == -13) { // EACCES - System.err.println("You might need to install a custom udev rule to allow regular users to modify /sys/class/leds/*."); - } - throw new RuntimeException(NativeInterface.getError(ret)); - } - } - - - /** - * Sets the brightness - * @param bright 0.0 (off) to 1.0 (maximum) - * @webref - */ - public void brightness(float bright) { - if (bright < 0.0 || 1.0 < bright) { - System.err.println("Brightness must be between 0.0 and 1.0."); - throw new IllegalArgumentException("Illegal argument"); - } - - if (NativeInterface.isSimulated()) { - return; - } - - String fn = "/sys/class/leds/" + dev + "/brightness"; - int ret = NativeInterface.writeFile(fn, Integer.toString((int)(bright * maxBrightness))); - if (ret < 0) { - throw new RuntimeException(fn + ": " + NativeInterface.getError(ret)); - } - } - - - /** - * Restores the previous state - * @webref - */ - public void close() { - if (NativeInterface.isSimulated()) { - return; - } - - // restore previous settings - String fn = "/sys/class/leds/" + dev + "/brightness"; - int ret = NativeInterface.writeFile(fn, Integer.toString(prevBrightness)); - if (ret < 0) { - throw new RuntimeException(fn + ": " + NativeInterface.getError(ret)); - } - - fn = "/sys/class/leds/" + dev + "/trigger"; - ret = NativeInterface.writeFile(fn, prevTrigger); - if (ret < 0) { - throw new RuntimeException(fn + ": " + NativeInterface.getError(ret)); - } - } - - - /** - * Lists all available LED devices - * @return String array - * @webref - */ - public static String[] list() { - if (NativeInterface.isSimulated()) { - // as on the Raspberry Pi - return new String[]{ "led0", "led1" }; - } - - ArrayList devs = new ArrayList(); - File dir = new File("/sys/class/leds"); - File[] files = dir.listFiles(); - if (files != null) { - for (File file : files) { - devs.add(file.getName()); - } - } - // listFiles() does not guarantee ordering - String[] tmp = devs.toArray(new String[devs.size()]); - Arrays.sort(tmp); - return tmp; - } -} diff --git a/Java/Processing/processing-3.3.6/modes/java/libraries/io/src/processing/io/NativeInterface.java b/Java/Processing/processing-3.3.6/modes/java/libraries/io/src/processing/io/NativeInterface.java deleted file mode 100644 index 3b1b3e0..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/libraries/io/src/processing/io/NativeInterface.java +++ /dev/null @@ -1,75 +0,0 @@ -/* -*- mode: java; c-basic-offset: 2; indent-tabs-mode: nil -*- */ - -/* - Copyright (c) The Processing Foundation 2015 - Hardware I/O library developed by Gottfried Haider as part of GSoC 2015 - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - This library 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General - Public License along with this library; if not, write to the - Free Software Foundation, Inc., 59 Temple Place, Suite 330, - Boston, MA 02111-1307 USA -*/ - -package processing.io; - - -public class NativeInterface { - - protected static boolean loaded = false; - protected static boolean alwaysSimulate = false; - - public static void loadLibrary() { - if (!loaded) { - if (isSimulated()) { - System.err.println("The Processing I/O library is not supported on this platform. Instead of values from actual hardware ports, your sketch will only receive stand-in values that allow you to test the remainder of its functionality."); - } else { - System.loadLibrary("processing-io"); - } - loaded = true; - } - } - - public static void alwaysSimulate() { - alwaysSimulate = true; - } - - public static boolean isSimulated() { - return alwaysSimulate || - !"Linux".equals(System.getProperty("os.name")); - } - - - public static native int openDevice(String fn); - public static native String getError(int errno); - public static native int closeDevice(int handle); - - // the following two functions were done in native code to get access to the - // specifc error number (errno) that might occur - public static native int readFile(String fn, byte[] in); - public static native int writeFile(String fn, byte[] out); - public static int writeFile(String fn, String out) { - return writeFile(fn, out.getBytes()); - } - - /* GPIO */ - public static native int pollDevice(String fn, int timeout); - /* I2C */ - public static native int transferI2c(int handle, int slave, byte[] out, byte[] in); - /* SoftwareServo */ - public static native long servoStartThread(int gpio, int pulse, int period); - public static native int servoUpdateThread(long handle, int pulse, int period); - public static native int servoStopThread(long handle); - /* SPI */ - public static native int setSpiSettings(int handle, int maxSpeed, int dataOrder, int mode); - public static native int transferSpi(int handle, byte[] out, byte[] in); -} diff --git a/Java/Processing/processing-3.3.6/modes/java/libraries/io/src/processing/io/PWM.java b/Java/Processing/processing-3.3.6/modes/java/libraries/io/src/processing/io/PWM.java deleted file mode 100644 index 2a8fe19..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/libraries/io/src/processing/io/PWM.java +++ /dev/null @@ -1,215 +0,0 @@ -/* -*- mode: java; c-basic-offset: 2; indent-tabs-mode: nil -*- */ - -/* - Copyright (c) The Processing Foundation 2015 - Hardware I/O library developed by Gottfried Haider as part of GSoC 2015 - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - This library 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General - Public License along with this library; if not, write to the - Free Software Foundation, Inc., 59 Temple Place, Suite 330, - Boston, MA 02111-1307 USA -*/ - -package processing.io; - -import processing.io.NativeInterface; - -import java.io.File; -import java.nio.file.Files; -import java.nio.file.Path; -import java.nio.file.Paths; -import java.util.ArrayList; -import java.util.Arrays; - - -/** - * @webref - */ -public class PWM { - - int channel; - String chip; - - - /** - * Opens a PWM channel - * @param channel PWM channel - * @see list - * @webref - */ - public PWM(String channel) { - NativeInterface.loadLibrary(); - - int pos = channel.indexOf("/pwm"); - if (pos == -1) { - throw new IllegalArgumentException("Unsupported channel"); - } - chip = channel.substring(0, pos); - this.channel = Integer.parseInt(channel.substring(pos+4)); - - if (NativeInterface.isSimulated()) { - return; - } - - // export channel through sysfs - String fn = "/sys/class/pwm/" + chip + "/export"; - int ret = NativeInterface.writeFile(fn, Integer.toString(this.channel)); - if (ret < 0) { - if (ret == -2) { // ENOENT - System.err.println("Make sure your kernel is compiled with PWM_SYSFS enabled and you have the necessary PWM driver for your platform"); - } - // XXX: check - if (ret == -22) { // EINVAL - System.err.println("PWM channel " + channel + " does not seem to be available on your platform"); - } - // XXX: check - if (ret != -16) { // EBUSY, returned when the pin is already exported - throw new RuntimeException(fn + ": " + NativeInterface.getError(ret)); - } - } - - // delay to give udev a chance to change the file permissions behind our back - // there should really be a cleaner way for this - try { - Thread.sleep(500); - } catch (InterruptedException e) { - Thread.currentThread().interrupt(); - } - } - - - /** - * Disables the PWM output - * @webref - */ - public void clear() { - if (NativeInterface.isSimulated()) { - return; - } - - String fn = String.format("/sys/class/pwm/%s/pwm%d/enable", chip, channel); - int ret = NativeInterface.writeFile(fn, "0"); - if (ret < 0) { - throw new RuntimeException(NativeInterface.getError(ret)); - } - } - - - /** - * Gives ownership of a channel back to the operating system - * @webref - */ - public void close() { - if (NativeInterface.isSimulated()) { - return; - } - - // XXX: implicit clear()? - // XXX: also check GPIO - - String fn = "/sys/class/pwm/" + chip + "/unexport"; - int ret = NativeInterface.writeFile(fn, Integer.toString(channel)); - if (ret < 0) { - if (ret == -2) { // ENOENT - System.err.println("Make sure your kernel is compiled with PWM_SYSFS enabled and you have the necessary PWM driver for your platform"); - } - // XXX: check - // EINVAL is also returned when trying to unexport pins that weren't exported to begin with - throw new RuntimeException(NativeInterface.getError(ret)); - } - } - - - /** - * Lists all available PWM channels - * @return String array - * @webref - */ - public static String[] list() { - if (NativeInterface.isSimulated()) { - return new String[]{ "pwmchip0/pwm0", "pwmchip0/pwm1" }; - } - - ArrayList devs = new ArrayList(); - File dir = new File("/sys/class/pwm"); - File[] chips = dir.listFiles(); - if (chips != null) { - for (File chip : chips) { - // get the number of supported channels - try { - Path path = Paths.get("/sys/class/pwm/" + chip.getName() + "/npwm"); - String tmp = new String(Files.readAllBytes(path)); - int npwm = Integer.parseInt(tmp.trim()); - for (int i=0; i < npwm; i++) { - devs.add(chip.getName() + "/pwm" + i); - } - } catch (Exception e) { - } - } - } - // listFiles() does not guarantee ordering - String[] tmp = devs.toArray(new String[devs.size()]); - Arrays.sort(tmp); - return tmp; - } - - - /** - * Enables the PWM output - * @param period cycle period in Hz - * @param duty duty cycle, 0.0 (always off) to 1.0 (always on) - * @webref - */ - public void set(int period, float duty) { - if (NativeInterface.isSimulated()) { - return; - } - - // set period - String fn = fn = String.format("/sys/class/pwm/%s/pwm%d/period", chip, channel); - // convert to nanoseconds - int ret = NativeInterface.writeFile(fn, String.format("%d", (int)(1000000000 / period))); - if (ret < 0) { - throw new RuntimeException(fn + ": " + NativeInterface.getError(ret)); - } - - // set duty cycle - fn = fn = String.format("/sys/class/pwm/%s/pwm%d/duty_cycle", chip, channel); - if (duty < 0.0 || 1.0 < duty) { - System.err.println("Duty cycle must be between 0.0 and 1.0."); - throw new IllegalArgumentException("Illegal argument"); - } - // convert to nanoseconds - ret = NativeInterface.writeFile(fn, String.format("%d", (int)((1000000000 * duty) / period))); - if (ret < 0) { - throw new RuntimeException(fn + ": " + NativeInterface.getError(ret)); - } - - // enable output - fn = String.format("/sys/class/pwm/%s/pwm%d/enable", chip, channel); - ret = NativeInterface.writeFile(fn, "1"); - if (ret < 0) { - throw new RuntimeException(fn + ": " + NativeInterface.getError(ret)); - } - } - - - /** - * Enables the PWM output with a preset period of 1 kHz - * @param duty duty cycle, 0.0 (always off) to 1.0 (always on) - * @webref - */ - public void set(float duty) { - set(1000, duty); - } -} diff --git a/Java/Processing/processing-3.3.6/modes/java/libraries/io/src/processing/io/SPI.java b/Java/Processing/processing-3.3.6/modes/java/libraries/io/src/processing/io/SPI.java deleted file mode 100644 index b1a8369..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/libraries/io/src/processing/io/SPI.java +++ /dev/null @@ -1,226 +0,0 @@ -/* -*- mode: java; c-basic-offset: 2; indent-tabs-mode: nil -*- */ - -/* - Copyright (c) The Processing Foundation 2015 - Hardware I/O library developed by Gottfried Haider as part of GSoC 2015 - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - This library 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General - Public License along with this library; if not, write to the - Free Software Foundation, Inc., 59 Temple Place, Suite 330, - Boston, MA 02111-1307 USA -*/ - -package processing.io; - -import processing.io.NativeInterface; - -import java.io.File; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.HashMap; -import java.util.Map; - - -/** - * @webref - */ -public class SPI { - - /** - * CPOL=0, CPHA=0, most common - */ - public static final int MODE0 = 0; - /** - * CPOL=0, CPHA=1 - */ - public static final int MODE1 = 1; - /** - * CPOL=1, CPHA=0 - */ - public static final int MODE2 = 2; - /** - * CPOL=1, CPHA=1 - */ - public static final int MODE3 = 3; - /** - * most significant bit first, most common - */ - public static final int MSBFIRST = 0; - /** - * least significant bit first - */ - public static final int LSBFIRST = 1; - - protected int dataOrder = 0; - protected String dev; - protected int handle; - protected int maxSpeed = 500000; - protected int mode = 0; - protected static Map settings = new HashMap(); - - - /** - * Opens an SPI interface as master - * @param dev device name - * @see list - * @webref - */ - public SPI(String dev) { - NativeInterface.loadLibrary(); - this.dev = dev; - - if (NativeInterface.isSimulated()) { - return; - } - - handle = NativeInterface.openDevice("/dev/" + dev); - if (handle < 0) { - throw new RuntimeException(NativeInterface.getError(handle)); - } - } - - - /** - * Closes the SPI interface - * @webref - */ - public void close() { - if (NativeInterface.isSimulated()) { - return; - } - - NativeInterface.closeDevice(handle); - handle = 0; - } - - - protected void finalize() throws Throwable { - try { - close(); - } finally { - super.finalize(); - } - } - - - /** - * Lists all available SPI interfaces - * @return String array - * @webref - */ - public static String[] list() { - if (NativeInterface.isSimulated()) { - // as on the Raspberry Pi - return new String[]{ "spidev0.0", "spidev0.1" }; - } - - ArrayList devs = new ArrayList(); - File dir = new File("/dev"); - File[] files = dir.listFiles(); - if (files != null) { - for (File file : files) { - if (file.getName().startsWith("spidev")) { - devs.add(file.getName()); - } - } - } - // listFiles() does not guarantee ordering - String[] tmp = devs.toArray(new String[devs.size()]); - Arrays.sort(tmp); - return tmp; - } - - - /** - * Configures the SPI interface - * @param maxSpeed maximum transmission rate in Hz, 500000 (500 kHz) is a resonable default - * @param dataOrder whether data is send with the first- or least-significant bit first (SPI.MSBFIRST or SPI.LSBFIRST, the former is more common) - * @param mode SPI.MODE0 to SPI.MODE3 - * @webref - */ - public void settings(int maxSpeed, int dataOrder, int mode) { - this.maxSpeed = maxSpeed; - this.dataOrder = dataOrder; - this.mode = mode; - } - - - /** - * Transfers data over the SPI bus - * @param out bytes to send - * @return bytes read in (array is the same length as out) - * @webref - */ - public byte[] transfer(byte[] out) { - if (NativeInterface.isSimulated()) { - return new byte[out.length]; - } - - // track the current setting per device across multiple instances - String curSettings = maxSpeed + "-" + dataOrder + "-" + mode; - if (!curSettings.equals(settings.get(dev))) { - int ret = NativeInterface.setSpiSettings(handle, maxSpeed, dataOrder, mode); - if (ret < 0) { - System.err.println(NativeInterface.getError(handle)); - throw new RuntimeException("Error updating device configuration"); - } - settings.put(dev, curSettings); - } - - byte[] in = new byte[out.length]; - int transferred = NativeInterface.transferSpi(handle, out, in); - if (transferred < 0) { - throw new RuntimeException(NativeInterface.getError(transferred)); - } else if (transferred < out.length) { - throw new RuntimeException("Fewer bytes transferred than requested: " + transferred); - } - return in; - } - - - /** - * Transfers data over the SPI bus - * @param out string to send - * @return bytes read in (array is the same length as out) - */ - public byte[] transfer(String out) { - return transfer(out.getBytes()); - } - - - /** - * Transfers data over the SPI bus - * @param out single byte to send, e.g. numeric literal (0 to 255, or -128 to 127) - * @return bytes read in (array is the same length as out) - */ - public byte[] transfer(int out) { - if (out < -128 || 255 < out) { - System.err.println("The transfer function can only operate on a single byte at a time. Call it with a value from 0 to 255, or -128 to 127."); - throw new RuntimeException("Argument does not fit into a single byte"); - } - byte[] tmp = new byte[1]; - tmp[0] = (byte)out; - return transfer(tmp); - } - - - /** - * Transfers data over the SPI bus - * @param out single byte to send - * @return bytes read in (array is the same length as out) - */ - public byte[] transfer(byte out) { - // cast to (unsigned) int - return transfer(out & 0xff); - } -} diff --git a/Java/Processing/processing-3.3.6/modes/java/libraries/io/src/processing/io/SoftwareServo.java b/Java/Processing/processing-3.3.6/modes/java/libraries/io/src/processing/io/SoftwareServo.java deleted file mode 100644 index db5cbdc..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/libraries/io/src/processing/io/SoftwareServo.java +++ /dev/null @@ -1,162 +0,0 @@ -/* -*- mode: java; c-basic-offset: 2; indent-tabs-mode: nil -*- */ - -/* - Copyright (c) The Processing Foundation 2015 - Hardware I/O library developed by Gottfried Haider - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - This library 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General - Public License along with this library; if not, write to the - Free Software Foundation, Inc., 59 Temple Place, Suite 330, - Boston, MA 02111-1307 USA -*/ - -package processing.io; - -import processing.core.*; - - -/** - * @webref - */ -public class SoftwareServo { - - public static final int DEFAULT_MIN_PULSE = 544; - public static final int DEFAULT_MAX_PULSE = 2400; - - protected int pin = -1; // gpio number (-1 .. not attached) - protected long handle = -1; // native thread id (<0 .. not started) - protected int period = 20000; // 20 ms (50 Hz) - protected int minPulse = 0; // minimum pulse width in microseconds - protected int maxPulse = 0; // maximum pulse width in microseconds - protected int pulse = 0; // current pulse in microseconds - - - /** - * Opens a servo motor - * @param parent typically use "this" - * @webref - */ - public SoftwareServo(PApplet parent) { - NativeInterface.loadLibrary(); - } - - - /** - * Closes a servo motor - * @webref - */ - public void close() { - detach(); - } - - - protected void finalize() throws Throwable { - try { - close(); - } finally { - super.finalize(); - } - } - - - /** - * Attaches a servo motor to a GPIO pin - * @param pin GPIO pin - * @webref - */ - public void attach(int pin) { - detach(); - this.pin = pin; - this.minPulse = DEFAULT_MIN_PULSE; - this.maxPulse = DEFAULT_MAX_PULSE; - } - - - /** - * Attaches a servo motor to a GPIO pin using custom pulse widths - * @param minPulse minimum pulse width in microseconds (default: 544, same as on Arduino) - * @param maxPulse maximum pulse width in microseconds (default: 2400, same as on Arduino) - * @webref - */ - public void attach(int pin, int minPulse, int maxPulse) { - detach(); - this.pin = pin; - this.minPulse = minPulse; - this.maxPulse = maxPulse; - } - - - /** - * Moves a servo motor to a given orientation - * @param angle angle in degrees (controls speed and direction on continuous-rotation servos) - * @webref - */ - public void write(float angle) { - if (attached() == false) { - System.err.println("You need to call attach(pin) before write(angle)."); - throw new RuntimeException("Servo is not attached"); - } - - if (angle < 0 || 180 < angle) { - System.err.println("Only degree values between 0 and 180 can be used."); - throw new IllegalArgumentException("Illegal value"); - } - pulse = (int)(minPulse + (angle/180.0) * (maxPulse-minPulse)); - - if (handle < 0) { - // start a new thread - GPIO.pinMode(pin, GPIO.OUTPUT); - if (NativeInterface.isSimulated()) { - return; - } - handle = NativeInterface.servoStartThread(pin, pulse, period); - if (handle < 0) { - throw new RuntimeException(NativeInterface.getError((int)handle)); - } - } else { - // thread already running - int ret = NativeInterface.servoUpdateThread(handle, pulse, period); - if (ret < 0) { - throw new RuntimeException(NativeInterface.getError(ret)); - } - } - } - - - /** - * Returns whether a servo motor is attached to a pin - * @return true if attached, false is not - * @webref - */ - public boolean attached() { - return (pin != -1); - } - - - /** - * Detatches a servo motor from a GPIO pin - * @webref - */ - public void detach() { - if (0 <= handle) { - // stop thread - int ret = NativeInterface.servoStopThread(handle); - GPIO.pinMode(pin, GPIO.INPUT); - handle = -1; - pin = -1; - if (ret < 0) { - throw new RuntimeException(NativeInterface.getError(ret)); - } - } - } -} diff --git a/Java/Processing/processing-3.3.6/modes/java/libraries/net/.classpath b/Java/Processing/processing-3.3.6/modes/java/libraries/net/.classpath deleted file mode 100644 index f16a0db..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/libraries/net/.classpath +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/libraries/net/.project b/Java/Processing/processing-3.3.6/modes/java/libraries/net/.project deleted file mode 100644 index 652a56b..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/libraries/net/.project +++ /dev/null @@ -1,17 +0,0 @@ - - - processing-net - - - - - - org.eclipse.jdt.core.javabuilder - - - - - - org.eclipse.jdt.core.javanature - - diff --git a/Java/Processing/processing-3.3.6/modes/java/libraries/net/.settings/org.eclipse.jdt.core.prefs b/Java/Processing/processing-3.3.6/modes/java/libraries/net/.settings/org.eclipse.jdt.core.prefs deleted file mode 100644 index a11eccb..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/libraries/net/.settings/org.eclipse.jdt.core.prefs +++ /dev/null @@ -1,295 +0,0 @@ -eclipse.preferences.version=1 -org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 -org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.compliance=1.6 -org.eclipse.jdt.core.compiler.debug.lineNumber=generate -org.eclipse.jdt.core.compiler.debug.localVariable=generate -org.eclipse.jdt.core.compiler.debug.sourceFile=generate -org.eclipse.jdt.core.compiler.problem.assertIdentifier=error -org.eclipse.jdt.core.compiler.problem.enumIdentifier=error -org.eclipse.jdt.core.compiler.source=1.6 -org.eclipse.jdt.core.formatter.align_type_members_on_columns=false -org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=18 -org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0 -org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16 -org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=18 -org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=18 -org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16 -org.eclipse.jdt.core.formatter.alignment_for_assignment=0 -org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16 -org.eclipse.jdt.core.formatter.alignment_for_compact_if=16 -org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80 -org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0 -org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=36 -org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0 -org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16 -org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=18 -org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=18 -org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80 -org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16 -org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16 -org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16 -org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16 -org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16 -org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16 -org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16 -org.eclipse.jdt.core.formatter.blank_lines_after_imports=1 -org.eclipse.jdt.core.formatter.blank_lines_after_package=1 -org.eclipse.jdt.core.formatter.blank_lines_before_field=1 -org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0 -org.eclipse.jdt.core.formatter.blank_lines_before_imports=1 -org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1 -org.eclipse.jdt.core.formatter.blank_lines_before_method=1 -org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1 -org.eclipse.jdt.core.formatter.blank_lines_before_package=0 -org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1 -org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1 -org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line -org.eclipse.jdt.core.formatter.comment.clear_blank_lines=false -org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false -org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false -org.eclipse.jdt.core.formatter.comment.format_block_comments=true -org.eclipse.jdt.core.formatter.comment.format_comments=true -org.eclipse.jdt.core.formatter.comment.format_header=false -org.eclipse.jdt.core.formatter.comment.format_html=true -org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true -org.eclipse.jdt.core.formatter.comment.format_line_comments=false -org.eclipse.jdt.core.formatter.comment.format_source_code=true -org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true -org.eclipse.jdt.core.formatter.comment.indent_root_tags=true -org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert -org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert -org.eclipse.jdt.core.formatter.comment.line_length=80 -org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true -org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true -org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false -org.eclipse.jdt.core.formatter.compact_else_if=true -org.eclipse.jdt.core.formatter.continuation_indentation=1 -org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=1 -org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off -org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on -org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false -org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true -org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true -org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true -org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true -org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true -org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true -org.eclipse.jdt.core.formatter.indent_empty_lines=false -org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true -org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true -org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true -org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false -org.eclipse.jdt.core.formatter.indentation.size=2 -org.eclipse.jdt.core.formatter.insert_new_line_after_annotation=insert -org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert -org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert -org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_member=insert -org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert -org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert -org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert -org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert -org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert -org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert -org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert -org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert -org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert -org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert -org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert -org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert -org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert -org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert -org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert -org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert -org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert -org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert -org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert -org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert -org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert -org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert -org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert -org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert -org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert -org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert -org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert -org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert -org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert -org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert -org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert -org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert -org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert -org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert -org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert -org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert -org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert -org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert -org.eclipse.jdt.core.formatter.join_lines_in_comments=true -org.eclipse.jdt.core.formatter.join_wrapped_lines=true -org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false -org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false -org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false -org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false -org.eclipse.jdt.core.formatter.lineSplit=80 -org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false -org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=true -org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0 -org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1 -org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true -org.eclipse.jdt.core.formatter.tabulation.char=space -org.eclipse.jdt.core.formatter.tabulation.size=2 -org.eclipse.jdt.core.formatter.use_on_off_tags=false -org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false -org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true -org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true -org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true diff --git a/Java/Processing/processing-3.3.6/modes/java/libraries/net/.settings/org.eclipse.jdt.ui.prefs b/Java/Processing/processing-3.3.6/modes/java/libraries/net/.settings/org.eclipse.jdt.ui.prefs deleted file mode 100644 index 7f5ba1e..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/libraries/net/.settings/org.eclipse.jdt.ui.prefs +++ /dev/null @@ -1,3 +0,0 @@ -eclipse.preferences.version=1 -formatter_profile=_processing -formatter_settings_version=12 diff --git a/Java/Processing/processing-3.3.6/modes/java/libraries/net/build.xml b/Java/Processing/processing-3.3.6/modes/java/libraries/net/build.xml deleted file mode 100644 index 9ee83b9..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/libraries/net/build.xml +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/libraries/net/examples/ChatServer/ChatServer.pde b/Java/Processing/processing-3.3.6/modes/java/libraries/net/examples/ChatServer/ChatServer.pde deleted file mode 100644 index 796f301..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/libraries/net/examples/ChatServer/ChatServer.pde +++ /dev/null @@ -1,52 +0,0 @@ -/** - * Chat Server - * by Tom Igoe. - * - * Press the mouse to stop the server. - */ - - -import processing.net.*; - -int port = 10002; -boolean myServerRunning = true; -int bgColor = 0; -int direction = 1; -int textLine = 60; - -Server myServer; - -void setup() -{ - size(400, 400); - textFont(createFont("SanSerif", 16)); - myServer = new Server(this, port); // Starts a myServer on port 10002 - background(0); -} - -void mousePressed() -{ - // If the mouse clicked the myServer stops - myServer.stop(); - myServerRunning = false; -} - -void draw() -{ - if (myServerRunning == true) - { - text("server", 15, 45); - Client thisClient = myServer.available(); - if (thisClient != null) { - if (thisClient.available() > 0) { - text("mesage from: " + thisClient.ip() + " : " + thisClient.readString(), 15, textLine); - textLine = textLine + 35; - } - } - } - else - { - text("server", 15, 45); - text("stopped", 15, 65); - } -} diff --git a/Java/Processing/processing-3.3.6/modes/java/libraries/net/examples/ChatServer/data/ScalaSans-Caps-32.vlw b/Java/Processing/processing-3.3.6/modes/java/libraries/net/examples/ChatServer/data/ScalaSans-Caps-32.vlw deleted file mode 100644 index f92b469..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/libraries/net/examples/ChatServer/data/ScalaSans-Caps-32.vlw and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/libraries/net/examples/HTTPClient/HTTPClient.pde b/Java/Processing/processing-3.3.6/modes/java/libraries/net/examples/HTTPClient/HTTPClient.pde deleted file mode 100644 index b1267a2..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/libraries/net/examples/HTTPClient/HTTPClient.pde +++ /dev/null @@ -1,34 +0,0 @@ -/** - * HTTP Client. - * - * Starts a network client that connects to a server on port 80, - * sends an HTTP 1.0 GET request, and prints the results. - * - * Note that this code is not necessary for simple HTTP GET request: - * Simply calling loadStrings("http://www.processing.org") would do - * the same thing as (and more efficiently than) this example. - * This example is for people who might want to do something more - * complicated later. - */ - - -import processing.net.*; - -Client c; -String data; - -void setup() { - size(200, 200); - background(50); - fill(200); - c = new Client(this, "www.ucla.edu", 80); // Connect to server on port 80 - c.write("GET / HTTP/1.0\r\n"); // Use the HTTP "GET" command to ask for a Web page - c.write("\r\n"); -} - -void draw() { - if (c.available() > 0) { // If there's incoming data from the client... - data = c.readString(); // ...then grab it and print it - println(data); - } -} \ No newline at end of file diff --git a/Java/Processing/processing-3.3.6/modes/java/libraries/net/examples/SharedCanvasClient/SharedCanvasClient.pde b/Java/Processing/processing-3.3.6/modes/java/libraries/net/examples/SharedCanvasClient/SharedCanvasClient.pde deleted file mode 100644 index ac6d09e..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/libraries/net/examples/SharedCanvasClient/SharedCanvasClient.pde +++ /dev/null @@ -1,46 +0,0 @@ -/** - * Shared Drawing Canvas (Client) - * by Alexander R. Galloway. - * - * The Processing Client class is instantiated by specifying a remote - * address and port number to which the socket connection should be made. - * Once the connection is made, the client may read (or write) data to the server. - * Before running this program, start the Shared Drawing Canvas (Server) program. - */ - - -import processing.net.*; - -Client c; -String input; -int data[]; - -void setup() -{ - size(450, 255); - background(204); - stroke(0); - frameRate(5); // Slow it down a little - // Connect to the server's IP address and port - c = new Client(this, "127.0.0.1", 12345); // Replace with your server's IP and port -} - -void draw() -{ - if (mousePressed == true) { - // Draw our line - stroke(255); - line(pmouseX, pmouseY, mouseX, mouseY); - // Send mouse coords to other person - c.write(pmouseX + " " + pmouseY + " " + mouseX + " " + mouseY + "\n"); - } - // Receive data from server - if (c.available() > 0) { - input = c.readString(); - input = input.substring(0, input.indexOf("\n")); // Only up to the newline - data = int(split(input, ' ')); // Split values into an array - // Draw line using received coords - stroke(0); - line(data[0], data[1], data[2], data[3]); - } -} diff --git a/Java/Processing/processing-3.3.6/modes/java/libraries/net/examples/SharedCanvasServer/SharedCanvasServer.pde b/Java/Processing/processing-3.3.6/modes/java/libraries/net/examples/SharedCanvasServer/SharedCanvasServer.pde deleted file mode 100644 index 31b22d7..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/libraries/net/examples/SharedCanvasServer/SharedCanvasServer.pde +++ /dev/null @@ -1,50 +0,0 @@ -/** - * Shared Drawing Canvas (Server) - * by Alexander R. Galloway. - * - * A server that shares a drawing canvas between two computers. - * In order to open a socket connection, a server must select a - * port on which to listen for incoming clients and through which - * to communicate. Once the socket is established, a client may - * connect to the server and send or receive commands and data. - * Get this program running and then start the Shared Drawing - * Canvas (Client) program so see how they interact. - */ - - -import processing.net.*; - -Server s; -Client c; -String input; -int data[]; - -void setup() -{ - size(450, 255); - background(204); - stroke(0); - frameRate(5); // Slow it down a little - s = new Server(this, 12345); // Start a simple server on a port -} - -void draw() -{ - if (mousePressed == true) { - // Draw our line - stroke(255); - line(pmouseX, pmouseY, mouseX, mouseY); - // Send mouse coords to other person - s.write(pmouseX + " " + pmouseY + " " + mouseX + " " + mouseY + "\n"); - } - // Receive data from client - c = s.available(); - if (c != null) { - input = c.readString(); - input = input.substring(0, input.indexOf("\n")); // Only up to the newline - data = int(split(input, ' ')); // Split values into an array - // Draw line using received coords - stroke(0); - line(data[0], data[1], data[2], data[3]); - } -} diff --git a/Java/Processing/processing-3.3.6/modes/java/libraries/net/library.properties b/Java/Processing/processing-3.3.6/modes/java/libraries/net/library.properties deleted file mode 100644 index 529897e..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/libraries/net/library.properties +++ /dev/null @@ -1,2 +0,0 @@ -name = Network -version = 1 diff --git a/Java/Processing/processing-3.3.6/modes/java/libraries/net/library/net.jar b/Java/Processing/processing-3.3.6/modes/java/libraries/net/library/net.jar deleted file mode 100644 index 68a58da..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/libraries/net/library/net.jar and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/libraries/net/src/processing/net/Client.java b/Java/Processing/processing-3.3.6/modes/java/libraries/net/src/processing/net/Client.java deleted file mode 100644 index 11287c5..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/libraries/net/src/processing/net/Client.java +++ /dev/null @@ -1,690 +0,0 @@ -/* -*- mode: java; c-basic-offset: 2; indent-tabs-mode: nil -*- */ - -/* - Client - basic network client implementation - Part of the Processing project - http://processing.org - - Copyright (c) 2004-2007 Ben Fry and Casey Reas - The previous version of this code was developed by Hernando Barragan - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - This library 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General - Public License along with this library; if not, write to the - Free Software Foundation, Inc., 59 Temple Place, Suite 330, - Boston, MA 02111-1307 USA -*/ - -package processing.net; -import processing.core.*; - -import java.io.*; -import java.lang.reflect.*; -import java.net.*; - -/** - * ( begin auto-generated from Client.xml ) - * - * A client connects to a server and sends data back and forth. If anything - * goes wrong with the connection, for example the host is not there or is - * listening on a different port, an exception is thrown. - * - * ( end auto-generated ) - * @webref net - * @brief The client class is used to create client Objects which connect to a server to exchange data. - * @instanceName client any variable of type Client - * @usage Application - * @see_external LIB_net/clientEvent - */ -public class Client implements Runnable { - PApplet parent; - Method clientEventMethod; - Method disconnectEventMethod; - - Thread thread; - Socket socket; - int port; - String host; - - public InputStream input; - public OutputStream output; - - byte buffer[] = new byte[32768]; - int bufferIndex; - int bufferLast; - - boolean disposeRegistered = false; - - - /** - * @param parent typically use "this" - * @param host address of the server - * @param port port to read/write from on the server - */ - public Client(PApplet parent, String host, int port) { - this.parent = parent; - this.host = host; - this.port = port; - - try { - socket = new Socket(this.host, this.port); - input = socket.getInputStream(); - output = socket.getOutputStream(); - - thread = new Thread(this); - thread.start(); - - parent.registerMethod("dispose", this); - disposeRegistered = true; - - // reflection to check whether host sketch has a call for - // public void clientEvent(processing.net.Client) - // which would be called each time an event comes in - try { - clientEventMethod = - parent.getClass().getMethod("clientEvent", - new Class[] { Client.class }); - } catch (Exception e) { - // no such method, or an error.. which is fine, just ignore - } - // do the same for disconnectEvent(Client c); - try { - disconnectEventMethod = - parent.getClass().getMethod("disconnectEvent", - new Class[] { Client.class }); - } catch (Exception e) { - // no such method, or an error.. which is fine, just ignore - } - - } catch (ConnectException ce) { - ce.printStackTrace(); - dispose(); - - } catch (IOException e) { - e.printStackTrace(); - dispose(); - } - } - - - /** - * @param socket any object of type Socket - * @throws IOException - */ - public Client(PApplet parent, Socket socket) throws IOException { - this.parent = parent; - this.socket = socket; - - input = socket.getInputStream(); - output = socket.getOutputStream(); - - thread = new Thread(this); - thread.start(); - - // reflection to check whether host sketch has a call for - // public void disconnectEvent(processing.net.Client) - try { - disconnectEventMethod = - parent.getClass().getMethod("disconnectEvent", - new Class[] { Client.class }); - } catch (Exception e) { - // no such method, or an error.. which is fine, just ignore - } - } - - - /** - * ( begin auto-generated from Client_stop.xml ) - * - * Disconnects from the server. Use to shut the connection when you're - * finished with the Client. - * - * ( end auto-generated ) - * @webref client:client - * @brief Disconnects from the server - * @usage application - */ - public void stop() { - if (disconnectEventMethod != null && thread != null){ - try { - disconnectEventMethod.invoke(parent, new Object[] { this }); - } catch (Exception e) { - e.printStackTrace(); - disconnectEventMethod = null; - } - } - if (disposeRegistered) { - parent.unregisterMethod("dispose", this); - disposeRegistered = false; - } - dispose(); - } - - - /** - * Disconnect from the server: internal use only. - *

- * This should only be called by the internal functions in PApplet, - * use stop() instead from within your own applets. - */ - public void dispose() { - thread = null; - try { - if (input != null) { - input.close(); - input = null; - } - } catch (Exception e) { - e.printStackTrace(); - } - - try { - if (output != null) { - output.close(); - output = null; - } - } catch (Exception e) { - e.printStackTrace(); - } - - try { - if (socket != null) { - socket.close(); - socket = null; - } - } catch (Exception e) { - e.printStackTrace(); - } - } - - - public void run() { - while (Thread.currentThread() == thread) { - try { - while (input != null) { - int value; - - // try to read a byte using a blocking read. - // An exception will occur when the sketch is exits. - try { - value = input.read(); - } catch (SocketException e) { - System.err.println("Client SocketException: " + e.getMessage()); - // the socket had a problem reading so don't try to read from it again. - stop(); - return; - } - - // read returns -1 if end-of-stream occurs (for example if the host disappears) - if (value == -1) { - System.err.println("Client got end-of-stream."); - stop(); - return; - } - - synchronized (buffer) { - // todo: at some point buffer should stop increasing in size, - // otherwise it could use up all the memory. - if (bufferLast == buffer.length) { - byte temp[] = new byte[bufferLast << 1]; - System.arraycopy(buffer, 0, temp, 0, bufferLast); - buffer = temp; - } - buffer[bufferLast++] = (byte)value; - } - - // now post an event - if (clientEventMethod != null) { - try { - clientEventMethod.invoke(parent, new Object[] { this }); - } catch (Exception e) { - System.err.println("error, disabling clientEvent() for " + host); - e.printStackTrace(); - clientEventMethod = null; - } - } - } - } catch (IOException e) { - //errorMessage("run", e); - e.printStackTrace(); - } - } - } - - - /** - * ( begin auto-generated from Client_active.xml ) - * - * Returns true if this client is still active and hasn't run - * into any trouble. - * - * ( end auto-generated ) - * @webref client:client - * @brief Returns true if this client is still active - * @usage application - */ - public boolean active() { - return (thread != null); - } - - - /** - * ( begin auto-generated from Client_ip.xml ) - * - * Returns the IP address of the computer to which the Client is attached. - * - * ( end auto-generated ) - * @webref client:client - * @usage application - * @brief Returns the IP address of the machine as a String - */ - public String ip() { - if (socket != null){ - return socket.getInetAddress().getHostAddress(); - } - return null; - } - - - /** - * ( begin auto-generated from Client_available.xml ) - * - * Returns the number of bytes available. When any client has bytes - * available from the server, it returns the number of bytes. - * - * ( end auto-generated ) - * @webref client:client - * @usage application - * @brief Returns the number of bytes in the buffer waiting to be read - */ - public int available() { - return (bufferLast - bufferIndex); - } - - - /** - * ( begin auto-generated from Client_clear.xml ) - * - * Empty the buffer, removes all the data stored there. - * - * ( end auto-generated ) - * @webref client:client - * @usage application - * @brief Clears the buffer - */ - public void clear() { - bufferLast = 0; - bufferIndex = 0; - } - - - /** - * ( begin auto-generated from Client_read.xml ) - * - * Returns a number between 0 and 255 for the next byte that's waiting in - * the buffer. Returns -1 if there is no byte, although this should be - * avoided by first cheacking available() to see if any data is available. - * - * ( end auto-generated ) - * @webref client:client - * @usage application - * @brief Returns a value from the buffer - */ - public int read() { - if (bufferIndex == bufferLast) return -1; - - synchronized (buffer) { - int outgoing = buffer[bufferIndex++] & 0xff; - if (bufferIndex == bufferLast) { // rewind - bufferIndex = 0; - bufferLast = 0; - } - return outgoing; - } - } - - - /** - * ( begin auto-generated from Client_readChar.xml ) - * - * Returns the next byte in the buffer as a char. Returns -1 or 0xffff if - * nothing is there. - * - * ( end auto-generated ) - * @webref client:client - * @usage application - * @brief Returns the next byte in the buffer as a char - */ - public char readChar() { - if (bufferIndex == bufferLast) return (char)(-1); - return (char) read(); - } - - - /** - * ( begin auto-generated from Client_readBytes.xml ) - * - * Reads a group of bytes from the buffer. The version with no parameters - * returns a byte array of all data in the buffer. This is not efficient, - * but is easy to use. The version with the byteBuffer parameter is - * more memory and time efficient. It grabs the data in the buffer and puts - * it into the byte array passed in and returns an int value for the number - * of bytes read. If more bytes are available than can fit into the - * byteBuffer, only those that fit are read. - * - * ( end auto-generated ) - *

Advanced

- * Return a byte array of anything that's in the serial buffer. - * Not particularly memory/speed efficient, because it creates - * a byte array on each read, but it's easier to use than - * readBytes(byte b[]) (see below). - * - * @webref client:client - * @usage application - * @brief Reads everything in the buffer - */ - public byte[] readBytes() { - if (bufferIndex == bufferLast) return null; - - synchronized (buffer) { - int length = bufferLast - bufferIndex; - byte outgoing[] = new byte[length]; - System.arraycopy(buffer, bufferIndex, outgoing, 0, length); - - bufferIndex = 0; // rewind - bufferLast = 0; - return outgoing; - } - } - - - /** - *

Advanced

- * Return a byte array of anything that's in the serial buffer - * up to the specified maximum number of bytes. - * Not particularly memory/speed efficient, because it creates - * a byte array on each read, but it's easier to use than - * readBytes(byte b[]) (see below). - * - * @param max the maximum number of bytes to read - */ - public byte[] readBytes(int max) { - if (bufferIndex == bufferLast) return null; - - synchronized (buffer) { - int length = bufferLast - bufferIndex; - if (length > max) length = max; - byte outgoing[] = new byte[length]; - System.arraycopy(buffer, bufferIndex, outgoing, 0, length); - - bufferIndex += length; - if (bufferIndex == bufferLast) { - bufferIndex = 0; // rewind - bufferLast = 0; - } - - return outgoing; - } - } - - - /** - *

Advanced

- * Grab whatever is in the serial buffer, and stuff it into a - * byte buffer passed in by the user. This is more memory/time - * efficient than readBytes() returning a byte[] array. - * - * Returns an int for how many bytes were read. If more bytes - * are available than can fit into the byte array, only those - * that will fit are read. - * - * @param bytebuffer passed in byte array to be altered - */ - public int readBytes(byte bytebuffer[]) { - if (bufferIndex == bufferLast) return 0; - - synchronized (buffer) { - int length = bufferLast - bufferIndex; - if (length > bytebuffer.length) length = bytebuffer.length; - System.arraycopy(buffer, bufferIndex, bytebuffer, 0, length); - - bufferIndex += length; - if (bufferIndex == bufferLast) { - bufferIndex = 0; // rewind - bufferLast = 0; - } - return length; - } - } - - - /** - * ( begin auto-generated from Client_readBytesUntil.xml ) - * - * Reads from the port into a buffer of bytes up to and including a - * particular character. If the character isn't in the buffer, 'null' is - * returned. The version with no byteBuffer parameter returns a byte - * array of all data up to and including the interesting byte. This - * is not efficient, but is easy to use. The version with the - * byteBuffer parameter is more memory and time efficient. It grabs - * the data in the buffer and puts it into the byte array passed in and - * returns an int value for the number of bytes read. If the byte buffer is - * not large enough, -1 is returned and an error is printed to the message - * area. If nothing is in the buffer, 0 is returned. - * - * ( end auto-generated ) - * @webref client:client - * @usage application - * @brief Reads from the buffer of bytes up to and including a particular character - * @param interesting character designated to mark the end of the data - */ - public byte[] readBytesUntil(int interesting) { - if (bufferIndex == bufferLast) return null; - byte what = (byte)interesting; - - synchronized (buffer) { - int found = -1; - for (int k = bufferIndex; k < bufferLast; k++) { - if (buffer[k] == what) { - found = k; - break; - } - } - if (found == -1) return null; - - int length = found - bufferIndex + 1; - byte outgoing[] = new byte[length]; - System.arraycopy(buffer, bufferIndex, outgoing, 0, length); - - bufferIndex += length; - if (bufferIndex == bufferLast) { - bufferIndex = 0; // rewind - bufferLast = 0; - } - return outgoing; - } - } - - - /** - *

Advanced

- * Reads from the serial port into a buffer of bytes until a - * particular character. If the character isn't in the serial - * buffer, then 'null' is returned. - * - * If outgoing[] is not big enough, then -1 is returned, - * and an error message is printed on the console. - * If nothing is in the buffer, zero is returned. - * If 'interesting' byte is not in the buffer, then 0 is returned. - * - * @param byteBuffer passed in byte array to be altered - */ - public int readBytesUntil(int interesting, byte byteBuffer[]) { - if (bufferIndex == bufferLast) return 0; - byte what = (byte)interesting; - - synchronized (buffer) { - int found = -1; - for (int k = bufferIndex; k < bufferLast; k++) { - if (buffer[k] == what) { - found = k; - break; - } - } - if (found == -1) return 0; - - int length = found - bufferIndex + 1; - if (length > byteBuffer.length) { - System.err.println("readBytesUntil() byte buffer is" + - " too small for the " + length + - " bytes up to and including char " + interesting); - return -1; - } - //byte outgoing[] = new byte[length]; - System.arraycopy(buffer, bufferIndex, byteBuffer, 0, length); - - bufferIndex += length; - if (bufferIndex == bufferLast) { - bufferIndex = 0; // rewind - bufferLast = 0; - } - return length; - } - } - - - /** - * ( begin auto-generated from Client_readString.xml ) - * - * Returns the all the data from the buffer as a String. This method - * assumes the incoming characters are ASCII. If you want to transfer - * Unicode data, first convert the String to a byte stream in the - * representation of your choice (i.e. UTF8 or two-byte Unicode data), and - * send it as a byte array. - * - * ( end auto-generated ) - * @webref client:client - * @usage application - * @brief Returns the buffer as a String - */ - public String readString() { - if (bufferIndex == bufferLast) return null; - return new String(readBytes()); - } - - - /** - * ( begin auto-generated from Client_readStringUntil.xml ) - * - * Combination of readBytesUntil() and readString(). Returns - * null if it doesn't find what you're looking for. - * - * ( end auto-generated ) - *

Advanced

- *

- * If you want to move Unicode data, you can first convert the - * String to a byte stream in the representation of your choice - * (i.e. UTF8 or two-byte Unicode data), and send it as a byte array. - * - * @webref client:client - * @usage application - * @brief Returns the buffer as a String up to and including a particular character - * @param interesting character designated to mark the end of the data - */ - public String readStringUntil(int interesting) { - byte b[] = readBytesUntil(interesting); - if (b == null) return null; - return new String(b); - } - - - /** - * ( begin auto-generated from Client_write.xml ) - * - * Writes data to a server specified when constructing the client. - * - * ( end auto-generated ) - * @webref client:client - * @usage application - * @brief Writes bytes, chars, ints, bytes[], Strings - * @param data data to write - */ - public void write(int data) { // will also cover char - try { - output.write(data & 0xff); // for good measure do the & - output.flush(); // hmm, not sure if a good idea - - } catch (Exception e) { // null pointer or serial port dead - //errorMessage("write", e); - //e.printStackTrace(); - //dispose(); - //disconnect(e); - e.printStackTrace(); - stop(); - } - } - - - public void write(byte data[]) { - try { - output.write(data); - output.flush(); // hmm, not sure if a good idea - - } catch (Exception e) { // null pointer or serial port dead - //errorMessage("write", e); - //e.printStackTrace(); - //disconnect(e); - e.printStackTrace(); - stop(); - } - } - - - /** - *

Advanced

- * Write a String to the output. Note that this doesn't account - * for Unicode (two bytes per char), nor will it send UTF8 - * characters.. It assumes that you mean to send a byte buffer - * (most often the case for networking and serial i/o) and - * will only use the bottom 8 bits of each char in the string. - * (Meaning that internally it uses String.getBytes) - * - * If you want to move Unicode data, you can first convert the - * String to a byte stream in the representation of your choice - * (i.e. UTF8 or two-byte Unicode data), and send it as a byte array. - */ - public void write(String data) { - write(data.getBytes()); - } - - - /** - * Handle disconnect due to an Exception being thrown. - */ - /* - protected void disconnect(Exception e) { - dispose(); - if (e != null) { - e.printStackTrace(); - } - } - */ - - - /** - * General error reporting, all corralled here just in case - * I think of something slightly more intelligent to do. - */ - //public void errorMessage(String where, Exception e) { - //parent.die("Error inside Client." + where + "()", e); - //e.printStackTrace(System.err); - //} -} diff --git a/Java/Processing/processing-3.3.6/modes/java/libraries/net/src/processing/net/Server.java b/Java/Processing/processing-3.3.6/modes/java/libraries/net/src/processing/net/Server.java deleted file mode 100644 index bf4abce..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/libraries/net/src/processing/net/Server.java +++ /dev/null @@ -1,372 +0,0 @@ -/* -*- mode: java; c-basic-offset: 2; indent-tabs-mode: nil -*- */ - -/* - Server - basic network server implementation - Part of the Processing project - http://processing.org - - Copyright (c) 2004-2007 Ben Fry and Casey Reas - The previous version of this code was developed by Hernando Barragan - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - This library 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General - Public License along with this library; if not, write to the - Free Software Foundation, Inc., 59 Temple Place, Suite 330, - Boston, MA 02111-1307 USA -*/ - -package processing.net; - -import processing.core.*; - -import java.io.*; -import java.lang.reflect.*; -import java.net.*; - - -/** - * ( begin auto-generated from Server.xml ) - * - * A server sends and receives data to and from its associated clients - * (other programs connected to it). When a server is started, it begins - * listening for connections on the port specified by the port - * parameter. Computers have many ports for transferring data and some are - * commonly used so be sure to not select one of these. For example, web - * servers usually use port 80 and POP mail uses port 110. - * - * ( end auto-generated ) - * @webref net - * @usage application - * @brief The server class is used to create server objects which send and receives data to and from its associated clients (other programs connected to it). - * @instanceName server any variable of type Server - */ -public class Server implements Runnable { - PApplet parent; - Method serverEventMethod; - - Thread thread; - ServerSocket server; - int port; - - /** Number of clients currently connected. */ - public int clientCount; - /** Array of client objects, useful length is determined by clientCount. */ - public Client[] clients; - - - /** - * @param parent typically use "this" - * @param port port used to transfer data - */ - public Server(PApplet parent, int port) { - this(parent, port, null); - } - - - /** - * @param parent typically use "this" - * @param port port used to transfer data - * @param host when multiple NICs are in use, the ip (or name) to bind from - */ - public Server(PApplet parent, int port, String host) { - this.parent = parent; - this.port = port; - - try { - if (host == null) { - server = new ServerSocket(this.port); - } else { - server = new ServerSocket(this.port, 10, InetAddress.getByName(host)); - } - //clients = new Vector(); - clients = new Client[10]; - - thread = new Thread(this); - thread.start(); - - parent.registerMethod("dispose", this); - - // reflection to check whether host applet has a call for - // public void serverEvent(Server s, Client c); - // which is called when a new guy connects - try { - serverEventMethod = - parent.getClass().getMethod("serverEvent", - new Class[] { Server.class, - Client.class }); - } catch (Exception e) { - // no such method, or an error.. which is fine, just ignore - } - - } catch (IOException e) { - //e.printStackTrace(); - thread = null; - throw new RuntimeException(e); - //errorMessage("", e); - } - } - - - /** - * ( begin auto-generated from Server_disconnect.xml ) - * - * Disconnect a particular client. - * - * ( end auto-generated ) - * @brief Disconnect a particular client. - * @webref server:server - * @param client the client to disconnect - */ - public void disconnect(Client client) { - client.stop(); - int index = clientIndex(client); - if (index != -1) { - removeIndex(index); - } - } - - - protected void removeIndex(int index) { - clientCount--; - // shift down the remaining clients - for (int i = index; i < clientCount; i++) { - clients[i] = clients[i+1]; - } - // mark last empty var for garbage collection - clients[clientCount] = null; - } - - - protected void disconnectAll() { - synchronized (clients) { - for (int i = 0; i < clientCount; i++) { - try { - clients[i].stop(); - } catch (Exception e) { - // ignore - } - clients[i] = null; - } - clientCount = 0; - } - } - - - protected void addClient(Client client) { - if (clientCount == clients.length) { - clients = (Client[]) PApplet.expand(clients); - } - clients[clientCount++] = client; - } - - - protected int clientIndex(Client client) { - for (int i = 0; i < clientCount; i++) { - if (clients[i] == client) { - return i; - } - } - return -1; - } - - - /** - * ( begin auto-generated from Server_active.xml ) - * - * Returns true if this server is still active and hasn't run - * into any trouble. - * - * ( end auto-generated ) - * @webref server:server - * @brief Return true if this server is still active. - */ - public boolean active() { - return thread != null; - } - - - static public String ip() { - try { - return InetAddress.getLocalHost().getHostAddress(); - } catch (UnknownHostException e) { - e.printStackTrace(); - return null; - } - } - - - // the last index used for available. can't just cycle through - // the clients in order from 0 each time, because if client 0 won't - // shut up, then the rest of the clients will never be heard from. - int lastAvailable = -1; - - /** - * ( begin auto-generated from Server_available.xml ) - * - * Returns the next client in line with a new message. - * - * ( end auto-generated ) - * @brief Returns the next client in line with a new message. - * @webref server - * @usage application - */ - public Client available() { - synchronized (clients) { - int index = lastAvailable + 1; - if (index >= clientCount) index = 0; - - for (int i = 0; i < clientCount; i++) { - int which = (index + i) % clientCount; - Client client = clients[which]; - //Check for valid client - if (!client.active()){ - removeIndex(which); //Remove dead client - i--; //Don't skip the next client - //If the client has data make sure lastAvailable - //doesn't end up skipping the next client - which--; - //fall through to allow data from dead clients - //to be retreived. - } - if (client.available() > 0) { - lastAvailable = which; - return client; - } - } - } - return null; - } - - - /** - * ( begin auto-generated from Server_stop.xml ) - * - * Disconnects all clients and stops the server. - * - * ( end auto-generated ) - *

Advanced

- * Use this to shut down the server if you finish using it while your applet - * is still running. Otherwise, it will be automatically be shut down by the - * host PApplet using dispose(), which is identical. - * @brief Disconnects all clients and stops the server. - * @webref server - * @usage application - */ - public void stop() { - dispose(); - } - - - /** - * Disconnect all clients and stop the server: internal use only. - */ - public void dispose() { - thread = null; - - if (clients != null) { - disconnectAll(); - clientCount = 0; - clients = null; - } - - try { - if (server != null) { - server.close(); - server = null; - } - } catch (IOException e) { - e.printStackTrace(); - } - } - - - public void run() { - while (Thread.currentThread() == thread) { - try { - Socket socket = server.accept(); - Client client = new Client(parent, socket); - synchronized (clients) { - addClient(client); - if (serverEventMethod != null) { - try { - serverEventMethod.invoke(parent, new Object[] { this, client }); - } catch (Exception e) { - System.err.println("Disabling serverEvent() for port " + port); - e.printStackTrace(); - serverEventMethod = null; - } - } - } - } catch (SocketException e) { - //thrown when server.close() is called and server is waiting on accept - System.err.println("Server SocketException: " + e.getMessage()); - thread = null; - } catch (IOException e) { - //errorMessage("run", e); - e.printStackTrace(); - thread = null; - } - try { - Thread.sleep(8); - } catch (InterruptedException ex) { } - } - } - - - /** - * ( begin auto-generated from Server_write.xml ) - * - * Writes a value to all the connected clients. It sends bytes out from the - * Server object. - * - * ( end auto-generated ) - * @webref server - * @brief Writes data to all connected clients - * @param data data to write - */ - public void write(int data) { // will also cover char - int index = 0; - while (index < clientCount) { - if (clients[index].active()) { - clients[index].write(data); - index++; - } else { - removeIndex(index); - } - } - } - - - public void write(byte data[]) { - int index = 0; - while (index < clientCount) { - if (clients[index].active()) { - clients[index].write(data); - index++; - } else { - removeIndex(index); - } - } - } - - - public void write(String data) { - int index = 0; - while (index < clientCount) { - if (clients[index].active()) { - clients[index].write(data); - index++; - } else { - removeIndex(index); - } - } - } -} diff --git a/Java/Processing/processing-3.3.6/modes/java/libraries/pdf/.classpath b/Java/Processing/processing-3.3.6/modes/java/libraries/pdf/.classpath deleted file mode 100644 index bdc1ffb..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/libraries/pdf/.classpath +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/libraries/pdf/.project b/Java/Processing/processing-3.3.6/modes/java/libraries/pdf/.project deleted file mode 100644 index 1b28b1e..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/libraries/pdf/.project +++ /dev/null @@ -1,17 +0,0 @@ - - - processing-pdf - - - - - - org.eclipse.jdt.core.javabuilder - - - - - - org.eclipse.jdt.core.javanature - - diff --git a/Java/Processing/processing-3.3.6/modes/java/libraries/pdf/.settings/org.eclipse.jdt.core.prefs b/Java/Processing/processing-3.3.6/modes/java/libraries/pdf/.settings/org.eclipse.jdt.core.prefs deleted file mode 100644 index f3b4e11..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/libraries/pdf/.settings/org.eclipse.jdt.core.prefs +++ /dev/null @@ -1,292 +0,0 @@ -eclipse.preferences.version=1 -org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 -org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.compliance=1.6 -org.eclipse.jdt.core.compiler.debug.lineNumber=generate -org.eclipse.jdt.core.compiler.debug.localVariable=generate -org.eclipse.jdt.core.compiler.debug.sourceFile=generate -org.eclipse.jdt.core.compiler.problem.assertIdentifier=error -org.eclipse.jdt.core.compiler.problem.enumIdentifier=error -org.eclipse.jdt.core.compiler.source=1.6 -org.eclipse.jdt.core.formatter.align_type_members_on_columns=false -org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=18 -org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0 -org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16 -org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=18 -org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=18 -org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16 -org.eclipse.jdt.core.formatter.alignment_for_assignment=0 -org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16 -org.eclipse.jdt.core.formatter.alignment_for_compact_if=16 -org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80 -org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0 -org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=36 -org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0 -org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16 -org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=18 -org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=18 -org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80 -org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16 -org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16 -org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16 -org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16 -org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16 -org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16 -org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16 -org.eclipse.jdt.core.formatter.blank_lines_after_imports=1 -org.eclipse.jdt.core.formatter.blank_lines_after_package=1 -org.eclipse.jdt.core.formatter.blank_lines_before_field=1 -org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0 -org.eclipse.jdt.core.formatter.blank_lines_before_imports=1 -org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1 -org.eclipse.jdt.core.formatter.blank_lines_before_method=1 -org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1 -org.eclipse.jdt.core.formatter.blank_lines_before_package=0 -org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1 -org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1 -org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line -org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line -org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false -org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false -org.eclipse.jdt.core.formatter.comment.format_block_comments=true -org.eclipse.jdt.core.formatter.comment.format_header=false -org.eclipse.jdt.core.formatter.comment.format_html=true -org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true -org.eclipse.jdt.core.formatter.comment.format_line_comments=false -org.eclipse.jdt.core.formatter.comment.format_source_code=true -org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true -org.eclipse.jdt.core.formatter.comment.indent_root_tags=true -org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert -org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert -org.eclipse.jdt.core.formatter.comment.line_length=80 -org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true -org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true -org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false -org.eclipse.jdt.core.formatter.compact_else_if=true -org.eclipse.jdt.core.formatter.continuation_indentation=1 -org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=1 -org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off -org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on -org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false -org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true -org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true -org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true -org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true -org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true -org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true -org.eclipse.jdt.core.formatter.indent_empty_lines=false -org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true -org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true -org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true -org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false -org.eclipse.jdt.core.formatter.indentation.size=2 -org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert -org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert -org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_member=insert -org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert -org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert -org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert -org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert -org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert -org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert -org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert -org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert -org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert -org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert -org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert -org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert -org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert -org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert -org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert -org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert -org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert -org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert -org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert -org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert -org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert -org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert -org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert -org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert -org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert -org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert -org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert -org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert -org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert -org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert -org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert -org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert -org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert -org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert -org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert -org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert -org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert -org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert -org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert -org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert -org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert -org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert -org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert -org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert -org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert -org.eclipse.jdt.core.formatter.join_lines_in_comments=true -org.eclipse.jdt.core.formatter.join_wrapped_lines=true -org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false -org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false -org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false -org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false -org.eclipse.jdt.core.formatter.lineSplit=80 -org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false -org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=true -org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0 -org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1 -org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true -org.eclipse.jdt.core.formatter.tabulation.char=space -org.eclipse.jdt.core.formatter.tabulation.size=2 -org.eclipse.jdt.core.formatter.use_on_off_tags=false -org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false -org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true -org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true -org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true diff --git a/Java/Processing/processing-3.3.6/modes/java/libraries/pdf/.settings/org.eclipse.jdt.ui.prefs b/Java/Processing/processing-3.3.6/modes/java/libraries/pdf/.settings/org.eclipse.jdt.ui.prefs deleted file mode 100644 index 0d6ea5b..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/libraries/pdf/.settings/org.eclipse.jdt.ui.prefs +++ /dev/null @@ -1,4 +0,0 @@ -eclipse.preferences.version=1 -formatter_profile=_processing -formatter_settings_version=12 -org.eclipse.jdt.ui.text.custom_code_templates= diff --git a/Java/Processing/processing-3.3.6/modes/java/libraries/pdf/README.md b/Java/Processing/processing-3.3.6/modes/java/libraries/pdf/README.md deleted file mode 100644 index a5fe496..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/libraries/pdf/README.md +++ /dev/null @@ -1,11 +0,0 @@ -This library uses iText 2.1.7, which is the last LGPL/MPL version of the iText project. - -We've used iText for several years. The license for iText has changed for subsequent versions and is no longer compatible with Processing, so we're stuck at 2.x. - -At the iText site, there's also some [vague wording](http://lowagie.com/itext2) about legal liability for commercial projects using the 2.x series. It's not clear where this leaves us. - -Bruno Lowagie did an enormous amount of (free) work with the iText project, and we certainly don't fault him for the new commercial license. - -We're using iText in a very limited way--drawing to it like it's a Java Graphics2D object. There might be other options for us in this space, but it's not much of a priority. - -Ben Fry, 12 October 2013 diff --git a/Java/Processing/processing-3.3.6/modes/java/libraries/pdf/build.xml b/Java/Processing/processing-3.3.6/modes/java/libraries/pdf/build.xml deleted file mode 100644 index 13a472c..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/libraries/pdf/build.xml +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/libraries/pdf/examples/Complex3D/Complex3D.pde b/Java/Processing/processing-3.3.6/modes/java/libraries/pdf/examples/Complex3D/Complex3D.pde deleted file mode 100644 index 6687403..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/libraries/pdf/examples/Complex3D/Complex3D.pde +++ /dev/null @@ -1,194 +0,0 @@ -/** - * PDF Complex - * by Marius Watz (workshop.evolutionzone.com). - * - * Example using PDF to output complex 3D geometry for print. - * Press "s" to save a PDF. -*/ - - -import processing.opengl.*; -import processing.pdf.*; - -// Trig lookup tables borrowed from Toxi. Cryptic but effective -float sinLUT[]; -float cosLUT[]; -float SINCOS_PRECISION=1.0; -int SINCOS_LENGTH= int((360.0/SINCOS_PRECISION)); - -// System data -boolean dosave=false; -int num; -float pt[]; -int style[]; - - -void setup() { - size(600, 600, OPENGL); - frameRate(24); - background(255); - - // Fill the tables - sinLUT=new float[SINCOS_LENGTH]; - cosLUT=new float[SINCOS_LENGTH]; - for (int i = 0; i < SINCOS_LENGTH; i++) { - sinLUT[i]= (float)Math.sin(i*DEG_TO_RAD*SINCOS_PRECISION); - cosLUT[i]= (float)Math.cos(i*DEG_TO_RAD*SINCOS_PRECISION); - } - - num = 150; - pt = new float[6*num]; // rotx, roty, deg, rad, w, speed - style = new int[2*num]; // color, render style - - // Set up arc shapes - int index=0; - float prob; - for (int i=0; i90) pt[index]=(int)random(8,27)*10; - - pt[index++] = int(random(2,50)*5); // Radius. Space them out nicely - - pt[index++] = random(4,32); // Width of band - if(random(100)>90) pt[index]=random(40,60); // Width of band - - pt[index++] = radians(random(5,30))/5; // Speed of rotation - - // get colors - prob = random(100); - if(prob<30) style[i*2]=colorBlended(random(1), 255,0,100, 255,0,0, 210); - else if(prob<70) style[i*2]=colorBlended(random(1), 0,153,255, 170,225,255, 210); - else if(prob<90) style[i*2]=colorBlended(random(1), 200,255,0, 150,255,0, 210); - else style[i*2]=color(255,255,255, 220); - - if(prob<50) style[i*2]=colorBlended(random(1), 200,255,0, 50,120,0, 210); - else if(prob<90) style[i*2]=colorBlended(random(1), 255,100,0, 255,255,0, 210); - else style[i*2]=color(255,255,255, 220); - - style[i*2+1]=(int)(random(100))%3; - } -} - -void draw() { - - if(dosave) { - // set up PGraphicsPDF for use with beginRaw() - PGraphicsPDF pdf = (PGraphicsPDF)beginRaw(PDF, "pdf_complex_out.pdf"); - - // set default Illustrator stroke styles and paint background rect. - pdf.strokeJoin(MITER); - pdf.strokeCap(SQUARE); - pdf.fill(0); - pdf.noStroke(); - pdf.rect(0,0, width,height); - } - - background(0); - - int index=0; - translate(width/2,height/2,0); - rotateX(PI/6); - rotateY(PI/6); - - for (int i=0; iShow Sketch Folder." - */ - - -import processing.pdf.*; - -void setup() -{ - size(2000, 2000, PDF, "Line.pdf"); -} - -void draw() -{ - background(255); - stroke(0, 20); - strokeWeight(20.0); - line(200, 0, width/2, height); - - exit(); // Quit the program -} - - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/libraries/pdf/examples/ManyPDFs/ManyPDFs.pde b/Java/Processing/processing-3.3.6/modes/java/libraries/pdf/examples/ManyPDFs/ManyPDFs.pde deleted file mode 100644 index 83ef3fc..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/libraries/pdf/examples/ManyPDFs/ManyPDFs.pde +++ /dev/null @@ -1,38 +0,0 @@ -/** - * Many PDFs. - * - * Saves one PDF file each each frame while the mouse is pressed. - * When the mouse is released, the PDF creation stops. - */ - - -import processing.pdf.*; - -boolean savePDF = false; - -void setup() { - size(600, 600); - frameRate(24); -} - -void draw() { - if(savePDF == true) { - beginRecord(PDF, "lines" + frameCount + ".pdf"); - } - background(255); - stroke(0, 20); - strokeWeight(20.0); - line(mouseX, 0, width-mouseY, height); - if(savePDF == true) { - endRecord(); - } -} - -void mousePressed() { - savePDF = true; -} - -void mouseReleased() { - savePDF = false; -} - diff --git a/Java/Processing/processing-3.3.6/modes/java/libraries/pdf/examples/ManyPages/ManyPages.pde b/Java/Processing/processing-3.3.6/modes/java/libraries/pdf/examples/ManyPages/ManyPages.pde deleted file mode 100644 index 776a4f0..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/libraries/pdf/examples/ManyPages/ManyPages.pde +++ /dev/null @@ -1,30 +0,0 @@ -/** - * Many Pages. - * - * Saves a new page into a PDF file each loop through draw(). - * Pressing the mouse finishes writing the file and exits the program. - */ - - -import processing.pdf.*; - -PGraphicsPDF pdf; - -void setup() { - size(600, 600); - frameRate(4); - pdf = (PGraphicsPDF)beginRecord(PDF, "Lines.pdf"); -} - -void draw() { - background(255); - stroke(0, 20); - strokeWeight(20.0); - line(mouseX, 0, width-mouseY, height); - pdf.nextPage(); -} - -void mousePressed() { - endRecord(); - exit(); -} diff --git a/Java/Processing/processing-3.3.6/modes/java/libraries/pdf/examples/MousePress/MousePress.pde b/Java/Processing/processing-3.3.6/modes/java/libraries/pdf/examples/MousePress/MousePress.pde deleted file mode 100644 index b2970de..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/libraries/pdf/examples/MousePress/MousePress.pde +++ /dev/null @@ -1,37 +0,0 @@ - /** - * Mouse Press. - * - * Saves one PDF of the contents of the display window - * each time the mouse is pressed. - */ - - -import processing.pdf.*; - -boolean saveOneFrame = false; - -void setup() { - size(600, 600); - frameRate(24); -} - -void draw() { - if(saveOneFrame == true) { - beginRecord(PDF, "Line.pdf"); - } - - background(255); - stroke(0, 20); - strokeWeight(20.0); - line(mouseX, 0, width-mouseY, height); - - if(saveOneFrame == true) { - endRecord(); - saveOneFrame = false; - } -} - -void mousePressed() { - saveOneFrame = true; -} - diff --git a/Java/Processing/processing-3.3.6/modes/java/libraries/pdf/examples/MultipleFrames/MultipleFrames.pde b/Java/Processing/processing-3.3.6/modes/java/libraries/pdf/examples/MultipleFrames/MultipleFrames.pde deleted file mode 100644 index 95651ed..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/libraries/pdf/examples/MultipleFrames/MultipleFrames.pde +++ /dev/null @@ -1,33 +0,0 @@ -/** - * Multiple Frames. - * - * Saves one PDF document of many frames drawn to the screen. - * Starts the file when the mouse is pressed and end the file - * when the mouse is released. - */ - - -import processing.pdf.*; - -void setup() { - size(600, 600); - frameRate(24); - background(255); -} - -void draw() { - stroke(0, 20); - strokeWeight(20.0); - line(mouseX, 0, width-mouseY, height); -} - -void mousePressed() { - beginRecord(PDF, "Lines.pdf"); - background(255); -} - -void mouseReleased() { - endRecord(); - background(255); -} - diff --git a/Java/Processing/processing-3.3.6/modes/java/libraries/pdf/examples/OneFrame/OneFrame.pde b/Java/Processing/processing-3.3.6/modes/java/libraries/pdf/examples/OneFrame/OneFrame.pde deleted file mode 100644 index cb6fbce..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/libraries/pdf/examples/OneFrame/OneFrame.pde +++ /dev/null @@ -1,23 +0,0 @@ -/** - * One Frame. - * - * Saves one PDF with the contents of the display window. - * Because this example uses beginRecord, the image is shown - * on the display window and is saved to the file. -*/ - - -import processing.pdf.*; - -size(600, 600); - -beginRecord(PDF, "line.pdf"); - -background(255); -stroke(0, 20); -strokeWeight(20.0); -line(200, 0, 400, height); - -endRecord(); - - diff --git a/Java/Processing/processing-3.3.6/modes/java/libraries/pdf/examples/RandomBook/RandomBook.pde b/Java/Processing/processing-3.3.6/modes/java/libraries/pdf/examples/RandomBook/RandomBook.pde deleted file mode 100644 index 0ca8e01..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/libraries/pdf/examples/RandomBook/RandomBook.pde +++ /dev/null @@ -1,45 +0,0 @@ -/** - * RandomBook - * - * Creates a 768 page book of random lines. - */ - -import processing.pdf.*; - -PGraphicsPDF pdf; - -void setup() { - size(594, 842); - // randomSeed(0); // Uncomment to make the same book each time - pdf = (PGraphicsPDF)beginRecord(PDF, "RandomBook.pdf"); - beginRecord(pdf); -} - -void draw() { - background(255); - - for (int i=0; i<100; i++) { - float r = random(1.0); - if(r < 0.2) { - stroke(255); - } else { - stroke(0); - } - float sw = pow(random(1.0), 12); - strokeWeight(sw * 260); - float x1 = random(-200, -100); - float x2 = random(width+100, width+200); - float y1 = random(-100, height+100); - float y2 = random(-100, height+100); - line(x1, y1, x2, y2); - } - - if(frameCount == 768) { - endRecord(); - exit(); // Quit - } else { - pdf.nextPage(); // Tell it to go to the next page - } -} - - diff --git a/Java/Processing/processing-3.3.6/modes/java/libraries/pdf/itext-src.zip b/Java/Processing/processing-3.3.6/modes/java/libraries/pdf/itext-src.zip deleted file mode 100644 index 98c1443..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/libraries/pdf/itext-src.zip and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/libraries/pdf/library.properties b/Java/Processing/processing-3.3.6/modes/java/libraries/pdf/library.properties deleted file mode 100644 index 8b43d81..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/libraries/pdf/library.properties +++ /dev/null @@ -1,2 +0,0 @@ -name = PDF Export -version = 1 diff --git a/Java/Processing/processing-3.3.6/modes/java/libraries/pdf/library/itext.jar b/Java/Processing/processing-3.3.6/modes/java/libraries/pdf/library/itext.jar deleted file mode 100644 index 3f2c188..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/libraries/pdf/library/itext.jar and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/libraries/pdf/library/pdf.jar b/Java/Processing/processing-3.3.6/modes/java/libraries/pdf/library/pdf.jar deleted file mode 100644 index 009b17c..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/libraries/pdf/library/pdf.jar and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/libraries/pdf/src/processing/pdf/PGraphicsPDF.java b/Java/Processing/processing-3.3.6/modes/java/libraries/pdf/src/processing/pdf/PGraphicsPDF.java deleted file mode 100644 index a84c610..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/libraries/pdf/src/processing/pdf/PGraphicsPDF.java +++ /dev/null @@ -1,686 +0,0 @@ -/* - Part of the Processing project - http://processing.org - - Copyright (c) 2005-11 Ben Fry and Casey Reas - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License version 2.1 as published by the Free Software Foundation. - - This library 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General - Public License along with this library; if not, write to the - Free Software Foundation, Inc., 59 Temple Place, Suite 330, - Boston, MA 02111-1307 USA -*/ - -package processing.pdf; - -import java.awt.Font; -import java.awt.Graphics2D; -import java.awt.Image; -import java.io.*; -import java.util.*; - -import com.lowagie.text.*; -import com.lowagie.text.pdf.*; - -import processing.awt.PGraphicsJava2D; -import processing.core.*; - - -/** - * Thin wrapper for the iText PDF library that handles writing PDF files. - * The majority of the work in this library is done by - * iText. - *

- * This is currently using iText 2.1.7. - *

- * The issue is that versions from the 5.x series were slow to handle lots of - * fonts with the DefaultFontMapper. 2.x seemed a little slower than 1.x, - * but 5.x took up to 10 times the time to load, meaning a lag of several - * seconds when starting sketches on a machine that had a good handful of - * fonts installed. (Like, say, anyone in our target audience. Or me.) - */ -public class PGraphicsPDF extends PGraphicsJava2D { - /** File being written, if it's a file. */ - protected File file; - /** OutputStream being written to, if using an OutputStream. */ - protected OutputStream output; - - protected Document document; - protected PdfWriter writer; - protected PdfContentByte content; - - /** Shared across instances because it's incredibly time-consuming to create. */ - static protected DefaultFontMapper mapper; - static protected String[] fontList; - - - /* - public PGraphicsPDF() { - // PDF always likes native fonts. Always. - hint(ENABLE_NATIVE_FONTS); - } - */ - - - public void setPath(String path) { - this.path = path; - if (path != null) { - file = new File(path); - if (!file.isAbsolute()) { - file = null; - } - } - if (file == null) { - throw new RuntimeException("PGraphicsPDF requires an absolute path " + - "for the location of the output file."); - } - } - - - /** - * Set the library to write to an output stream instead of a file. - */ - public void setOutput(OutputStream output) { - this.output = output; - } - - -// /** -// * all the init stuff happens in here, in case someone calls size() -// * along the way and wants to hork things up. -// */ -// protected void allocate() { -// // can't do anything here, because this will be called by the -// // superclass PGraphics, and the file/path object won't be set yet -// // (since super() called right at the beginning of the constructor) -// } - - - @Override - public PSurface createSurface() { - return surface = new PSurfaceNone(this); - } - - - @Override - protected void defaultSettings() { // ignore - super.defaultSettings(); - textMode = SHAPE; - } - - - public void beginDraw() { -// long t0 = System.currentTimeMillis(); - - if (document == null) { - document = new Document(new Rectangle(width, height)); - boolean missingPath = false; - try { - if (file != null) { - //BufferedOutputStream output = new BufferedOutputStream(stream, 16384); - output = new BufferedOutputStream(new FileOutputStream(file), 16384); - - } else if (output == null) { - missingPath = true; - throw new RuntimeException("PGraphicsPDF requires a path " + - "for the location of the output file."); - } - writer = PdfWriter.getInstance(document, output); - document.open(); - content = writer.getDirectContent(); -// template = content.createTemplate(width, height); - - } catch (RuntimeException re) { - if (missingPath) { - throw re; // don't re-package our own error - } else { - throw new RuntimeException("Problem saving the PDF file.", re); - } - - } catch (FileNotFoundException fnfe) { - throw new RuntimeException("Can't save the PDF file to " + path, fnfe); - - } catch (DocumentException de) { - throw new RuntimeException("Error inside the PDF library.", de); - } - - g2 = content.createGraphicsShapes(width, height); - } - - // super in Java2D now creates an image buffer, don't do that - //super.beginDraw(); - - checkSettings(); - resetMatrix(); // reset model matrix - vertexCount = 0; - - // Also need to push the matrix since the matrix doesn't reset on each run - // http://dev.processing.org/bugs/show_bug.cgi?id=1227 - pushMatrix(); - } - - - static protected DefaultFontMapper getMapper() { - if (mapper == null) { -// long t = System.currentTimeMillis(); - mapper = new DefaultFontMapper(); - - if (PApplet.platform == PConstants.MACOSX) { - try { - String homeLibraryFonts = - System.getProperty("user.home") + "/Library/Fonts"; - mapper.insertDirectory(homeLibraryFonts); - } catch (Exception e) { - // might be a security issue with getProperty() and user.home - // if this sketch is running from the web - } - // add the system font paths - mapper.insertDirectory("/System/Library/Fonts"); - mapper.insertDirectory("/Library/Fonts"); - - } else if (PApplet.platform == PConstants.WINDOWS) { - // how to get the windows fonts directory? - // could be c:\winnt\fonts or c:\windows\fonts or not even c: - // maybe do a Runtime.exec() on echo %WINDIR% ? - // Runtime.exec solution might be a mess on systems where the - // the backslash/colon characters not really used (i.e. JP) - - // find the windows fonts folder - File roots[] = File.listRoots(); - for (int i = 0; i < roots.length; i++) { - if (roots[i].toString().startsWith("A:")) { - // Seems to be a problem with some machines that the A: - // drive is returned as an actual root, even if not available. - // This won't fix the issue if the same thing happens with - // other removable drive devices, but should fix the - // initial/problem as cited by the bug report: - // http://dev.processing.org/bugs/show_bug.cgi?id=478 - // If not, will need to use the other fileExists() code below. - continue; - } - - File folder = new File(roots[i], "WINDOWS/Fonts"); - if (folder.exists()) { - mapper.insertDirectory(folder.getAbsolutePath()); - break; - } - folder = new File(roots[i], "WINNT/Fonts"); - if (folder.exists()) { - mapper.insertDirectory(folder.getAbsolutePath()); - break; - } - } - - } else if (PApplet.platform == PConstants.LINUX) { - checkDir("/usr/share/fonts/", mapper); - checkDir("/usr/local/share/fonts/", mapper); - checkDir(System.getProperty("user.home") + "/.fonts", mapper); - } -// System.out.println("mapping " + (System.currentTimeMillis() - t)); - } - return mapper; - } - - - static protected void checkDir(String path, DefaultFontMapper mapper) { - File folder = new File(path); - if (folder.exists()) { - mapper.insertDirectory(path); - traverseDir(folder, mapper); - } - } - - - /** - * Recursive walk to get all subdirectories for font fun. - * Patch submitted by Matthias Breuer. - * (Bug 1566) - */ - static protected void traverseDir(File folder, DefaultFontMapper mapper) { - File[] files = folder.listFiles(); - for (int i = 0; i < files.length; i++) { - if (files[i].isDirectory()) { - mapper.insertDirectory(files[i].getPath()); - traverseDir(new File(files[i].getPath()), mapper); - } - } - } - - - // endDraw() needs to be overridden so that the endDraw() from - // PGraphicsJava2D is not inherited (it calls loadPixels). - // http://dev.processing.org/bugs/show_bug.cgi?id=1169 - public void endDraw() { - // Also need to pop the matrix since the matrix doesn't reset on each run - // http://dev.processing.org/bugs/show_bug.cgi?id=1227 - popMatrix(); - } - - - /** - * Gives the same basic functionality of File.exists but can be - * used to look for removable media without showing a system - * dialog if the media is not present. Workaround pulled from the - * - * bug report on bugs.sun.com. This bug was fixed in Java 6, and we - * can remove the workaround when we start requiring Java 6. - */ - protected static boolean fileExists(File file) { - try { - Process process = - Runtime.getRuntime().exec(new String[] { - "cmd.exe", "/c", "dir", file.getAbsolutePath() - }); - - // We need to consume all available output or the process will block. - boolean haveExitCode = false; - int exitCode = -1; - InputStream out = process.getInputStream(); - InputStream err = process.getErrorStream(); - - while (!haveExitCode) { - while (out.read() >= 0) { - } - while (err.read() >= 0) { - } - - try { - exitCode = process.exitValue(); - haveExitCode = true; - } catch (IllegalThreadStateException e) { - // Not yet complete. - Thread.sleep(100); - } - } - //int exitCode = process.waitFor(); - return exitCode == 0; - - } catch (IOException e) { - System.out.println("Unable to check for file: " + file + " : " + e); - return false; - - } catch (InterruptedException e) { - System.out.println("Unable to check for file. Interrupted: " + - file + " : " + e); - return false; - } - } - - - /** - * Call to explicitly go to the next page from within a single draw(). - */ - public void nextPage() { - PStyle savedStyle = getStyle(); - endDraw(); - g2.dispose(); - - try { -// writer.setPageEmpty(false); // maybe useful later - document.newPage(); // is this bad if no addl pages are made? - } catch (Exception e) { - e.printStackTrace(); - } - g2 = createGraphics(); - beginDraw(); - style(savedStyle); - } - - - protected Graphics2D createGraphics() { - if (textMode == SHAPE) { - return content.createGraphicsShapes(width, height); - } else if (textMode == MODEL) { - return content.createGraphics(width, height, getMapper()); - } - // Should not be reachable... - throw new RuntimeException("Invalid textMode() selected for PDF."); - } - - - public void dispose() { - if (document != null) { - g2.dispose(); - document.close(); // can't be done in finalize, not always called - document = null; - } - //new Exception().printStackTrace(System.out); - } - - - /** - * Don't open a window for this renderer, it won't be used. - */ - public boolean displayable() { - return false; - } - - /* - protected void finalize() throws Throwable { - System.out.println("calling finalize"); - //document.close(); // do this in dispose instead? - } - */ - - - ////////////////////////////////////////////////////////////// - - - /* - public void endRecord() { - super.endRecord(); - dispose(); - } - - - public void endRaw() { - System.out.println("ending raw"); - super.endRaw(); - System.out.println("disposing"); - dispose(); - System.out.println("done"); - } - */ - - - ////////////////////////////////////////////////////////////// - - - /* - protected void rectImpl(float x1, float y1, float x2, float y2) { - //rect.setFrame(x1, y1, x2-x1, y2-y1); - //draw_shape(rect); - System.out.println("rect implements"); - g2.fillRect((int)x1, (int)y1, (int) (x2-x1), (int) (y2-y1)); - } - * - - /* - public void clear() { - g2.setColor(Color.red); - g2.fillRect(0, 0, width, height); - } - */ - - - ////////////////////////////////////////////////////////////// - - - protected void imageImpl(PImage image, - float x1, float y1, float x2, float y2, - int u1, int v1, int u2, int v2) { - pushMatrix(); - translate(x1, y1); - int imageWidth = image.width; - int imageHeight = image.height; - scale((x2 - x1) / imageWidth, - (y2 - y1) / imageHeight); - if (u2-u1 == imageWidth && v2-v1 == imageHeight) { - g2.drawImage(image.getImage(), 0, 0, null); - } else { - PImage tmp = image.get(u1, v1, u2-u1, v2-v1); - g2.drawImage((Image) tmp.getNative(), 0, 0, null); - } - popMatrix(); - } - - - ////////////////////////////////////////////////////////////// - - - public void textFont(PFont which) { - super.textFont(which); - checkFont(); - // Make sure a native version of the font is available. -// if (textFont.getFont() == null) { -// throw new RuntimeException("Use createFont() instead of loadFont() " + -// "when drawing text using the PDF library."); -// } - // Make sure that this is a font that the PDF library can deal with. -// if ((textMode != SHAPE) && !checkFont(which.getName())) { -// System.err.println("Use PGraphicsPDF.listFonts() to get a list of available fonts."); -// throw new RuntimeException("The font ā€œ" + which.getName() + "ā€ cannot be used with PDF Export."); -// } - } - - - /** - * Change the textMode() to either SHAPE or MODEL. - *
- * This resets all renderer settings, and therefore must - * be called before any other commands that set the fill() - * or the textFont() or anything. Unlike other renderers, - * use textMode() directly after the size() command. - */ - public void textMode(int mode) { - if (textMode != mode) { - if (mode == SHAPE) { - textMode = SHAPE; - g2.dispose(); -// g2 = content.createGraphicsShapes(width, height); - g2 = createGraphics(); - } else if (mode == MODEL) { - textMode = MODEL; - g2.dispose(); -// g2 = content.createGraphics(width, height, mapper); - g2 = createGraphics(); -// g2 = template.createGraphics(width, height, mapper); - } else if (mode == SCREEN) { - throw new RuntimeException("textMode(SCREEN) not supported with PDF"); - } else { - throw new RuntimeException("That textMode() does not exist"); - } - } - } - - - protected void textLineImpl(char buffer[], int start, int stop, - float x, float y) { - checkFont(); - super.textLineImpl(buffer, start, stop, x, y); - } - - - ////////////////////////////////////////////////////////////// - - - public void loadPixels() { - nope("loadPixels"); - } - - public void updatePixels() { - nope("updatePixels"); - } - - public void updatePixels(int x, int y, int c, int d) { - nope("updatePixels"); - } - - // - - public int get(int x, int y) { - nope("get"); - return 0; // not reached - } - - public PImage get(int x, int y, int c, int d) { - nope("get"); - return null; // not reached - } - - public PImage get() { - nope("get"); - return null; // not reached - } - - public void set(int x, int y, int argb) { - nope("set"); - } - - public void set(int x, int y, PImage image) { - nope("set"); - } - - // - - public void mask(int alpha[]) { - nope("mask"); - } - - public void mask(PImage alpha) { - nope("mask"); - } - - // - - public void filter(int kind) { - nope("filter"); - } - - public void filter(int kind, float param) { - nope("filter"); - } - - // - - public void copy(int sx1, int sy1, int sx2, int sy2, - int dx1, int dy1, int dx2, int dy2) { - nope("copy"); - } - - public void copy(PImage src, - int sx1, int sy1, int sx2, int sy2, - int dx1, int dy1, int dx2, int dy2) { - nope("copy"); - } - - // - - public void blend(int sx, int sy, int dx, int dy, int mode) { - nope("blend"); - } - - public void blend(PImage src, - int sx, int sy, int dx, int dy, int mode) { - nope("blend"); - } - - public void blend(int sx1, int sy1, int sx2, int sy2, - int dx1, int dy1, int dx2, int dy2, int mode) { - nope("blend"); - } - - public void blend(PImage src, - int sx1, int sy1, int sx2, int sy2, - int dx1, int dy1, int dx2, int dy2, int mode) { - nope("blend"); - } - - // - - public boolean save(String filename) { - nope("save"); - return false; - } - - - ////////////////////////////////////////////////////////////// - - - /** - * Add a directory that should be searched for font data. - *
- * On Mac OS X, the following directories are added by default: - *
    - *
  • /System/Library/Fonts - *
  • /Library/Fonts - *
  • ~/Library/Fonts - *
- * On Windows, all drive letters are searched for WINDOWS\Fonts - * or WINNT\Fonts, any that exists is added. - *

- * On Linux or any other platform, you'll need to add the - * directories by hand. (If there are actual standards here that we - * can use as a starting point, please file a bug to make a note of it) - */ - public void addFonts(String directory) { - mapper.insertDirectory(directory); - } - - - /** - * Check whether the specified font can be used with the PDF library. - * @param name name of the font - * @return true if it's ok - */ - protected void checkFont() { - Font awtFont = (Font) textFont.getNative(); - if (awtFont == null) { // always need a native font or reference to it - throw new RuntimeException("Use createFont() instead of loadFont() " + - "when drawing text using the PDF library."); - } else if (textMode != SHAPE) { - if (textFont.isStream()) { - throw new RuntimeException("Use textMode(SHAPE) with PDF when loading " + - ".ttf and .otf files with createFont()."); - } else if (mapper.getAliases().get(textFont.getName()) == null) { - //System.out.println("alias for " + name + " = " + mapper.getAliases().get(name)); -// System.err.println("Use PGraphicsPDF.listFonts() to get a list of " + -// "fonts that can be used with PDF."); -// throw new RuntimeException("The font ā€œ" + textFont.getName() + "ā€ " + -// "cannot be used with PDF Export."); - if (textFont.getName().equals("Lucida Sans")) { - throw new RuntimeException("Use textMode(SHAPE) with the default " + - "font when exporting to PDF."); - } else { - throw new RuntimeException("Use textMode(SHAPE) with " + - "ā€œ" + textFont.getName() + "ā€ " + - "when exporting to PDF."); - } - } - } - } - - - /** - * List the fonts known to the PDF renderer. This is like PFont.list(), - * however not all those fonts are available by default. - */ - static public String[] listFonts() { - if (fontList == null) { - HashMap map = getMapper().getAliases(); -// Set entries = map.entrySet(); -// fontList = new String[entries.size()]; - fontList = new String[map.size()]; - int count = 0; - for (Object key : map.keySet()) { -// for (Object entry : map.entrySet()) { -// fontList[count++] = (String) ((Map.Entry) entry).getKey(); - fontList[count++] = (String) key; - } -// Iterator it = entries.iterator(); -// int count = 0; -// while (it.hasNext()) { -// Map.Entry entry = (Map.Entry) it.next(); -// //System.out.println(entry.getKey() + "-->" + entry.getValue()); -// fontList[count++] = (String) entry.getKey(); -// } - fontList = PApplet.sort(fontList); - } - return fontList; - } - - - ////////////////////////////////////////////////////////////// - - - protected void nope(String function) { - throw new RuntimeException("No " + function + "() for " + getClass().getSimpleName()); - } -} diff --git a/Java/Processing/processing-3.3.6/modes/java/libraries/serial/.classpath b/Java/Processing/processing-3.3.6/modes/java/libraries/serial/.classpath deleted file mode 100644 index d8894f2..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/libraries/serial/.classpath +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/libraries/serial/.project b/Java/Processing/processing-3.3.6/modes/java/libraries/serial/.project deleted file mode 100644 index 72396ce..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/libraries/serial/.project +++ /dev/null @@ -1,17 +0,0 @@ - - - processing-serial - - - - - - org.eclipse.jdt.core.javabuilder - - - - - - org.eclipse.jdt.core.javanature - - diff --git a/Java/Processing/processing-3.3.6/modes/java/libraries/serial/.settings/org.eclipse.jdt.core.prefs b/Java/Processing/processing-3.3.6/modes/java/libraries/serial/.settings/org.eclipse.jdt.core.prefs deleted file mode 100644 index f709eac..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/libraries/serial/.settings/org.eclipse.jdt.core.prefs +++ /dev/null @@ -1,12 +0,0 @@ -#Sat Nov 12 10:56:44 CST 2011 -eclipse.preferences.version=1 -org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 -org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.compliance=1.6 -org.eclipse.jdt.core.compiler.debug.lineNumber=generate -org.eclipse.jdt.core.compiler.debug.localVariable=generate -org.eclipse.jdt.core.compiler.debug.sourceFile=generate -org.eclipse.jdt.core.compiler.problem.assertIdentifier=error -org.eclipse.jdt.core.compiler.problem.enumIdentifier=error -org.eclipse.jdt.core.compiler.source=1.6 diff --git a/Java/Processing/processing-3.3.6/modes/java/libraries/serial/build.xml b/Java/Processing/processing-3.3.6/modes/java/libraries/serial/build.xml deleted file mode 100644 index a26fe2f..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/libraries/serial/build.xml +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/libraries/serial/examples/SerialCallResponse/SerialCallResponse.pde b/Java/Processing/processing-3.3.6/modes/java/libraries/serial/examples/SerialCallResponse/SerialCallResponse.pde deleted file mode 100644 index 627b27a..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/libraries/serial/examples/SerialCallResponse/SerialCallResponse.pde +++ /dev/null @@ -1,150 +0,0 @@ -/** - * Serial Call-Response - * by Tom Igoe. - * - * Sends a byte out the serial port, and reads 3 bytes in. - * Sets foregound color, xpos, and ypos of a circle onstage - * using the values returned from the serial port. - * Thanks to Daniel Shiffman and Greg Shakar for the improvements. - * - * Note: This sketch assumes that the device on the other end of the serial - * port is going to send a single byte of value 65 (ASCII A) on startup. - * The sketch waits for that byte, then sends an ASCII A whenever - * it wants more data. - */ - - -import processing.serial.*; - -int bgcolor; // Background color -int fgcolor; // Fill color -Serial myPort; // The serial port -int[] serialInArray = new int[3]; // Where we'll put what we receive -int serialCount = 0; // A count of how many bytes we receive -int xpos, ypos; // Starting position of the ball -boolean firstContact = false; // Whether we've heard from the microcontroller - -void setup() { - size(256, 256); // Stage size - noStroke(); // No border on the next thing drawn - - // Set the starting position of the ball (middle of the stage) - xpos = width/2; - ypos = height/2; - - // Print a list of the serial ports, for debugging purposes: - printArray(Serial.list()); - - // I know that the first port in the serial list on my mac - // is always my FTDI adaptor, so I open Serial.list()[0]. - // On Windows machines, this generally opens COM1. - // Open whatever port is the one you're using. - String portName = Serial.list()[0]; - myPort = new Serial(this, portName, 9600); -} - -void draw() { - background(bgcolor); - fill(fgcolor); - // Draw the shape - ellipse(xpos, ypos, 20, 20); -} - -void serialEvent(Serial myPort) { - // read a byte from the serial port: - int inByte = myPort.read(); - // if this is the first byte received, and it's an A, - // clear the serial buffer and note that you've - // had first contact from the microcontroller. - // Otherwise, add the incoming byte to the array: - if (firstContact == false) { - if (inByte == 'A') { - myPort.clear(); // clear the serial port buffer - firstContact = true; // you've had first contact from the microcontroller - myPort.write('A'); // ask for more - } - } - else { - // Add the latest byte from the serial port to array: - serialInArray[serialCount] = inByte; - serialCount++; - - // If we have 3 bytes: - if (serialCount > 2 ) { - xpos = serialInArray[0]; - ypos = serialInArray[1]; - fgcolor = serialInArray[2]; - - // print the values (for debugging purposes only): - println(xpos + "\t" + ypos + "\t" + fgcolor); - - // Send a capital A to request new sensor readings: - myPort.write('A'); - // Reset serialCount: - serialCount = 0; - } - } -} - - -/* - -// Serial Call and Response -// by Tom Igoe -// Language: Wiring/Arduino - -// This program sends an ASCII A (byte of value 65) on startup -// and repeats that until it gets some data in. -// Then it waits for a byte in the serial port, and -// sends three sensor values whenever it gets a byte in. - -// Thanks to Greg Shakar for the improvements - -// Created 26 Sept. 2005 -// Updated 18 April 2008 - - -int firstSensor = 0; // first analog sensor -int secondSensor = 0; // second analog sensor -int thirdSensor = 0; // digital sensor -int inByte = 0; // incoming serial byte - -void setup() -{ - // start serial port at 9600 bps: - Serial.begin(9600); - pinMode(2, INPUT); // digital sensor is on digital pin 2 - establishContact(); // send a byte to establish contact until Processing responds -} - -void loop() -{ - // if we get a valid byte, read analog ins: - if (Serial.available() > 0) { - // get incoming byte: - inByte = Serial.read(); - // read first analog input, divide by 4 to make the range 0-255: - firstSensor = analogRead(0)/4; - // delay 10ms to let the ADC recover: - delay(10); - // read second analog input, divide by 4 to make the range 0-255: - secondSensor = analogRead(1)/4; - // read switch, multiply by 155 and add 100 - // so that you're sending 100 or 255: - thirdSensor = 100 + (155 * digitalRead(2)); - // send sensor values: - Serial.write(firstSensor); - Serial.write(secondSensor); - Serial.write(thirdSensor); - } -} - -void establishContact() { - while (Serial.available() <= 0) { - Serial.write('A'); // send a capital A - delay(300); - } -} - - -*/ diff --git a/Java/Processing/processing-3.3.6/modes/java/libraries/serial/examples/SerialDuplex/SerialDuplex.pde b/Java/Processing/processing-3.3.6/modes/java/libraries/serial/examples/SerialDuplex/SerialDuplex.pde deleted file mode 100644 index 38dc2f2..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/libraries/serial/examples/SerialDuplex/SerialDuplex.pde +++ /dev/null @@ -1,50 +0,0 @@ -/** - * Serial Duplex - * by Tom Igoe. - * - * Sends a byte out the serial port when you type a key - * listens for bytes received, and displays their value. - * This is just a quick application for testing serial data - * in both directions. - */ - - -import processing.serial.*; - -Serial myPort; // The serial port -int whichKey = -1; // Variable to hold keystoke values -int inByte = -1; // Incoming serial data - -void setup() { - size(400, 300); - // create a font with the third font available to the system: - PFont myFont = createFont(PFont.list()[2], 14); - textFont(myFont); - - // List all the available serial ports: - printArray(Serial.list()); - - // I know that the first port in the serial list on my mac - // is always my FTDI adaptor, so I open Serial.list()[0]. - // In Windows, this usually opens COM1. - // Open whatever port is the one you're using. - String portName = Serial.list()[0]; - myPort = new Serial(this, portName, 9600); -} - -void draw() { - background(0); - text("Last Received: " + inByte, 10, 130); - text("Last Sent: " + whichKey, 10, 100); -} - -void serialEvent(Serial myPort) { - inByte = myPort.read(); -} - -void keyPressed() { - // Send the keystroke out: - myPort.write(key); - whichKey = key; -} - diff --git a/Java/Processing/processing-3.3.6/modes/java/libraries/serial/examples/SerialDuplex/data/CourierNewPSMT-24.vlw b/Java/Processing/processing-3.3.6/modes/java/libraries/serial/examples/SerialDuplex/data/CourierNewPSMT-24.vlw deleted file mode 100644 index c72ddd7..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/libraries/serial/examples/SerialDuplex/data/CourierNewPSMT-24.vlw and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/libraries/serial/examples/SerialMultiple/SerialMultiple.pde b/Java/Processing/processing-3.3.6/modes/java/libraries/serial/examples/SerialMultiple/SerialMultiple.pde deleted file mode 100644 index 0646a4d..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/libraries/serial/examples/SerialMultiple/SerialMultiple.pde +++ /dev/null @@ -1,86 +0,0 @@ -/** - * Many Serial Ports - * - * Read data from the multiple Serial Ports - */ - - -import processing.serial.*; - -Serial[] myPorts = new Serial[2]; // Create a list of objects from Serial class -int[] dataIn = new int[2]; // a list to hold data from the serial ports - -void setup() { - size(400, 300); - // print a list of the serial ports: - printArray(Serial.list()); - // On my machine, the first and third ports in the list - // were the serial ports that my microcontrollers were - // attached to. - // Open whatever ports ares the ones you're using. - -// get the ports' names: - String portOne = Serial.list()[0]; - String portTwo = Serial.list()[2]; - // open the ports: - myPorts[0] = new Serial(this, portOne, 9600); - myPorts[1] = new Serial(this, portTwo, 9600); -} - - -void draw() { - // clear the screen: - background(0); - // use the latest byte from port 0 for the first circle - fill(dataIn[0]); - ellipse(width/3, height/2, 40, 40); - // use the latest byte from port 1 for the second circle - fill(dataIn[1]); - ellipse(2*width/3, height/2, 40, 40); -} - -/** - * When SerialEvent is generated, it'll also give you - * the port that generated it. Check that against a list - * of the ports you know you opened to find out where - * the data came from -*/ -void serialEvent(Serial thisPort) { - // variable to hold the number of the port: - int portNumber = -1; - - // iterate over the list of ports opened, and match the - // one that generated this event: - for (int p = 0; p < myPorts.length; p++) { - if (thisPort == myPorts[p]) { - portNumber = p; - } - } - // read a byte from the port: - int inByte = thisPort.read(); - // put it in the list that holds the latest data from each port: - dataIn[portNumber] = inByte; - // tell us who sent what: - println("Got " + inByte + " from serial port " + portNumber); -} - -/* -The following Wiring/Arduino code runs on both microcontrollers that -were used to send data to this sketch: - -void setup() -{ - // start serial port at 9600 bps: - Serial.begin(9600); -} - -void loop() { - // read analog input, divide by 4 to make the range 0-255: - int analogValue = analogRead(0)/4; - Serial.write(analogValue); - // pause for 10 milliseconds: - delay(10); -} - - -*/ diff --git a/Java/Processing/processing-3.3.6/modes/java/libraries/serial/examples/SimpleRead/SimpleRead.pde b/Java/Processing/processing-3.3.6/modes/java/libraries/serial/examples/SimpleRead/SimpleRead.pde deleted file mode 100644 index 856da8f..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/libraries/serial/examples/SimpleRead/SimpleRead.pde +++ /dev/null @@ -1,64 +0,0 @@ -/** - * Simple Read - * - * Read data from the serial port and change the color of a rectangle - * when a switch connected to a Wiring or Arduino board is pressed and released. - * This example works with the Wiring / Arduino program that follows below. - */ - - -import processing.serial.*; - -Serial myPort; // Create object from Serial class -int val; // Data received from the serial port - -void setup() -{ - size(200, 200); - // I know that the first port in the serial list on my mac - // is always my FTDI adaptor, so I open Serial.list()[0]. - // On Windows machines, this generally opens COM1. - // Open whatever port is the one you're using. - String portName = Serial.list()[0]; - myPort = new Serial(this, portName, 9600); -} - -void draw() -{ - if ( myPort.available() > 0) { // If data is available, - val = myPort.read(); // read it and store it in val - } - background(255); // Set background to white - if (val == 0) { // If the serial value is 0, - fill(0); // set fill to black - } - else { // If the serial value is not 0, - fill(204); // set fill to light gray - } - rect(50, 50, 100, 100); -} - - - -/* - -// Wiring / Arduino Code -// Code for sensing a switch status and writing the value to the serial port. - -int switchPin = 4; // Switch connected to pin 4 - -void setup() { - pinMode(switchPin, INPUT); // Set pin 0 as an input - Serial.begin(9600); // Start serial communication at 9600 bps -} - -void loop() { - if (digitalRead(switchPin) == HIGH) { // If switch is ON, - Serial.write(1); // send 1 to Processing - } else { // If the switch is not ON, - Serial.write(0); // send 0 to Processing - } - delay(100); // Wait 100 milliseconds -} - -*/ diff --git a/Java/Processing/processing-3.3.6/modes/java/libraries/serial/examples/SimpleWrite/SimpleWrite.pde b/Java/Processing/processing-3.3.6/modes/java/libraries/serial/examples/SimpleWrite/SimpleWrite.pde deleted file mode 100644 index c7d98c6..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/libraries/serial/examples/SimpleWrite/SimpleWrite.pde +++ /dev/null @@ -1,67 +0,0 @@ -/** - * Simple Write. - * - * Check if the mouse is over a rectangle and writes the status to the serial port. - * This example works with the Wiring / Arduino program that follows below. - */ - - -import processing.serial.*; - -Serial myPort; // Create object from Serial class -int val; // Data received from the serial port - -void setup() -{ - size(200, 200); - // I know that the first port in the serial list on my mac - // is always my FTDI adaptor, so I open Serial.list()[0]. - // On Windows machines, this generally opens COM1. - // Open whatever port is the one you're using. - String portName = Serial.list()[0]; - myPort = new Serial(this, portName, 9600); -} - -void draw() { - background(255); - if (mouseOverRect() == true) { // If mouse is over square, - fill(204); // change color and - myPort.write('H'); // send an H to indicate mouse is over square - } - else { // If mouse is not over square, - fill(0); // change color and - myPort.write('L'); // send an L otherwise - } - rect(50, 50, 100, 100); // Draw a square -} - -boolean mouseOverRect() { // Test if mouse is over square - return ((mouseX >= 50) && (mouseX <= 150) && (mouseY >= 50) && (mouseY <= 150)); -} - - -/* - // Wiring/Arduino code: - // Read data from the serial and turn ON or OFF a light depending on the value - - char val; // Data received from the serial port - int ledPin = 4; // Set the pin to digital I/O 4 - - void setup() { - pinMode(ledPin, OUTPUT); // Set pin as OUTPUT - Serial.begin(9600); // Start serial communication at 9600 bps - } - - void loop() { - while (Serial.available()) { // If data is available to read, - val = Serial.read(); // read it and store it in val - } - if (val == 'H') { // If H was received - digitalWrite(ledPin, HIGH); // turn the LED on - } else { - digitalWrite(ledPin, LOW); // Otherwise turn it OFF - } - delay(100); // Wait 100 milliseconds for next reading - } - - */ diff --git a/Java/Processing/processing-3.3.6/modes/java/libraries/serial/library.properties b/Java/Processing/processing-3.3.6/modes/java/libraries/serial/library.properties deleted file mode 100644 index 6e7b5db..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/libraries/serial/library.properties +++ /dev/null @@ -1,3 +0,0 @@ -name = Serial -version = 1 - diff --git a/Java/Processing/processing-3.3.6/modes/java/libraries/serial/library/jssc.jar b/Java/Processing/processing-3.3.6/modes/java/libraries/serial/library/jssc.jar deleted file mode 100644 index 93269cf..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/libraries/serial/library/jssc.jar and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/libraries/serial/library/jssc.txt b/Java/Processing/processing-3.3.6/modes/java/libraries/serial/library/jssc.txt deleted file mode 100644 index 7174ece..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/libraries/serial/library/jssc.txt +++ /dev/null @@ -1,4 +0,0 @@ -This is using a modified version of Java Simple Serial Connector by Alexey Sokolov. See https://github.com/gohai/java-simple-serial-connector for details on the modifications. - -To compile the C++ portion of the library on OS X: -g++ -shared [or: -dynamiclib?] -arch i386 -arch x86_64 -I/System/Library/Frameworks/IOKit.framework/Versions/A/Headers -I$JAVA_HOME/include -I$JAVA_HOME/include/darwin -framework IOKit -framework CoreFoundation -o libjSSC-2.6.jnilib jssc.cpp diff --git a/Java/Processing/processing-3.3.6/modes/java/libraries/serial/library/linux-arm64/libjSSC-2.8.so b/Java/Processing/processing-3.3.6/modes/java/libraries/serial/library/linux-arm64/libjSSC-2.8.so deleted file mode 100644 index 38813ae..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/libraries/serial/library/linux-arm64/libjSSC-2.8.so and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/libraries/serial/library/linux-armv6hf/libjSSC-2.8.so b/Java/Processing/processing-3.3.6/modes/java/libraries/serial/library/linux-armv6hf/libjSSC-2.8.so deleted file mode 100644 index 41680a4..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/libraries/serial/library/linux-armv6hf/libjSSC-2.8.so and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/libraries/serial/library/linux32/libjSSC-2.8.so b/Java/Processing/processing-3.3.6/modes/java/libraries/serial/library/linux32/libjSSC-2.8.so deleted file mode 100644 index 8ea5d6e..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/libraries/serial/library/linux32/libjSSC-2.8.so and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/libraries/serial/library/linux64/libjSSC-2.8.so b/Java/Processing/processing-3.3.6/modes/java/libraries/serial/library/linux64/libjSSC-2.8.so deleted file mode 100644 index 1108cb5..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/libraries/serial/library/linux64/libjSSC-2.8.so and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/libraries/serial/library/macosx/libjSSC-2.8.jnilib b/Java/Processing/processing-3.3.6/modes/java/libraries/serial/library/macosx/libjSSC-2.8.jnilib deleted file mode 100644 index 012a168..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/libraries/serial/library/macosx/libjSSC-2.8.jnilib and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/libraries/serial/library/serial.jar b/Java/Processing/processing-3.3.6/modes/java/libraries/serial/library/serial.jar deleted file mode 100644 index 5f76978..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/libraries/serial/library/serial.jar and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/libraries/serial/library/windows32/jSSC-2.8.dll b/Java/Processing/processing-3.3.6/modes/java/libraries/serial/library/windows32/jSSC-2.8.dll deleted file mode 100644 index 8ff7541..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/libraries/serial/library/windows32/jSSC-2.8.dll and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/libraries/serial/library/windows64/jSSC-2.8.dll b/Java/Processing/processing-3.3.6/modes/java/libraries/serial/library/windows64/jSSC-2.8.dll deleted file mode 100644 index d4e19e0..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/libraries/serial/library/windows64/jSSC-2.8.dll and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/libraries/serial/src/processing/serial/Serial.java b/Java/Processing/processing-3.3.6/modes/java/libraries/serial/src/processing/serial/Serial.java deleted file mode 100644 index 1374fe0..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/libraries/serial/src/processing/serial/Serial.java +++ /dev/null @@ -1,683 +0,0 @@ -/* -*- mode: java; c-basic-offset: 2; indent-tabs-mode: nil -*- */ - -/* - PSerial - class for serial port goodness - Part of the Processing project - http://processing.org - - Copyright (c) 2004-05 Ben Fry & Casey Reas - Reworked by Gottfried Haider as part of GSOC 2013 - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - This library 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General - Public License along with this library; if not, write to the - Free Software Foundation, Inc., 59 Temple Place, Suite 330, - Boston, MA 02111-1307 USA -*/ - -package processing.serial; - -import processing.core.*; - -import java.lang.reflect.*; -import java.util.Map; - -import jssc.*; - - -/** - * ( begin auto-generated from Serial.xml ) - * - * Class for sending and receiving data using the serial communication protocol. - * - * ( end auto-generated ) - * @webref serial - * @brief Class for sending and receiving data using the serial communication protocol. - * @instanceName serial any variable of type Serial - * @usage Application - * @see_external LIB_serial/serialEvent - */ -public class Serial implements SerialPortEventListener { - PApplet parent; - public SerialPort port; - Method serialAvailableMethod; - Method serialEventMethod; - - byte[] buffer = new byte[32768]; - int inBuffer = 0; - int readOffset = 0; - - int bufferUntilSize = 1; - byte bufferUntilByte = 0; - - volatile boolean invokeSerialAvailable = false; - - // Things we are currently not exposing: - // * hardware flow control - // * state of the RING, RLSD line - // * sending breaks - - /** - * @param parent typically use "this" - */ - public Serial(PApplet parent) { - this(parent, "COM1", 9600, 'N', 8, 1); - } - - - /** - * @param baudRate 9600 is the default - */ - public Serial(PApplet parent, int baudRate) { - this(parent, "COM1", baudRate, 'N', 8, 1); - } - - - /** - * @param portName name of the port (COM1 is the default) - */ - public Serial(PApplet parent, String portName) { - this(parent, portName, 9600, 'N', 8, 1); - } - - - public Serial(PApplet parent, String portName, int baudRate) { - this(parent, portName, baudRate, 'N', 8, 1); - } - - - /** - * @param parity 'N' for none, 'E' for even, 'O' for odd, 'M' for mark, 'S' for space ('N' is the default) - * @param dataBits 8 is the default - * @param stopBits 1.0, 1.5, or 2.0 (1.0 is the default) - */ - public Serial(PApplet parent, String portName, int baudRate, char parity, int dataBits, float stopBits) { - this.parent = parent; - parent.registerMethod("dispose", this); - parent.registerMethod("pre", this); - - // setup parity - if (parity == 'O') { - parity = SerialPort.PARITY_ODD; - } else if (parity == 'E') { - parity = SerialPort.PARITY_EVEN; - } else if (parity == 'M') { - parity = SerialPort.PARITY_MARK; - } else if (parity == 'S') { - parity = SerialPort.PARITY_SPACE; - } else { - parity = SerialPort.PARITY_NONE; - } - - // setup stop bits - int stopBitsIdx = SerialPort.STOPBITS_1; - if (stopBits == 1.5f) { - stopBitsIdx = SerialPort.STOPBITS_1_5; - } else if (stopBits == 2) { - stopBitsIdx = SerialPort.STOPBITS_2; - } - - port = new SerialPort(portName); - try { - // the native open() call is not using O_NONBLOCK, so this might block for certain operations (see write()) - port.openPort(); - port.setParams(baudRate, dataBits, stopBitsIdx, parity); - // we could register more events here - port.addEventListener(this, SerialPort.MASK_RXCHAR); - } catch (SerialPortException e) { - // this used to be a RuntimeException before, so stick with it - throw new RuntimeException("Error opening serial port " + e.getPortName() + ": " + e.getExceptionType()); - } - - serialEventMethod = findCallback("serialEvent"); - serialAvailableMethod = findCallback("serialAvailable"); - } - - private Method findCallback(final String name) { - try { - return parent.getClass().getMethod(name, this.getClass()); - } catch (Exception e) { - } - // Permit callback(Object) as alternative to callback(Serial). - try { - return parent.getClass().getMethod(name, Object.class); - } catch (Exception e) { - } - return null; - } - - - /** - * Used by PApplet to shut things down. - */ - public void dispose() { - stop(); - } - - - /** - * Return true if this port is still active and hasn't run - * into any trouble. - */ - public boolean active() { - return port.isOpened(); - } - - - public void pre() { - if (serialAvailableMethod != null && invokeSerialAvailable) { - invokeSerialAvailable = false; - try { - serialAvailableMethod.invoke(parent, this); - } catch (Exception e) { - System.err.println("Error, disabling serialAvailable() for "+port.getPortName()); - System.err.println(e.getLocalizedMessage()); - serialAvailableMethod = null; - } - } - } - - - /** - * @generate Serial_available.xml - * @webref serial:serial - * @usage web_application - */ - public int available() { - return (inBuffer-readOffset); - } - - - /** - * @generate Serial_buffer.xml - * @webref serial:serial - * @usage web_application - * @param size number of bytes to buffer - */ - public void buffer(int size) { - bufferUntilSize = size; - } - - - /** - * @generate Serial_bufferUntil.xml - * @webref serial:serial - * @usage web_application - * @param inByte the value to buffer until - */ - public void bufferUntil(int inByte) { - bufferUntilSize = 0; - bufferUntilByte = (byte)inByte; - } - - - /** - * @generate Serial_clear.xml - * @webref serial:serial - * @usage web_application - */ - public void clear() { - synchronized (buffer) { - inBuffer = 0; - readOffset = 0; - } - } - - - public boolean getCTS() { - try { - return port.isCTS(); - } catch (SerialPortException e) { - throw new RuntimeException("Error reading the CTS line: " + e.getExceptionType()); - } - } - - - public boolean getDSR() { - try { - return port.isDSR(); - } catch (SerialPortException e) { - throw new RuntimeException("Error reading the DSR line: " + e.getExceptionType()); - } - } - - - public static Map getProperties(String portName) { - return SerialPortList.getPortProperties(portName); - } - - - /** - * @generate Serial_last.xml - *

Advanced

- * Same as read() but returns the very last value received - * and clears the buffer. Useful when you just want the most - * recent value sent over the port. - * @webref serial:serial - * @usage web_application - */ - public int last() { - if (inBuffer == readOffset) { - return -1; - } - - synchronized (buffer) { - int ret = buffer[inBuffer-1] & 0xFF; - inBuffer = 0; - readOffset = 0; - return ret; - } - } - - - /** - * @generate Serial_lastChar.xml - * @webref serial:serial - * @usage web_application - */ - public char lastChar() { - return (char)last(); - } - - - /** - * @generate Serial_list.xml - * @webref serial - * @usage web_application - */ - public static String[] list() { - // returns list sorted alphabetically, thus cu.* comes before tty.* - // this was different with RXTX - return SerialPortList.getPortNames(); - } - - - /** - * @generate Serial_read.xml - * @webref serial:serial - * @usage web_application - */ - public int read() { - if (inBuffer == readOffset) { - return -1; - } - - synchronized (buffer) { - int ret = buffer[readOffset++] & 0xFF; - if (inBuffer == readOffset) { - inBuffer = 0; - readOffset = 0; - } - return ret; - } - } - - - /** - * @generate Serial_readBytes.xml - * @webref serial:serial - * @usage web_application - */ - public byte[] readBytes() { - if (inBuffer == readOffset) { - return null; - } - - synchronized (buffer) { - byte[] ret = new byte[inBuffer-readOffset]; - System.arraycopy(buffer, readOffset, ret, 0, ret.length); - inBuffer = 0; - readOffset = 0; - return ret; - } - } - - - /** - *

Advanced

- * Return a byte array of anything that's in the serial buffer - * up to the specified maximum number of bytes. - * Not particularly memory/speed efficient, because it creates - * a byte array on each read, but it's easier to use than - * readBytes(byte b[]) (see below). - * - * @param max the maximum number of bytes to read - */ - public byte[] readBytes(int max) { - if (inBuffer == readOffset) { - return null; - } - - synchronized (buffer) { - int length = inBuffer - readOffset; - if (length > max) length = max; - byte[] ret = new byte[length]; - System.arraycopy(buffer, readOffset, ret, 0, length); - - readOffset += length; - if (inBuffer == readOffset) { - inBuffer = 0; - readOffset = 0; - } - return ret; - } - } - - - /** - *

Advanced

- * Grab whatever is in the serial buffer, and stuff it into a - * byte buffer passed in by the user. This is more memory/time - * efficient than readBytes() returning a byte[] array. - * - * Returns an int for how many bytes were read. If more bytes - * are available than can fit into the byte array, only those - * that will fit are read. - */ - public int readBytes(byte[] dest) { - if (inBuffer == readOffset) { - return 0; - } - - synchronized (buffer) { - int toCopy = inBuffer-readOffset; - if (dest.length < toCopy) { - toCopy = dest.length; - } - System.arraycopy(buffer, readOffset, dest, 0, toCopy); - readOffset += toCopy; - if (inBuffer == readOffset) { - inBuffer = 0; - readOffset = 0; - } - return toCopy; - } - } - - - /** - * @generate Serial_readBytesUntil.xml - * @webref serial:serial - * @usage web_application - * @param inByte character designated to mark the end of the data - */ - public byte[] readBytesUntil(int inByte) { - if (inBuffer == readOffset) { - return null; - } - - synchronized (buffer) { - // look for needle in buffer - int found = -1; - for (int i=readOffset; i < inBuffer; i++) { - if (buffer[i] == (byte)inByte) { - found = i; - break; - } - } - if (found == -1) { - return null; - } - - int toCopy = found-readOffset+1; - byte[] dest = new byte[toCopy]; - System.arraycopy(buffer, readOffset, dest, 0, toCopy); - readOffset += toCopy; - if (inBuffer == readOffset) { - inBuffer = 0; - readOffset = 0; - } - return dest; - } - } - - - /** - *

Advanced

- * If dest[] is not big enough, then -1 is returned, - * and an error message is printed on the console. - * If nothing is in the buffer, zero is returned. - * If 'interesting' byte is not in the buffer, then 0 is returned. - * @param dest passed in byte array to be altered - */ - public int readBytesUntil(int inByte, byte[] dest) { - if (inBuffer == readOffset) { - return 0; - } - - synchronized (buffer) { - // look for needle in buffer - int found = -1; - for (int i=readOffset; i < inBuffer; i++) { - if (buffer[i] == (byte)inByte) { - found = i; - break; - } - } - if (found == -1) { - return 0; - } - - // check if bytes to copy fit in dest - int toCopy = found-readOffset+1; - if (dest.length < toCopy) { - System.err.println( "The buffer passed to readBytesUntil() is to small " + - "to contain " + toCopy + " bytes up to and including " + - "char " + (byte)inByte); - return -1; - } - System.arraycopy(buffer, readOffset, dest, 0, toCopy); - readOffset += toCopy; - if (inBuffer == readOffset) { - inBuffer = 0; - readOffset = 0; - } - return toCopy; - } - } - - - /** - * @generate Serial_readChar.xml - * @webref serial:serial - * @usage web_application - */ - public char readChar() { - return (char) read(); - } - - - /** - * @generate Serial_readString.xml - * @webref serial:serial - * @usage web_application - */ - public String readString() { - if (inBuffer == readOffset) { - return null; - } - return new String(readBytes()); - } - - - /** - * @generate Serial_readStringUntil.xml - *

Advanced

- * If you want to move Unicode data, you can first convert the - * String to a byte stream in the representation of your choice - * (i.e. UTF8 or two-byte Unicode data), and send it as a byte array. - * - * @webref serial:serial - * @usage web_application - * @param inByte character designated to mark the end of the data - */ - public String readStringUntil(int inByte) { - byte temp[] = readBytesUntil(inByte); - if (temp == null) { - return null; - } else { - return new String(temp); - } - } - - - /** - * @generate serialEvent.xml - * @webref serial:events - * @usage web_application - * @param event the port where new data is available - */ - public void serialEvent(SerialPortEvent event) { - if (event.getEventType() == SerialPortEvent.RXCHAR) { - int toRead; - try { - while (0 < (toRead = port.getInputBufferBytesCount())) { - // this method can be called from the context of another thread - synchronized (buffer) { - // read one byte at a time if the sketch is using serialEvent - if (serialEventMethod != null) { - toRead = 1; - } - // enlarge buffer if necessary - if (buffer.length < inBuffer+toRead) { - byte temp[] = new byte[buffer.length<<1]; - System.arraycopy(buffer, 0, temp, 0, inBuffer); - buffer = temp; - } - // read an array of bytes and copy it into our buffer - byte[] read = port.readBytes(toRead); - System.arraycopy(read, 0, buffer, inBuffer, read.length); - inBuffer += read.length; - } - if (serialEventMethod != null) { - if ((0 < bufferUntilSize && bufferUntilSize <= inBuffer-readOffset) || - (0 == bufferUntilSize && bufferUntilByte == buffer[inBuffer-1])) { - try { - // serialEvent() is invoked in the context of the current (serial) thread - // which means that serialization and atomic variables need to be used to - // guarantee reliable operation (and better not draw() etc..) - // serialAvailable() does not provide any real benefits over using - // available() and read() inside draw - but this function has no - // thread-safety issues since it's being invoked during pre in the context - // of the Processing applet - serialEventMethod.invoke(parent, this); - } catch (Exception e) { - System.err.println("Error, disabling serialEvent() for "+port.getPortName()); - System.err.println(e.getLocalizedMessage()); - serialEventMethod = null; - } - } - } - invokeSerialAvailable = true; - } - } catch (SerialPortException e) { - throw new RuntimeException("Error reading from serial port " + e.getPortName() + ": " + e.getExceptionType()); - } - } - } - - - /** - * Set the DTR line - */ - public void setDTR(boolean state) { - // there is no way to influence the behavior of the DTR line when opening the serial port - // this means that at least on Linux and OS X, Arduino devices are always reset - try { - port.setDTR(state); - } catch (SerialPortException e) { - throw new RuntimeException("Error setting the DTR line: " + e.getExceptionType()); - } - } - - - /** - * Set the RTS line - */ - public void setRTS(boolean state) { - try { - port.setRTS(state); - } catch (SerialPortException e) { - throw new RuntimeException("Error setting the RTS line: " + e.getExceptionType()); - } - } - - - /** - * @generate Serial_stop.xml - * @webref serial:serial - * @usage web_application - */ - public void stop() { - try { - port.closePort(); - } catch (SerialPortException e) { - // ignored - } - inBuffer = 0; - readOffset = 0; - } - - - /** - * @param src data to write - */ - public void write(byte[] src) { - try { - // this might block if the serial device is not yet ready (esp. tty devices under OS X) - port.writeBytes(src); - // we used to call flush() here - } catch (SerialPortException e) { - throw new RuntimeException("Error writing to serial port " + e.getPortName() + ": " + e.getExceptionType()); - } - } - - - /** - *

Advanced

- * This will handle both ints, bytes and chars transparently. - * @param src data to write - */ - public void write(int src) { - try { - port.writeInt(src); - } catch (SerialPortException e) { - throw new RuntimeException("Error writing to serial port " + e.getPortName() + ": " + e.getExceptionType()); - } - } - - - /** - * @generate Serial_write.xml - *

Advanced

- * Write a String to the output. Note that this doesn't account - * for Unicode (two bytes per char), nor will it send UTF8 - * characters.. It assumes that you mean to send a byte buffer - * (most often the case for networking and serial i/o) and - * will only use the bottom 8 bits of each char in the string. - * (Meaning that internally it uses String.getBytes) - * - * If you want to move Unicode data, you can first convert the - * String to a byte stream in the representation of your choice - * (i.e. UTF8 or two-byte Unicode data), and send it as a byte array. - * - * @webref serial:serial - * @usage web_application - * @param src data to write - */ - public void write(String src) { - try { - port.writeString(src); - } catch (SerialPortException e) { - throw new RuntimeException("Error writing to serial port " + e.getPortName() + ": " + e.getExceptionType()); - } - } -} diff --git a/Java/Processing/processing-3.3.6/modes/java/libraries/serial/test/serial_latency/arduino/serial_latency.ino b/Java/Processing/processing-3.3.6/modes/java/libraries/serial/test/serial_latency/arduino/serial_latency.ino deleted file mode 100644 index d4711fe..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/libraries/serial/test/serial_latency/arduino/serial_latency.ino +++ /dev/null @@ -1,12 +0,0 @@ -void setup() { - Serial.begin(115200); -} - -void loop() { - while (true) { - int in = Serial.read(); - if (in != -1) { - Serial.write(in); - } - } -} diff --git a/Java/Processing/processing-3.3.6/modes/java/libraries/serial/test/serial_latency/serial_latency.pde b/Java/Processing/processing-3.3.6/modes/java/libraries/serial/test/serial_latency/serial_latency.pde deleted file mode 100644 index 17e0a27..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/libraries/serial/test/serial_latency/serial_latency.pde +++ /dev/null @@ -1,53 +0,0 @@ -// Arduino Duemilanove (168) on OS X 10.9 -// with either 115200 or 38400 bps -// on Processing 2.0.3 (cu & tty): 24 ms avg, 35 ms max -// on Processing 2.1b1 (cu & tty): 18 ms avg, 35 ms max - -import processing.serial.*; -Serial serial; -int start; -byte out = '@'; -int last_send = 0; -byte[] in = new byte[32768]; -long num_fail = 0; -long num_recv = 0; -int max_latency = 0; - -void setup() { - println(serial.list()); - // change this accordingly - serial = new Serial(this, serial.list()[0], 115200); - start = millis(); -} - -void draw() { - background(255); - if (0 < serial.available()) { - int recv = serial.readBytes(in); - for (int i=0; i < recv; i++) { - if (in[i] == out) { - num_recv++; - int now = millis(); - if (max_latency < now-last_send) { - max_latency = now-last_send; - } - last_send = 0; - } - } - } - if (last_send != 0 && 1000 < millis()-last_send) { - num_fail++; - last_send = 0; - println(num_fail+" bytes timed out"); - } - if (last_send == 0) { - if (out == 'Z') { - out = '@'; - } - serial.write(++out); - last_send = millis(); - } - fill(0); - text(((millis()-start)/(float)num_recv+" ms avg"), 0, height/2); - text(max_latency+" ms max", 0, height/2+20); -} diff --git a/Java/Processing/processing-3.3.6/modes/java/libraries/serial/test/serial_throughput/arduino/serial_thoughput.ino b/Java/Processing/processing-3.3.6/modes/java/libraries/serial/test/serial_throughput/arduino/serial_thoughput.ino deleted file mode 100644 index dc950ce..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/libraries/serial/test/serial_throughput/arduino/serial_thoughput.ino +++ /dev/null @@ -1,9 +0,0 @@ -void setup() { - Serial.begin(115200); -} - -void loop() { - while (true) { - Serial.write('.'); - } -} diff --git a/Java/Processing/processing-3.3.6/modes/java/libraries/serial/test/serial_throughput/serial_throughput.pde b/Java/Processing/processing-3.3.6/modes/java/libraries/serial/test/serial_throughput/serial_throughput.pde deleted file mode 100644 index 477fdf3..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/libraries/serial/test/serial_throughput/serial_throughput.pde +++ /dev/null @@ -1,32 +0,0 @@ -import processing.serial.*; -Serial serial; -int start; -byte[] in = new byte[32768]; -long num_ok = 0; -long num_fail = 0; -long num_recv = 0; - -void setup() { - println(serial.list()); - // change this accordingly - serial = new Serial(this, serial.list()[0], 115200); - start = millis(); -} - -void draw() { - background(255); - if (0 < serial.available()) { - int recv = serial.readBytes(in); - for (int i=0; i < recv; i++) { - if (in[i] == '.') { - num_ok++; - } else { - num_fail++; - println("Received "+num_fail+" unexpected bytes"); - } - num_recv++; - } - } - fill(0); - text(num_recv/((millis()-start)/1000.0), 0, height/2); -} diff --git a/Java/Processing/processing-3.3.6/modes/java/libraries/svg/.classpath b/Java/Processing/processing-3.3.6/modes/java/libraries/svg/.classpath deleted file mode 100644 index ee54df0..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/libraries/svg/.classpath +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/libraries/svg/.project b/Java/Processing/processing-3.3.6/modes/java/libraries/svg/.project deleted file mode 100644 index d7513e8..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/libraries/svg/.project +++ /dev/null @@ -1,17 +0,0 @@ - - - processing-svg - - - - - - org.eclipse.jdt.core.javabuilder - - - - - - org.eclipse.jdt.core.javanature - - diff --git a/Java/Processing/processing-3.3.6/modes/java/libraries/svg/README.md b/Java/Processing/processing-3.3.6/modes/java/libraries/svg/README.md deleted file mode 100644 index 6c04ab4..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/libraries/svg/README.md +++ /dev/null @@ -1 +0,0 @@ -A very simple SVG exporter based on the PDF Export library that ships with Processing. Uses Batik's [SVG Generator](http://xmlgraphics.apache.org/batik/using/svg-generator.html). diff --git a/Java/Processing/processing-3.3.6/modes/java/libraries/svg/build.xml b/Java/Processing/processing-3.3.6/modes/java/libraries/svg/build.xml deleted file mode 100644 index 54cd9c2..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/libraries/svg/build.xml +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/libraries/svg/library.properties b/Java/Processing/processing-3.3.6/modes/java/libraries/svg/library.properties deleted file mode 100644 index 605d84f..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/libraries/svg/library.properties +++ /dev/null @@ -1,2 +0,0 @@ -name = SVG Export -version = 1 diff --git a/Java/Processing/processing-3.3.6/modes/java/libraries/svg/library/LICENSE b/Java/Processing/processing-3.3.6/modes/java/libraries/svg/library/LICENSE deleted file mode 100644 index 3e4e3d0..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/libraries/svg/library/LICENSE +++ /dev/null @@ -1,201 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. \ No newline at end of file diff --git a/Java/Processing/processing-3.3.6/modes/java/libraries/svg/library/batik-awt-util-1.8.jar b/Java/Processing/processing-3.3.6/modes/java/libraries/svg/library/batik-awt-util-1.8.jar deleted file mode 100644 index 740acb7..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/libraries/svg/library/batik-awt-util-1.8.jar and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/libraries/svg/library/batik-dom-1.8.jar b/Java/Processing/processing-3.3.6/modes/java/libraries/svg/library/batik-dom-1.8.jar deleted file mode 100644 index 4899b51..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/libraries/svg/library/batik-dom-1.8.jar and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/libraries/svg/library/batik-ext-1.8.jar b/Java/Processing/processing-3.3.6/modes/java/libraries/svg/library/batik-ext-1.8.jar deleted file mode 100644 index d7c850b..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/libraries/svg/library/batik-ext-1.8.jar and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/libraries/svg/library/batik-svggen-1.8.jar b/Java/Processing/processing-3.3.6/modes/java/libraries/svg/library/batik-svggen-1.8.jar deleted file mode 100644 index 9aaa826..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/libraries/svg/library/batik-svggen-1.8.jar and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/libraries/svg/library/batik-util-1.8.jar b/Java/Processing/processing-3.3.6/modes/java/libraries/svg/library/batik-util-1.8.jar deleted file mode 100644 index 23e3625..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/libraries/svg/library/batik-util-1.8.jar and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/libraries/svg/library/batik-xml-1.8.jar b/Java/Processing/processing-3.3.6/modes/java/libraries/svg/library/batik-xml-1.8.jar deleted file mode 100644 index 1101455..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/libraries/svg/library/batik-xml-1.8.jar and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/libraries/svg/library/svg.jar b/Java/Processing/processing-3.3.6/modes/java/libraries/svg/library/svg.jar deleted file mode 100644 index 188f406..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/libraries/svg/library/svg.jar and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/libraries/svg/src/WriteSVG.java b/Java/Processing/processing-3.3.6/modes/java/libraries/svg/src/WriteSVG.java deleted file mode 100644 index ed69b04..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/libraries/svg/src/WriteSVG.java +++ /dev/null @@ -1,35 +0,0 @@ -import processing.core.PApplet; - - -// TODO This is code for testing; remove before final release - -public class WriteSVG extends PApplet { - -// public String sketchRenderer() { -// return "processing.svg.PGraphicsSVG"; -// } - - -// public String sketchOutputPath() { -// return "/Users/fry/Desktop/frame-####.svg"; -// } - - - public void settings() { - size(600, 400, SVG, desktopPath("frame-####.svg")); -// frameRate(1); - } - - public void draw() { - background(random(255)); - stroke(random(255)); - strokeWeight(20); - line(random(width), random(height), random(width), random(height)); - if (frameCount == 5) exit(); -// exit(); - } - - static public void main(String[] args) { - PApplet.main(new String[] { "WriteSVG" }); - } -} \ No newline at end of file diff --git a/Java/Processing/processing-3.3.6/modes/java/libraries/svg/src/processing/svg/PGraphicsSVG.java b/Java/Processing/processing-3.3.6/modes/java/libraries/svg/src/processing/svg/PGraphicsSVG.java deleted file mode 100644 index 788cb70..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/libraries/svg/src/processing/svg/PGraphicsSVG.java +++ /dev/null @@ -1,525 +0,0 @@ -/* - Part of the Processing project - http://processing.org - - Copyright (c) 2013-2015 The Processing Foundation - Copyright (c) 2012 Ben Fry and Casey Reas - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License version 2.1 as published by the Free Software Foundation. - - This library 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General - Public License along with this library; if not, write to the - Free Software Foundation, Inc., 59 Temple Place, Suite 330, - Boston, MA 02111-1307 USA -*/ - -package processing.svg; - -import java.awt.Dimension; -import java.io.*; - -import org.apache.batik.svggen.SVGGraphics2D; -import org.apache.batik.svggen.SVGGraphics2DIOException; -import org.apache.batik.dom.GenericDOMImplementation; -import org.w3c.dom.Document; -import org.w3c.dom.DOMImplementation; - -import processing.awt.PGraphicsJava2D; -import processing.core.*; - - -public class PGraphicsSVG extends PGraphicsJava2D { - /** File being written, if it's a file. */ - protected File file; - /** OutputStream being written to, if using an OutputStream. */ - protected OutputStream output; - -// protected Writer writer; - - - public PGraphicsSVG() { } - - - public void setPath(String path) { - this.path = path; - if (path != null) { - file = new File(path); - if (!file.isAbsolute()) { - file = null; - } - } - if (file == null) { - throw new RuntimeException("PGraphicsSVG requires an absolute path " + - "for the location of the output file."); - } - } - - - /** - * Set the library to write to an output stream instead of a file. - */ - public void setOutput(OutputStream output) { - this.output = output; - } - - - @Override - public PSurface createSurface() { - return surface = new PSurfaceNone(this); - } - - - protected void defaultSettings() { // ignore - super.defaultSettings(); - textMode = SHAPE; - } - - - public void beginDraw() { - DOMImplementation domImpl = - GenericDOMImplementation.getDOMImplementation(); - - // Create an instance of org.w3c.dom.Document. - String ns = "http://www.w3.org/2000/svg"; - Document document = domImpl.createDocument(ns, "svg", null); - - // Create an instance of the SVG Generator. - g2 = new SVGGraphics2D(document); - ((SVGGraphics2D) g2).setSVGCanvasSize(new Dimension(width, height)); - - // Done with our work, let's check on defaults and the rest - //super.beginDraw(); - // Can't call super.beginDraw() because it'll nuke our g2 - checkSettings(); - resetMatrix(); // reset model matrix - vertexCount = 0; - - // Also need to push the matrix since the matrix doesn't reset on each run - // http://dev.processing.org/bugs/show_bug.cgi?id=1227 - pushMatrix(); - } - - - public void endDraw() { - // Also need to pop the matrix since the matrix doesn't reset on each run - // http://dev.processing.org/bugs/show_bug.cgi?id=1227 - popMatrix(); - - // Figure out where the output goes. If the sketch is calling setOutput() - // inside draw(), then that OutputStream will be used, otherwise the - // path for rendering is expected to have ### inside it so that the frame - // can be inserted, because SVG doesn't support multiple pages. - if (output == null) { - if (path == null) { - throw new RuntimeException("setOutput() or setPath() must be " + - "used with the SVG renderer"); - } else { - // insert the frame number and create intermediate directories - File file = parent.saveFile(parent.insertFrame(path)); - try { - output = new FileOutputStream(file); - } catch (FileNotFoundException e) { - throw new RuntimeException(e); - } - } - } - - // This needs to be overridden so that the endDraw() from PGraphicsJava2D - // is not inherited (it calls loadPixels). - // http://dev.processing.org/bugs/show_bug.cgi?id=1169 - - // Finally, stream out SVG to the standard output using UTF-8 encoding. - boolean useCSS = true; // we want to use CSS style attributes - Writer writer = PApplet.createWriter(output); -// Writer out = new OutputStreamWriter(System.out, "UTF-8"); - try { - ((SVGGraphics2D) g2).stream(writer, useCSS); - } catch (SVGGraphics2DIOException e) { - e.printStackTrace(); - } - try { - writer.flush(); - writer.close(); - } catch (IOException e) { - e.printStackTrace(); - } finally { - output = null; - } - } - - -// /** -// * Call to explicitly go to the next page from within a single draw(). -// */ -// public void nextPage() { -// PStyle savedStyle = getStyle(); -// endDraw(); -// g2.dispose(); -// -// try { -//// writer.setPageEmpty(false); // maybe useful later -// document.newPage(); // is this bad if no addl pages are made? -// } catch (Exception e) { -// e.printStackTrace(); -// } -// g2 = createGraphics(); -// beginDraw(); -// style(savedStyle); -// } - - -// protected Graphics2D createGraphics() { -// if (textMode == SHAPE) { -// return content.createGraphicsShapes(width, height); -// } else if (textMode == MODEL) { -// return content.createGraphics(width, height, getMapper()); -// } -// // Should not be reachable... -// throw new RuntimeException("Invalid textMode() selected for PDF."); -// } - - - // nothing to be done in dispose(), since essentially disposed on each frame - public void dispose() { -// if (document != null) { -// g2.dispose(); -// document.close(); // can't be done in finalize, not always called -// document = null; -// } -// //new Exception().printStackTrace(System.out); - } - - - /** - * Don't open a window for this renderer, it won't be used. - */ - @Override - public boolean displayable() { - return false; - } - - /* - protected void finalize() throws Throwable { - System.out.println("calling finalize"); - //document.close(); // do this in dispose instead? - } - */ - - - ////////////////////////////////////////////////////////////// - - - /* - public void endRecord() { - super.endRecord(); - dispose(); - } - - - public void endRaw() { - System.out.println("ending raw"); - super.endRaw(); - System.out.println("disposing"); - dispose(); - System.out.println("done"); - } - */ - - - ////////////////////////////////////////////////////////////// - - - /* - protected void rectImpl(float x1, float y1, float x2, float y2) { - //rect.setFrame(x1, y1, x2-x1, y2-y1); - //draw_shape(rect); - System.out.println("rect implements"); - g2.fillRect((int)x1, (int)y1, (int) (x2-x1), (int) (y2-y1)); - } - * - - /* - public void clear() { - g2.setColor(Color.red); - g2.fillRect(0, 0, width, height); - } - */ - - - ////////////////////////////////////////////////////////////// - - - /* - protected void imageImplAWT(java.awt.Image awtImage, - float x1, float y1, float x2, float y2, - int u1, int v1, int u2, int v2) { - pushMatrix(); - translate(x1, y1); - int awtImageWidth = awtImage.getWidth(null); - int awtImageHeight = awtImage.getHeight(null); - scale((x2 - x1) / (float)awtImageWidth, - (y2 - y1) / (float)awtImageHeight); - g2.drawImage(awtImage, - 0, 0, awtImageWidth, awtImageHeight, - u1, v1, u2, v2, null); - popMatrix(); - } - */ - - - ////////////////////////////////////////////////////////////// - - -// public void textFont(PFont which) { -// super.textFont(which); -// checkFont(); -// // Make sure a native version of the font is available. -//// if (textFont.getFont() == null) { -//// throw new RuntimeException("Use createFont() instead of loadFont() " + -//// "when drawing text using the PDF library."); -//// } -// // Make sure that this is a font that the PDF library can deal with. -//// if ((textMode != SHAPE) && !checkFont(which.getName())) { -//// System.err.println("Use PGraphicsPDF.listFonts() to get a list of available fonts."); -//// throw new RuntimeException("The font ā€œ" + which.getName() + "ā€ cannot be used with PDF Export."); -//// } -// } - - -// /** -// * Change the textMode() to either SHAPE or MODEL. -// *
-// * This resets all renderer settings, and therefore must -// * be called before any other commands that set the fill() -// * or the textFont() or anything. Unlike other renderers, -// * use textMode() directly after the size() command. -// */ -// public void textMode(int mode) { -// if (textMode != mode) { -// if (mode == SHAPE) { -// textMode = SHAPE; -// g2.dispose(); -//// g2 = content.createGraphicsShapes(width, height); -// g2 = createGraphics(); -// } else if (mode == MODEL) { -// textMode = MODEL; -// g2.dispose(); -//// g2 = content.createGraphics(width, height, mapper); -// g2 = createGraphics(); -//// g2 = template.createGraphics(width, height, mapper); -// } else if (mode == SCREEN) { -// throw new RuntimeException("textMode(SCREEN) not supported with PDF"); -// } else { -// throw new RuntimeException("That textMode() does not exist"); -// } -// } -// } - - -// protected void textLineImpl(char buffer[], int start, int stop, -// float x, float y) { -// checkFont(); -// super.textLineImpl(buffer, start, stop, x, y); -// } - - - ////////////////////////////////////////////////////////////// - - - public void loadPixels() { - nope("loadPixels"); - } - - public void updatePixels() { - nope("updatePixels"); - } - - public void updatePixels(int x, int y, int c, int d) { - nope("updatePixels"); - } - - // - - public int get(int x, int y) { - nope("get"); - return 0; // not reached - } - - public PImage get(int x, int y, int c, int d) { - nope("get"); - return null; // not reached - } - - public PImage get() { - nope("get"); - return null; // not reached - } - - public void set(int x, int y, int argb) { - nope("set"); - } - - public void set(int x, int y, PImage image) { - nope("set"); - } - - // - - public void mask(int alpha[]) { - nope("mask"); - } - - public void mask(PImage alpha) { - nope("mask"); - } - - // - - public void filter(int kind) { - nope("filter"); - } - - public void filter(int kind, float param) { - nope("filter"); - } - - // - - public void copy(int sx1, int sy1, int sx2, int sy2, - int dx1, int dy1, int dx2, int dy2) { - nope("copy"); - } - - public void copy(PImage src, - int sx1, int sy1, int sx2, int sy2, - int dx1, int dy1, int dx2, int dy2) { - nope("copy"); - } - - // - - public void blend(int sx, int sy, int dx, int dy, int mode) { - nope("blend"); - } - - public void blend(PImage src, - int sx, int sy, int dx, int dy, int mode) { - nope("blend"); - } - - public void blend(int sx1, int sy1, int sx2, int sy2, - int dx1, int dy1, int dx2, int dy2, int mode) { - nope("blend"); - } - - public void blend(PImage src, - int sx1, int sy1, int sx2, int sy2, - int dx1, int dy1, int dx2, int dy2, int mode) { - nope("blend"); - } - - // - - public boolean save(String filename) { - nope("save"); - return false; - } - - - ////////////////////////////////////////////////////////////// - - -// /** -// * Add a directory that should be searched for font data. -// *
-// * On Mac OS X, the following directories are added by default: -// *
    -// *
  • /System/Library/Fonts -// *
  • /Library/Fonts -// *
  • ~/Library/Fonts -// *
-// * On Windows, all drive letters are searched for WINDOWS\Fonts -// * or WINNT\Fonts, any that exists is added. -// *

-// * On Linux or any other platform, you'll need to add the -// * directories by hand. (If there are actual standards here that we -// * can use as a starting point, please file a bug to make a note of it) -// */ -// public void addFonts(String directory) { -// mapper.insertDirectory(directory); -// } - - -// /** -// * Check whether the specified font can be used with the PDF library. -// * @param name name of the font -// * @return true if it's ok -// */ -// protected void checkFont() { -// Font awtFont = textFont.getFont(); -// if (awtFont == null) { // always need a native font or reference to it -// throw new RuntimeException("Use createFont() instead of loadFont() " + -// "when drawing text using the PDF library."); -// } else if (textMode != SHAPE) { -// if (textFont.isStream()) { -// throw new RuntimeException("Use textMode(SHAPE) with PDF when loading " + -// ".ttf and .otf files with createFont()."); -// } else if (mapper.getAliases().get(textFont.getName()) == null) { -// //System.out.println("alias for " + name + " = " + mapper.getAliases().get(name)); -//// System.err.println("Use PGraphicsPDF.listFonts() to get a list of " + -//// "fonts that can be used with PDF."); -//// throw new RuntimeException("The font ā€œ" + textFont.getName() + "ā€ " + -//// "cannot be used with PDF Export."); -// if (textFont.getName().equals("Lucida Sans")) { -// throw new RuntimeException("Use textMode(SHAPE) with the default " + -// "font when exporting to PDF."); -// } else { -// throw new RuntimeException("Use textMode(SHAPE) with " + -// "ā€œ" + textFont.getName() + "ā€ " + -// "when exporting to PDF."); -// } -// } -// } -// } - - -// /** -// * List the fonts known to the PDF renderer. This is like PFont.list(), -// * however not all those fonts are available by default. -// */ -// static public String[] listFonts() { -// if (fontList == null) { -// HashMap map = getMapper().getAliases(); -//// Set entries = map.entrySet(); -//// fontList = new String[entries.size()]; -// fontList = new String[map.size()]; -// int count = 0; -// for (Object entry : map.entrySet()) { -// fontList[count++] = (String) ((Map.Entry) entry).getKey(); -// } -//// Iterator it = entries.iterator(); -//// int count = 0; -//// while (it.hasNext()) { -//// Map.Entry entry = (Map.Entry) it.next(); -//// //System.out.println(entry.getKey() + "-->" + entry.getValue()); -//// fontList[count++] = (String) entry.getKey(); -//// } -// fontList = PApplet.sort(fontList); -// } -// return fontList; -// } - - - ////////////////////////////////////////////////////////////// - - - protected void nope(String function) { - throw new RuntimeException("No " + function + "() for PGraphicsSVG"); - } -} diff --git a/Java/Processing/processing-3.3.6/modes/java/mode/JavaMode.jar b/Java/Processing/processing-3.3.6/modes/java/mode/JavaMode.jar deleted file mode 100644 index 7d9750c..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/mode/JavaMode.jar and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/mode/antlr-src.zip b/Java/Processing/processing-3.3.6/modes/java/mode/antlr-src.zip deleted file mode 100644 index cfeca34..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/mode/antlr-src.zip and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/mode/antlr.jar b/Java/Processing/processing-3.3.6/modes/java/mode/antlr.jar deleted file mode 100644 index 42f25e5..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/mode/antlr.jar and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/mode/classpath-explorer-1.0.jar b/Java/Processing/processing-3.3.6/modes/java/mode/classpath-explorer-1.0.jar deleted file mode 100644 index e0dfb85..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/mode/classpath-explorer-1.0.jar and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/mode/com.ibm.icu.jar b/Java/Processing/processing-3.3.6/modes/java/mode/com.ibm.icu.jar deleted file mode 100644 index f0804f7..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/mode/com.ibm.icu.jar and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/mode/jdi.jar b/Java/Processing/processing-3.3.6/modes/java/mode/jdi.jar deleted file mode 100644 index df9d0b5..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/mode/jdi.jar and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/mode/jdimodel.jar b/Java/Processing/processing-3.3.6/modes/java/mode/jdimodel.jar deleted file mode 100644 index 6ecf237..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/mode/jdimodel.jar and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/mode/jdtCompilerAdapter.jar b/Java/Processing/processing-3.3.6/modes/java/mode/jdtCompilerAdapter.jar deleted file mode 100644 index 114cabb..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/mode/jdtCompilerAdapter.jar and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/mode/jsoup-1.7.1.jar b/Java/Processing/processing-3.3.6/modes/java/mode/jsoup-1.7.1.jar deleted file mode 100644 index 75d9f6a..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/mode/jsoup-1.7.1.jar and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/mode/org.eclipse.core.contenttype.jar b/Java/Processing/processing-3.3.6/modes/java/mode/org.eclipse.core.contenttype.jar deleted file mode 100644 index 2d8f772..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/mode/org.eclipse.core.contenttype.jar and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/mode/org.eclipse.core.jobs.jar b/Java/Processing/processing-3.3.6/modes/java/mode/org.eclipse.core.jobs.jar deleted file mode 100644 index 579555f..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/mode/org.eclipse.core.jobs.jar and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/mode/org.eclipse.core.resources.jar b/Java/Processing/processing-3.3.6/modes/java/mode/org.eclipse.core.resources.jar deleted file mode 100644 index dd04e3e..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/mode/org.eclipse.core.resources.jar and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/mode/org.eclipse.core.runtime.jar b/Java/Processing/processing-3.3.6/modes/java/mode/org.eclipse.core.runtime.jar deleted file mode 100644 index 4b46a12..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/mode/org.eclipse.core.runtime.jar and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/mode/org.eclipse.equinox.common.jar b/Java/Processing/processing-3.3.6/modes/java/mode/org.eclipse.equinox.common.jar deleted file mode 100644 index c2a745e..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/mode/org.eclipse.equinox.common.jar and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/mode/org.eclipse.equinox.preferences.jar b/Java/Processing/processing-3.3.6/modes/java/mode/org.eclipse.equinox.preferences.jar deleted file mode 100644 index d6cb801..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/mode/org.eclipse.equinox.preferences.jar and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/mode/org.eclipse.jdt.core.jar b/Java/Processing/processing-3.3.6/modes/java/mode/org.eclipse.jdt.core.jar deleted file mode 100644 index 2b675bc..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/mode/org.eclipse.jdt.core.jar and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/mode/org.eclipse.osgi.jar b/Java/Processing/processing-3.3.6/modes/java/mode/org.eclipse.osgi.jar deleted file mode 100644 index 91f36da..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/mode/org.eclipse.osgi.jar and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/mode/org.eclipse.text.jar b/Java/Processing/processing-3.3.6/modes/java/mode/org.eclipse.text.jar deleted file mode 100644 index e1263c2..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/mode/org.eclipse.text.jar and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/mode/org.netbeans.swing.outline.jar b/Java/Processing/processing-3.3.6/modes/java/mode/org.netbeans.swing.outline.jar deleted file mode 100644 index debfac1..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/mode/org.netbeans.swing.outline.jar and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/mode/readme.txt b/Java/Processing/processing-3.3.6/modes/java/mode/readme.txt deleted file mode 100644 index 5b94b7a..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/mode/readme.txt +++ /dev/null @@ -1,45 +0,0 @@ -Packages from Eclipse 4.5.2: -http://download.eclipse.org/eclipse/downloads/ - -File listing at: -http://download.eclipse.org/eclipse/updates/4.5/R-4.5.2-201602121500/plugins/?d - -The jdtCompilerAdapter.jar is extracted from org.eclipse.jdt.core.jar to provide -the JDTCompilerAdapter class, which is the Ant task for the JDT compiler. -The jdi.jar and jdimodel.jar files are unpacked from org.eclipse.jdt.debug.jar. - -This Mode does not use ecj.jar from the original Java mode, because its files are contained in the JARs below. - -For 3.0 alpha 11, the signature files were removed from oorg.eclipse.jdt.core.jar to fix a signing conflict with Android Mode and Ant. -https://github.com/processing/processing/pull/3324 - -. . . - -http://download.eclipse.org/eclipse/updates/4.5/R-4.5.2-201602121500/plugins/com.ibm.icu_54.1.1.v201501272100.jar - -http://download.eclipse.org/eclipse/updates/4.5/R-4.5.2-201602121500/plugins/org.eclipse.core.contenttype_3.5.0.v20150421-2214.jar - -http://download.eclipse.org/eclipse/updates/4.5/R-4.5.2-201602121500/plugins/org.eclipse.core.jobs_3.7.0.v20150330-2103.jar - -http://download.eclipse.org/eclipse/updates/4.5/R-4.5.2-201602121500/plugins/org.eclipse.core.resources_3.10.1.v20150725-1910.jar - -http://download.eclipse.org/eclipse/updates/4.5/R-4.5.2-201602121500/plugins/org.eclipse.core.runtime_3.11.1.v20150903-1804.jar - -http://download.eclipse.org/eclipse/updates/4.5/R-4.5.2-201602121500/plugins/org.eclipse.equinox.common_3.7.0.v20150402-1709.jar - -http://download.eclipse.org/eclipse/updates/4.5/R-4.5.2-201602121500/plugins/org.eclipse.equinox.preferences_3.5.300.v20150408-1437.jar - -http://download.eclipse.org/eclipse/updates/4.5/R-4.5.2-201602121500/plugins/org.eclipse.jdt.core_3.11.2.v20160128-0629.jar - -http://download.eclipse.org/eclipse/updates/4.5/R-4.5.2-201602121500/plugins/org.eclipse.osgi_3.10.102.v20160118-1700.jar - -http://download.eclipse.org/eclipse/updates/4.5/R-4.5.2-201602121500/plugins/org.eclipse.text_3.5.400.v20150505-1044.jar - -. . . - -Updated 19 January 2015 to fix Java 8 support. The previous versions gave an "Annotation processing got disabled, since it requires a 1.6 compliant JVM" error. - -Updated 21 March 2016 to newest version (from R-4.4.1-201409250400 to R-4.5.2-201602121500) as part of updating Java Mode - -Finally, the archive site contains additional jars for the 4.5.2 release, including the JDT Core Batch Compiler (ECJ): -http://archive.eclipse.org/eclipse/downloads/drops4/R-4.5.2-201602121500/ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/Array.html b/Java/Processing/processing-3.3.6/modes/java/reference/Array.html deleted file mode 100644 index 6ffc263..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/Array.html +++ /dev/null @@ -1,219 +0,0 @@ - - - - Array \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

Array

Examples
-int[] numbers = new int[3];
-numbers[0] = 90;  // Assign value to first element in the array
-numbers[1] = 150; // Assign value to second element in the array
-numbers[2] = 30;  // Assign value to third element in the array
-int a = numbers[0] + numbers[1]; // Sets variable 'a' to 240
-int b = numbers[1] + numbers[2]; // Sets variable 'b' to 180 
-
-
-
-int[] numbers = { 90, 150, 30 };  // Alternate syntax
-int a = numbers[0] + numbers[1];  // Sets variable 'a' to 240
-int b = numbers[1] + numbers[2];  // Sets variable 'b' to 180
-
-
-
-int degrees = 360;
-float[] cos_vals = new float[degrees];
-// Use a for() loop to quickly iterate
-// through all values in an array.
-for (int i=0; i < degrees; i++) {         
-  cos_vals[i] = cos(TWO_PI/degrees * i);
-}
-
-
-
-float[] randoms = new float[100];
-for (int i = 0; i < randoms.length; i++) {
-  randoms[i] = random(100);
-}
-
-// You can also use an enhanced loop
-// to access the elements of an array
-for (float val : randoms) {
-  println(val);
-}
-
-// This works with arrays of objects, too,
-// but not when first making the array
-PVector[] vectors = new PVector[5];
-for (int i = 0; i < vectors.length; i++) {
-  vectors[i] = new PVector();
-}
-
-// The syntax only applies when iterating
-// over an existing array 
-for (PVector v : vectors) {
-  point(v.x, v.y);
-}
-
-
Description -An array is a list of data. It is possible to have an array of any type of data. Each piece of data in an array is identified by an index number representing its position in the array. The first element in the array is [0], the second element is [1], and so on. Arrays are similar to objects, so they must be created with the keyword new.
-
-Each array has a variable length, which is an integer value for the total number of elements in the array. Note that since index numbering begins at zero (not 1), the last value in an array with a length of 5 should be referenced as array[4] (that is, the length minus 1), not array[5], which would trigger an error.
-
-Another common source of confusion is the difference between using length to get the size of an array and length() to get the size of a String. Notice the presence of parentheses when working with Strings. (array.length is a variable, while String.length() is a method specific to the String class.) -
Syntax
-datatype[] var
-var[element] = value
-var.length
-
Parameters - - - - - - - - - - - - - - -
datatypeany primitive or compound datatype, including user-defined classes
varany valid variable name
elementint: must not exceed the length of the array minus 1
valuedata to assign to the array element; must be the same datatype as the array
- -Updated on April 30, 2017 02:33:22pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/ArrayList.html b/Java/Processing/processing-3.3.6/modes/java/reference/ArrayList.html deleted file mode 100644 index 9e89617..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/ArrayList.html +++ /dev/null @@ -1,207 +0,0 @@ - - - - ArrayList \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - -
Name

ArrayList

Examples
-// These are code fragments that show how to use an ArrayList.
-// They won't compile because they assume the existence of a Particle class.
-
-// Declaring the ArrayList, note the use of the syntax "<Particle>" to indicate
-// our intention to fill this ArrayList with Particle objects
-ArrayList<Particle> particles = new ArrayList<Particle>();
-
-// Objects can be added to an ArrayList with add()
-particles.add(new Particle());
-
-// Particles can be pulled out of an ArrayList with get()
-Particle part = particles.get(0);
-part.display();
-
-// The size() method returns the current number of items in the list
-int total = particles.size();
-println("The total number of particles is: " + total);
-
-// You can iterate over an ArrayList in two ways.
-// The first is by counting through the elements:
-for (int i = 0; i < particles.size(); i++) {
-  Particle part = particles.get(i);
-  part.display();
-}
-
-// The second is using an enhanced loop:
-for (Particle part : particles) {
-  part.display();
-}
-
-// You can delete particles from an ArrayList with remove()
-particles.remove(0);
-println(particles.size()); // Now one less!
-
-// If you are modifying an ArrayList during the loop,
-// then you cannot use the enhanced loop syntax.
-// In addition, when deleting in order to hit all elements, 
-// you should loop through it backwards, as shown here:
-for (int i = particles.size() - 1; i >= 0; i--) {
-  Particle part = particles.get(i);
-  if (part.finished()) {
-    particles.remove(i);
-  }
-}
-
-
Description -An ArrayList stores a variable number of objects. This is similar to making an array of objects, but with an ArrayList, items can be easily added and removed from the ArrayList and it is resized dynamically. This can be very convenient, but it's slower than making an array of objects when using many elements. Note that for resizable lists of integers, floats, and Strings, you can use the Processing classes IntList, FloatList, and StringList.
-
-An ArrayList is a resizable-array implementation of the Java List interface. It has many methods used to control and search its contents. For example, the length of the ArrayList is returned by its size() method, which is an integer value for the total number of elements in the list. An element is added to an ArrayList with the add() method and is deleted with the remove() method. The get() method returns the element at the specified position in the list. (See the above example for context.)
-
-For a list of the numerous ArrayList features, please read the Java reference description. -
Constructor
-ArrayList<Type>()
-ArrayList<Type>(initialCapacity)
-
Parameters - - - - - - -
TypeClass Name: the data type for the objects to be placed in the ArrayList.
initialCapacityint: defines the initial capacity of the list; it's empty by default
RelatedIntList
-FloatList
-StringList
- -Updated on April 30, 2017 02:33:23pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/BufferedReader.html b/Java/Processing/processing-3.3.6/modes/java/reference/BufferedReader.html deleted file mode 100644 index 41df734..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/BufferedReader.html +++ /dev/null @@ -1,180 +0,0 @@ - - - - BufferedReader \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

BufferedReader

Examples
-BufferedReader reader;
-String line;
- 
-void setup() {
-  // Open the file from the createWriter() example
-  reader = createReader("positions.txt");    
-}
- 
-void draw() {
-  try {
-    line = reader.readLine();
-  } catch (IOException e) {
-    e.printStackTrace();
-    line = null;
-  }
-  if (line == null) {
-    // Stop reading because of an error or file is empty
-    noLoop();  
-  } else {
-    String[] pieces = split(line, TAB);
-    int x = int(pieces[0]);
-    int y = int(pieces[1]);
-    point(x, y);
-  }
-} 
-
-
Description -A BufferedReader object is used to read files line-by-line as individual String objects. -

-Starting with Processing release 0134, all files loaded and saved by the Processing API use UTF-8 encoding. In previous releases, the default encoding for your platform was used, which causes problems when files are moved to other platforms. -
Parameters - - -
RelatedcreateReader()
-try
-catch
- -Updated on April 30, 2017 02:33:23pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/BufferedReader_readLine_.html b/Java/Processing/processing-3.3.6/modes/java/reference/BufferedReader_readLine_.html deleted file mode 100644 index 0ba2dc7..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/BufferedReader_readLine_.html +++ /dev/null @@ -1,178 +0,0 @@ - - - - BufferedReader::readLine() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

BufferedReader

Name

readLine()

Examples
-BufferedReader reader;
-String line;
- 
-void setup() {
-  // Open the file from the createWriter() example
-  reader = createReader("positions.txt");    
-}
- 
-void draw() {
-  try {
-    line = reader.readLine();
-  } catch (IOException e) {
-    e.printStackTrace();
-    line = null;
-  }
-  if (line == null) {
-    // Stop reading because of an error or file is empty
-    noLoop();  
-  } else {
-    String[] pieces = split(line, TAB);
-    int x = int(pieces[0]);
-    int y = int(pieces[1]);
-    point(x, y);
-  }
-} 
-
-
Description -Returns a String that is the current line in the BufferedReader. -
Syntax
-br.readLine()
-
Parameters - - -
brany object of the type BufferedReader
- -Updated on April 30, 2017 02:33:22pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/FloatDict.html b/Java/Processing/processing-3.3.6/modes/java/reference/FloatDict.html deleted file mode 100644 index de8825c..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/FloatDict.html +++ /dev/null @@ -1,253 +0,0 @@ - - - - FloatDict \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - -
Name

FloatDict

Examples
-FloatDict inventory;
-
-void setup() {
-  size(200, 200);
-  inventory = new FloatDict();
-  inventory.set("coffee",108.6);
-  inventory.set("flour",5.8);
-  inventory.set("tea",8.2);
-  println(inventory);
-  noLoop();
-  fill(0);
-  textAlign(CENTER);
-}
-
-void draw() {
-  float weight = inventory.get("coffee");
-  text(weight, width/2, height/2);
-}
-
-
-
Description -A simple class to use a String as a lookup for an float value. String "keys" are associated with floating-point values. -
Methods - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
size()Returns the number of key/value pairs
clear()Remove all entries
keyArray()Return a copy of the internal keys array
values()Return the internal array being used to store the values
valueArray()Create a new array and copy each of the values into it
get()Return a value for the specified key
set()Create a new key/value pair or change the value of one
hasKey()Check if a key is a part of the data structure
add()Add to a value
sub()Subtract from a value
mult()Multiply a value
div()Divide a value
remove()Remove a key/value pair
sortKeys()Sort the keys alphabetically
sortKeysReverse()Sort the keys alphabetically in reverse
sortValues()Sort by values in ascending order
sortValuesReverse()Sort by values in descending order
Constructor
FloatDict()
-FloatDict(pairs)
-
RelatedIntDict
-StringDict
- -Updated on April 30, 2017 02:33:19pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/FloatDict_add_.html b/Java/Processing/processing-3.3.6/modes/java/reference/FloatDict_add_.html deleted file mode 100644 index d17d178..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/FloatDict_add_.html +++ /dev/null @@ -1,161 +0,0 @@ - - - - FloatDict::add() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

FloatDict

Name

add()

Examples
-FloatDict inventory;
-
-void setup() {
-  size(200, 200);
-  inventory = new FloatDict();
-  inventory.set("coffee",108.6);
-  inventory.set("flour",5.8);
-  inventory.set("tea",8.2);
-  println(inventory);  // There is 8.2 of tea
-  inventory.add("tea", 1.1);
-  println(inventory);  // There is 9.3 of tea
-}
-
-
-
Description -Add to a value. If the key does not exist, an new pair is initialized with the value supplied. -
Syntax
.add(key, amount)
Returnsvoid
- -Updated on April 30, 2017 02:33:19pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/FloatDict_clear_.html b/Java/Processing/processing-3.3.6/modes/java/reference/FloatDict_clear_.html deleted file mode 100644 index c789b4c..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/FloatDict_clear_.html +++ /dev/null @@ -1,162 +0,0 @@ - - - - FloatDict::clear() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

FloatDict

Name

clear()

Examples
-
-FloatDict inventory;
-
-void setup() {
-  size(200, 200);
-  inventory = new FloatDict();
-  inventory.set("coffee",108.6);
-  inventory.set("flour",5.8);
-  inventory.set("tea",8.2);  
-  println(inventory);
-  inventory.clear();
-  println(inventory);
-}
-
-
-
Description -Remove all entries from the data structure. -
Syntax
.clear()
Returnsvoid
- -Updated on April 30, 2017 02:33:19pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/FloatDict_div_.html b/Java/Processing/processing-3.3.6/modes/java/reference/FloatDict_div_.html deleted file mode 100644 index 1f62be3..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/FloatDict_div_.html +++ /dev/null @@ -1,161 +0,0 @@ - - - - FloatDict::div() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

FloatDict

Name

div()

Examples
-FloatDict inventory;
-
-void setup() {
-  size(200, 200);
-  inventory = new FloatDict();
-  inventory.set("coffee",108.6);
-  inventory.set("flour",5.8);
-  inventory.set("tea",8.2);
-  println(inventory);  // There is 8.2 of tea
-  inventory.div("tea", 2);
-  println(inventory);  // There is 4.1 of tea
-}
-
-
-
Description -Divide a value. -
Syntax
.div(key, amount)
Returnsvoid
- -Updated on April 30, 2017 02:33:19pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/FloatDict_get_.html b/Java/Processing/processing-3.3.6/modes/java/reference/FloatDict_get_.html deleted file mode 100644 index f1ae72a..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/FloatDict_get_.html +++ /dev/null @@ -1,168 +0,0 @@ - - - - FloatDict::get() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

FloatDict

Name

get()

Examples
-FloatDict inventory;
-
-void setup() {
-  size(200, 200);
-  inventory = new FloatDict();
-  inventory.set("coffee",108.6);
-  inventory.set("flour",5.8);
-  inventory.set("tea",8.2);
-  println(inventory);
-  noLoop();
-  fill(0);
-  textAlign(CENTER);
-}
-
-void draw() {
-  float coffeeWeight = inventory.get("coffee");
-  text(coffeeWeight, width/2, height/2);
-}
-
-
-
Description -Return a value for the specified key. -
Syntax
.get(key)
-.get(key, alternate)
Returnsfloat
- -Updated on April 30, 2017 02:33:19pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/FloatDict_hasKey_.html b/Java/Processing/processing-3.3.6/modes/java/reference/FloatDict_hasKey_.html deleted file mode 100644 index b371b42..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/FloatDict_hasKey_.html +++ /dev/null @@ -1,165 +0,0 @@ - - - - FloatDict::hasKey() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

FloatDict

Name

hasKey()

Examples
-FloatDict inventory;
-
-void setup() {
-  size(200, 200);
-  inventory = new FloatDict(goods, amounts);
-  inventory = new FloatDict();
-  inventory.set("coffee",108.6);
-  inventory.set("flour",5.8);
-  inventory.set("tea",8.2);
-  println(inventory);
-  if (inventory.hasKey("flour") == true) {
-    println("Yes, we have flour."); 
-  } else {
-    println("Sorry, no flour.");
-  }
-}
-
-
-
Description -Check if a key is a part of the data structure. -
Syntax
.hasKey(key)
Returnsboolean
- -Updated on April 30, 2017 02:33:19pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/FloatDict_keyArray_.html b/Java/Processing/processing-3.3.6/modes/java/reference/FloatDict_keyArray_.html deleted file mode 100644 index 290c8eb..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/FloatDict_keyArray_.html +++ /dev/null @@ -1,163 +0,0 @@ - - - - FloatDict::keyArray() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

FloatDict

Name

keyArray()

Examples
-FloatDict inventory;
-
-void setup() {
-  size(200, 200);
-  inventory = new FloatDict();
-  inventory.set("coffee",108.6);
-  inventory.set("flour",5.8);
-  inventory.set("tea",8.2);
-  println(inventory); 
-  String[] theKeys = inventory.keyArray();
-  println(theKeys);
-}
-
-
-
Description -Return a copy of the internal keys array. In contrast to the keys() -method, this array can be modified. -
Syntax
.keyArray()
-.keyArray(outgoing)
ReturnsString[]
- -Updated on April 30, 2017 02:33:19pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/FloatDict_mult_.html b/Java/Processing/processing-3.3.6/modes/java/reference/FloatDict_mult_.html deleted file mode 100644 index e91ea9a..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/FloatDict_mult_.html +++ /dev/null @@ -1,161 +0,0 @@ - - - - FloatDict::mult() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

FloatDict

Name

mult()

Examples
-FloatDict inventory;
-
-void setup() {
-  size(200, 200);
-  inventory = new FloatDict();
-  inventory.set("coffee",108.6);
-  inventory.set("flour",5.8);
-  inventory.set("tea",8.2);
-  println(inventory);  // There is 8.2 of tea
-  inventory.mult("tea", 4);
-  println(inventory);  // There is 32.8 of tea
-}
-
-
-
Description -Multiply a value. -
Syntax
.mult(key, amount)
Returnsvoid
- -Updated on April 30, 2017 02:33:19pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/FloatDict_remove_.html b/Java/Processing/processing-3.3.6/modes/java/reference/FloatDict_remove_.html deleted file mode 100644 index 5a38a46..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/FloatDict_remove_.html +++ /dev/null @@ -1,161 +0,0 @@ - - - - FloatDict::remove() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

FloatDict

Name

remove()

Examples
-FloatDict inventory;
-
-void setup() {
-  size(200, 200);
-  inventory = new FloatDict();
-  inventory.set("coffee",108.6);
-  inventory.set("flour",5.8);
-  inventory.set("tea",8.2);
-  println(inventory);  // Full inventory
-  inventory.remove("flour");
-  println(inventory);  // Flour is removed from list
-}
-
-
-
Description -Remove a key/value pair. -
Syntax
.remove(key)
Returnsint
- -Updated on April 30, 2017 02:33:19pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/FloatDict_set_.html b/Java/Processing/processing-3.3.6/modes/java/reference/FloatDict_set_.html deleted file mode 100644 index 483c338..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/FloatDict_set_.html +++ /dev/null @@ -1,162 +0,0 @@ - - - - FloatDict::set() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

FloatDict

Name

set()

Examples
-FloatDict inventory;
-
-void setup() {
-  size(200, 200);
-  inventory = new FloatDict();
-  inventory.set("coffee",108.6);
-  inventory.set("flour",5.8);
-  inventory.set("tea",8.2);
-  println(inventory);
-  inventory.set("coffee", 12.4);  // Less coffee
-  inventory.set("sugar", 5.8);   // Add sugar
-  println(inventory);
-}
-
-
-
Description -Create a new key/value pair or change the value of one. -
Syntax
.set(key, amount)
Returnsvoid
- -Updated on April 30, 2017 02:33:19pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/FloatDict_size_.html b/Java/Processing/processing-3.3.6/modes/java/reference/FloatDict_size_.html deleted file mode 100644 index 7ed30ac..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/FloatDict_size_.html +++ /dev/null @@ -1,161 +0,0 @@ - - - - FloatDict::size() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

FloatDict

Name

size()

Examples
-FloatDict inventory;
-
-void setup() {
-  size(200, 200);
-  inventory = new FloatDict();
-  inventory.set("coffee",108.6);
-  inventory.set("flour",5.8);
-  inventory.set("tea",8.2);
-  println(inventory);
-  int s = inventory.size();
-  println(s);
-}
-
-
-
Description -Returns the number of key/value pairs. -
Syntax
.size()
Returnsint
- -Updated on April 30, 2017 02:33:19pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/FloatDict_sortKeysReverse_.html b/Java/Processing/processing-3.3.6/modes/java/reference/FloatDict_sortKeysReverse_.html deleted file mode 100644 index cdaae76..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/FloatDict_sortKeysReverse_.html +++ /dev/null @@ -1,162 +0,0 @@ - - - - FloatDict::sortKeysReverse() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

FloatDict

Name

sortKeysReverse()

Examples
-FloatDict inventory;
-
-void setup() {
-  size(200, 200);
-  inventory = new FloatDict();
-  inventory.set("coffee",108.6);
-  inventory.set("flour",5.8);
-  inventory.set("tea",8.2);
-  println(inventory);
-  inventory.sortKeysReverse();
-  println(inventory);
-}
-
-
-
Description -Sort the keys alphabetically in reverse (ignoring case). Uses the value -as a tie-breaker (only really possible with a key that has a case change). -
Syntax
.sortKeysReverse()
Returnsvoid
- -Updated on April 30, 2017 02:33:19pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/FloatDict_sortKeys_.html b/Java/Processing/processing-3.3.6/modes/java/reference/FloatDict_sortKeys_.html deleted file mode 100644 index 544b77a..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/FloatDict_sortKeys_.html +++ /dev/null @@ -1,162 +0,0 @@ - - - - FloatDict::sortKeys() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

FloatDict

Name

sortKeys()

Examples
-FloatDict inventory;
-
-void setup() {
-  size(200, 200);
-  inventory = new FloatDict();
-  inventory.set("coffee",108.6);
-  inventory.set("flour",5.8);
-  inventory.set("tea",8.2);
-  println(inventory);
-  inventory.sortKeys();
-  println(inventory);
-}
-
-
-
Description -Sort the keys alphabetically (ignoring case). Uses the value as -a tie-breaker (only really possible with a key that has a case change). -
Syntax
.sortKeys()
Returnsvoid
- -Updated on April 30, 2017 02:33:19pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/FloatDict_sortValuesReverse_.html b/Java/Processing/processing-3.3.6/modes/java/reference/FloatDict_sortValuesReverse_.html deleted file mode 100644 index 4bd40e0..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/FloatDict_sortValuesReverse_.html +++ /dev/null @@ -1,162 +0,0 @@ - - - - FloatDict::sortValuesReverse() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

FloatDict

Name

sortValuesReverse()

Examples
-FloatDict inventory;
-
-void setup() {
-  size(200, 200);
-  inventory = new FloatDict();
-  inventory.set("coffee",108.6);
-  inventory.set("flour",5.8);
-  inventory.set("tea",8.2);
-  println(inventory);
-  inventory.sortValuesReverse();
-  println(inventory);
-}
-
-
-
Description -Sort by values in descending order. The largest value will be at [0]. -
Syntax
.sortValuesReverse()
-.sortValuesReverse(stable)
Returnsvoid
- -Updated on April 30, 2017 02:33:19pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/FloatDict_sortValues_.html b/Java/Processing/processing-3.3.6/modes/java/reference/FloatDict_sortValues_.html deleted file mode 100644 index 5ec4ed5..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/FloatDict_sortValues_.html +++ /dev/null @@ -1,162 +0,0 @@ - - - - FloatDict::sortValues() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

FloatDict

Name

sortValues()

Examples
-FloatDict inventory;
-
-void setup() {
-  size(200, 200);
-  inventory = new FloatDict();
-  inventory.set("coffee",108.6);
-  inventory.set("flour",5.8);
-  inventory.set("tea",8.2);
-  println(inventory);
-  inventory.sortValues();
-  println(inventory);
-}
-
-
-
Description -Sort by values in ascending order. The smallest value will be at [0]. -
Syntax
.sortValues()
-.sortValues(stable)
Returnsvoid
- -Updated on April 30, 2017 02:33:19pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/FloatDict_sub_.html b/Java/Processing/processing-3.3.6/modes/java/reference/FloatDict_sub_.html deleted file mode 100644 index 40f4cca..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/FloatDict_sub_.html +++ /dev/null @@ -1,161 +0,0 @@ - - - - FloatDict::sub() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

FloatDict

Name

sub()

Examples
-FloatDict inventory;
-
-void setup() {
-  size(200, 200);
-  inventory = new FloatDict();
-  inventory.set("coffee",108.6);
-  inventory.set("flour",5.8);
-  inventory.set("tea",8.2);
-  println(inventory);  // There is 5.8 of flour
-  inventory.sub("flour", 3.4);
-  println(inventory);  // There is 2.4 of flour
-}
-
-
-
Description -Subtract from a value. -
Syntax
.sub(key, amount)
Returnsvoid
- -Updated on April 30, 2017 02:33:19pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/FloatDict_valueArray_.html b/Java/Processing/processing-3.3.6/modes/java/reference/FloatDict_valueArray_.html deleted file mode 100644 index d61aab1..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/FloatDict_valueArray_.html +++ /dev/null @@ -1,167 +0,0 @@ - - - - FloatDict::valueArray() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

FloatDict

Name

valueArray()

Examples
-FloatDict inventory;
-
-void setup() {
-  size(200, 200);
-  inventory = new FloatDict();
-  inventory.set("coffee",108.6);
-  inventory.set("flour",5.8);
-  inventory.set("tea",8.2);
-  println(inventory);
-  float[] amounts = inventory.valueArray();
-  println(amounts);
-}
-
-
-
Description -The version of this method without a parameter creates a new -array and copies each of the values into it. The version with -the float[] parameters fills an already-allocated array with the -values (more efficient than creating a new array each time). -If 'array' is null, or not the same size as the number of values, -a new array will be allocated and returned. -
Syntax
.valueArray()
-.valueArray(array)
Returnsfloat[]
- -Updated on April 30, 2017 02:33:19pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/FloatDict_values_.html b/Java/Processing/processing-3.3.6/modes/java/reference/FloatDict_values_.html deleted file mode 100644 index 8e8a28f..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/FloatDict_values_.html +++ /dev/null @@ -1,162 +0,0 @@ - - - - FloatDict::values() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

FloatDict

Name

values()

Examples
-FloatDict inventory;
-
-void setup() {
-  size(200, 200);
-  inventory = new FloatDict();
-  inventory.set("coffee",108.6);
-  inventory.set("flour",5.8);
-  inventory.set("tea",8.2);
-  println(inventory); 
-  for (float f : inventory.values()) {
-    println(f);
-  }
-}
-
-
-
Description -Return the internal array being used to store the values. -
Syntax
.values()
ReturnsIterable<Float>
- -Updated on April 30, 2017 02:33:19pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/FloatList.html b/Java/Processing/processing-3.3.6/modes/java/reference/FloatList.html deleted file mode 100644 index 8d927cb..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/FloatList.html +++ /dev/null @@ -1,263 +0,0 @@ - - - - FloatList \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - -
Name

FloatList

Examples
-FloatList inventory;
-
-void setup() {
-  size(200, 200);
-  inventory = new FloatList();
-  inventory.append(108.6);
-  inventory.append(5.8);
-  inventory.append(8.2);
-  println(inventory);
-  noLoop();
-  fill(0);
-  textAlign(CENTER);
-}
-
-void draw() {
-  float nums = inventory.get(2);
-  text(nums, width/2, height/2);
-}
-
-
-
Description -Helper class for a list of floats. Lists are designed to have some of the -features of ArrayLists, but to maintain the simplicity and efficiency of -working with arrays.
-
-Functions like sort() and shuffle() always act on the list itself. To get -a sorted copy, use list.copy().sort(). -
Methods - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
size()Get the length of the list
clear()Remove all entries from the list
get()Get an entry at a particular index
set()Set the entry at a particular index
remove()Remove an element from the specified index
append()Add a new entry to the list
hasValue()Check if a number is a part of the list
add()Add to a value
sub()Subtract from a value
mult()Multiply a value
div()Divide a value
min()Return the smallest value
max()Return the largest value
sort()Sorts an array, lowest to highest
sortReverse()Reverse sort, orders values from highest to lowest
reverse()Reverse the order of the list elements
shuffle()Randomize the order of the list elements
array()Create a new array with a copy of all the values
Constructor
FloatList()
-FloatList(items)
-
RelatedIntList
-StringList
- -Updated on April 30, 2017 02:33:19pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/FloatList_add_.html b/Java/Processing/processing-3.3.6/modes/java/reference/FloatList_add_.html deleted file mode 100644 index 2fa166f..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/FloatList_add_.html +++ /dev/null @@ -1,161 +0,0 @@ - - - - FloatList::add() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

FloatList

Name

add()

Examples
-FloatList inventory;
-
-void setup() {
-  size(200, 200);
-  inventory = new FloatList();
-  inventory.append(108.6);
-  inventory.append(5.8);
-  inventory.append(8.2);
-  println(inventory);
-  inventory.add(2, 2.4);
-  println(inventory);
-}
-
-
-
Description -Add to a value. -
Syntax
.add(index, amount)
Returnsvoid
- -Updated on April 30, 2017 02:33:19pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/FloatList_append_.html b/Java/Processing/processing-3.3.6/modes/java/reference/FloatList_append_.html deleted file mode 100644 index 2ad6531..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/FloatList_append_.html +++ /dev/null @@ -1,162 +0,0 @@ - - - - FloatList::append() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

FloatList

Name

append()

Examples
-FloatList inventory;
-
-void setup() {
-  size(200, 200);
-  inventory = new FloatList();
-  inventory.append(108.6);
-  inventory.append(5.8);
-  inventory.append(8.2);
-  inventory.append(3.14);
-  println(inventory);
-}
-
-
-
Description -Add a new entry to the list. -
Syntax
.append(value)
-.append(values)
-.append(list)
Returnsvoid
- -Updated on April 30, 2017 02:33:19pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/FloatList_array_.html b/Java/Processing/processing-3.3.6/modes/java/reference/FloatList_array_.html deleted file mode 100644 index 35e32e3..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/FloatList_array_.html +++ /dev/null @@ -1,163 +0,0 @@ - - - - FloatList::array() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

FloatList

Name

array()

Examples
-FloatList inventory;
-
-void setup() {
-  size(200, 200);
-  inventory = new FloatList();
-  inventory.append(108.6);
-  inventory.append(5.8);
-  inventory.append(8.2);
-  println(inventory);
-  inventory.sort();
-  float[] sortedInventory = inventory.array();
-  println(sortedInventory);
-}
-
-
-
Description -Create a new array with a copy of all the values. -
Syntax
.array()
-.array(array)
Returnsfloat[]
- -Updated on April 30, 2017 02:33:19pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/FloatList_clear_.html b/Java/Processing/processing-3.3.6/modes/java/reference/FloatList_clear_.html deleted file mode 100644 index af18a7e..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/FloatList_clear_.html +++ /dev/null @@ -1,161 +0,0 @@ - - - - FloatList::clear() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

FloatList

Name

clear()

Examples
-FloatList inventory;
-
-void setup() {
-  size(200, 200);
-  inventory = new FloatList();
-  inventory.append(108.6);
-  inventory.append(5.8);
-  inventory.append(8.2);
-  println(inventory);
-  inventory.clear();
-  println(inventory);
-}
-
-
-
Description -Remove all entries from the list. -
Syntax
.clear()
Returnsvoid
- -Updated on April 30, 2017 02:33:19pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/FloatList_div_.html b/Java/Processing/processing-3.3.6/modes/java/reference/FloatList_div_.html deleted file mode 100644 index fd9a1f3..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/FloatList_div_.html +++ /dev/null @@ -1,161 +0,0 @@ - - - - FloatList::div() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

FloatList

Name

div()

Examples
-FloatList inventory;
-
-void setup() {
-  size(200, 200);
-  inventory = new FloatList();
-  inventory.append(108.6);
-  inventory.append(5.8);
-  inventory.append(8.2);
-  println(inventory);
-  inventory.div(0, 2);
-  println(inventory);
-}
-
-
-
Description -Divide a value. -
Syntax
.div(index, amount)
Returnsvoid
- -Updated on April 30, 2017 02:33:19pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/FloatList_get_.html b/Java/Processing/processing-3.3.6/modes/java/reference/FloatList_get_.html deleted file mode 100644 index a6e22d3..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/FloatList_get_.html +++ /dev/null @@ -1,167 +0,0 @@ - - - - FloatList::get() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

FloatList

Name

get()

Examples
-FloatList inventory;
-
-void setup() {
-  size(200, 200);
-  inventory = new FloatList();
-  inventory.append(108.6);
-  inventory.append(5.8);
-  inventory.append(8.2);
-  println(inventory);
-  noLoop();
-  fill(0);
-  textAlign(CENTER);
-}
-
-void draw() {
-  float nums = inventory.get(2);
-  text(nums, width/2, height/2);
-}
-
-
-
Description -Get an entry at a particular index. -
Syntax
.get(index)
Returnsfloat
- -Updated on April 30, 2017 02:33:19pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/FloatList_hasValue_.html b/Java/Processing/processing-3.3.6/modes/java/reference/FloatList_hasValue_.html deleted file mode 100644 index a2e8a3a..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/FloatList_hasValue_.html +++ /dev/null @@ -1,164 +0,0 @@ - - - - FloatList::hasValue() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

FloatList

Name

hasValue()

Examples
-FloatList inventory;
-
-void setup() {
-  size(200, 200);
-  inventory = new FloatList();
-  inventory.append(108.6);
-  inventory.append(5.8);
-  inventory.append(8.2);
-  println(inventory);
-  if (inventory.hasValue(5.8) == true) {
-    println("Yes, we have a '5.8'"); 
-  } else {
-    println("Sorry, no '5.8'");
-  }
-}
-
-
-
Description -Check if a number is a part of the list. -
Syntax
.hasValue(value)
Returnsboolean
- -Updated on April 30, 2017 02:33:19pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/FloatList_max_.html b/Java/Processing/processing-3.3.6/modes/java/reference/FloatList_max_.html deleted file mode 100644 index fec037b..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/FloatList_max_.html +++ /dev/null @@ -1,161 +0,0 @@ - - - - FloatList::max() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

FloatList

Name

max()

Examples
-FloatList inventory;
-
-void setup() {
-  size(200, 200);
-  inventory = new FloatList();
-  inventory.append(108.6);
-  inventory.append(5.8);
-  inventory.append(8.2);
-  println(inventory);
-  float largest = inventory.max();
-  println(largest);
-}
-
-
-
Description -Return the largest value. -
Syntax
.max()
Returnsfloat
- -Updated on April 30, 2017 02:33:19pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/FloatList_min_.html b/Java/Processing/processing-3.3.6/modes/java/reference/FloatList_min_.html deleted file mode 100644 index ce313fd..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/FloatList_min_.html +++ /dev/null @@ -1,161 +0,0 @@ - - - - FloatList::min() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

FloatList

Name

min()

Examples
-FloatList inventory;
-
-void setup() {
-  size(200, 200);
-  inventory = new FloatList();
-  inventory.append(108.6);
-  inventory.append(5.8);
-  inventory.append(8.2);
-  println(inventory);
-  float smallest = inventory.min();
-  println(smallest);
-}
-
-
-
Description -Return the smallest value. -
Syntax
.min()
Returnsfloat
- -Updated on April 30, 2017 02:33:19pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/FloatList_mult_.html b/Java/Processing/processing-3.3.6/modes/java/reference/FloatList_mult_.html deleted file mode 100644 index e68ec23..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/FloatList_mult_.html +++ /dev/null @@ -1,161 +0,0 @@ - - - - FloatList::mult() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

FloatList

Name

mult()

Examples
-FloatList inventory;
-
-void setup() {
-  size(200, 200);
-  inventory = new FloatList();
-  inventory.append(108.6);
-  inventory.append(5.8);
-  inventory.append(8.2);
-  println(inventory);
-  inventory.mult(1, 4);
-  println(inventory);
-}
-
-
-
Description -Multiply a value. -
Syntax
.mult(index, amount)
Returnsvoid
- -Updated on April 30, 2017 02:33:19pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/FloatList_remove_.html b/Java/Processing/processing-3.3.6/modes/java/reference/FloatList_remove_.html deleted file mode 100644 index 4e21643..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/FloatList_remove_.html +++ /dev/null @@ -1,177 +0,0 @@ - - - - FloatList::remove() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

FloatList

Name

remove()

Examples
-FloatList inventory;
-
-void setup() {
-  size(200, 200);
-  inventory = new FloatList();
-  inventory.append(108.6);
-  inventory.append(5.8);
-  inventory.append(8.2);
-  println(inventory);
-  inventory.remove(1);
-  println(inventory);
-}
-
-
-
-
-FloatList inventory;
-
-void setup() {
-  size(200, 200);
-  inventory = new FloatList();
-  inventory.append(108.6);
-  inventory.append(5.8);
-  inventory.append(8.2);
-  println(inventory);
-  float val = inventory.remove(1);
-  println("The value " + val + " was removed.");
-}
-
-
-
Description -Remove an element from the specified index. -
Syntax
.remove(index)
Returnsfloat
- -Updated on April 30, 2017 02:33:19pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/FloatList_reverse_.html b/Java/Processing/processing-3.3.6/modes/java/reference/FloatList_reverse_.html deleted file mode 100644 index 28ee478..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/FloatList_reverse_.html +++ /dev/null @@ -1,161 +0,0 @@ - - - - FloatList::reverse() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

FloatList

Name

reverse()

Examples
-FloatList inventory;
-
-void setup() {
-  size(200, 200);
-  inventory = new FloatList();
-  inventory.append(108.6);
-  inventory.append(5.8);
-  inventory.append(8.2);
-  println(inventory);
-  inventory.reverse();
-  println(inventory);
-}
-
-
-
Description -Reverse the order of the list. -
Syntax
.reverse()
Returnsvoid
- -Updated on April 30, 2017 02:33:19pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/FloatList_set_.html b/Java/Processing/processing-3.3.6/modes/java/reference/FloatList_set_.html deleted file mode 100644 index 02975bf..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/FloatList_set_.html +++ /dev/null @@ -1,161 +0,0 @@ - - - - FloatList::set() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

FloatList

Name

set()

Examples
-FloatList inventory;
-
-void setup() {
-  size(200, 200);
-  inventory = new FloatList();
-  inventory.append(108.6);
-  inventory.append(5.8);
-  inventory.append(8.2);
-  println(inventory);
-  inventory.set(2, 20.6);
-  println(inventory);
-}
-
-
-
Description -Set the entry at a particular index. -
Syntax
.set(index, what)
Returnsvoid
- -Updated on April 30, 2017 02:33:19pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/FloatList_shuffle_.html b/Java/Processing/processing-3.3.6/modes/java/reference/FloatList_shuffle_.html deleted file mode 100644 index ae71c80..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/FloatList_shuffle_.html +++ /dev/null @@ -1,162 +0,0 @@ - - - - FloatList::shuffle() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

FloatList

Name

shuffle()

Examples
-FloatList inventory;
-
-void setup() {
-  size(200, 200);
-  inventory = new FloatList();
-  inventory.append(108.6);
-  inventory.append(5.8);
-  inventory.append(8.2);
-  println(inventory);
-  inventory.shuffle();
-  println(inventory);
-}
-
-
-
Description -Randomize the order of the list elements. -
Syntax
.shuffle()
-.shuffle(sketch)
Returnsvoid
- -Updated on April 30, 2017 02:33:19pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/FloatList_size_.html b/Java/Processing/processing-3.3.6/modes/java/reference/FloatList_size_.html deleted file mode 100644 index e4fdd01..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/FloatList_size_.html +++ /dev/null @@ -1,161 +0,0 @@ - - - - FloatList::size() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

FloatList

Name

size()

Examples
-FloatList inventory;
-
-void setup() {
-  size(200, 200);
-  inventory = new FloatList();
-  inventory.append(108.6);
-  inventory.append(5.8);
-  inventory.append(8.2);
-  println(inventory);
-  int s = inventory.size();
-  println(s);
-}
-
-
-
Description -Get the length of the list. -
Syntax
.size()
Returnsint
- -Updated on April 30, 2017 02:33:19pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/FloatList_sortReverse_.html b/Java/Processing/processing-3.3.6/modes/java/reference/FloatList_sortReverse_.html deleted file mode 100644 index e3f1653..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/FloatList_sortReverse_.html +++ /dev/null @@ -1,161 +0,0 @@ - - - - FloatList::sortReverse() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

FloatList

Name

sortReverse()

Examples
-FloatList inventory;
-
-void setup() {
-  size(200, 200);
-  inventory = new FloatList();
-  inventory.append(108.6);
-  inventory.append(5.8);
-  inventory.append(8.2);
-  println(inventory);
-  inventory.sortReverse();
-  println(inventory);
-}
-
-
-
Description -A sort in reverse. It's equivalent to running sort() and then reverse(), but is more efficient than running each separately. -
Syntax
.sortReverse()
Returnsvoid
- -Updated on April 30, 2017 02:33:19pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/FloatList_sort_.html b/Java/Processing/processing-3.3.6/modes/java/reference/FloatList_sort_.html deleted file mode 100644 index dc1a194..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/FloatList_sort_.html +++ /dev/null @@ -1,161 +0,0 @@ - - - - FloatList::sort() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

FloatList

Name

sort()

Examples
-FloatList inventory;
-
-void setup() {
-  size(200, 200);
-  inventory = new FloatList();
-  inventory.append(108.6);
-  inventory.append(5.8);
-  inventory.append(8.2);
-  println(inventory);
-  inventory.sort();
-  println(inventory);
-}
-
-
-
Description -Sorts an array, lowest to highest. -
Syntax
.sort()
Returnsvoid
- -Updated on April 30, 2017 02:33:19pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/FloatList_sub_.html b/Java/Processing/processing-3.3.6/modes/java/reference/FloatList_sub_.html deleted file mode 100644 index 8f41d52..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/FloatList_sub_.html +++ /dev/null @@ -1,161 +0,0 @@ - - - - FloatList::sub() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

FloatList

Name

sub()

Examples
-FloatList inventory;
-
-void setup() {
-  size(200, 200);
-  inventory = new FloatList();
-  inventory.append(108.6);
-  inventory.append(5.8);
-  inventory.append(8.2);
-  println(inventory);
-  inventory.sub(2, 4.1);
-  println(inventory);
-}
-
-
-
Description -Subtract from a value. -
Syntax
.sub(index, amount)
Returnsvoid
- -Updated on April 30, 2017 02:33:19pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/HALF_PI.html b/Java/Processing/processing-3.3.6/modes/java/reference/HALF_PI.html deleted file mode 100644 index 8c167f7..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/HALF_PI.html +++ /dev/null @@ -1,158 +0,0 @@ - - - - HALF_PI \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

HALF_PI

Examples
example pic
-float x = width/2;
-float y = height/2;
-float d = width * 0.8;
-arc(x, y, d, d, 0, QUARTER_PI);
-arc(x, y, d-20, d-20, 0, HALF_PI);
-arc(x, y, d-40, d-40, 0, PI);
-arc(x, y, d-60, d-60, 0, TWO_PI);
-
-
Description -HALF_PI is a mathematical constant with the value 1.5707964. It is half the ratio of the circumference of a circle to its diameter. It is useful in combination with the trigonometric functions sin() and cos(). -
RelatedPI
-TWO_PI
-TAU
-QUARTER_PI
- -Updated on April 30, 2017 02:33:19pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/HashMap.html b/Java/Processing/processing-3.3.6/modes/java/reference/HashMap.html deleted file mode 100644 index faf8b13..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/HashMap.html +++ /dev/null @@ -1,195 +0,0 @@ - - - - HashMap \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - -
Name

HashMap

Examples
-import java.util.Map;
-
-// Note the HashMap's "key" is a String and "value" is an Integer
-HashMap<String,Integer> hm = new HashMap<String,Integer>();
-
-// Putting key-value pairs in the HashMap
-hm.put("Ava", 1);
-hm.put("Cait", 35);
-hm.put("Casey", 36);
-
-// Using an enhanced loop to interate over each entry
-for (Map.Entry me : hm.entrySet()) {
-  print(me.getKey() + " is ");
-  println(me.getValue());
-}
-
-// We can also access values by their key
-int val = hm.get("Casey");
-println("Casey is " + val);
-
-
-
Description -A HashMap stores a collection of objects, each referenced by a key. This is similar to an Array, only instead of accessing elements with a numeric index, a String is used. (If you are familiar with associative arrays from other languages, this is the same idea.) The above example covers basic use, but there's a more extensive example included with the Processing examples. In addition, for simple pairings of Strings and integers, Strings and floats, or Strings and Strings, you can now use the simpler IntDict, FloatDict, and StringDict classes.
-
-For a list of the numerous HashMap features, please read the Java reference description. -
Constructor
-HashMap<Key, Value>()
-HashMap<Key, Value>(initialCapacity)
-HashMap<Key, Value>(initialCapacity, loadFactor)
-HashMap<Key, Value>(m)
-
Parameters - - - - - - - - - - - - - - - - - - -
KeyClass Name: the data type for the HashMap's keys
ValueClass Name: the data type for the HashMap's values
initialCapacityint: defines the initial capacity of the map; the default is 16
loadFactorfloat: the load factor for the map; the default is 0.75
mMap: gives the new HashMap the same mappings as this Map
RelatedIntDict
-FloatDict
-StringDict
- -Updated on April 30, 2017 02:33:23pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/IntDict.html b/Java/Processing/processing-3.3.6/modes/java/reference/IntDict.html deleted file mode 100644 index 3adae2e..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/IntDict.html +++ /dev/null @@ -1,258 +0,0 @@ - - - - IntDict \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - -
Name

IntDict

Examples
-IntDict inventory;
-
-void setup() {
-  size(200, 200);
-  inventory = new IntDict();
-  inventory.set("cd", 84);
-  inventory.set("tapes", 15);
-  inventory.set("records", 102);
-  println(inventory);
-  noLoop();
-  fill(0);
-  textAlign(CENTER);
-}
-
-void draw() {
-  int numRecords = inventory.get("records");
-  text(numRecords, width/2, height/2);
-}
-
-
-
Description -A simple class to use a String as a lookup for an int value. String "keys" are associated with integer values. -
Methods - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
size()Returns the number of key/value pairs
clear()Remove all entries
keyArray()Return a copy of the internal keys array
values()Return the internal array being used to store the values
valueArray()Create a new array and copy each of the values into it
get()Return a value for the specified key
set()Create a new key/value pair or change the value of one
hasKey()Check if a key is a part of the data structure
increment()Increase the value of a specific key value by 1
add()Add to a value
sub()Subtract from a value
mult()Multiply a value
div()Divide a value
remove()Remove a key/value pair
sortKeys()Sort the keys alphabetically
sortKeysReverse()Sort the keys alphabetically in reverse
sortValues()Sort by values in ascending order
sortValuesReverse()Sort by values in descending order
Constructor
IntDict()
-IntDict(pairs)
-
RelatedFloatDict
-StringDict
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/IntDict_add_.html b/Java/Processing/processing-3.3.6/modes/java/reference/IntDict_add_.html deleted file mode 100644 index c218696..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/IntDict_add_.html +++ /dev/null @@ -1,161 +0,0 @@ - - - - IntDict::add() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

IntDict

Name

add()

Examples
-IntDict inventory;
-
-void setup() {
-  size(200, 200);
-  inventory = new IntDict();
-  inventory.set("cd", 84);
-  inventory.set("tapes", 15);
-  inventory.set("records", 102);
-  println(inventory);  // There are 84 cds
-  inventory.add("cd", 20);
-  println(inventory);  // There are 104 cds
-}
-
-
-
Description -Add to a value. If the key does not exist, an new pair is initialized with the value supplied. -
Syntax
.add(key, amount)
Returnsvoid
- -Updated on April 30, 2017 02:33:19pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/IntDict_clear_.html b/Java/Processing/processing-3.3.6/modes/java/reference/IntDict_clear_.html deleted file mode 100644 index 6a99e46..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/IntDict_clear_.html +++ /dev/null @@ -1,161 +0,0 @@ - - - - IntDict::clear() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

IntDict

Name

clear()

Examples
-IntDict inventory;
-
-void setup() {
-  size(200, 200);
-  inventory = new IntDict();
-  inventory.set("cd", 84);
-  inventory.set("tapes", 15);
-  inventory.set("records", 102);
-  println(inventory);
-  inventory.clear();
-  println(inventory);
-}
-
-
-
Description -Remove all entries from the data structure. -
Syntax
.clear()
Returnsvoid
- -Updated on April 30, 2017 02:33:19pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/IntDict_div_.html b/Java/Processing/processing-3.3.6/modes/java/reference/IntDict_div_.html deleted file mode 100644 index 9b1a6f7..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/IntDict_div_.html +++ /dev/null @@ -1,161 +0,0 @@ - - - - IntDict::div() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

IntDict

Name

div()

Examples
-IntDict inventory;
-
-void setup() {
-  size(200, 200);
-  inventory = new IntDict();
-  inventory.set("cd", 84);
-  inventory.set("tapes", 15);
-  inventory.set("records", 102);
-  println(inventory);  // There are 84 cds
-  inventory.div("cd", 2);
-  println(inventory);  // There are 42 cds
-}
-
-
-
Description -Divide a value. -
Syntax
.div(key, amount)
Returnsvoid
- -Updated on April 30, 2017 02:33:19pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/IntDict_get_.html b/Java/Processing/processing-3.3.6/modes/java/reference/IntDict_get_.html deleted file mode 100644 index 9443da8..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/IntDict_get_.html +++ /dev/null @@ -1,168 +0,0 @@ - - - - IntDict::get() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

IntDict

Name

get()

Examples
-IntDict inventory;
-
-void setup() {
-  size(200, 200);
-  inventory = new IntDict();
-  inventory.set("cd", 84);
-  inventory.set("tapes", 15);
-  inventory.set("records", 102);
-  println(inventory);
-  noLoop();
-  fill(0);
-  textAlign(CENTER);
-}
-
-void draw() {
-  int numRecords = inventory.get("records");
-  text(numRecords, width/2, height/2);
-}
-
-
-
Description -Return a value for the specified key. -
Syntax
.get(key)
-.get(key, alternate)
Returnsint
- -Updated on April 30, 2017 02:33:19pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/IntDict_hasKey_.html b/Java/Processing/processing-3.3.6/modes/java/reference/IntDict_hasKey_.html deleted file mode 100644 index dc7f956..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/IntDict_hasKey_.html +++ /dev/null @@ -1,164 +0,0 @@ - - - - IntDict::hasKey() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

IntDict

Name

hasKey()

Examples
-IntDict inventory;
-
-void setup() {
-  size(200, 200);
-  inventory = new IntDict();
-  inventory.set("cd", 84);
-  inventory.set("tapes", 15);
-  inventory.set("records", 102);
-  println(inventory);
-  if (inventory.hasKey("records") == true) {
-    println("Yes, we have records."); 
-  } else {
-    println("Sorry, no records.");
-  }
-}
-
-
-
Description -Check if a key is a part of the data structure. -
Syntax
.hasKey(key)
Returnsboolean
- -Updated on April 30, 2017 02:33:19pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/IntDict_increment_.html b/Java/Processing/processing-3.3.6/modes/java/reference/IntDict_increment_.html deleted file mode 100644 index 339e55d..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/IntDict_increment_.html +++ /dev/null @@ -1,162 +0,0 @@ - - - - IntDict::increment() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

IntDict

Name

increment()

Examples
-IntDict inventory;
-
-void setup() {
-  size(200, 200);
-  inventory = new IntDict();
-  inventory.set("cd", 84);
-  inventory.set("tapes", 15);
-  inventory.set("records", 102);
-  println(inventory);  // There are 15 tapes
-  inventory.increment("tapes");
-  println(inventory);  // There are now 16 tapes
-}
-
-
-
Description -Increase the value of a specific key value by 1 -
Syntax
.increment(key)
-.increment(dict)
Returnsvoid
- -Updated on April 30, 2017 02:33:19pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/IntDict_keyArray_.html b/Java/Processing/processing-3.3.6/modes/java/reference/IntDict_keyArray_.html deleted file mode 100644 index 657d1a5..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/IntDict_keyArray_.html +++ /dev/null @@ -1,163 +0,0 @@ - - - - IntDict::keyArray() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

IntDict

Name

keyArray()

Examples
-IntDict inventory;
-
-void setup() {
-  size(200, 200);
-  inventory = new IntDict();
-  inventory.set("cd", 84);
-  inventory.set("tapes", 15);
-  inventory.set("records", 102);
-  println(inventory); 
-  String[] theKeys = inventory.keyArray();
-  println(theKeys);
-}
-
-
-
Description -Return a copy of the internal keys array. In contrast to the keys() -method, this array can be modified. -
Syntax
.keyArray()
-.keyArray(outgoing)
ReturnsString[]
- -Updated on April 30, 2017 02:33:19pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/IntDict_mult_.html b/Java/Processing/processing-3.3.6/modes/java/reference/IntDict_mult_.html deleted file mode 100644 index 65f0bfb..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/IntDict_mult_.html +++ /dev/null @@ -1,161 +0,0 @@ - - - - IntDict::mult() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

IntDict

Name

mult()

Examples
-IntDict inventory;
-
-void setup() {
-  size(200, 200);
-  inventory = new IntDict();
-  inventory.set("cd", 84);
-  inventory.set("tapes", 15);
-  inventory.set("records", 102);
-  println(inventory);  // There are 84 cds
-  inventory.mult("cd", 2);
-  println(inventory);  // There are 168 cds
-}
-
-
-
Description -Multiply a value. -
Syntax
.mult(key, amount)
Returnsvoid
- -Updated on April 30, 2017 02:33:19pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/IntDict_remove_.html b/Java/Processing/processing-3.3.6/modes/java/reference/IntDict_remove_.html deleted file mode 100644 index fd93044..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/IntDict_remove_.html +++ /dev/null @@ -1,161 +0,0 @@ - - - - IntDict::remove() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

IntDict

Name

remove()

Examples
-IntDict inventory;
-
-void setup() {
-  size(200, 200);
-  inventory = new IntDict();
-  inventory.set("cd", 84);
-  inventory.set("tapes", 15);
-  inventory.set("records", 102);
-  println(inventory);  // Full inventory
-  inventory.remove("tapes");
-  println(inventory);  // Tapes are removed from list
-}
-
-
-
Description -Remove a key/value pair. -
Syntax
.remove(key)
Returnsint
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/IntDict_set_.html b/Java/Processing/processing-3.3.6/modes/java/reference/IntDict_set_.html deleted file mode 100644 index a626693..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/IntDict_set_.html +++ /dev/null @@ -1,162 +0,0 @@ - - - - IntDict::set() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

IntDict

Name

set()

Examples
-IntDict inventory;
-
-void setup() {
-  size(200, 200);
-  inventory = new IntDict();
-  inventory.set("cd", 84);
-  inventory.set("tapes", 15);
-  inventory.set("records", 102);
-  println(inventory);
-  inventory.set("records", 90);  // Fewer records
-  inventory.set("mp3s", 2054);   // Add MP3s
-  println(inventory);
-}
-
-
-
Description -Create a new key/value pair or change the value of one. -
Syntax
.set(key, amount)
Returnsvoid
- -Updated on April 30, 2017 02:33:19pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/IntDict_size_.html b/Java/Processing/processing-3.3.6/modes/java/reference/IntDict_size_.html deleted file mode 100644 index 75a4e7e..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/IntDict_size_.html +++ /dev/null @@ -1,161 +0,0 @@ - - - - IntDict::size() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

IntDict

Name

size()

Examples
-IntDict inventory;
-
-void setup() {
-  size(200, 200);
-  inventory = new IntDict();
-  inventory.set("cd", 84);
-  inventory.set("tapes", 15);
-  inventory.set("records", 102);
-  println(inventory);
-  int s = inventory.size();
-  println(s);
-}
-
-
-
Description -Returns the number of key/value pairs. -
Syntax
.size()
Returnsint
- -Updated on April 30, 2017 02:33:19pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/IntDict_sortKeysReverse_.html b/Java/Processing/processing-3.3.6/modes/java/reference/IntDict_sortKeysReverse_.html deleted file mode 100644 index 94245b8..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/IntDict_sortKeysReverse_.html +++ /dev/null @@ -1,162 +0,0 @@ - - - - IntDict::sortKeysReverse() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

IntDict

Name

sortKeysReverse()

Examples
-IntDict inventory;
-
-void setup() {
-  size(200, 200);
-  inventory = new IntDict();
-  inventory.set("cd", 84);
-  inventory.set("tapes", 15);
-  inventory.set("records", 102);
-  println(inventory);
-  inventory.sortKeysReverse();
-  println(inventory);
-}
-
-
-
Description -Sort the keys alphabetically in reverse (ignoring case). Uses the value as -a tie-breaker (only really possible with a key that has a case change). -
Syntax
.sortKeysReverse()
Returnsvoid
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/IntDict_sortKeys_.html b/Java/Processing/processing-3.3.6/modes/java/reference/IntDict_sortKeys_.html deleted file mode 100644 index 6d2cd14..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/IntDict_sortKeys_.html +++ /dev/null @@ -1,162 +0,0 @@ - - - - IntDict::sortKeys() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

IntDict

Name

sortKeys()

Examples
-IntDict inventory;
-
-void setup() {
-  size(200, 200);
-  inventory = new IntDict();
-  inventory.set("cd", 84);
-  inventory.set("tapes", 15);
-  inventory.set("records", 102);
-  println(inventory);
-  inventory.sortKeys();
-  println(inventory);
-}
-
-
-
Description -Sort the keys alphabetically (ignoring case). Uses the value as -a tie-breaker (only really possible with a key that has a case change). -
Syntax
.sortKeys()
Returnsvoid
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/IntDict_sortValuesReverse_.html b/Java/Processing/processing-3.3.6/modes/java/reference/IntDict_sortValuesReverse_.html deleted file mode 100644 index 9b8b74a..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/IntDict_sortValuesReverse_.html +++ /dev/null @@ -1,162 +0,0 @@ - - - - IntDict::sortValuesReverse() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

IntDict

Name

sortValuesReverse()

Examples
-IntDict inventory;
-
-void setup() {
-  size(200, 200);
-  inventory = new IntDict();
-  inventory.set("cd", 84);
-  inventory.set("tapes", 15);
-  inventory.set("records", 102);
-  println(inventory);
-  inventory.sortValuesReverse();
-  println(inventory);
-}
-
-
-
Description -Sort by values in descending order. The largest value will be at [0]. -
Syntax
.sortValuesReverse()
-.sortValuesReverse(stable)
Returnsvoid
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/IntDict_sortValues_.html b/Java/Processing/processing-3.3.6/modes/java/reference/IntDict_sortValues_.html deleted file mode 100644 index 60652a0..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/IntDict_sortValues_.html +++ /dev/null @@ -1,162 +0,0 @@ - - - - IntDict::sortValues() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

IntDict

Name

sortValues()

Examples
-IntDict inventory;
-
-void setup() {
-  size(200, 200);
-  inventory = new IntDict();
-  inventory.set("cd", 84);
-  inventory.set("tapes", 15);
-  inventory.set("records", 102);
-  println(inventory);
-  inventory.sortValues();
-  println(inventory);
-}
-
-
-
Description -Sort by values in ascending order. The smallest value will be at [0]. -
Syntax
.sortValues()
-.sortValues(stable)
Returnsvoid
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/IntDict_sub_.html b/Java/Processing/processing-3.3.6/modes/java/reference/IntDict_sub_.html deleted file mode 100644 index 5837880..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/IntDict_sub_.html +++ /dev/null @@ -1,161 +0,0 @@ - - - - IntDict::sub() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

IntDict

Name

sub()

Examples
-IntDict inventory;
-
-void setup() {
-  size(200, 200);
-  inventory = new IntDict();
-  inventory.set("cd", 84);
-  inventory.set("tapes", 15);
-  inventory.set("records", 102);
-  println(inventory);  // There are 84 cds
-  inventory.sub("cd", 20);
-  println(inventory);  // There are 64 cds
-}
-
-
-
Description -Subtract from a value. -
Syntax
.sub(key, amount)
Returnsvoid
- -Updated on April 30, 2017 02:33:19pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/IntDict_valueArray_.html b/Java/Processing/processing-3.3.6/modes/java/reference/IntDict_valueArray_.html deleted file mode 100644 index d62d0b6..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/IntDict_valueArray_.html +++ /dev/null @@ -1,170 +0,0 @@ - - - - IntDict::valueArray() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

IntDict

Name

valueArray()

Examples
-IntDict inventory;
-
-void setup() {
-  size(200, 200);
-  inventory = new IntDict();
-  inventory.set("cd", 84);
-  inventory.set("tapes", 15);
-  inventory.set("records", 102);
-  println(inventory);
-  int[] amounts = inventory.valueArray();
-  println(amounts);
-}
-
-
-
Description -The version of this method without a parameter creates a new -array and copies each of the values into it. The version with -the int[] parameters fills an already-allocated array with the -values (more efficient than creating a new array each time). -If 'array' is null, or not the same size as the number of values, -a new array will be allocated and returned. -
Syntax
.valueArray()
-.valueArray(array)
Parameters - - -
arrayint[]: values to copy into the array
Returnsint[]
- -Updated on April 30, 2017 02:33:19pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/IntDict_values_.html b/Java/Processing/processing-3.3.6/modes/java/reference/IntDict_values_.html deleted file mode 100644 index 9024a76..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/IntDict_values_.html +++ /dev/null @@ -1,162 +0,0 @@ - - - - IntDict::values() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

IntDict

Name

values()

Examples
-IntDict inventory;
-
-void setup() {
-  size(200, 200);
-  inventory = new IntDict();
-  inventory.set("cd", 84);
-  inventory.set("tapes", 15);
-  inventory.set("records", 102);
-  println(inventory); 
-  for (int i : inventory.values()) {
-    println(i);
-  }
-}
-
-
-
Description -Return the internal array being used to store the values. -
Syntax
.values()
ReturnsIterable<Integer>
- -Updated on April 30, 2017 02:33:19pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/IntList.html b/Java/Processing/processing-3.3.6/modes/java/reference/IntList.html deleted file mode 100644 index 8831aed..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/IntList.html +++ /dev/null @@ -1,268 +0,0 @@ - - - - IntList \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - -
Name

IntList

Examples
-IntList inventory;
-
-void setup() {
-  size(200, 200);
-  inventory = new IntList();
-  inventory.append(84);
-  inventory.append(15);
-  inventory.append(102);
-  println(inventory);
-  noLoop();
-  fill(0);
-  textAlign(CENTER);
-}
-
-void draw() {
-  int nums = inventory.get(2);
-  text(nums, width/2, height/2);
-}
-
-
-
Description -Helper class for a list of ints. Lists are designed to have some of the -features of ArrayLists, but to maintain the simplicity and efficiency of -working with arrays.
-
-Functions like sort() and shuffle() always act on the list itself. To get -a sorted copy, use list.copy().sort(). -
Methods - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
size()Get the length of the list
clear()Remove all entries from the list
get()Get an entry at a particular index
set()Set the entry at a particular index
remove()Remove an element from the specified index
append()Add a new entry to the list
hasValue()Check if a number is a part of the list
increment()Add one to a value
add()Add to a value
sub()Subtract from a value
mult()Multiply a value
div()Divide a value
min()Return the smallest value
max()Return the largest value
sort()Sorts the array, lowest to highest
sortReverse()Reverse sort, orders values from highest to lowest
reverse()Reverse the order of the list elements
shuffle()Randomize the order of the list elements
array()Create a new array with a copy of all the values
Constructor
IntList()
-IntList(items)
-
RelatedFloatList
-StringList
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/IntList_add_.html b/Java/Processing/processing-3.3.6/modes/java/reference/IntList_add_.html deleted file mode 100644 index 4b5faa9..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/IntList_add_.html +++ /dev/null @@ -1,161 +0,0 @@ - - - - IntList::add() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

IntList

Name

add()

Examples
-IntList inventory;
-
-void setup() {
-  size(200, 200);
-  inventory = new IntList();
-  inventory.append(84);
-  inventory.append(15);
-  inventory.append(102);
-  println(inventory);
-  inventory.add(1, 15);
-  println(inventory);
-}
-
-
-
Description -Add to a value. -
Syntax
.add(index, amount)
Returnsvoid
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/IntList_append_.html b/Java/Processing/processing-3.3.6/modes/java/reference/IntList_append_.html deleted file mode 100644 index b686354..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/IntList_append_.html +++ /dev/null @@ -1,163 +0,0 @@ - - - - IntList::append() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

IntList

Name

append()

Examples
-IntList inventory;
-
-void setup() {
-  size(200, 200);
-  inventory = new IntList();
-  inventory.append(84);
-  inventory.append(15);
-  inventory.append(102);
-  println(inventory);
-  inventory.append(-16);
-  println(inventory);
-}
-
-
-
Description -Add a new entry to the list. -
Syntax
.append(value)
-.append(values)
-.append(list)
Returnsvoid
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/IntList_array_.html b/Java/Processing/processing-3.3.6/modes/java/reference/IntList_array_.html deleted file mode 100644 index 2c42c52..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/IntList_array_.html +++ /dev/null @@ -1,163 +0,0 @@ - - - - IntList::array() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

IntList

Name

array()

Examples
-IntList inventory;
-
-void setup() {
-  size(200, 200);
-  inventory = new IntList();
-  inventory.append(84);
-  inventory.append(15);
-  inventory.append(102);
-  println(inventory);
-  inventory.sort();
-  int[] sortedInventory = inventory.array();
-  println(sortedInventory);
-}
-
-
-
Description -Create a new array with a copy of all the values. -
Syntax
.array()
-.array(array)
Returnsint[]
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/IntList_clear_.html b/Java/Processing/processing-3.3.6/modes/java/reference/IntList_clear_.html deleted file mode 100644 index a97effa..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/IntList_clear_.html +++ /dev/null @@ -1,161 +0,0 @@ - - - - IntList::clear() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

IntList

Name

clear()

Examples
-IntList inventory;
-
-void setup() {
-  size(200, 200);
-  inventory = new IntList();
-  inventory.append(84);
-  inventory.append(15);
-  inventory.append(102);
-  println(inventory);
-  inventory.clear();
-  println(inventory);
-}
-
-
-
Description -Remove all entries from the list. -
Syntax
.clear()
Returnsvoid
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/IntList_div_.html b/Java/Processing/processing-3.3.6/modes/java/reference/IntList_div_.html deleted file mode 100644 index 89e437d..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/IntList_div_.html +++ /dev/null @@ -1,161 +0,0 @@ - - - - IntList::div() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

IntList

Name

div()

Examples
-IntList inventory;
-
-void setup() {
-  size(200, 200);
-  inventory = new IntList();
-  inventory.append(84);
-  inventory.append(15);
-  inventory.append(102);
-  println(inventory);
-  inventory.div(0, 2);
-  println(inventory);
-}
-
-
-
Description -Divide a value. -
Syntax
.div(index, amount)
Returnsvoid
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/IntList_get_.html b/Java/Processing/processing-3.3.6/modes/java/reference/IntList_get_.html deleted file mode 100644 index 4864ffe..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/IntList_get_.html +++ /dev/null @@ -1,167 +0,0 @@ - - - - IntList::get() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

IntList

Name

get()

Examples
-IntList inventory;
-
-void setup() {
-  size(200, 200);
-  inventory = new IntList();
-  inventory.append(84);
-  inventory.append(15);
-  inventory.append(102);
-  println(inventory);
-  noLoop();
-  fill(0);
-  textAlign(CENTER);
-}
-
-void draw() {
-  int nums = inventory.get(2);
-  text(nums, width/2, height/2);
-}
-
-
-
Description -Get an entry at a particular index. -
Syntax
.get(index)
Returnsint
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/IntList_hasValue_.html b/Java/Processing/processing-3.3.6/modes/java/reference/IntList_hasValue_.html deleted file mode 100644 index 448762f..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/IntList_hasValue_.html +++ /dev/null @@ -1,164 +0,0 @@ - - - - IntList::hasValue() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

IntList

Name

hasValue()

Examples
-IntList inventory;
-
-void setup() {
-  size(200, 200);
-  inventory = new IntList();
-  inventory.append(84);
-  inventory.append(15);
-  inventory.append(102);
-  println(inventory);
-  if (inventory.hasValue(15) == true) {
-    println("Yes, we have a '15'"); 
-  } else {
-    println("Sorry, no '15'");
-  }
-}
-
-
-
Description -Check if a number is a part of the data structure. -
Syntax
.hasValue(value)
Returnsboolean
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/IntList_increment_.html b/Java/Processing/processing-3.3.6/modes/java/reference/IntList_increment_.html deleted file mode 100644 index e219c4b..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/IntList_increment_.html +++ /dev/null @@ -1,161 +0,0 @@ - - - - IntList::increment() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

IntList

Name

increment()

Examples
-IntList inventory;
-
-void setup() {
-  size(200, 200);
-  inventory = new IntList();
-  inventory.append(84);
-  inventory.append(15);
-  inventory.append(102);
-  println(inventory);
-  inventory.increment(1);
-  println(inventory);
-}
-
-
-
Description -Add one to a value. -
Syntax
.increment(index)
Returnsvoid
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/IntList_max_.html b/Java/Processing/processing-3.3.6/modes/java/reference/IntList_max_.html deleted file mode 100644 index 9f50796..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/IntList_max_.html +++ /dev/null @@ -1,161 +0,0 @@ - - - - IntList::max() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

IntList

Name

max()

Examples
-IntList inventory;
-
-void setup() {
-  size(200, 200);
-  inventory = new IntList();
-  inventory.append(84);
-  inventory.append(15);
-  inventory.append(102);
-  println(inventory);
-  int largest = inventory.max();
-  println(largest);
-}
-
-
-
Description -Return the largest value. -
Syntax
.max()
Returnsint
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/IntList_min_.html b/Java/Processing/processing-3.3.6/modes/java/reference/IntList_min_.html deleted file mode 100644 index 4c1b084..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/IntList_min_.html +++ /dev/null @@ -1,161 +0,0 @@ - - - - IntList::min() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

IntList

Name

min()

Examples
-IntList inventory;
-
-void setup() {
-  size(200, 200);
-  inventory = new IntList();
-  inventory.append(84);
-  inventory.append(15);
-  inventory.append(102);
-  println(inventory);
-  int smallest = inventory.min();
-  println(smallest);
-}
-
-
-
Description -Return the smallest value. -
Syntax
.min()
Returnsint
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/IntList_mult_.html b/Java/Processing/processing-3.3.6/modes/java/reference/IntList_mult_.html deleted file mode 100644 index a0c7c2b..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/IntList_mult_.html +++ /dev/null @@ -1,161 +0,0 @@ - - - - IntList::mult() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

IntList

Name

mult()

Examples
-IntList inventory;
-
-void setup() {
-  size(200, 200);
-  inventory = new IntList();
-  inventory.append(84);
-  inventory.append(15);
-  inventory.append(102);
-  println(inventory);
-  inventory.mult(0, 2);
-  println(inventory);
-}
-
-
-
Description -Multiply a value. -
Syntax
.mult(index, amount)
Returnsvoid
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/IntList_remove_.html b/Java/Processing/processing-3.3.6/modes/java/reference/IntList_remove_.html deleted file mode 100644 index b0c0d5d..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/IntList_remove_.html +++ /dev/null @@ -1,177 +0,0 @@ - - - - IntList::remove() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

IntList

Name

remove()

Examples
-IntList inventory;
-
-void setup() {
-  size(200, 200);
-  inventory = new IntList();
-  inventory.append(84);
-  inventory.append(15);
-  inventory.append(102);
-  println(inventory);
-  inventory.remove(1);
-  println(inventory);
-}
-
-
-
-
-IntList inventory;
-
-void setup() {
-  size(200, 200);
-  inventory = new IntList();
-  inventory.append(84);
-  inventory.append(15);
-  inventory.append(102);
-  println(inventory);
-  int val = inventory.remove(1);
-  println("The value " + val + " was removed.");
-}
-
-
-
Description -Remove an element from the specified index. -
Syntax
.remove(index)
Returnsint
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/IntList_reverse_.html b/Java/Processing/processing-3.3.6/modes/java/reference/IntList_reverse_.html deleted file mode 100644 index 6a88b7b..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/IntList_reverse_.html +++ /dev/null @@ -1,161 +0,0 @@ - - - - IntList::reverse() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

IntList

Name

reverse()

Examples
-IntList inventory;
-
-void setup() {
-  size(200, 200);
-  inventory = new IntList();
-  inventory.append(84);
-  inventory.append(15);
-  inventory.append(102);
-  println(inventory);
-  inventory.reverse();  // Orders to 102, 15, 84
-  println(inventory);  
-}
-
-
-
Description -Reverse the order of the list. -
Syntax
.reverse()
Returnsvoid
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/IntList_set_.html b/Java/Processing/processing-3.3.6/modes/java/reference/IntList_set_.html deleted file mode 100644 index f1a3ddd..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/IntList_set_.html +++ /dev/null @@ -1,161 +0,0 @@ - - - - IntList::set() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

IntList

Name

set()

Examples
-IntList inventory;
-
-void setup() {
-  size(200, 200);
-  inventory = new IntList();
-  inventory.append(84);
-  inventory.append(15);
-  inventory.append(102);
-  println(inventory);
-  inventory.set(2, 408);
-  println(inventory);
-}
-
-
-
Description -Set the entry at a particular index. -
Syntax
.set(index, what)
Returnsvoid
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/IntList_shuffle_.html b/Java/Processing/processing-3.3.6/modes/java/reference/IntList_shuffle_.html deleted file mode 100644 index e771c03..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/IntList_shuffle_.html +++ /dev/null @@ -1,162 +0,0 @@ - - - - IntList::shuffle() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

IntList

Name

shuffle()

Examples
-IntList inventory;
-
-void setup() {
-  size(200, 200);
-  inventory = new IntList();
-  inventory.append(84);
-  inventory.append(15);
-  inventory.append(102);
-  println(inventory);
-  inventory.shuffle();
-  println(inventory);
-}
-
-
-
Description -Randomize the order of the list elements. -
Syntax
.shuffle()
-.shuffle(sketch)
Returnsvoid
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/IntList_size_.html b/Java/Processing/processing-3.3.6/modes/java/reference/IntList_size_.html deleted file mode 100644 index 33dd14e..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/IntList_size_.html +++ /dev/null @@ -1,161 +0,0 @@ - - - - IntList::size() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

IntList

Name

size()

Examples
-IntList inventory;
-
-void setup() {
-  size(200, 200);
-  inventory = new IntList();
-  inventory.append(84);
-  inventory.append(15);
-  inventory.append(102);
-  println(inventory);
-  int s = inventory.size();
-  println(s);  
-}
-
-
-
Description -Get the length of the list. -
Syntax
.size()
Returnsint
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/IntList_sortReverse_.html b/Java/Processing/processing-3.3.6/modes/java/reference/IntList_sortReverse_.html deleted file mode 100644 index 1b97bf5..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/IntList_sortReverse_.html +++ /dev/null @@ -1,162 +0,0 @@ - - - - IntList::sortReverse() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

IntList

Name

sortReverse()

Examples
-IntList inventory;
-
-void setup() {
-  size(200, 200);
-  inventory = new IntList();
-  inventory.append(84);
-  inventory.append(15);
-  inventory.append(102);
-  println(inventory);
-  inventory.sortReverse();  // Orders to 102, 84, 15
-  println(inventory);  
-}
-
-
-
Description -A sort in reverse. It's equivalent to running sort() and then -reverse(), but is more efficient than running each separately. -
Syntax
.sortReverse()
Returnsvoid
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/IntList_sort_.html b/Java/Processing/processing-3.3.6/modes/java/reference/IntList_sort_.html deleted file mode 100644 index b9ae148..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/IntList_sort_.html +++ /dev/null @@ -1,161 +0,0 @@ - - - - IntList::sort() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

IntList

Name

sort()

Examples
-IntList inventory;
-
-void setup() {
-  size(200, 200);
-  inventory = new IntList();
-  inventory.append(84);
-  inventory.append(15);
-  inventory.append(102);
-  println(inventory);
-  inventory.sort();  // Orders to 15, 84, 102
-  println(inventory);  
-}
-
-
-
Description -Sorts the array, lowest to highest -
Syntax
.sort()
Returnsvoid
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/IntList_sub_.html b/Java/Processing/processing-3.3.6/modes/java/reference/IntList_sub_.html deleted file mode 100644 index 04c5b6c..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/IntList_sub_.html +++ /dev/null @@ -1,161 +0,0 @@ - - - - IntList::sub() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

IntList

Name

sub()

Examples
-IntList inventory;
-
-void setup() {
-  size(200, 200);
-  inventory = new IntList();
-  inventory.append(84);
-  inventory.append(15);
-  inventory.append(102);
-  println(inventory);
-  inventory.sub(1, 15);
-  println(inventory);
-}
-
-
-
Description -Subtract from a value. -
Syntax
.sub(index, amount)
Returnsvoid
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/JSONArray.html b/Java/Processing/processing-3.3.6/modes/java/reference/JSONArray.html deleted file mode 100644 index 7541e03..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/JSONArray.html +++ /dev/null @@ -1,282 +0,0 @@ - - - - JSONArray \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - -
Name

JSONArray

Examples
-String[] species = { "Capra hircus", "Panthera pardus", "Equus zebra" };
-String[] names = { "Goat", "Leopard", "Zebra" };
-
-JSONArray values;
-
-void setup() {
-
-  values = new JSONArray();
-
-  for (int i = 0; i < species.length; i++) {
-
-    JSONObject animal = new JSONObject();
-
-    animal.setInt("id", i);
-    animal.setString("species", species[i]);
-    animal.setString("name", names[i]);
-
-    values.setJSONObject(i, animal);
-  }
-
-  saveJSONArray(values, "data/new.json");
-}
-
-// Sketch saves the following to a file called "new.json":
-// [
-//   {
-//     "id": 0,
-//     "species": "Capra hircus",
-//     "name": "Goat"
-//   },
-//   {
-//     "id": 1,
-//     "species": "Panthera pardus",
-//     "name": "Leopard"
-//   },
-//   {
-//     "id": 2,
-//     "species": "Equus zebra",
-//     "name": "Zebra"
-//   }
-// ]
-
-
Description -A JSONArray stores an array of JSON objects. JSONArrays can be generated from scratch, dynamically, or using data from an existing file. JSON can also be output and saved to disk, as in the example above. -
Methods - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
getString()Gets the String value associated with an index
getInt()Gets the int value associated with an index
getFloat()Gets the float value associated with an index
getBoolean()Gets the boolean value associated with an index
getJSONArray()Gets the JSONArray associated with an index value
getJSONObject()Gets the JSONObject associated with an index value
getStringArray()Gets the entire array as an array of Strings
getIntArray()Gets the entire array as array of ints
append()Appends a value, increasing the array's length by one
setString()Put a String value in the JSONArray
setInt()Put an int value in the JSONArray
setFloat()Put a float value in the JSONArray
setBoolean()Put a boolean value in the JSONArray
setJSONArray()Sets the JSONArray value associated with an index value
setJSONObject()Sets the JSONObject value associated with an index value
size()Gets the number of elements in the JSONArray
isNull()Determine if the value is null.
remove()Removes an element
Constructor
JSONArray()
-
RelatedJSONObject
-loadJSONObject()
-loadJSONArray()
-saveJSONObject()
-saveJSONArray()
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/JSONArray_append_.html b/Java/Processing/processing-3.3.6/modes/java/reference/JSONArray_append_.html deleted file mode 100644 index 2be1b04..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/JSONArray_append_.html +++ /dev/null @@ -1,209 +0,0 @@ - - - - JSONArray::append() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

JSONArray

Name

append()

Examples
-JSONArray json;
-
-void setup() {
-
-  json = new JSONArray();
-
-  json.append(32);
-  json.append(1.5);
-  json.append("grape");
-  json.append(true);
-
-  JSONObject obj = new JSONObject();
-  obj.setFloat("persistence", 0.75);
-  json.append(obj);
-
-  JSONArray arr = new JSONArray();
-  arr.append("red");
-  arr.append("green");
-  arr.append("blue");
-  json.append(arr);
-
-  println(json);
-}
-
-// Sketch prints:
-// [
-//   32,
-//   1.5,
-//   "grape",
-//   true,
-//   {"persistence": 0.75},
-//   [
-//     "red",
-//     "green",
-//     "blue"
-//   ]
-// ]
-
-
Description -Appends a new value to the JSONArray, increasing the array's length by one. New values may be of the following types: int, float, String, boolean, JSONObject, or JSONArray. -
Syntax
.append(value)
Parameters - - - - - - - - - - - - - - - - - - - - - - -
valueString: a String value
valueint: an int value
valuefloat: a float value
valueboolean: a boolean value
valueJSONArray: a JSONArray value
valueJSONObject: a JSONObject value
ReturnsJSONArray
Relatedsize()
-remove()
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/JSONArray_getBoolean_.html b/Java/Processing/processing-3.3.6/modes/java/reference/JSONArray_getBoolean_.html deleted file mode 100644 index a27611c..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/JSONArray_getBoolean_.html +++ /dev/null @@ -1,183 +0,0 @@ - - - - JSONArray::getBoolean() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

JSONArray

Name

getBoolean()

Examples
-// The following short JSON file called "data.json" is parsed 
-// in the code below. It must be in the project's "data" folder.
-//
-// [ 32, 1.13, "grape", true ]
-
-JSONArray json;
-
-void setup() {
-
-  json = loadJSONArray("data.json");
-
-  int count = json.getInt(0);
-  float weight = json.getFloat(1);
-  String name = json.getString(2);
-  boolean isFruit = json.getBoolean(3);
-
-  println(count + ", " + weight + ", " + name + ", " + isFruit);
-}
-
-// Sketch prints:
-// 32, 1.13, grape, true
-
-
Description -Gets the boolean value associated with the specified index. -
Syntax
.getBoolean(index)
-.getBoolean(index, defaultValue)
Parameters - - - - - - - - - - -
indexint: must be between 0 and length() - 1
indexint: The index must be between 0 and length() - 1.
defaultValueboolean: A boolean default.
Returnsboolean
RelatedgetInt()
-getFloat()
-getString()
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/JSONArray_getFloat_.html b/Java/Processing/processing-3.3.6/modes/java/reference/JSONArray_getFloat_.html deleted file mode 100644 index abbf53d..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/JSONArray_getFloat_.html +++ /dev/null @@ -1,175 +0,0 @@ - - - - JSONArray::getFloat() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

JSONArray

Name

getFloat()

Examples
-// The following short JSON file called "data.json" is parsed 
-// in the code below. It must be in the project's "data" folder.
-//
-// [ 32, 1.13, "grape", true ]
-
-JSONArray json;
-
-void setup() {
-
-  json = loadJSONArray("data.json");
-
-  int count = json.getInt(0);
-  float weight = json.getFloat(1);
-  String name = json.getString(2);
-  boolean isFruit = json.getBoolean(3);
-
-  println(count + ", " + weight + ", " + name + ", " + isFruit);
-}
-
-// Sketch prints:
-// 32, 1.13, grape, true
-
-
Description -Gets the float value associated with the specified index. -
Syntax
.getFloat(index)
-.getFloat(index, defaultValue)
Parameters - - -
indexint: must be between 0 and length() - 1
Returnsfloat
RelatedgetInt()
-getString()
-getBoolean()
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/JSONArray_getIntArray_.html b/Java/Processing/processing-3.3.6/modes/java/reference/JSONArray_getIntArray_.html deleted file mode 100644 index 798598c..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/JSONArray_getIntArray_.html +++ /dev/null @@ -1,178 +0,0 @@ - - - - JSONArray::getIntArray() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

JSONArray

Name

getIntArray()

Examples
-// The following short JSON file called "data.json" is parsed 
-// in the code below. It must be in the project's "data" folder.
-//
-// [ 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144 ]
-
-JSONArray json;
-
-void setup() {
-
-  json = loadJSONArray("data.json");
-
-  int[] values = json.getIntArray();
-
-  println(values);
-}
-
-// Sketch prints:
-// [0] 0
-// [1] 1
-// [2] 1
-// [3] 2
-// [4] 3
-// [5] 5
-// [6] 8
-// [7] 13
-// [8] 21
-// [9] 34
-// [10] 55
-// [11] 89
-// [12] 144
-
-
Description -Returns the entire JSONArray as an array of ints. (All values in the array must be of the int type.) -
Syntax
.getIntArray()
Returnsint[]
RelatedgetStringArray()
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/JSONArray_getInt_.html b/Java/Processing/processing-3.3.6/modes/java/reference/JSONArray_getInt_.html deleted file mode 100644 index 39e4a4f..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/JSONArray_getInt_.html +++ /dev/null @@ -1,183 +0,0 @@ - - - - JSONArray::getInt() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

JSONArray

Name

getInt()

Examples
-// The following short JSON file called "data.json" is parsed 
-// in the code below. It must be in the project's "data" folder.
-//
-// [ 32, 1.13, "grape", true ]
-
-JSONArray json;
-
-void setup() {
-
-  json = loadJSONArray("data.json");
-
-  int count = json.getInt(0);
-  float weight = json.getFloat(1);
-  String name = json.getString(2);
-  boolean isFruit = json.getBoolean(3);
-
-  println(count + ", " + weight + ", " + name + ", " + isFruit);
-}
-
-// Sketch prints:
-// 32, 1.13, grape, true
-
-
Description -Gets the int value associated with the specified index. -
Syntax
.getInt(index)
-.getInt(index, defaultValue)
Parameters - - - - - - - - - - -
indexint: must be between 0 and length() - 1
indexint: The index must be between 0 and length() - 1.
defaultValueint: The default value.
Returnsint
RelatedgetFloat()
-getString()
-getBoolean()
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/JSONArray_getJSONArray_.html b/Java/Processing/processing-3.3.6/modes/java/reference/JSONArray_getJSONArray_.html deleted file mode 100644 index ee29713..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/JSONArray_getJSONArray_.html +++ /dev/null @@ -1,194 +0,0 @@ - - - - JSONArray::getJSONArray() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

JSONArray

Name

getJSONArray()

Examples
-// The following short JSON file called "data.json" is parsed 
-// in the code below. It must be in the project's "data" folder.
-//
-// [
-//   [
-//     { "name": "apple", "isFruit": true },
-//     { "name": "grape", "isFruit": true },
-//     { "name": "carrot", "isFruit": false }
-//   ],
-//   [
-//     { "name": "lettuce", "isFruit": false },
-//     { "name": "plum", "isFruit": true },
-//     { "name": "cinnamon", "isFruit": false }
-//   ]
-// ]
-
-JSONArray json;
-
-void setup() {
-
-  json = loadJSONArray("data.json");
-
-  // Get the first array of elements
-  JSONArray values = json.getJSONArray(0);
-  
-  for (int i = 0; i < values.size(); i++) {
-    
-    JSONObject item = values.getJSONObject(i); 
-
-    String name = item.getString("name");
-    boolean isFruit = item.getBoolean("isFruit");
-
-    println(name + ", " + isFruit);
-  }
-}
-
-// Sketch prints:
-// apple, true
-// grape, true
-// carrot, false
-
-
Description -Retrieves the JSONArray with the associated index value. -
Syntax
.getJSONArray(index)
-.getJSONArray(index, defaultValue)
Parameters - - -
indexint: must be between 0 and length() - 1
ReturnsJSONArray
RelatedgetJSONObject()
-setJSONObject()
-setJSONArray()
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/JSONArray_getJSONObject_.html b/Java/Processing/processing-3.3.6/modes/java/reference/JSONArray_getJSONObject_.html deleted file mode 100644 index 6e26ddc..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/JSONArray_getJSONObject_.html +++ /dev/null @@ -1,197 +0,0 @@ - - - - JSONArray::getJSONObject() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

JSONArray

Name

getJSONObject()

Examples
-// The following short JSON file called "data.json" is parsed 
-// in the code below. It must be in the project's "data" folder.
-//
-// [
-//   {
-//     "id": 0,
-//     "species": "Capra hircus",
-//     "name": "Goat"
-//   },
-//   {
-//     "id": 1,
-//     "species": "Panthera pardus",
-//     "name": "Leopard"
-//   },
-//   {
-//     "id": 2,
-//     "species": "Equus zebra",
-//     "name": "Zebra"
-//   }
-// ]
-
-JSONArray values;
-
-void setup() {
-
-  values = loadJSONArray("data.json");
-
-  for (int i = 0; i < values.size(); i++) {
-    
-    JSONObject animal = values.getJSONObject(i); 
-
-    int id = animal.getInt("id");
-    String species = animal.getString("species");
-    String name = animal.getString("name");
-
-    println(id + ", " + species + ", " + name);
-  }
-}
-
-// Sketch prints:
-// 0, Capra hircus, Goat
-// 1, Panthera pardus, Leopard
-// 2, Equus zebra, Zebra
-
-
Description -Retrieves the JSONObject with the associated index value. -
Syntax
.getJSONObject(index)
-.getJSONObject(index, defaultValue)
Parameters - - -
indexint: the index value of the object to get
ReturnsJSONObject
RelatedgetJSONArray()
-setJSONObject()
-setJSONArray()
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/JSONArray_getStringArray_.html b/Java/Processing/processing-3.3.6/modes/java/reference/JSONArray_getStringArray_.html deleted file mode 100644 index a2e8204..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/JSONArray_getStringArray_.html +++ /dev/null @@ -1,170 +0,0 @@ - - - - JSONArray::getStringArray() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

JSONArray

Name

getStringArray()

Examples
-// The following short JSON file called "data.json" is parsed 
-// in the code below. It must be in the project's "data" folder.
-//
-// [ "sasquatch", "yeti", "jackalope", "unicorn", "centaur" ]
-
-JSONArray json;
-
-void setup() {
-
-  json = loadJSONArray("data.json");
-
-  String[] values = json.getStringArray();
-
-  println(values);
-}
-
-// Sketch prints:
-// [0] "sasquatch"
-// [1] "yeti"
-// [2] "jackalope"
-// [3] "unicorn"
-// [4] "centaur"
-
-
Description -Returns the entire JSONArray as an array of Strings. (All values in the array must be of the String type.) -
Syntax
.getStringArray()
ReturnsString[]
RelatedgetIntArray()
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/JSONArray_getString_.html b/Java/Processing/processing-3.3.6/modes/java/reference/JSONArray_getString_.html deleted file mode 100644 index 6eb3b76..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/JSONArray_getString_.html +++ /dev/null @@ -1,183 +0,0 @@ - - - - JSONArray::getString() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

JSONArray

Name

getString()

Examples
-// The following short JSON file called "data.json" is parsed 
-// in the code below. It must be in the project's "data" folder.
-//
-// [ 32, 1.13, "grape", true ]
-
-JSONArray json;
-
-void setup() {
-
-  json = loadJSONArray("data.json");
-
-  int count = json.getInt(0);
-  float weight = json.getFloat(1);
-  String name = json.getString(2);
-  boolean isFruit = json.getBoolean(3);
-
-  println(count + ", " + weight + ", " + name + ", " + isFruit);
-}
-
-// Sketch prints:
-// 32, 1.13, grape, true
-
-
Description -Gets the String value associated with the specified index. -
Syntax
.getString(index)
-.getString(index, defaultValue)
Parameters - - - - - - - - - - -
indexint: must be between 0 and length() - 1
indexint: The index must be between 0 and length() - 1.
defaultValueString: The default value.
ReturnsString
RelatedgetInt()
-getFloat()
-getBoolean()
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/JSONArray_isNull_.html b/Java/Processing/processing-3.3.6/modes/java/reference/JSONArray_isNull_.html deleted file mode 100644 index a694c17..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/JSONArray_isNull_.html +++ /dev/null @@ -1,166 +0,0 @@ - - - - JSONArray::isNull() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

JSONArray

Name

isNull()

Examples
-JSONArray json;
-
-void setup() {
-
-  json = new JSONArray();
-
-  json.setInt(0, 32);
-  json.setString(1, null);
-
-  if (json.isNull(1) == true) {
-    println("This element is undefined");
-  } else {
-    println("The value is " + json.getString(1));
-  }
-}
-
-
Description -Determines if the value associated with the index is null, that is has no defined value (false) or if it has a value (true). -
Syntax
.isNull(index)
Parameters - - -
indexint: must be between 0 and length() - 1
Returnsboolean
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/JSONArray_remove_.html b/Java/Processing/processing-3.3.6/modes/java/reference/JSONArray_remove_.html deleted file mode 100644 index cd6a7fa..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/JSONArray_remove_.html +++ /dev/null @@ -1,196 +0,0 @@ - - - - JSONArray::remove() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

JSONArray

Name

remove()

Examples
-// The following short JSON file called "data.json" is parsed 
-// in the code below. It must be in the project's "data" folder.
-//
-// [
-//   {
-//     "id": 0,
-//     "species": "Capra hircus",
-//     "name": "Goat"
-//   },
-//   {
-//     "id": 1,
-//     "species": "Panthera pardus",
-//     "name": "Leopard"
-//   },
-//   {
-//     "id": 2,
-//     "species": "Equus zebra",
-//     "name": "Zebra"
-//   }
-// ]
-
-JSONArray values;
-
-void setup() {
-
-  values = loadJSONArray("data.json");
-
-  values.remove(0);  // Remove the array's first element
-
-  for (int i = 0; i < values.size(); i++) {
-    
-    JSONObject animal = values.getJSONObject(i); 
-
-    int id = animal.getInt("id");
-    String species = animal.getString("species");
-    String name = animal.getString("name");
-
-    println(id + ", " + species + ", " + name);
-  }
-}
-
-// Sketch prints:
-// 1, Panthera pardus, Leopard
-// 2, Equus zebra, Zebra
-
-
Description -Removes the element from a JSONArray in the specified index position. Returns either the value associated with the given index, or null, if there is no value. -
Syntax
.remove(index)
Parameters - - -
indexint: the index value of the element to be removed
ReturnsObject
Relatedsize()
-append()
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/JSONArray_setBoolean_.html b/Java/Processing/processing-3.3.6/modes/java/reference/JSONArray_setBoolean_.html deleted file mode 100644 index 10a6756..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/JSONArray_setBoolean_.html +++ /dev/null @@ -1,178 +0,0 @@ - - - - JSONArray::setBoolean() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

JSONArray

Name

setBoolean()

Examples
-JSONArray json;
-
-void setup() {
-
-  json = new JSONArray();
-
-  json.setInt(0, 32);
-  json.setFloat(1, 1.5);
-  json.setString(2, "grape");
-  json.setBoolean(3, true);
-
-  println(json);
-}
-
-// Sketch prints:
-// [
-//   32,
-//   1.5,
-//   "grape",
-//   true
-// ]
-
-
Description -Inserts a new value into the JSONArray at the specified index position. If a value already exists in the specified position, the new value overwrites the old value. If the given index is greater than the length of the JSONArray, then null elements will be added as necessary to pad it out. -
Syntax
.setBoolean(index, value)
Parameters - - - - - - -
indexint: an index value
valueboolean: the value to assign
ReturnsJSONArray
RelatedsetInt()
-setFloat()
-setString()
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/JSONArray_setFloat_.html b/Java/Processing/processing-3.3.6/modes/java/reference/JSONArray_setFloat_.html deleted file mode 100644 index b428638..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/JSONArray_setFloat_.html +++ /dev/null @@ -1,178 +0,0 @@ - - - - JSONArray::setFloat() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

JSONArray

Name

setFloat()

Examples
-JSONArray json;
-
-void setup() {
-
-  json = new JSONArray();
-
-  json.setInt(0, 32);
-  json.setFloat(1, 1.5);
-  json.setString(2, "grape");
-  json.setBoolean(3, true);
-
-  println(json);
-}
-
-// Sketch prints:
-// [
-//   32,
-//   1.5,
-//   "grape",
-//   true
-// ]
-
-
Description -Inserts a new value into the JSONArray at the specified index position. If a value already exists in the specified position, the new value overwrites the old value. If the given index is greater than the length of the JSONArray, then null elements will be added as necessary to pad it out. -
Syntax
.setFloat(index, value)
Parameters - - - - - - -
indexint: an index value
valuefloat: the value to assign
ReturnsJSONArray
RelatedsetInt()
-setString()
-setBoolean()
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/JSONArray_setInt_.html b/Java/Processing/processing-3.3.6/modes/java/reference/JSONArray_setInt_.html deleted file mode 100644 index 89c4d7e..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/JSONArray_setInt_.html +++ /dev/null @@ -1,178 +0,0 @@ - - - - JSONArray::setInt() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

JSONArray

Name

setInt()

Examples
-JSONArray json;
-
-void setup() {
-
-  json = new JSONArray();
-
-  json.setInt(0, 32);
-  json.setFloat(1, 1.5);
-  json.setString(2, "grape");
-  json.setBoolean(3, true);
-
-  println(json);
-}
-
-// Sketch prints:
-// [
-//   32,
-//   1.5,
-//   "grape",
-//   true
-// ]
-
-
Description -Inserts a new value into the JSONArray at the specified index position. If a value already exists in the specified position, the new value overwrites the old value. If the given index is greater than the length of the JSONArray, then null elements will be added as necessary to pad it out. -
Syntax
.setInt(index, value)
Parameters - - - - - - -
indexint: an index value
valueint: the value to assign
ReturnsJSONArray
RelatedsetFloat()
-setString()
-setBoolean()
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/JSONArray_setJSONArray_.html b/Java/Processing/processing-3.3.6/modes/java/reference/JSONArray_setJSONArray_.html deleted file mode 100644 index 38145c1..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/JSONArray_setJSONArray_.html +++ /dev/null @@ -1,195 +0,0 @@ - - - - JSONArray::setJSONArray() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

JSONArray

Name

setJSONArray()

Examples
-JSONArray json;
-
-void setup() {
-
-  json = new JSONArray();
-
-  for (int i = 0; i < 3; i++) {
-
-    JSONArray values = new JSONArray();
-
-    values.setInt(0, i);
-    values.setInt(1, i);
-    values.setInt(2, i);
-
-    json.setJSONArray(i, values);
-  }  
-
-  println(json);
-}
-
-// Sketch prints:
-//[
-//  [
-//    0,
-//    0,
-//    0
-//  ],
-//  [
-//    1,
-//    1,
-//    1
-//  ],
-//  [
-//    2,
-//    2,
-//    2
-//  ]
-//]
-
-
Description -Sets the value of the JSONArray with the associated index value. -
Syntax
.setJSONArray(index, value)
Parameters - - - - - - -
indexint: the index value to target
valueJSONArray: the value to assign
ReturnsJSONArray
RelatedsetJSONObject()
-getJSONObject()
-getJSONArray()
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/JSONArray_setJSONObject_.html b/Java/Processing/processing-3.3.6/modes/java/reference/JSONArray_setJSONObject_.html deleted file mode 100644 index eb6c101..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/JSONArray_setJSONObject_.html +++ /dev/null @@ -1,189 +0,0 @@ - - - - JSONArray::setJSONObject() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

JSONArray

Name

setJSONObject()

Examples
-JSONArray json;
-
-void setup() {
-
-  json = new JSONArray();
-
-  JSONObject lion = new JSONObject();
-  lion.setInt("id", 0);
-  lion.setString("species", "Panthera leo");
-  
-  json.setJSONObject(0, lion);
-
-  JSONObject zebra = new JSONObject();
-  zebra.setInt("id", 1);
-  zebra.setString("species", "Equus zebra");
-  
-  json.setJSONObject(1, zebra);
-
-  println(json);
-}
-
-// Sketch prints:
-// [
-//   {
-//     "id": 0,
-//     "species": "Panthera leo"
-//   },
-//   {
-//     "id": 1,
-//     "species": "Equus zebra"
-//   }
-// ]
-
-
Description -Sets the value of the JSONObject with the index value. -
Syntax
.setJSONObject(index, value)
Parameters - - - - - - -
indexint: the index value to target
valueJSONObject: the value to assign
ReturnsJSONArray
RelatedsetJSONArray()
-getJSONObject()
-getJSONArray()
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/JSONArray_setString_.html b/Java/Processing/processing-3.3.6/modes/java/reference/JSONArray_setString_.html deleted file mode 100644 index ea06eed..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/JSONArray_setString_.html +++ /dev/null @@ -1,178 +0,0 @@ - - - - JSONArray::setString() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

JSONArray

Name

setString()

Examples
-JSONArray json;
-
-void setup() {
-
-  json = new JSONArray();
-
-  json.setInt(0, 32);
-  json.setFloat(1, 1.5);
-  json.setString(2, "grape");
-  json.setBoolean(3, true);
-
-  println(json);
-}
-
-// Sketch prints:
-// [
-//   32,
-//   1.5,
-//   "grape",
-//   true
-// ]
-
-
Description -Inserts a new value into the JSONArray at the specified index position. If a value already exists in the specified position, the new value overwrites the old value. If the given index is greater than the length of the JSONArray, then null elements will be added as necessary to pad it out. -
Syntax
.setString(index, value)
Parameters - - - - - - -
indexint: an index value
valueString: the value to assign
ReturnsJSONArray
RelatedsetInt()
-setFloat()
-setBoolean()
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/JSONArray_size_.html b/Java/Processing/processing-3.3.6/modes/java/reference/JSONArray_size_.html deleted file mode 100644 index e544cfb..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/JSONArray_size_.html +++ /dev/null @@ -1,181 +0,0 @@ - - - - JSONArray::size() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

JSONArray

Name

size()

Examples
-// The following short JSON file called "data.json" is parsed 
-// in the code below. It must be in the project's "data" folder.
-//
-// [
-//   {
-//     "id": 0,
-//     "species": "Capra hircus",
-//     "name": "Goat"
-//   },
-//   {
-//     "id": 1,
-//     "species": "Panthera pardus",
-//     "name": "Leopard"
-//   },
-//   {
-//     "id": 2,
-//     "species": "Equus zebra",
-//     "name": "Zebra"
-//   }
-// ]
-
-JSONArray values;
-
-void setup() {
-
-  values = loadJSONArray("data.json");
-
-  println("JSONArray size is " + values.size());
-}
-
-// Sketch prints:
-// JSONArray size is 3
-
-
Description -Gets the total number of elements in a JSONArray (inclusive of null elements). -
Syntax
.size()
Returnsint
Relatedappend()
-remove()
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/JSONObject.html b/Java/Processing/processing-3.3.6/modes/java/reference/JSONObject.html deleted file mode 100644 index 2c54cbb..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/JSONObject.html +++ /dev/null @@ -1,237 +0,0 @@ - - - - JSONObject \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - -
Name

JSONObject

Examples
-JSONObject json;
-
-void setup() {
-
-  json = new JSONObject();
-
-  json.setInt("id", 0);
-  json.setString("species", "Panthera leo");
-  json.setString("name", "Lion");
-
-  saveJSONObject(json, "data/new.json");
-}
-
-// Sketch saves the following to a file called "new.json":
-// {
-//   "id": 0,
-//   "species": "Panthera leo",
-//   "name": "Lion"
-// }
-
-
Description -A JSONObject stores JSON data with multiple name/value pairs. Values can be numeric, Strings, booleans, other JSONObjects or JSONArrays, or null. JSONObject and JSONArray objects are quite similar and share most of the same methods; the primary difference is that the latter stores an array of JSON objects, while the former represents a single JSON object.
-
-JSON can be generated from scratch, dynamically, or using data from an existing file. JSON can also be output and saved to disk, as in the example above. -
Methods - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
getString()Gets the string value associated with a key
getInt()Gets the int value associated with a key
getFloat()Gets the float value associated with a key
getBoolean()Gets the boolean value associated with a key
getJSONArray()Gets the JSONArray value associated with a key
getJSONObject()Gets the JSONObject value associated with a key
isNull()Determine if the value associated with the key is null or if there is - no value.
setString()Put a key/String pair in the JSONObject
setInt()Put a key/int pair in the JSONObject
setFloat()Put a key/float pair in the JSONObject
setBoolean()Put a key/boolean pair in the JSONObject
setJSONObject()Sets the JSONObject value associated with a key
setJSONArray()Sets the JSONArray value associated with a key
RelatedJSONArray
-loadJSONObject()
-loadJSONArray()
-saveJSONObject()
-saveJSONArray()
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/JSONObject_getBoolean_.html b/Java/Processing/processing-3.3.6/modes/java/reference/JSONObject_getBoolean_.html deleted file mode 100644 index 3c34209..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/JSONObject_getBoolean_.html +++ /dev/null @@ -1,188 +0,0 @@ - - - - JSONObject::getBoolean() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

JSONObject

Name

getBoolean()

Examples
-// The following short JSON file called "data.json" is parsed 
-// in the code below. It must be in the project's "data" folder.
-//
-// {
-//   "count": 32,
-//   "weight": 1.13,
-//   "name": "grape",
-//   "isFruit": true
-// }
-
-JSONObject json;
-
-void setup() {
-
-  json = loadJSONObject("data.json");
-
-  int count = json.getInt("count");
-  float weight = json.getFloat("weight");
-  String name = json.getString("name");
-  boolean isFruit = json.getBoolean("isFruit");
-
-  println(count + ", " + weight + ", " + name + ", " + isFruit);
-}
-
-// Sketch prints:
-// 32, 1.13, grape, true
-
-
Description -Gets the boolean value associated with the specified key. -
Syntax
.getBoolean(key)
-.getBoolean(key, defaultValue)
Parameters - - - - - - - - - - -
keyString: a key string
keyString: A key string.
defaultValueboolean: The default.
Returnsboolean
RelatedgetInt()
-getFloat()
-getString()
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/JSONObject_getFloat_.html b/Java/Processing/processing-3.3.6/modes/java/reference/JSONObject_getFloat_.html deleted file mode 100644 index 78ea103..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/JSONObject_getFloat_.html +++ /dev/null @@ -1,180 +0,0 @@ - - - - JSONObject::getFloat() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

JSONObject

Name

getFloat()

Examples
-// The following short JSON file called "data.json" is parsed 
-// in the code below. It must be in the project's "data" folder.
-//
-// {
-//   "count": 32,
-//   "weight": 1.13,
-//   "name": "grape",
-//   "isFruit": true
-// }
-
-JSONObject json;
-
-void setup() {
-
-  json = loadJSONObject("data.json");
-
-  int count = json.getInt("count");
-  float weight = json.getFloat("weight");
-  String name = json.getString("name");
-  boolean isFruit = json.getBoolean("isFruit");
-
-  println(count + ", " + weight + ", " + name + ", " + isFruit);
-}
-
-// Sketch prints:
-// 32, 1.13, grape, true
-
-
Description -Gets the float value associated with the specified key. -
Syntax
.getFloat(key)
-.getFloat(key, defaultValue)
Parameters - - -
keyString: a key string
Returnsfloat
RelatedgetInt()
-getString()
-getBoolean()
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/JSONObject_getInt_.html b/Java/Processing/processing-3.3.6/modes/java/reference/JSONObject_getInt_.html deleted file mode 100644 index ca558a9..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/JSONObject_getInt_.html +++ /dev/null @@ -1,188 +0,0 @@ - - - - JSONObject::getInt() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

JSONObject

Name

getInt()

Examples
-// The following short JSON file called "data.json" is parsed 
-// in the code below. It must be in the project's "data" folder.
-//
-// {
-//   "count": 32,
-//   "weight": 1.13,
-//   "name": "grape",
-//   "isFruit": true
-// }
-
-JSONObject json;
-
-void setup() {
-
-  json = loadJSONObject("data.json");
-
-  int count = json.getInt("count");
-  float weight = json.getFloat("weight");
-  String name = json.getString("name");
-  boolean isFruit = json.getBoolean("isFruit");
-
-  println(count + ", " + weight + ", " + name + ", " + isFruit);
-}
-
-// Sketch prints:
-// 32, 1.13, grape, true
-
-
Description -Gets the int value associated with the specified key. -
Syntax
.getInt(key)
-.getInt(key, defaultValue)
Parameters - - - - - - - - - - -
keyString: A key string.
keyString: A key string.
defaultValueint: The default.
Returnsint
RelatedgetFloat()
-getString()
-getBoolean()
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/JSONObject_getJSONArray_.html b/Java/Processing/processing-3.3.6/modes/java/reference/JSONObject_getJSONArray_.html deleted file mode 100644 index cf3ea05..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/JSONObject_getJSONArray_.html +++ /dev/null @@ -1,198 +0,0 @@ - - - - JSONObject::getJSONArray() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

JSONObject

Name

getJSONArray()

Examples
-// The following short JSON file called "data.json" is parsed 
-// in the code below. It must be in the project's "data" folder.
-//
-// { "animals": [
-//   {
-//     "id": 0,
-//     "species": "Capra hircus",
-//     "name": "Goat"
-//   },
-//   {
-//     "id": 1,
-//     "species": "Panthera pardus",
-//     "name": "Leopard"
-//   },
-//   {
-//     "id": 2,
-//     "species": "Equus zebra",
-//     "name": "Zebra"
-//   } ]
-// }
-
-JSONObject json;
-
-void setup() {
-
-  json = loadJSONObject("data.json");
-
-  JSONArray values = json.getJSONArray("animals");
-  
-  for (int i = 0; i < values.size(); i++) {
-    
-    JSONObject animal = values.getJSONObject(i); 
-
-    int id = animal.getInt("id");
-    String species = animal.getString("species");
-    String name = animal.getString("name");
-
-    println(id + ", " + species + ", " + name);
-  }
-}
-
-// Sketch prints:
-// 0, Capra hircus, Goat
-// 1, Panthera pardus, Leopard
-// 2, Equus zebra, Zebra
-
-
Description -Retrieves the JSONArray with the associated key. -
Syntax
.getJSONArray(key)
Parameters - - -
keyString: a key string
ReturnsJSONArray
RelatedgetJSONObject()
-setJSONObject()
-setJSONArray()
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/JSONObject_getJSONObject_.html b/Java/Processing/processing-3.3.6/modes/java/reference/JSONObject_getJSONObject_.html deleted file mode 100644 index b9a792d..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/JSONObject_getJSONObject_.html +++ /dev/null @@ -1,187 +0,0 @@ - - - - JSONObject::getJSONObject() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

JSONObject

Name

getJSONObject()

Examples
-// The following short JSON file called "data.json" is parsed 
-// in the code below. It must be in the project's "data" folder.
-//
-// {
-//   "goat": {
-//     "id": 0,
-//     "species": "Capra hircus"
-//   },
-//   "leopard": {
-//     "id": 1,
-//     "species": "Panthera pardus"
-//   },
-//   "zebra": {
-//     "id": 2,
-//     "species": "Equus zebra"
-//   }
-// }
-
-JSONObject json;
-
-void setup() {
-
-  json = loadJSONObject("data.json");
-
-  JSONObject goat = json.getJSONObject("goat");
-
-  int id = goat.getInt("id");
-  String species = goat.getString("species");
-
-  println(id + ", " + species);
-}
-
-// Sketch prints:
-// 0, Capra hircus
-
-
Description -Given a key value, retrieves the associated JSONObject. -
Syntax
.getJSONObject(key)
Parameters - - -
keyString: a key string
ReturnsJSONObject
RelatedgetJSONArray()
-setJSONObject()
-setJSONArray()
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/JSONObject_getString_.html b/Java/Processing/processing-3.3.6/modes/java/reference/JSONObject_getString_.html deleted file mode 100644 index 6129101..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/JSONObject_getString_.html +++ /dev/null @@ -1,188 +0,0 @@ - - - - JSONObject::getString() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

JSONObject

Name

getString()

Examples
-// The following short JSON file called "data.json" is parsed 
-// in the code below. It must be in the project's "data" folder.
-//
-// {
-//   "count": 32,
-//   "weight": 1.13,
-//   "name": "grape",
-//   "isFruit": true
-// }
-
-JSONObject json;
-
-void setup() {
-
-  json = loadJSONObject("data.json");
-
-  int count = json.getInt("count");
-  float weight = json.getFloat("weight");
-  String name = json.getString("name");
-  boolean isFruit = json.getBoolean("isFruit");
-
-  println(count + ", " + weight + ", " + name + ", " + isFruit);
-}
-
-// Sketch prints:
-// 32, 1.13, grape, true
-
-
Description -Gets the String value associated with the specified key. -
Syntax
.getString(key)
-.getString(key, defaultValue)
Parameters - - - - - - - - - - -
keyString: a key string
keyString: A key string.
defaultValueString: The default.
ReturnsString
RelatedgetInt()
-getFloat()
-getBoolean()
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/JSONObject_isNull_.html b/Java/Processing/processing-3.3.6/modes/java/reference/JSONObject_isNull_.html deleted file mode 100644 index bc60280..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/JSONObject_isNull_.html +++ /dev/null @@ -1,165 +0,0 @@ - - - - JSONObject::isNull() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

JSONObject

Name

isNull()

Examples
-JSONObject json;
-
-void setup() {
-
-  json = new JSONObject();
-  json.setInt("id", 0);
-  json.setString("species", null);
-
-  if (json.isNull("species") == true) {
-    println("The species is undefined");
-  } else {
-    println("The ID is " + json.getString("species"));
-  }
-}
-
-
Description -Determines if the value associated with the key is null, that is has no defined value (false) or if it has a value (true). -
Syntax
.isNull(key)
Parameters - - -
keyString: A key string.
Returnsboolean
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/JSONObject_setBoolean_.html b/Java/Processing/processing-3.3.6/modes/java/reference/JSONObject_setBoolean_.html deleted file mode 100644 index 37cd7b9..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/JSONObject_setBoolean_.html +++ /dev/null @@ -1,178 +0,0 @@ - - - - JSONObject::setBoolean() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

JSONObject

Name

setBoolean()

Examples
-JSONObject json;
-
-void setup() {
-
-  json = new JSONObject();
-  
-  json.setInt("count", 88);
-  json.setFloat("weight", 35.432);
-  json.setString("name", "celery");
-  json.setBoolean("isFruit", false);
-
-  int count = json.getInt("count");
-  float weight = json.getFloat("weight");
-  String name = json.getString("name");
-  boolean isFruit = json.getBoolean("isFruit");
-
-  println(count + ", " + weight + ", " + name + ", " + isFruit);
-}
-
-// Sketch prints:
-// 88, 35.432, celery, false
-
-
Description -Inserts a new key/boolean pair into the JSONObject or, if a value with the specified key already exists, assigns a new value. -
Syntax
.setBoolean(key, value)
Parameters - - - - - - -
keyString: a key string
valueboolean: the value to assign
ReturnsJSONObject
RelatedsetInt()
-setFloat()
-setString()
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/JSONObject_setFloat_.html b/Java/Processing/processing-3.3.6/modes/java/reference/JSONObject_setFloat_.html deleted file mode 100644 index 20c71c1..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/JSONObject_setFloat_.html +++ /dev/null @@ -1,178 +0,0 @@ - - - - JSONObject::setFloat() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

JSONObject

Name

setFloat()

Examples
-JSONObject json;
-
-void setup() {
-
-  json = new JSONObject();
-  
-  json.setInt("count", 88);
-  json.setFloat("weight", 35.432);
-  json.setString("name", "celery");
-  json.setBoolean("isFruit", false);
-
-  int count = json.getInt("count");
-  float weight = json.getFloat("weight");
-  String name = json.getString("name");
-  boolean isFruit = json.getBoolean("isFruit");
-
-  println(count + ", " + weight + ", " + name + ", " + isFruit);
-}
-
-// Sketch prints:
-// 88, 35.432, celery, false
-
-
Description -Inserts a new key/float pair into the JSONObject or, if a value with the specified key already exists, assigns a new value. -
Syntax
.setFloat(key, value)
Parameters - - - - - - -
keyString: a key string
valuefloat: the value to assign
ReturnsJSONObject
RelatedsetInt()
-setString()
-setBoolean()
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/JSONObject_setInt_.html b/Java/Processing/processing-3.3.6/modes/java/reference/JSONObject_setInt_.html deleted file mode 100644 index f04eb8a..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/JSONObject_setInt_.html +++ /dev/null @@ -1,178 +0,0 @@ - - - - JSONObject::setInt() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

JSONObject

Name

setInt()

Examples
-JSONObject json;
-
-void setup() {
-
-  json = new JSONObject();
-  
-  json.setInt("count", 88);
-  json.setFloat("weight", 35.432);
-  json.setString("name", "celery");
-  json.setBoolean("isFruit", false);
-
-  int count = json.getInt("count");
-  float weight = json.getFloat("weight");
-  String name = json.getString("name");
-  boolean isFruit = json.getBoolean("isFruit");
-
-  println(count + ", " + weight + ", " + name + ", " + isFruit);
-}
-
-// Sketch prints:
-// 88, 35.432, celery, false
-
-
Description -Inserts a new key/int pair into the JSONObject or, if a value with the specified key already exists, assigns a new value. -
Syntax
.setInt(key, value)
Parameters - - - - - - -
keyString: a key string
valueint: the value to assign
ReturnsJSONObject
RelatedsetFloat()
-setString()
-setBoolean()
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/JSONObject_setJSONArray_.html b/Java/Processing/processing-3.3.6/modes/java/reference/JSONObject_setJSONArray_.html deleted file mode 100644 index 2a8358a..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/JSONObject_setJSONArray_.html +++ /dev/null @@ -1,201 +0,0 @@ - - - - JSONObject::setJSONArray() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

JSONObject

Name

setJSONArray()

Examples
-String[] species = { "Capra hircus", "Panthera pardus", "Equus zebra" };
-String[] names = { "Goat", "Leopard", "Zebra" };
-
-JSONObject json;
-
-void setup() {
-  
-  JSONArray values = new JSONArray();
-
-  for (int i = 0; i < species.length; i++) {
-
-    JSONObject animal = new JSONObject();
-
-    animal.setInt("id", i);
-    animal.setString("species", species[i]);
-    animal.setString("name", names[i]);
-
-    values.setJSONObject(i, animal);
-  }
-  
-  json = new JSONObject();
-  json.setJSONArray("animals", values);
-
-  saveJSONObject(json, "data/new.json");
-}
-
-// Sketch saves the following to a file called "new.json":
-// {"animals": [
-//   {
-//     "id": 0,
-//     "species": "Capra hircus",
-//     "name": "Goat"
-//   },
-//   {
-//     "id": 1,
-//     "species": "Panthera pardus",
-//     "name": "Leopard"
-//   },
-//   {
-//     "id": 2,
-//     "species": "Equus zebra",
-//     "name": "Zebra"
-//   }
-// ]}
-
-
Description -Sets the value of the JSONArray with the associated key. -
Syntax
.setJSONArray(key, value)
Parameters - - - - - - -
keyString: a key string
valueJSONArray: value to assign
ReturnsJSONObject
RelatedsetJSONObject()
-getJSONObject()
-getJSONArray()
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/JSONObject_setJSONObject_.html b/Java/Processing/processing-3.3.6/modes/java/reference/JSONObject_setJSONObject_.html deleted file mode 100644 index 76740f1..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/JSONObject_setJSONObject_.html +++ /dev/null @@ -1,177 +0,0 @@ - - - - JSONObject::setJSONObject() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

JSONObject

Name

setJSONObject()

Examples
-JSONObject json;
-
-void setup() {
-
-  json = new JSONObject();
-
-  JSONObject lion = new JSONObject();
-  lion.setInt("id", 0);
-  lion.setString("species", "Panthera leo");
-
-  json.setJSONObject("lion", lion);
-
-  println(json);
-}
-
-// Sketch prints:
-// {"lion": {
-//   "id": 0,
-//   "species": "Panthera leo"
-// }}
-
-
Description -Sets the value of the JSONObject with the associated key. -
Syntax
.setJSONObject(key, value)
Parameters - - - - - - -
keyString: a key string
valueJSONObject: value to assign
ReturnsJSONObject
RelatedsetJSONArray()
-getJSONObject()
-getJSONArray()
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/JSONObject_setString_.html b/Java/Processing/processing-3.3.6/modes/java/reference/JSONObject_setString_.html deleted file mode 100644 index 45cc725..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/JSONObject_setString_.html +++ /dev/null @@ -1,178 +0,0 @@ - - - - JSONObject::setString() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

JSONObject

Name

setString()

Examples
-JSONObject json;
-
-void setup() {
-
-  json = new JSONObject();
-  
-  json.setInt("count", 88);
-  json.setFloat("weight", 35.432);
-  json.setString("name", "celery");
-  json.setBoolean("isFruit", false);
-
-  int count = json.getInt("count");
-  float weight = json.getFloat("weight");
-  String name = json.getString("name");
-  boolean isFruit = json.getBoolean("isFruit");
-
-  println(count + ", " + weight + ", " + name + ", " + isFruit);
-}
-
-// Sketch prints:
-// 88, 35.432, celery, false
-
-
Description -Inserts a new key/String pair into the JSONObject or, if a value with the specified key already exists, assigns a new value. -
Syntax
.setString(key, value)
Parameters - - - - - - -
keyString: a key string
valueString: the value to assign
ReturnsJSONObject
RelatedsetInt()
-setFloat()
-setBoolean()
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/Object.html b/Java/Processing/processing-3.3.6/modes/java/reference/Object.html deleted file mode 100644 index c140de2..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/Object.html +++ /dev/null @@ -1,187 +0,0 @@ - - - - Object \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

Object

Examples
-// Declare and construct two objects (h1, h2) from the class HLine 
-HLine h1 = new HLine(20, 2.0); 
-HLine h2 = new HLine(50, 2.5); 
- 
-void setup() 
-{
-  size(200, 200);
-  frameRate(30);
-}
-
-void draw() { 
-  background(204);
-  h1.update(); 
-  h2.update();  
-} 
- 
-class HLine { 
-  float ypos, speed; 
-  HLine (float y, float s) {  
-    ypos = y; 
-    speed = s; 
-  } 
-  void update() { 
-    ypos += speed; 
-    if (ypos > width) { 
-      ypos = 0; 
-    } 
-    line(0, ypos, width, ypos); 
-  } 
-} 
-
-
Description -Objects are instances of classes. A class is a grouping of related methods (functions) and fields (variables and constants). -
Syntax
-ClassName instanceName
-
Parameters - - - - - - -
ClassNamethe class from which to create the new object
instanceNamethe name for the new object
Relatedclass
- -Updated on April 30, 2017 02:33:23pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/PFont.html b/Java/Processing/processing-3.3.6/modes/java/reference/PFont.html deleted file mode 100644 index bc3eb57..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/PFont.html +++ /dev/null @@ -1,160 +0,0 @@ - - - - PFont \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - -
Name

PFont

Examples
example pic
-PFont font;
-// The font must be located in the sketch's 
-// "data" directory to load successfully
-font = createFont("LetterGothicStd.ttf", 32);
-textFont(font);
-text("word", 10, 50);
-
-
Description -PFont is the font class for Processing. To create a font to use with Processing, select "Create Font..." from the Tools menu. This will create a font in the format Processing requires and also adds it to the current sketch's data directory. Processing displays fonts using the .vlw font format, which uses images for each letter, rather than defining them through vector data. The loadFont() function constructs a new font and textFont() makes a font active. The list() method creates a list of the fonts installed on the computer, which is useful information to use with the createFont() function for dynamically converting fonts into a format to use with Processing.
-
-To create a new font dynamically, use the createFont() function. Do not use the syntax new PFont(). -
Methods - - - -
list()Gets a list of the fonts installed on the system
RelatedloadFont()
-createFont()
- -Updated on April 30, 2017 02:33:19pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/PFont_list_.html b/Java/Processing/processing-3.3.6/modes/java/reference/PFont_list_.html deleted file mode 100644 index ce249ab..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/PFont_list_.html +++ /dev/null @@ -1,151 +0,0 @@ - - - - PFont::list() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

PFont

Name

list()

Examples
-size(200, 200);
-String[] fontList = PFont.list();
-printArray(fontList);
-
-
Description -Gets a list of the fonts installed on the system. The data is returned as a String array. This list provides the names of each font for input into createFont(), which allows Processing to dynamically format fonts. -
Syntax
.list()
ReturnsString[]
- -Updated on April 30, 2017 02:33:19pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/PGraphics.html b/Java/Processing/processing-3.3.6/modes/java/reference/PGraphics.html deleted file mode 100644 index 13429aa..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/PGraphics.html +++ /dev/null @@ -1,175 +0,0 @@ - - - - PGraphics \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - -
Name

PGraphics

Examples
-PGraphics pg;
-
-void setup() {
-  size(100, 100);
-  pg = createGraphics(40, 40);
-}
-
-void draw() {
-  pg.beginDraw();
-  pg.background(100);
-  pg.stroke(255);
-  pg.line(20, 20, mouseX, mouseY);
-  pg.endDraw();
-  image(pg, 9, 30); 
-  image(pg, 51, 30);
-}
-
-
Description -Main graphics and rendering context, as well as the base API implementation for processing "core". Use this class if you need to draw into an off-screen graphics buffer. A PGraphics object can be constructed with the createGraphics() function. The beginDraw() and endDraw() methods (see above example) are necessary to set up the buffer and to finalize it. The fields and methods for this class are extensive. For a complete list, visit the developer's reference.
-
-To create a new graphics context, use the createGraphics() function. Do not use the syntax new PGraphics(). -
Methods - - - - - - - - -
beginDraw()Sets the default properties for a PGraphics object
endDraw()Finalizes the rendering of a PGraphics object
Constructor
PGraphics()
-
RelatedcreateGraphics()
- -Updated on April 30, 2017 02:33:19pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/PGraphics_beginDraw_.html b/Java/Processing/processing-3.3.6/modes/java/reference/PGraphics_beginDraw_.html deleted file mode 100644 index cbf901d..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/PGraphics_beginDraw_.html +++ /dev/null @@ -1,168 +0,0 @@ - - - - PGraphics::beginDraw() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

PGraphics

Name

beginDraw()

Examples
-PGraphics pg;
-
-void setup() {
-  size(100, 100);
-  pg = createGraphics(80, 80, P2D);
-  pg.beginDraw();
-  pg.background(102);
-  pg.stroke(255);
-  pg.line(20, 20, 80, 80);
-  pg.endDraw();
-  noLoop();
-}
-
-void draw() {
-  image(pg, 10, 10); 
-}
-
-
-
Description -Sets the default properties for a PGraphics object. It should be called before anything is drawn into the object. -
Syntax
graphics.beginDraw()
Parameters - - -
graphicsPGraphics: any object of the type PGraphics
Returnsvoid
- -Updated on April 30, 2017 02:33:19pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/PGraphics_endDraw_.html b/Java/Processing/processing-3.3.6/modes/java/reference/PGraphics_endDraw_.html deleted file mode 100644 index f58eda7..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/PGraphics_endDraw_.html +++ /dev/null @@ -1,168 +0,0 @@ - - - - PGraphics::endDraw() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

PGraphics

Name

endDraw()

Examples
-PGraphics pg;
-
-void setup() {
-  size(100, 100);
-  pg = createGraphics(80, 80, P2D);
-  pg.beginDraw();
-  pg.background(102);
-  pg.stroke(255);
-  pg.line(20, 20, 80, 80);
-  pg.endDraw();
-  noLoop();
-}
-
-void draw() {
-  image(pg, 10, 10); 
-}
-
-
-
Description -Finalizes the rendering of a PGraphics object so that it can be shown on screen. -
Syntax
graphics.endDraw()
Parameters - - -
graphicsPGraphics: any object of the type PGraphics
Returnsvoid
- -Updated on April 30, 2017 02:33:19pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/PI.html b/Java/Processing/processing-3.3.6/modes/java/reference/PI.html deleted file mode 100644 index bc99c1f..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/PI.html +++ /dev/null @@ -1,158 +0,0 @@ - - - - PI \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

PI

Examples
example pic
-float x = width/2;
-float y = height/2;
-float d = width * 0.8;
-arc(x, y, d, d, 0, QUARTER_PI);
-arc(x, y, d-20, d-20, 0, HALF_PI);
-arc(x, y, d-40, d-40, 0, PI);
-arc(x, y, d-60, d-60, 0, TWO_PI);
-
-
Description -PI is a mathematical constant with the value 3.1415927. It is the ratio of the circumference of a circle to its diameter. It is useful in combination with the trigonometric functions sin() and cos(). -
RelatedTWO_PI
-TAU
-HALF_PI
-QUARTER_PI
- -Updated on April 30, 2017 02:33:19pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/PImage.html b/Java/Processing/processing-3.3.6/modes/java/reference/PImage.html deleted file mode 100644 index 7ffd6f6..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/PImage.html +++ /dev/null @@ -1,227 +0,0 @@ - - - - PImage \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - -
Name

PImage

Examples
example pic
-PImage photo;
-
-void setup() {
-  size(100, 100);
-  photo = loadImage("laDefense.jpg");
-}
-
-void draw() {
-  image(photo, 0, 0);
-}
-
-
Description -Datatype for storing images. Processing can display .gif, .jpg, .tga, and .png images. Images may be displayed in 2D and 3D space. Before an image is used, it must be loaded with the loadImage() function. The PImage class contains fields for the width and height of the image, as well as an array called pixels[] that contains the values for every pixel in the image. The methods described below allow easy access to the image's pixels and alpha channel and simplify the process of compositing.
-
-Before using the pixels[] array, be sure to use the loadPixels() method on the image to make sure that the pixel data is properly loaded.
-
-To create a new image, use the createImage() function. Do not use the syntax new PImage(). -
Fields - - - - - - - - - - - - - -
pixels[]Array containing the color of every pixel in the image
widthImage width
heightImage height
Methods - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
loadPixels()Loads the pixel data for the image into its pixels[] array
updatePixels()Updates the image with the data in its pixels[] array
resize()Changes the size of an image to a new width and height
get()Reads the color of any pixel or grabs a rectangle of pixels
set()writes a color to any pixel or writes an image into another
mask()Masks part of an image with another image as an alpha channel
filter()Converts the image to grayscale or black and white
copy()Copies the entire image
blend()Copies a pixel or rectangle of pixels using different blending modes
save()Saves the image to a TIFF, TARGA, PNG, or JPEG file
Constructor
PImage(width, height, format, factor)
-
RelatedloadImage()
-imageMode()
-createImage()
- -Updated on April 30, 2017 02:33:19pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/PImage_blend_.html b/Java/Processing/processing-3.3.6/modes/java/reference/PImage_blend_.html deleted file mode 100644 index 31dfc5e..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/PImage_blend_.html +++ /dev/null @@ -1,258 +0,0 @@ - - - - PImage::blend() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

PImage

Name

blend()

Examples
example pic
-PImage mountains = loadImage("rockies.jpg");
-PImage bricks = loadImage("bricks.jpg"); 
-mountains.blend(bricks, 0, 0, 33, 100, 67, 0, 33, 100, ADD); 
-image(mountains, 0, 0);
-image(bricks, 0, 0);
-
- -
example pic
-PImage mountains = loadImage("rockies.jpg");
-PImage bricks = loadImage("bricks.jpg"); 
-mountains.blend(bricks, 0, 0, 33, 100, 67, 0, 33, 100, SUBTRACT); 
-image(mountains, 0, 0);
-image(bricks, 0, 0);
-
- -
example pic
-PImage mountains = loadImage("rockies.jpg");
-PImage bricks = loadImage("bricks.jpg"); 
-mountains.blend(bricks, 0, 0, 33, 100, 67, 0, 33, 100, DARKEST); 
-image(mountains, 0, 0);
-image(bricks, 0, 0);
-
- -
example pic
-PImage mountains = loadImage("rockies.jpg");
-PImage bricks = loadImage("bricks.jpg"); 
-mountains.blend(bricks, 0, 0, 33, 100, 67, 0, 33, 100, LIGHTEST); 
-image(mountains, 0, 0);
-image(bricks, 0, 0);
-
-
Description -Blends a region of pixels into the image specified by the img parameter. These copies utilize full alpha channel support and a choice of the following modes to blend the colors of source pixels (A) with the ones of pixels in the destination image (B):
-
-BLEND - linear interpolation of colours: C = A*factor + B
-
-ADD - additive blending with white clip: C = min(A*factor + B, 255)
-
-SUBTRACT - subtractive blending with black clip: C = max(B - A*factor, 0)
-
-DARKEST - only the darkest colour succeeds: C = min(A*factor, B)
-
-LIGHTEST - only the lightest colour succeeds: C = max(A*factor, B)
-
-DIFFERENCE - subtract colors from underlying image.
-
-EXCLUSION - similar to DIFFERENCE, but less extreme.
-
-MULTIPLY - Multiply the colors, result will always be darker.
-
-SCREEN - Opposite multiply, uses inverse values of the colors.
-
-OVERLAY - A mix of MULTIPLY and SCREEN. Multiplies dark values, -and screens light values.
-
-HARD_LIGHT - SCREEN when greater than 50% gray, MULTIPLY when lower.
-
-SOFT_LIGHT - Mix of DARKEST and LIGHTEST. -Works like OVERLAY, but not as harsh.
-
-DODGE - Lightens light tones and increases contrast, ignores darks. -Called "Color Dodge" in Illustrator and Photoshop.
-
-BURN - Darker areas are applied, increasing contrast, ignores lights. -Called "Color Burn" in Illustrator and Photoshop.
-
-All modes use the alpha information (highest byte) of source image pixels as the blending factor. If the source and destination regions are different sizes, the image will be automatically resized to match the destination size. If the src parameter is not used, the display window is used as the source image.
-
-As of release 0149, this function ignores imageMode(). -
Syntax
pimg.blend(sx, sy, sw, sh, dx, dy, dw, dh, mode)
-pimg.blend(src, sx, sy, sw, sh, dx, dy, dw, dh, mode)
Parameters - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
pimgPImage: any object of type PImage
srcPImage: an image variable referring to the source image
sxint: X coordinate of the source's upper left corner
syint: Y coordinate of the source's upper left corner
swint: source image width
shint: source image height
dxint: X coordinate of the destinations's upper left corner
dyint: Y coordinate of the destinations's upper left corner
dwint: destination image width
dhint: destination image height
modeint: Either BLEND, ADD, SUBTRACT, LIGHTEST, DARKEST, DIFFERENCE, EXCLUSION, MULTIPLY, SCREEN, OVERLAY, HARD_LIGHT, SOFT_LIGHT, DODGE, BURN
Returnsvoid
Relatedalpha()
-copy()
- -Updated on April 30, 2017 02:33:19pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/PImage_copy_.html b/Java/Processing/processing-3.3.6/modes/java/reference/PImage_copy_.html deleted file mode 100644 index 3ecd65e..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/PImage_copy_.html +++ /dev/null @@ -1,203 +0,0 @@ - - - - PImage::copy() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

PImage

Name

copy()

Examples
example pic
-PImage apples;
-
-void setup() {
-  size(100, 100);
-  apples = loadImage("apples.jpg");
-  int x = width/2;
-  apples.copy(x, 0, x, height, 0, 0, x, height);
-}
-
-void draw() {
-  image(apples, 0, 0);
-}
-
-
Description -Copies a region of pixels from one image into another. If the source and destination regions aren't the same size, it will automatically resize source pixels to fit the specified target region. No alpha information is used in the process, however if the source image has an alpha channel set, it will be copied as well. -

-As of release 0149, this function ignores imageMode(). -
Syntax
pimg.copy()
-pimg.copy(sx, sy, sw, sh, dx, dy, dw, dh)
-pimg.copy(src, sx, sy, sw, sh, dx, dy, dw, dh)
Parameters - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
pimgPImage: any object of type PImage
sxint: X coordinate of the source's upper left corner
syint: Y coordinate of the source's upper left corner
swint: source image width
shint: source image height
dxint: X coordinate of the destination's upper left corner
dyint: Y coordinate of the destination's upper left corner
dwint: destination image width
dhint: destination image height
srcPImage: an image variable referring to the source image.
Returnsvoid or PImage
Relatedblend()
- -Updated on April 30, 2017 02:33:19pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/PImage_filter_.html b/Java/Processing/processing-3.3.6/modes/java/reference/PImage_filter_.html deleted file mode 100644 index 0f9c5bf..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/PImage_filter_.html +++ /dev/null @@ -1,288 +0,0 @@ - - - - PImage::filter() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

PImage

Name

filter()

Examples
example pic
-PImage img1, img2;
-
-void setup() {
-  size(100, 100);
-  img1 = loadImage("apples.jpg");
-  img2 = loadImage("apples.jpg");
-  img1.filter(THRESHOLD, 0.3);
-  img2.filter(THRESHOLD, 0.7);
-}
-
-void draw() {
-  image(img1, 0, 0);
-  image(img2, width/2, 0);
-}
-
- -
example pic
-PImage img1, img2;
-
-void setup() {
-  img1 = loadImage("apples.jpg");
-  img2 = loadImage("apples.jpg");
-  img2.filter(GRAY);
-}
-
-void draw() {
-  image(img1, 0, 0);
-  image(img2, width/2, 0);
-}
-
- -
example pic
-PImage img1, img2;
-
-void setup() {
-  img1 = loadImage("apples.jpg");
-  img2 = loadImage("apples.jpg");
-  img2.filter(INVERT);
-}
-
-void draw() {
-  image(img1, 0, 0);
-  image(img2, width/2, 0);
-}
-
- -
example pic
-PImage img1, img2;
-
-void setup() {
-  img1 = loadImage("apples.jpg");
-  img2 = loadImage("apples.jpg");
-  img2.filter(POSTERIZE, 4);
-}
-
-void draw() {
-  image(img1, 0, 0);
-  image(img2, width/2, 0);
-}
-
- -
example pic
-PImage img1, img2;
-
-void setup() {
-  img1 = loadImage("apples.jpg");
-  img2 = loadImage("apples.jpg");
-  img2.filter(BLUR, 6);
-}
-
-void draw() {
-  image(img1, 0, 0);
-  image(img2, width/2, 0);
-}
-
- -
example pic
-PImage img1, img2;
-
-void setup() {
-  img1 = loadImage("apples.jpg");
-  img2 = loadImage("apples.jpg");
-  img2.filter(ERODE);
-}
-
-void draw() {
-  image(img1, 0, 0);
-  image(img2, width/2, 0);
-}
-
- -
example pic
-PImage img1, img2;
-
-void setup() {
-  img1 = loadImage("apples.jpg");
-  img2 = loadImage("apples.jpg");
-  img2.filter(DILATE);
-}
-
-void draw() {
-  image(img1, 0, 0);
-  image(img2, width/2, 0);
-}
-
-
Description -Filters the image as defined by one of the following modes:
-
-THRESHOLD
-Converts the image to black and white pixels depending if they are above or below the threshold defined by the level parameter. The parameter must be between 0.0 (black) and 1.0 (white). If no level is specified, 0.5 is used.
-
-GRAY
-Converts any colors in the image to grayscale equivalents. No parameter is used.
-
-OPAQUE
-Sets the alpha channel to entirely opaque. No parameter is used.
-
-INVERT
-Sets each pixel to its inverse value. No parameter is used.
-
-POSTERIZE
-Limits each channel of the image to the number of colors specified as the parameter. The parameter can be set to values between 2 and 255, but results are most noticeable in the lower ranges.
-
-BLUR
-Executes a Guassian blur with the level parameter specifying the extent of the blurring. If no parameter is used, the blur is equivalent to Guassian blur of radius 1. Larger values increase the blur.
-
-ERODE
-Reduces the light areas. No parameter is used.
-
-DILATE
-Increases the light areas. No parameter is used. -
Syntax
pimg.filter(kind)
-pimg.filter(kind, param)
Parameters - - - - - - - - - - -
pimgPImage: any object of type PImage
kindint: Either THRESHOLD, GRAY, OPAQUE, INVERT, POSTERIZE, BLUR, ERODE, or DILATE
paramfloat: unique for each, see above
Returnsvoid
- -Updated on April 30, 2017 02:33:19pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/PImage_get_.html b/Java/Processing/processing-3.3.6/modes/java/reference/PImage_get_.html deleted file mode 100644 index e531cb0..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/PImage_get_.html +++ /dev/null @@ -1,188 +0,0 @@ - - - - PImage::get() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

PImage

Name

get()

Examples
example pic
-PImage mountains = loadImage("rockies.jpg");
-background(mountains);
-noStroke();
-color c = mountains.get(60, 90);
-fill(c);
-rect(25, 25, 50, 50);
-
- -
example pic
-PImage mountains = loadImage("rockies.jpg");
-background(mountains);
-PImage newMountains = mountains.get(50, 0, 50, 100); 
-image(newMountains, 0, 0); 
-
-
Description -Reads the color of any pixel or grabs a section of an image. If no parameters are specified, the entire image is returned. Use the x and y parameters to get the value of one pixel. Get a section of the display window by specifying an additional width and height parameter. When getting an image, the x and y parameters define the coordinates for the upper-left corner of the image, regardless of the current imageMode().
-
-If the pixel requested is outside of the image window, black is returned. The numbers returned are scaled according to the current color ranges, but only RGB values are returned by this function. For example, even though you may have drawn a shape with colorMode(HSB), the numbers returned will be in RGB format.
-
-Getting the color of a single pixel with get(x, y) is easy, but not as fast as grabbing the data directly from pixels[]. The equivalent statement to get(x, y) using pixels[] is pixels[y*width+x]. See the reference for pixels[] for more information. -
Syntax
pimg.get(x, y)
-pimg.get(x, y, w, h)
-pimg.get()
Parameters - - - - - - - - - - - - - - - - - - -
pimgPImage: any object of type PImage
xint: x-coordinate of the pixel
yint: y-coordinate of the pixel
wint: width of pixel rectangle to get
hint: height of pixel rectangle to get
Returnsint or PImage
Relatedset()
-pixels[]
-copy()
- -Updated on April 30, 2017 02:33:19pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/PImage_height.html b/Java/Processing/processing-3.3.6/modes/java/reference/PImage_height.html deleted file mode 100644 index 39af86f..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/PImage_height.html +++ /dev/null @@ -1,156 +0,0 @@ - - - - PImage::height \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

PImage

Name

height

Examples
example pic
-PImage tiles = loadImage("tiles.jpg");
-image(tiles, 20, 10);
-rect(55, 10, tiles.width, tiles.height);
-
-
Description -The height of the image in units of pixels. -
Syntax
pimg.height
-
Parameters - - - -
pimgPImage: any object of type PImage
- -Updated on April 30, 2017 02:33:19pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/PImage_loadPixels_.html b/Java/Processing/processing-3.3.6/modes/java/reference/PImage_loadPixels_.html deleted file mode 100644 index 5a4ff86..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/PImage_loadPixels_.html +++ /dev/null @@ -1,170 +0,0 @@ - - - - PImage::loadPixels() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

PImage

Name

loadPixels()

Examples
example pic
-PImage myImage;
-int halfImage;
-
-void setup() {
-  size(100, 100);
-  halfImage = width * height/2;
-  myImage = loadImage("apples.jpg");
-  myImage.loadPixels();
-  for (int i = 0; i < halfImage; i++) {
-    myImage.pixels[i+halfImage] = myImage.pixels[i];
-  }
-  myImage.updatePixels();
-}
-
-void draw() {
-  image(myImage, 0, 0);
-}
-
-
Description -Loads the pixel data for the image into its pixels[] array. This function must always be called before reading from or writing to pixels[]. -

-Certain renderers may or may not seem to require loadPixels() or updatePixels(). However, the rule is that any time you want to manipulate the pixels[] array, you must have previously called loadPixels(), and after changes have been made, call updatePixels(). Even if the renderer may not seem to use this function in the current Processing release, this will always be subject to change. -
Syntax
pimg.loadPixels()
Parameters - - -
pimgPImage: any object of type PImage
Returnsvoid
- -Updated on April 30, 2017 02:33:19pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/PImage_mask_.html b/Java/Processing/processing-3.3.6/modes/java/reference/PImage_mask_.html deleted file mode 100644 index aabbd05..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/PImage_mask_.html +++ /dev/null @@ -1,171 +0,0 @@ - - - - PImage::mask() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

PImage

Name

mask()

Examples
example pic
-PImage photo, maskImage;
-
-void setup() {
-  size(100, 100);
-  photo = loadImage("test.jpg");
-  maskImage = loadImage("mask.jpg");
-  photo.mask(maskImage);
-}
-
-void draw() {
-  image(photo, 0, 0);
-  image(photo, width/4, 0);
-}
-
-
Description -Masks part of an image from displaying by loading another image and using it as an alpha channel. This mask image should only contain grayscale data, but only the blue color channel is used. The mask image needs to be the same size as the image to which it is applied.
-
-In addition to using a mask image, an integer array containing the alpha channel data can be specified directly. This method is useful for creating dynamically generated alpha masks. This array must be of the same length as the target image's pixels array and should contain only grayscale data of values between 0-255. -
Syntax
pimg.mask(maskArray)
-pimg.mask(img)
Parameters - - - - - - -
pimgPImage: any object of type PImage
imgPImage: image to use as the mask
Returnsvoid
- -Updated on April 30, 2017 02:33:19pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/PImage_pixels.html b/Java/Processing/processing-3.3.6/modes/java/reference/PImage_pixels.html deleted file mode 100644 index c4668be..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/PImage_pixels.html +++ /dev/null @@ -1,171 +0,0 @@ - - - - PImage::pixels[] \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

PImage

Name

pixels[]

Examples
example pic
-PImage tower;
-
-void setup() {
-  size(100, 100);
-  tower = loadImage("tower.jpg");
-  int dimension = tower.width * tower.height;
-  tower.loadPixels();
-  for (int i = 0; i < dimension; i += 2) { 
-    tower.pixels[i] = color(0, 0, 0); 
-  } 
-  tower.updatePixels();
-}
-
-void draw() {
-  image(tower, 0, 0);
-}
-
-
Description -Array containing the values for all the pixels in the image. These values are of the color datatype. This array is the size of the image, meaning if the image is 100 x 100 pixels, there will be 10000 values and if the window is 200 x 300 pixels, there will be 60000 values.
-
-Before accessing this array, the data must loaded with the loadPixels() method. Failure to do so may result in a NullPointerException. After the array data has been modified, the updatePixels() method must be run to update the content of the display window. -
Syntax
pimg.pixels[]
-
Parameters - - - -
pimgPImage: any object of type PImage
- -Updated on April 30, 2017 02:33:19pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/PImage_resize_.html b/Java/Processing/processing-3.3.6/modes/java/reference/PImage_resize_.html deleted file mode 100644 index 53ce2a7..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/PImage_resize_.html +++ /dev/null @@ -1,172 +0,0 @@ - - - - PImage::resize() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

PImage

Name

resize()

Examples
example pic
-PImage jelly = loadImage("jelly.jpg");
-image(jelly, 0, 0);
-jelly.resize(100, 50);
-image(jelly, 0, 0);
-
- -
example pic
-PImage jelly = loadImage("jelly.jpg");
-image(jelly, 0, 0);
-jelly.resize(0, 50);
-image(jelly, 0, 0);
-
-
Description -Resize the image to a new width and height. To make the image scale proportionally, use 0 as the value for the wide or high parameter. For instance, to make the width of an image 150 pixels, and change the height using the same proportion, use resize(150, 0).
-
-Even though a PGraphics is technically a PImage, it is not possible to rescale the image data found in a PGraphics. (It's simply not possible to do this consistently across renderers: technically infeasible with P3D, or what would it even do with PDF?) If you want to resize PGraphics content, first get a copy of its image data using the get() method, and call resize() on the PImage that is returned. -
Syntax
pimg.resize(w, h)
Parameters - - - - - - - - - - -
pimgPImage: any object of type PImage
wint: the resized image width
hint: the resized image height
Returnsvoid
Relatedget()
- -Updated on April 30, 2017 02:33:19pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/PImage_save_.html b/Java/Processing/processing-3.3.6/modes/java/reference/PImage_save_.html deleted file mode 100644 index bf7ecc5..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/PImage_save_.html +++ /dev/null @@ -1,166 +0,0 @@ - - - - PImage::save() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

PImage

Name

save()

Examples
-PImage tower = loadImage("tower.jpg");
-tower.save("outputImage.jpg");
-
-
-
-
-size(100, 100);
-PImage tower = loadImage("tower.jpg");
-PImage newImage = createImage(100, 100, RGB);
-newImage = tower.get();
-newImage.save("outputImage.jpg");
-
-
Description -Saves the image into a file. Images are saved in TIFF, TARGA, JPEG, and PNG format depending on the extension within the filename parameter. For example, "image.tif" will have a TIFF image and "image.png" will save a PNG image. If no extension is included in the filename, the image will save in TIFF format and .tif will be added to the name. These files are saved to the sketch's folder, which may be opened by selecting "Show sketch folder" from the "Sketch" menu. It is not possible to use save() while running the program in a web browser.

To save an image created within the code, rather than through loading, it's necessary to make the image with the createImage() function so it is aware of the location of the program and can therefore save the file to the right place. See the createImage() reference for more information. -
Syntax
pimg.save(filename)
Parameters - - - - - - -
pimgPImage: any object of type PImage
filenameString: a sequence of letters and numbers
Returnsboolean
- -Updated on April 30, 2017 02:33:19pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/PImage_set_.html b/Java/Processing/processing-3.3.6/modes/java/reference/PImage_set_.html deleted file mode 100644 index 4183fd7..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/PImage_set_.html +++ /dev/null @@ -1,189 +0,0 @@ - - - - PImage::set() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

PImage

Name

set()

Examples
example pic
-PImage tower;
-
-void setup() {
-  size(100, 100);
-  tower = loadImage("tower.jpg");
-  color black = color(0);
-  tower.set(30, 20, black); 
-  tower.set(85, 20, black); 
-  tower.set(85, 75, black); 
-  tower.set(30, 75, black); 
-}
-
-void draw() {
-  image(tower, 0, 0);
-}
-
-
Description -Changes the color of any pixel or writes an image directly into the display window.
-
-The x and y parameters specify the pixel to change and the color parameter specifies the color value. The color parameter is affected by the current color mode (the default is RGB values from 0 to 255). When setting an image, the x and y parameters define the coordinates for the upper-left corner of the image, regardless of the current imageMode(). -

-Setting the color of a single pixel with set(x, y) is easy, but not as fast as putting the data directly into pixels[]. The equivalent statement to set(x, y, #000000) using pixels[] is pixels[y*width+x] = #000000. See the reference for pixels[] for more information. -
Syntax
pimg.set(x, y, c)
-pimg.set(x, y, img)
Parameters - - - - - - - - - - - - - - - - - - -
pimgPImage: any object of type PImage
xint: x-coordinate of the pixel
yint: y-coordinate of the pixel
cint: any value of the color datatype
imgPImage: image to copy into the original image
Returnsvoid
Relatedget()
-pixels[]
-copy()
- -Updated on April 30, 2017 02:33:19pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/PImage_updatePixels_.html b/Java/Processing/processing-3.3.6/modes/java/reference/PImage_updatePixels_.html deleted file mode 100644 index 323edd7..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/PImage_updatePixels_.html +++ /dev/null @@ -1,189 +0,0 @@ - - - - PImage::updatePixels() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

PImage

Name

updatePixels()

Examples
example pic
-PImage myImage;
-int halfImage;
-
-void setup() {
-  size(100, 100);
-  halfImage = width * height/2;
-  myImage = loadImage("apples.jpg");
-  myImage.loadPixels();
-  for (int i = 0; i < halfImage; i++) {
-    myImage.pixels[i+halfImage] = myImage.pixels[i];
-  }
-  myImage.updatePixels();
-}
-
-void draw() {
-  image(myImage, 0, 0);
-}
-
-
Description -Updates the image with the data in its pixels[] array. Use in conjunction with loadPixels(). If you're only reading pixels from the array, there's no need to call updatePixels(). -

-Certain renderers may or may not seem to require loadPixels() or updatePixels(). However, the rule is that any time you want to manipulate the pixels[] array, you must first call loadPixels(), and after changes have been made, call updatePixels(). Even if the renderer may not seem to use this function in the current Processing release, this will always be subject to change. -

-Currently, none of the renderers use the additional parameters to updatePixels(), however this may be implemented in the future. -
Syntax
pimg.updatePixels()
-pimg.updatePixels(x, y, w, h)
Parameters - - - - - - - - - - - - - - - - - - -
pimgPImage: any object of type PImage
xint: x-coordinate of the upper-left corner
yint: y-coordinate of the upper-left corner
wint: width
hint: height
Returnsvoid
- -Updated on April 30, 2017 02:33:19pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/PImage_width.html b/Java/Processing/processing-3.3.6/modes/java/reference/PImage_width.html deleted file mode 100644 index 01e06dc..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/PImage_width.html +++ /dev/null @@ -1,156 +0,0 @@ - - - - PImage::width \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

PImage

Name

width

Examples
example pic
-PImage tiles = loadImage("tiles.jpg");
-image(tiles, 20, 10);
-rect(55, 10, tiles.width, tiles.height);
-
-
Description -The width of the image in units of pixels. -
Syntax
pimg.width
-
Parameters - - - -
pimgPImage: any object of type PImage
- -Updated on April 30, 2017 02:33:19pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/PShader.html b/Java/Processing/processing-3.3.6/modes/java/reference/PShader.html deleted file mode 100644 index 57cdce7..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/PShader.html +++ /dev/null @@ -1,190 +0,0 @@ - - - - PShader \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - -
Name

PShader

Examples
-PShader blur;
-
-void setup() {
-  size(640, 360, P2D);
-  // Shaders files must be in the "data" folder to load correctly
-  blur = loadShader("blur.glsl"); 
-  stroke(0, 102, 153);
-  rectMode(CENTER);
-}
-
-void draw() {
-  filter(blur);  
-  rect(mouseX-75, mouseY, 150, 150); 
-  ellipse(mouseX+75, mouseY, 150, 150);
-}
-
-
Description -This class encapsulates a GLSL shader program, including a vertex and a fragment shader. It's compatible with the P2D and P3D renderers, but not with the default renderer. Use the loadShader() function to load your shader code. [Note: It's strongly encouraged to use loadShader() to create a PShader object, rather than calling the PShader constructor manually.] -
Methods - - - -
set()Sets a variable within the shader
Constructor
PShader()
-PShader(parent)
-PShader(parent, vertFilename, fragFilename)
-PShader(parent, vertURL, fragURL)
-PShader(parent, vertSource, fragSource)
-
Parameters - - - - - - - - - - - - - - - - - - -
parentPApplet: the parent program
vertFilenameString: name of the vertex shader
fragFilenameString: name of the fragment shader
vertURLURL: network location of the vertex shader
fragURLURL: network location of the fragment shader
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/PShader_set_.html b/Java/Processing/processing-3.3.6/modes/java/reference/PShader_set_.html deleted file mode 100644 index 3b9d5e9..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/PShader_set_.html +++ /dev/null @@ -1,212 +0,0 @@ - - - - PShader::set() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

PShader

Name

set()

Examples
-PImage tex;
-PShader deform;
-
-void setup() {
-  size(640, 360, P2D);
-  tex = loadImage("tex1.jpg");
-  deform = loadShader("deform.glsl");
-  deform.set("resolution", float(width), float(height));
-}
-
-void draw() {
-  deform.set("time", millis() / 1000.0);
-  deform.set("mouse", float(mouseX), float(mouseY));
-  shader(deform);
-  image(tex, 0, 0, width, height);
-}
-
-
Description -Sets the uniform variables inside the shader to modify the effect while the program is running. -
Syntax
.set(name, x)
-.set(name, x, y)
-.set(name, x, y, z)
-.set(name, x, y, z, w)
-.set(name, vec)
-.set(name, vec, ncoords)
-.set(name, boolvec, ncoords)
-.set(name, mat)
-.set(name, mat, use3x3)
-.set(name, tex)
Parameters - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
nameString: the name of the uniform variable to modify
xboolean, float, or int: first component of the variable to modify
yboolean, float, or int: second component of the variable to modify. The variable has to be declared with an array/vector type in the shader (i.e.: int[2], vec2)
zboolean, float, or int: third component of the variable to modify. The variable has to be declared with an array/vector type in the shader (i.e.: int[3], vec3)
wboolean, float, or int: fourth component of the variable to modify. The variable has to be declared with an array/vector type in the shader (i.e.: int[4], vec4)
vecboolean[], float[], int[], or PVector: modifies all the components of an array/vector uniform variable. PVector can only be used if the type of the variable is vec3.
ncoordsint: number of coordinates per element, max 4
matPMatrix3D, or PMatrix2D: matrix of values
use3x3boolean: enforces the matrix is 3 x 3
texPImage: sets the sampler uniform variable to read from this image texture
Returnsvoid
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/PShape.html b/Java/Processing/processing-3.3.6/modes/java/reference/PShape.html deleted file mode 100644 index 6bed844..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/PShape.html +++ /dev/null @@ -1,304 +0,0 @@ - - - - PShape \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - -
Name

PShape

Examples
-PShape s;
-
-void setup() {
-  size(100, 100);
-  // The file "bot.svg" must be in the data folder
-  // of the current sketch to load successfully
-  s = loadShape("bot.svg");
-}
-
-void draw() {
-  shape(s, 10, 10, 80, 80);
-}
-
-
-
-PShape square;  // The PShape object
-
-void setup() {  
-  size(100, 100);
-  // Creating the PShape as a square. The corner 
-  // is 0,0 so that the center is at 40,40 
-  square = createShape(RECT, 0, 0, 80, 80);
-}
-
-void draw() {
-  shape(square, 10, 10);
-}
-
-
Description -Datatype for storing shapes. Before a shape is used, it must be loaded with the loadShape() or created with the createShape(). The shape() function is used to draw the shape to the display window. Processing can currently load and display SVG (Scalable Vector Graphics) and OBJ shapes. OBJ files can only be opened using the P3D renderer. The loadShape() function supports SVG files created with Inkscape and Adobe Illustrator. It is not a full SVG implementation, but offers some straightforward support for handling vector data. -

-The PShape object contains a group of methods that can operate on the shape data. Some of the methods are listed below, but the full list used for creating and modifying shapes is available here in the Processing Javadoc.
-
-To create a new shape, use the createShape() function. Do not use the syntax new PShape(). -
Fields - - - - - - - - -
widthShape document width
heightShape document height
Methods - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
isVisible()Returns a boolean value "true" if the image is set to be visible, "false" if not
setVisible()Sets the shape to be visible or invisible
disableStyle()Disables the shape's style data and uses Processing styles
enableStyle()Enables the shape's style data and ignores the Processing styles
beginContour()Starts a new contour
endContour()Ends a contour
beginShape()Starts the creation of a new PShape
endShape()Finishes the creation of a new PShape
getChildCount()Returns the number of children
getChild()Returns a child element of a shape as a PShape object
addChild()Adds a new child
getVertexCount()Returns the total number of vertices as an int
getVertex()Returns the vertex at the index position
setVertex()Sets the vertex at the index position
setFill()Set the fill value
setStroke()Set the stroke value
translate()Displaces the shape
rotateX()Rotates the shape around the x-axis
rotateY()Rotates the shape around the y-axis
rotateZ()Rotates the shape around the z-axis
rotate()Rotates the shape
scale()Increases and decreases the size of a shape
resetMatrix()Replaces the current matrix of a shape with the identity matrix
Constructor
PShape(g, kind, params)
-
RelatedloadShape()
-createShape()
-shapeMode()
- -Updated on April 30, 2017 02:33:19pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/PShape_addChild_.html b/Java/Processing/processing-3.3.6/modes/java/reference/PShape_addChild_.html deleted file mode 100644 index 863d805..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/PShape_addChild_.html +++ /dev/null @@ -1,189 +0,0 @@ - - - - PShape::addChild() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

PShape

Name

addChild()

Examples
-
-PShape group;
-
-void setup() {
-
-  // Make a group PShape
-  group = createShape(GROUP);
-  
-  // Make three shapes
-  PShape path = createShape();
-  path.beginShape();
-  path.vertex(-20, -20);
-  path.vertex(0, -40);
-  path.vertex(20, -20);
-  path.endShape();
-  PShape rectangle = createShape(RECT, -20, -20, 40, 40);
-  PShape circle = createShape(ELLIPSE, 0, 0, 20, 20);
-  
-  // Add all three as children
-  group.addChild(path);
-  group.addChild(rectangle);
-  group.addChild(circle);
-}
-
-void draw() {
-  background(52);
-  translate(mouseX, mouseY);
-  shape(group);
-}
-
-
Description -This is a new reference entry for Processing 2.0. It will be updated shortly. For now, please check the Examples to see how to use this new syntax. -
Syntax
sh.addChild(who)
-sh.addChild(who, idx)
Parameters - - - - - - - - - - -
shPShape: any variable of type PShape
whoPShape: any variable of type PShape
idxint: the layer position in which to insert the new child
Returnsvoid
RelatedgetChild()
- -Updated on April 30, 2017 02:33:19pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/PShape_beginContour_.html b/Java/Processing/processing-3.3.6/modes/java/reference/PShape_beginContour_.html deleted file mode 100644 index 2be0188..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/PShape_beginContour_.html +++ /dev/null @@ -1,187 +0,0 @@ - - - - PShape::beginContour() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

PShape

Name

beginContour()

Examples
-PShape s;
-
-void setup() {
-  size(100, 100);
-
-  // Make a shape
-  s = createShape();
-  s.beginShape();
-  s.noStroke();
-
-  // Exterior part of shape
-  s.vertex(-50,-50);
-  s.vertex(50,-50);
-  s.vertex(50,50);
-  s.vertex(-50,50);
-
-  // Interior part of shape
-  s.beginContour();
-  s.vertex(-20,-20);
-  s.vertex(-20,20);
-  s.vertex(20,20);
-  s.vertex(20,-20);
-  s.endContour();
-
-  // Finish off shape
-  s.endShape();
-}
-
-void draw() {
-  background(52);
-  translate(width/2, height/2);
-  s.rotate(0.01);
-  shape(s);
-}
-
-
Description -The beginContour() and endContour() methods make it possible to define shapes with other shapes cut out of them. For example, the inside of a letter 'O'. These two functions are always used together, you'll never use one without the other. Between them, define the geometry you want to create. As you'll see when you run the example above, the second smaller shape is cut out of the first larger shape.
-
-The exterior shape and the interior contour must wind in opposite directions. This means that if the points of the geometry for the exterior shape are described in a clockwise order, the points on the interior shape are defined in a counterclockwise order. -
Syntax
sh.beginContour()
Parameters - - -
shPShape: any variable of type PShape
Returnsvoid
RelatedendContour()
- -Updated on April 30, 2017 02:33:19pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/PShape_beginShape_.html b/Java/Processing/processing-3.3.6/modes/java/reference/PShape_beginShape_.html deleted file mode 100644 index ff3baf3..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/PShape_beginShape_.html +++ /dev/null @@ -1,169 +0,0 @@ - - - - PShape::beginShape() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

PShape

Name

beginShape()

Examples
-PShape s;  // The PShape object
-
-void setup() {  
-  size(100, 100);
-  s = createShape();
-  s.beginShape();
-  s.fill(0, 0, 255);
-  s.noStroke();
-  s.vertex(0, 0);
-  s.vertex(0, 50);
-  s.vertex(50, 0);
-  s.endShape();
-}
-
-void draw() {
-  shape(s, 25, 25);
-}
-
-
Description -This method is used to start a custom shape created with the createShape() function. It's always and only used with createShape(). -
Syntax
sh.beginShape()
-sh.beginShape(kind)
Parameters - - -
shPShape: any variable of type PShape
Returnsvoid
RelatedendShape()
- -Updated on April 30, 2017 02:33:19pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/PShape_disableStyle_.html b/Java/Processing/processing-3.3.6/modes/java/reference/PShape_disableStyle_.html deleted file mode 100644 index 20ec53f..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/PShape_disableStyle_.html +++ /dev/null @@ -1,165 +0,0 @@ - - - - PShape::disableStyle() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

PShape

Name

disableStyle()

Examples
example pic
-PShape s;
-
-void setup() {
-  // The file "bot.svg" must be in the data folder
-  // of the current sketch to load successfully
-  s = loadShape("bot.svg");
-}
-
-void draw() {
-  s.disableStyle();
-  shape(s, -30, 10, 80, 80);
-  s.enableStyle();
-  shape(s, 50, 10, 80, 80);
-}
-
-
Description -Disables the shape's style data and uses Processing's current styles. Styles include attributes such as colors, stroke weight, and stroke joints. -
Syntax
sh.disableStyle()
Parameters - - -
shPShape: any variable of type PShape
Returnsvoid
RelatedenableStyle()
- -Updated on April 30, 2017 02:33:19pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/PShape_enableStyle_.html b/Java/Processing/processing-3.3.6/modes/java/reference/PShape_enableStyle_.html deleted file mode 100644 index 455389a..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/PShape_enableStyle_.html +++ /dev/null @@ -1,165 +0,0 @@ - - - - PShape::enableStyle() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

PShape

Name

enableStyle()

Examples
example pic
-PShape s;
-
-void setup() {
-  // The file "bot.svg" must be in the data folder
-  // of the current sketch to load successfully
-  s = loadShape("bot.svg");
-}
-
-void draw() {
-  s.disableStyle();
-  shape(s, -30, 10, 80, 80);
-  s.enableStyle();
-  shape(s, 50, 10, 80, 80);
-}
-
-
Description -Enables the shape's style data and ignores Processing's current styles. Styles include attributes such as colors, stroke weight, and stroke joints. -
Syntax
sh.enableStyle()
Parameters - - -
shPShape: any variable of type PShape
Returnsvoid
RelateddisableStyle()
- -Updated on April 30, 2017 02:33:19pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/PShape_endContour_.html b/Java/Processing/processing-3.3.6/modes/java/reference/PShape_endContour_.html deleted file mode 100644 index 0cd0a2c..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/PShape_endContour_.html +++ /dev/null @@ -1,187 +0,0 @@ - - - - PShape::endContour() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

PShape

Name

endContour()

Examples
-PShape s;
-
-void setup() {
-  size(100, 100);
-
-  // Make a shape
-  s = createShape();
-  s.beginShape();
-  s.noStroke();
-
-  // Exterior part of shape
-  s.vertex(-50,-50);
-  s.vertex(50,-50);
-  s.vertex(50,50);
-  s.vertex(-50,50);
-
-  // Interior part of shape
-  s.beginContour();
-  s.vertex(-20,-20);
-  s.vertex(-20,20);
-  s.vertex(20,20);
-  s.vertex(20,-20);
-  s.endContour();
-
-  // Finish off shape
-  s.endShape();
-}
-
-void draw() {
-  background(52);
-  translate(width/2, height/2);
-  s.rotate(0.01);
-  shape(s);
-}
-
-
Description -The beginContour() and endContour() methods make it possible to define shapes with other shapes cut out of them. For example, the inside of a letter 'O'. These two functions are always used together, you'll never use one without the other. Between them, define the geometry you want to create. As you'll see when you run the example above, the second smaller shape is cut out of the first larger shape.
-
-The exterior shape and the interior contour must wind in opposite directions. This means that if the points of the geometry for the exterior shape are described in a clockwise order, the points on the interior shape are defined in a counterclockwise order. -
Syntax
sh.endContour()
Parameters - - -
shPShape: any variable of type PShape
Returnsvoid
RelatedbeginContour()
- -Updated on April 30, 2017 02:33:19pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/PShape_endShape_.html b/Java/Processing/processing-3.3.6/modes/java/reference/PShape_endShape_.html deleted file mode 100644 index 7bc10e8..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/PShape_endShape_.html +++ /dev/null @@ -1,169 +0,0 @@ - - - - PShape::endShape() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

PShape

Name

endShape()

Examples
-PShape s;  // The PShape object
-
-void setup() {  
-  size(100, 100);
-  s = createShape();
-  s.beginShape();
-  s.fill(0, 0, 255);
-  s.noStroke();
-  s.vertex(0, 0);
-  s.vertex(0, 50);
-  s.vertex(50, 0);
-  s.endShape();
-}
-
-void draw() {
-  shape(s, 25, 25);
-}
-
-
Description -This method is used to complete a custom shape created with the createShape() function. It's always and only used with createShape(). -
Syntax
sh.endShape()
-sh.endShape(mode)
Parameters - - -
shPShape: any variable of type PShape
Returnsvoid
RelatedbeginShape()
- -Updated on April 30, 2017 02:33:19pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/PShape_getChildCount_.html b/Java/Processing/processing-3.3.6/modes/java/reference/PShape_getChildCount_.html deleted file mode 100644 index e9047bb..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/PShape_getChildCount_.html +++ /dev/null @@ -1,159 +0,0 @@ - - - - PShape::getChildCount() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

PShape

Name

getChildCount()

Examples
-PShape states;
-
-void setup() {
-  size(100, 100);
-  states = loadShape("tristate.svg");
-  int count = states.getChildCount();
-  println(count);
-}
-
-
Description -Returns the number of children within the PShape. -
Syntax
sh.getChildCount()
Parameters - - -
shPShape: any variable of type PShape
Returnsint
- -Updated on April 30, 2017 02:33:19pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/PShape_getChild_.html b/Java/Processing/processing-3.3.6/modes/java/reference/PShape_getChild_.html deleted file mode 100644 index 47e3e6e..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/PShape_getChild_.html +++ /dev/null @@ -1,176 +0,0 @@ - - - - PShape::getChild() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

PShape

Name

getChild()

Examples
example pic
-PShape states;
-PShape ohio;
-
-void setup() {
-  size(100, 100);
-  states = loadShape("tristate.svg");
-  ohio = states.getChild("OH");
-  ohio.disableStyle();
-}
-
-void draw() {
-  background(0);
-  shape(states, -48, 5);
-  fill(102, 0, 0);
-  shape(ohio, -48, 5);
-}
-
-
Description -Extracts a child shape from a parent shape. Specify the name of the shape with the target parameter. The shape is returned as a PShape object, or null is returned if there is an error. -
Syntax
sh.getChild(index)
-sh.getChild(target)
Parameters - - - - - - - - - - -
shPShape: any variable of type PShape
indexint: the layer position of the shape to get
targetString: the name of the shape to get
ReturnsPShape
RelatedaddChild()
- -Updated on April 30, 2017 02:33:19pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/PShape_getVertexCount_.html b/Java/Processing/processing-3.3.6/modes/java/reference/PShape_getVertexCount_.html deleted file mode 100644 index 2b699c1..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/PShape_getVertexCount_.html +++ /dev/null @@ -1,175 +0,0 @@ - - - - PShape::getVertexCount() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

PShape

Name

getVertexCount()

Examples
-PShape s;
-
-void setup() {
-  size(100, 100);
-  s = createShape();
-  s.beginShape();
-  s.vertex(0, 0);
-  s.vertex(60, 0);
-  s.vertex(60, 60);
-  s.vertex(0, 60);
-  s.endShape(CLOSE);
-}
-
-void draw() {
-  translate(20, 20);
-  for (int i = 0; i < s.getVertexCount(); i++) {
-    PVector v = s.getVertex(i);
-    v.x += random(-1, 1);
-    v.y += random(-1, 1);
-    s.setVertex(i, v);
-  }
-  shape(s);
-}
-
-
Description -The getVertexCount() method returns the number of vertices that make up a PShape. In the above example, the value 4 is returned by the getVertexCount() method because 4 vertices are defined in setup(). -
Syntax
sh.getVertexCount()
Parameters - - -
shPShape: any variable of type PShape
Returnsint
RelatedgetVertex()
-setVertex()
- -Updated on April 30, 2017 02:33:19pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/PShape_getVertex_.html b/Java/Processing/processing-3.3.6/modes/java/reference/PShape_getVertex_.html deleted file mode 100644 index 0d03d81..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/PShape_getVertex_.html +++ /dev/null @@ -1,184 +0,0 @@ - - - - PShape::getVertex() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

PShape

Name

getVertex()

Examples
-PShape s;
-
-void setup() {
-  size(100, 100);
-  s = createShape();
-  s.beginShape();
-  s.vertex(0, 0);
-  s.vertex(60, 0);
-  s.vertex(60, 60);
-  s.vertex(0, 60);
-  s.endShape(CLOSE);
-}
-
-void draw() {
-  translate(20, 20);
-  for (int i = 0; i < s.getVertexCount(); i++) {
-    PVector v = s.getVertex(i);
-    v.x += random(-1, 1);
-    v.y += random(-1, 1);
-    s.setVertex(i, v);
-  }
-  shape(s);
-}
-
-
Description -The getVertex() method returns a PVector with the coordinates of the vertex point located at the position defined by the index parameter. This method works when shapes are created as shown in the example above, but won't work properly when a shape is defined explicitly (e.g. createShape(RECT, 20, 20, 80, 80). -
Syntax
sh.getVertex(index)
-sh.getVertex(index, vec)
Parameters - - - - - - - - - - -
shPShape: any variable of type PShape
indexint: the location of the vertex
vecPVector: PVector to assign the data to
ReturnsPVector
RelatedsetVertex()
-getVertexCount()
- -Updated on April 30, 2017 02:33:19pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/PShape_height.html b/Java/Processing/processing-3.3.6/modes/java/reference/PShape_height.html deleted file mode 100644 index 02b557d..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/PShape_height.html +++ /dev/null @@ -1,161 +0,0 @@ - - - - PShape::height \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

PShape

Name

height

Examples
-PShape s;
-
-void setup() {
-  // The file "bot.svg" must be in the data folder
-  // of the current sketch to load successfully
-  s = loadShape("bot.svg");
-  println(s.height);  // Prints "281.0", the height of the shape
-}
-
-
Description -The height of the PShape document. -
Syntax
sh.height
-
Parameters - - - -
shPShape: any variable of type PShape
Relatedwidth
- -Updated on April 30, 2017 02:33:19pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/PShape_isVisible_.html b/Java/Processing/processing-3.3.6/modes/java/reference/PShape_isVisible_.html deleted file mode 100644 index 497faf5..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/PShape_isVisible_.html +++ /dev/null @@ -1,170 +0,0 @@ - - - - PShape::isVisible() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

PShape

Name

isVisible()

Examples
example pic
-PShape s;
-
-void setup() {
-  size(100, 100);
-  // The file "bot.svg" must be in the data folder
-  // of the current sketch to load successfully 
-  s = loadShape("bot.svg");
-}
-void draw() {
-  background(204);
-  shape(s, 10, 10, 80, 80);  // Draw shape
-  s.setVisible(mousePressed);
-  if (s.isVisible() == false) {  // Or use: "if (!s.isVisible)"
-    noFill();
-    rect(10, 10, 80, 80); 
-  }
-}
-
-
Description -Returns a boolean value "true" if the image is set to be visible, "false" if not. This value can be modified with the setVisible() method.
-
-The default visibility of a shape is usually controlled by whatever program created the SVG file. For instance, this parameter is controlled by showing or hiding the shape in the layers palette in Adobe Illustrator. -
Syntax
sh.isVisible()
Parameters - - -
shPShape: any variable of type PShape
Returnsboolean
RelatedsetVisible()
- -Updated on April 30, 2017 02:33:19pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/PShape_resetMatrix_.html b/Java/Processing/processing-3.3.6/modes/java/reference/PShape_resetMatrix_.html deleted file mode 100644 index 47e7952..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/PShape_resetMatrix_.html +++ /dev/null @@ -1,171 +0,0 @@ - - - - PShape::resetMatrix() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

PShape

Name

resetMatrix()

Examples
-PShape s;
-
-void setup() {
-  size(100, 100);
-  s = loadShape("ohio.svg");
-  s.rotate(PI/6);
-}
-
-void draw() {
-  background(204);
-  shape(s);
-}
-
-void mousePressed() {
-  // Removes all transformations applied to shape
-  // Loads the identity matrix
-  s.resetMatrix();
-}
-
-
Description -Replaces the current matrix of a shape with the identity matrix. The equivalent function in OpenGL is glLoadIdentity(). -
Syntax
sh.resetMatrix()
Parameters - - -
shPShape: any variable of type PShape
Returnsvoid
Relatedrotate()
-scale()
-translate()
- -Updated on April 30, 2017 02:33:19pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/PShape_rotateX_.html b/Java/Processing/processing-3.3.6/modes/java/reference/PShape_rotateX_.html deleted file mode 100644 index 4651a9e..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/PShape_rotateX_.html +++ /dev/null @@ -1,180 +0,0 @@ - - - - PShape::rotateX() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

PShape

Name

rotateX()

Examples
-PShape s;
-
-void setup() {
-  size(100, 100, P3D);
-  s = loadShape("ohio.svg");
-}
-
-void draw() {
-  background(204);
-  shape(s);
-}
-
-void mousePressed() {
-  // Rotate the shape around the x-axis each time the mouse is pressed
-  s.rotateX(0.1);  
-}
-
-
Description -Rotates the shape around the x-axis the amount specified by the angle parameter. Angles should be specified in radians (values from 0 to TWO_PI) or converted from degrees to radians with the radians() method. -

-Shapes are always rotated around the upper-left corner of their bounding box. Positive numbers rotate objects in a clockwise direction. Subsequent calls to the method accumulates the effect. For example, calling rotateX(HALF_PI) and then rotateX(HALF_PI) is the same as rotateX(PI). This transformation is applied directly to the shape, it's not refreshed each time draw() is run. -

-This method requires a 3D renderer. You need to use P3D as a third parameter for the size() function as shown in the example above. -
Syntax
sh.rotateX(angle)
Parameters - - - - - - -
shPShape: any variable of type PShape
anglefloat: angle of rotation specified in radians
Returnsvoid
Relatedrotate()
-rotateY()
-rotateZ()
-scale()
-translate()
-resetMatrix()
- -Updated on April 30, 2017 02:33:19pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/PShape_rotateY_.html b/Java/Processing/processing-3.3.6/modes/java/reference/PShape_rotateY_.html deleted file mode 100644 index d8433ed..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/PShape_rotateY_.html +++ /dev/null @@ -1,180 +0,0 @@ - - - - PShape::rotateY() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

PShape

Name

rotateY()

Examples
-PShape s;
-
-void setup() {
-  size(100, 100, P3D);
-  s = loadShape("ohio.svg");
-}
-
-void draw() {
-  background(204);
-  shape(s);
-}
-
-void mousePressed() {
-  // Rotate the shape around the y-axis each time the mouse is pressed
-  s.rotateY(0.1);  
-}
-
-
Description -Rotates the shape around the y-axis the amount specified by the angle parameter. Angles should be specified in radians (values from 0 to TWO_PI) or converted from degrees to radians with the radians() method. -

-Shapes are always rotated around the upper-left corner of their bounding box. Positive numbers rotate objects in a clockwise direction. Subsequent calls to the method accumulates the effect. For example, calling rotateY(HALF_PI) and then rotateY(HALF_PI) is the same as rotateY(PI). This transformation is applied directly to the shape, it's not refreshed each time draw() is run. -

-This method requires a 3D renderer. You need to use P3D as a third parameter for the size() function as shown in the example above. -
Syntax
sh.rotateY(angle)
Parameters - - - - - - -
shPShape: any variable of type PShape
anglefloat: angle of rotation specified in radians
Returnsvoid
Relatedrotate()
-rotateX()
-rotateZ()
-scale()
-translate()
-resetMatrix()
- -Updated on April 30, 2017 02:33:19pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/PShape_rotateZ_.html b/Java/Processing/processing-3.3.6/modes/java/reference/PShape_rotateZ_.html deleted file mode 100644 index 99a145d..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/PShape_rotateZ_.html +++ /dev/null @@ -1,180 +0,0 @@ - - - - PShape::rotateZ() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

PShape

Name

rotateZ()

Examples
-PShape s;
-
-void setup() {
-  size(100, 100, P3D);
-  s = loadShape("ohio.svg");
-}
-
-void draw() {
-  background(204);
-  shape(s);
-}
-
-void mousePressed() {
-  // Rotate the shape around the z-axis each time the mouse is pressed
-  s.rotateZ(0.1);  
-}
-
-
Description -Rotates the shape around the z-axis the amount specified by the angle parameter. Angles should be specified in radians (values from 0 to TWO_PI) or converted from degrees to radians with the radians() method. -

-Shapes are always rotated around the upper-left corner of their bounding box. Positive numbers rotate objects in a clockwise direction. Subsequent calls to the method accumulates the effect. For example, calling rotateZ(HALF_PI) and then rotateZ(HALF_PI) is the same as rotateZ(PI). This transformation is applied directly to the shape, it's not refreshed each time draw() is run. -

-This method requires a 3D renderer. You need to use P3D as a third parameter for the size() function as shown in the example above. -
Syntax
sh.rotateZ(angle)
Parameters - - - - - - -
shPShape: any variable of type PShape
anglefloat: angle of rotation specified in radians
Returnsvoid
Relatedrotate()
-rotateX()
-rotateY()
-scale()
-translate()
-resetMatrix()
- -Updated on April 30, 2017 02:33:19pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/PShape_rotate_.html b/Java/Processing/processing-3.3.6/modes/java/reference/PShape_rotate_.html deleted file mode 100644 index 94dd66f..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/PShape_rotate_.html +++ /dev/null @@ -1,178 +0,0 @@ - - - - PShape::rotate() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

PShape

Name

rotate()

Examples
-PShape s;
-
-void setup() {
-  size(100, 100);
-  s = loadShape("ohio.svg");
-}
-
-void draw() {
-  background(204);
-  shape(s);
-}
-
-void mousePressed() {
-  // Rotate the shape each time the mouse is pressed
-  s.rotate(0.1);  
-}
-
-
Description -Rotates the shape the amount specified by the angle parameter. Angles should be specified in radians (values from 0 to TWO_PI) or converted from degrees to radians with the radians() method. -

-Shapes are always rotated around the upper-left corner of their bounding box. Positive numbers rotate objects in a clockwise direction. Transformations apply to everything that happens after and subsequent calls to the method accumulates the effect. For example, calling rotate(HALF_PI) and then rotate(HALF_PI) is the same as rotate(PI). This transformation is applied directly to the shape, it's not refreshed each time draw() is run. -
Syntax
sh.rotate(angle)
Parameters - - - - - - -
shPShape: any variable of type PShape
anglefloat: angle of rotation specified in radians
Returnsvoid
RelatedrotateX()
-rotateY()
-rotateZ()
-scale()
-translate()
-resetMatrix()
- -Updated on April 30, 2017 02:33:19pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/PShape_scale_.html b/Java/Processing/processing-3.3.6/modes/java/reference/PShape_scale_.html deleted file mode 100644 index 391061c..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/PShape_scale_.html +++ /dev/null @@ -1,188 +0,0 @@ - - - - PShape::scale() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

PShape

Name

scale()

Examples
-PShape s;
-
-void setup() {
-  s = loadShape("bot.svg");
-}
-
-void draw() {
-  background(204);
-  shape(s);
-}
-
-void mousePressed() {
-  // Shrink the shape 90% each time the mouse is pressed
-  s.scale(0.9);  
-}
-
-
Description -Increases or decreases the size of a shape by expanding and contracting vertices. Shapes always scale from the relative origin of their bounding box. Scale values are specified as decimal percentages. For example, the method call scale(2.0) increases the dimension of a shape by 200%. Subsequent calls to the method multiply the effect. For example, calling scale(2.0) and then scale(1.5) is the same as scale(3.0). This transformation is applied directly to the shape; it's not refreshed each time draw() is run. -

-Using this method with the z parameter requires using the P3D parameter in combination with size. -
Syntax
sh.scale(s)
-sh.scale(x, y)
-sh.scale(x, y, z)
Parameters - - - - - - - - - - - - - - - - - - -
shPShape: any variable of type PShape
sfloat: percentate to scale the object
xfloat: percentage to scale the object in the x-axis
yfloat: percentage to scale the object in the y-axis
zfloat: percentage to scale the object in the z-axis
Returnsvoid
Relatedrotate()
-translate()
-resetMatrix()
- -Updated on April 30, 2017 02:33:19pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/PShape_setFill_.html b/Java/Processing/processing-3.3.6/modes/java/reference/PShape_setFill_.html deleted file mode 100644 index 3886de2..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/PShape_setFill_.html +++ /dev/null @@ -1,166 +0,0 @@ - - - - PShape::setFill() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

PShape

Name

setFill()

Examples
-PShape circle;
-
-void setup() {  
-  size(640, 360, P2D);
-  circle = createShape(ELLIPSE, 0, 0, 200, 200);
-  circle.setStroke(color(255));  
-}
-
-void draw() {
-  background(51);
-  circle.setFill(color(random(255)));
-  translate(mouseX, mouseY);
-  shape(circle);
-}
-
-
-
Description -The setFill() method defines the fill color of a PShape. This method is used after shapes are created or when a shape is defined explicitly (e.g. createShape(RECT, 20, 20, 80, 80)) as shown in the above example. When a shape is created with beginShape() and endShape(), its attributes may be changed with fill() and stroke() within beginShape() and endShape(). However, after the shape is created, only the setFill() method can define a new fill value for the PShape. -
Syntax
sh.setFill(fill)
Parameters - - -
shPShape: any variable of type PShape
Returnsvoid
- -Updated on April 30, 2017 02:33:19pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/PShape_setStroke_.html b/Java/Processing/processing-3.3.6/modes/java/reference/PShape_setStroke_.html deleted file mode 100644 index f21b6aa..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/PShape_setStroke_.html +++ /dev/null @@ -1,166 +0,0 @@ - - - - PShape::setStroke() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

PShape

Name

setStroke()

Examples
-PShape circle;
-
-void setup() {  
-  size(640, 360, P2D);
-  circle = createShape(ELLIPSE, 0, 0, 200, 200);
-  circle.setStroke(color(255));  
-}
-
-void draw() {
-  background(51);
-  circle.setFill(color(random(255)));
-  translate(mouseX, mouseY);
-  shape(circle);
-}
-
-
-
Description -The setStroke() method defines the outline color of a PShape. This method is used after shapes are created or when a shape is defined explicitly (e.g. createShape(RECT, 20, 20, 80, 80)) as shown in the above example. When a shape is created with beginShape() and endShape(), its attributes may be changed with fill() and stroke() within beginShape() and endShape(). However, after the shape is created, only the setStroke() method can define a new stroke value for the PShape. -
Syntax
sh.setStroke(stroke)
Parameters - - -
shPShape: any variable of type PShape
Returnsvoid
- -Updated on April 30, 2017 02:33:19pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/PShape_setVertex_.html b/Java/Processing/processing-3.3.6/modes/java/reference/PShape_setVertex_.html deleted file mode 100644 index fc56cd4..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/PShape_setVertex_.html +++ /dev/null @@ -1,197 +0,0 @@ - - - - PShape::setVertex() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

PShape

Name

setVertex()

Examples
-PShape s;
-
-void setup() {
-  size(100, 100);
-  s = createShape();
-  s.beginShape();
-  s.vertex(0, 0);
-  s.vertex(60, 0);
-  s.vertex(60, 60);
-  s.vertex(0, 60);
-  s.endShape(CLOSE);
-}
-
-void draw() {
-  translate(20, 20);
-  for (int i = 0; i < s.getVertexCount(); i++) {
-    PVector v = s.getVertex(i);
-    v.x += random(-1, 1);
-    v.y += random(-1, 1);
-    s.setVertex(i, v);
-  }
-  shape(s);
-}
-
-
Description -The setVertex() method defines the coordinates of the vertex point located at the position defined by the index parameter. This method works when shapes are created as shown in the example above, but won't work properly when a shape is defined explicitly (e.g. createShape(RECT, 20, 20, 80, 80). -
Syntax
sh.setVertex(index, x, y)
-sh.setVertex(index, x, y, z)
-sh.setVertex(index, vec)
Parameters - - - - - - - - - - - - - - - - - - - - - - -
shPShape: any variable of type PShape
indexint: the location of the vertex
xfloat: the x value for the vertex
yfloat: the y value for the vertex
zfloat: the z value for the vertex
vecPVector: the PVector to define the x, y, z coordinates
Returnsvoid
RelatedgetVertex()
-getVertexCount()
- -Updated on April 30, 2017 02:33:19pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/PShape_setVisible_.html b/Java/Processing/processing-3.3.6/modes/java/reference/PShape_setVisible_.html deleted file mode 100644 index a908615..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/PShape_setVisible_.html +++ /dev/null @@ -1,174 +0,0 @@ - - - - PShape::setVisible() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

PShape

Name

setVisible()

Examples
-PShape s;
-
-void setup() {
-  size(100, 100);
-  // The file "bot.svg" must be in the data folder
-  // of the current sketch to load successfully 
-  s = loadShape("bot.svg");
-}
-void draw() {
-  background(204);
-  shape(s, 10, 10, 80, 80);  // Draw shape
-  s.setVisible(mousePressed);
-  if (s.isVisible() == false) {  // Or use: "if (!s.isVisible)"
-    noFill();
-    rect(10, 10, 80, 80); 
-  }
-}
-
-
Description -Sets the shape to be visible or invisible. This is determined by the value of the visible parameter.
-
-The default visibility of a shape is usually controlled by whatever program created the SVG file. For instance, this parameter is controlled by showing or hiding the shape in the layers palette in Adobe Illustrator. -
Syntax
sh.setVisible(visible)
Parameters - - - - - - -
shPShape: any variable of type PShape
visibleboolean: "false" makes the shape invisible and "true" makes it visible
Returnsvoid
RelatedisVisible()
- -Updated on April 30, 2017 02:33:19pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/PShape_translate_.html b/Java/Processing/processing-3.3.6/modes/java/reference/PShape_translate_.html deleted file mode 100644 index d9786c2..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/PShape_translate_.html +++ /dev/null @@ -1,183 +0,0 @@ - - - - PShape::translate() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

PShape

Name

translate()

Examples
-PShape s;
-
-void setup() {
-  s = loadShape("bot.svg");
-}
-
-void draw() {
-  background(204);
-  shape(s);
-}
-
-void mousePressed() {
-  // Move the shape 10 pixels right each time the mouse is pressed
-  s.translate(10, 0);  
-}
-
-
Description -Specifies an amount to displace the shape. The x parameter specifies left/right translation, the y parameter specifies up/down translation, and the z parameter specifies translations toward/away from the screen. Subsequent calls to the method accumulates the effect. For example, calling translate(50, 0) and then translate(20, 0) is the same as translate(70, 0). This transformation is applied directly to the shape, it's not refreshed each time draw() is run. -

-Using this method with the z parameter requires using the P3D parameter in combination with size. -
Syntax
sh.translate(x, y)
-sh.translate(x, y, z)
Parameters - - - - - - - - - - - - - - -
shPShape: any variable of type PShape
xfloat: left/right translation
yfloat: up/down translation
zfloat: forward/back translation
Returnsvoid
Relatedrotate()
-scale()
-resetMatrix()
- -Updated on April 30, 2017 02:33:19pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/PShape_width.html b/Java/Processing/processing-3.3.6/modes/java/reference/PShape_width.html deleted file mode 100644 index 1d3452f..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/PShape_width.html +++ /dev/null @@ -1,161 +0,0 @@ - - - - PShape::width \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

PShape

Name

width

Examples
-PShape s;
-
-void setup() {
-  // The file "bot.svg" must be in the data folder
-  // of the current sketch to load successfully
-  s = loadShape("bot.svg");
-  println(s.width);  // Prints "281.0", the width of the shape
-}
-
-
Description -The width of the PShape document. -
Syntax
sh.width
-
Parameters - - - -
shPShape: any variable of type PShape
Relatedheight
- -Updated on April 30, 2017 02:33:19pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/PVector.html b/Java/Processing/processing-3.3.6/modes/java/reference/PVector.html deleted file mode 100644 index a02728d..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/PVector.html +++ /dev/null @@ -1,300 +0,0 @@ - - - - PVector \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - -
Name

PVector

Examples
-PVector v1, v2;
-
-void setup() {
-  noLoop();
-  v1 = new PVector(40, 20);
-  v2 = new PVector(25, 50); 
-}
-
-void draw() {
-  ellipse(v1.x, v1.y, 12, 12);
-  ellipse(v2.x, v2.y, 12, 12);
-  v2.add(v1);
-  ellipse(v2.x, v2.y, 24, 24);
-}
-
-
Description -A class to describe a two or three dimensional vector, specifically a Euclidean (also known as geometric) vector. A vector is an entity that has both magnitude and direction. The datatype, however, stores the components of the vector (x,y for 2D, and x,y,z for 3D). The magnitude and direction can be accessed via the methods mag() and heading().
-
-In many of the Processing examples, you will see PVector used to describe a position, velocity, or acceleration. For example, if you consider a rectangle moving across the screen, at any given instant it has a position (a vector that points from the origin to its location), a velocity (the rate at which the object's position changes per time unit, expressed as a vector), and acceleration (the rate at which the object's velocity changes per time unit, expressed as a vector). Since vectors represent groupings of values, we cannot simply use traditional addition/multiplication/etc. Instead, we'll need to do some "vector" math, which is made easy by the methods inside the PVector class. -
Fields - - - - - - - - - - - - - -
xThe x component of the vector
yThe y component of the vector
zThe z component of the vector
Methods - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
set()Set the components of the vector
random2D()Make a new 2D unit vector with a random direction.
random3D()Make a new 3D unit vector with a random direction.
fromAngle()Make a new 2D unit vector from an angle
copy()Get a copy of the vector
mag()Calculate the magnitude of the vector
magSq()Calculate the magnitude of the vector, squared
add()Adds x, y, and z components to a vector, one vector to another, or two independent vectors
sub()Subtract x, y, and z components from a vector, one vector from another, or two independent vectors
mult()Multiply a vector by a scalar
div()Divide a vector by a scalar
dist()Calculate the distance between two points
dot()Calculate the dot product of two vectors
cross()Calculate and return the cross product
normalize()Normalize the vector to a length of 1
limit()Limit the magnitude of the vector
setMag()Set the magnitude of the vector
heading()Calculate the angle of rotation for this vector
rotate()Rotate the vector by an angle (2D only)
lerp()Linear interpolate the vector to another vector
angleBetween()Calculate and return the angle between two vectors
array()Return a representation of the vector as a float array
Constructor
PVector()
-PVector(x, y, z)
-PVector(x, y)
-
Parameters - - - - - - - - - - -
xfloat: the x coordinate.
yfloat: the y coordinate.
zfloat: the z coordinate.
- -Updated on April 30, 2017 02:33:19pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/PVector_add_.html b/Java/Processing/processing-3.3.6/modes/java/reference/PVector_add_.html deleted file mode 100644 index 8fc1f17..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/PVector_add_.html +++ /dev/null @@ -1,226 +0,0 @@ - - - - PVector::add() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

PVector

Name

add()

Examples
-PVector v1, v2;
-
-void setup() {
-  noLoop();
-  v1 = new PVector(40, 20, 0);
-  v2 = new PVector(25, 50, 0); 
-}
-
-void draw() {
-  ellipse(v1.x, v1.y, 12, 12);
-  ellipse(v2.x, v2.y, 12, 12);
-  v2.add(v1);
-  ellipse(v2.x, v2.y, 24, 24);
-}
-
-
-
-PVector v;
-
-void setup() {
-  noLoop();
-  v = new PVector(40, 20, 0);
-}
-
-void draw() {
-  ellipse(v.x, v.y, 12, 12);
-  ellipse(25, 50, 12, 12);
-  v.add(25, 50, 0);
-  ellipse(v.x, v.y, 24, 24);
-}
-
-
-
-PVector v1, v2;
-
-void setup() {
-  noLoop();
-  v1 = new PVector(40, 20, 0);
-  v2 = new PVector(25, 50, 0); 
-}
-
-void draw() {
-  ellipse(v1.x, v1.y, 12, 12);
-  ellipse(v2.x, v2.y, 12, 12);
-  PVector v3 = PVector.add(v1, v2);
-  ellipse(v3.x, v3.y, 24, 24);
-}
-
-
Description -Adds x, y, and z components to a vector, adds one vector to another, or adds two independent vectors together. The version of the method that adds two vectors together is a static method and returns a new PVector, the others act directly on the vector itself. See the examples for more context. -
Syntax
.add(v)
-.add(x, y)
-.add(x, y, z)
-.add(v1, v2)
-.add(v1, v2, target)
Parameters - - - - - - - - - - - - - - - - - - - - - - - - - - -
vPVector: the vector to be added
xfloat: x component of the vector
yfloat: y component of the vector
zfloat: z component of the vector
v1PVector: a vector
v2PVector: another vector
targetPVector: the target vector (if null, a new vector will be created)
ReturnsPVector
- -Updated on April 30, 2017 02:33:19pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/PVector_angleBetween_.html b/Java/Processing/processing-3.3.6/modes/java/reference/PVector_angleBetween_.html deleted file mode 100644 index 2470a17..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/PVector_angleBetween_.html +++ /dev/null @@ -1,159 +0,0 @@ - - - - PVector::angleBetween() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

PVector

Name

angleBetween()

Examples
-PVector v1 = new PVector(10, 20);
-PVector v2 = new PVector(60, 80); 
-float a = PVector.angleBetween(v1, v2);
-println(degrees(a));  // Prints "10.304827"
-
-
Description -Calculates and returns the angle (in radians) between two vectors. -
Syntax
.angleBetween(v1, v2)
Parameters - - - - - - -
v1PVector: the x, y, and z components of a PVector
v2PVector: the x, y, and z components of a PVector
Returnsfloat
- -Updated on April 30, 2017 02:33:19pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/PVector_array_.html b/Java/Processing/processing-3.3.6/modes/java/reference/PVector_array_.html deleted file mode 100644 index 931484a..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/PVector_array_.html +++ /dev/null @@ -1,153 +0,0 @@ - - - - PVector::array() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

PVector

Name

array()

Examples
-PVector v = new PVector(10.0, 20.0, 30.0);
-float[] f = v.array();
-println(f[0]);  // Prints "10.0"
-println(f[1]);  // Prints "20.0"
-println(f[2]);  // Prints "30.0"
-
-
Description -Return a representation of this vector as a float array. This is only for temporary use. If used in any other fashion, the contents should be copied by using the copy() method to copy into your own array. -
Syntax
.array()
Returnsfloat[]
- -Updated on April 30, 2017 02:33:19pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/PVector_copy_.html b/Java/Processing/processing-3.3.6/modes/java/reference/PVector_copy_.html deleted file mode 100644 index 1a6c7ae..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/PVector_copy_.html +++ /dev/null @@ -1,159 +0,0 @@ - - - - PVector::copy() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

PVector

Name

copy()

Examples
-PVector v1, v2;
-
-void setup() {
-  size(100, 100);
-  v1 = new PVector(20.0, 30.0, 40.0);
-  v2 = new PVector();
-  v2 = v1.copy();
-  println(v2.x);  // Prints "20.0"
-  println(v2.y);  // Prints "30.0"
-  println(v2.z);  // Prints "40.0"
-}
-
-
Description -Copies the components of the vector and returns the result as a PVector. -
Syntax
.copy()
ReturnsPVector
- -Updated on April 30, 2017 02:33:19pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/PVector_cross_.html b/Java/Processing/processing-3.3.6/modes/java/reference/PVector_cross_.html deleted file mode 100644 index 48e2ec6..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/PVector_cross_.html +++ /dev/null @@ -1,177 +0,0 @@ - - - - PVector::cross() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

PVector

Name

cross()

Examples
-PVector v1 = new PVector(10, 20, 2);
-PVector v2 = new PVector(60, 80, 6); 
-PVector v3 = v1.cross(v2);
-println(v3);  // Prints "[ -40.0, 60.0, -400.0 ]"
-
-
Description -Calculates and returns a vector composed of the cross product between two vectors. -
Syntax
.cross(v)
-.cross(v, target)
-.cross(v1, v2, target)
Parameters - - - - - - - - - - - - - - - - - - - - - - -
vPVector: the vector to calculate the cross product
vPVector: any variable of type PVector
targetPVector: PVector to store the result
v1PVector: any variable of type PVector
v2PVector: any variable of type PVector
targetPVector: PVector to store the result
ReturnsPVector
- -Updated on April 30, 2017 02:33:19pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/PVector_dist_.html b/Java/Processing/processing-3.3.6/modes/java/reference/PVector_dist_.html deleted file mode 100644 index ae8079b..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/PVector_dist_.html +++ /dev/null @@ -1,171 +0,0 @@ - - - - PVector::dist() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

PVector

Name

dist()

Examples
-PVector  v1 = new PVector(10, 20, 0);
-PVector  v2 = new PVector(60, 80, 0); 
-float d = v1.dist(v2);
-println(d);  // Prints "78.10249"
-
-
-
-PVector  v1 = new PVector(10, 20, 0);
-PVector  v2 = new PVector(60, 80, 0); 
-float d = PVector.dist(v1, v2);
-println(d);  // Prints "78.10249"
-
-
Description -Calculates the Euclidean distance between two points (considering a point as a vector object). -
Syntax
.dist(v)
-.dist(v1, v2)
Parameters - - - - - - - - - - -
vPVector: the x, y, and z coordinates of a PVector
v1PVector: any variable of type PVector
v2PVector: any variable of type PVector
Returnsfloat
- -Updated on April 30, 2017 02:33:19pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/PVector_div_.html b/Java/Processing/processing-3.3.6/modes/java/reference/PVector_div_.html deleted file mode 100644 index 171c07b..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/PVector_div_.html +++ /dev/null @@ -1,188 +0,0 @@ - - - - PVector::div() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

PVector

Name

div()

Examples
-PVector v;
-
-void setup() {
-  noLoop();
-  v = new PVector(30, 60, 0);
-}
-
-void draw() {
-  ellipse(v.x, v.y, 12, 12);
-  v.div(6);
-  ellipse(v.x, v.y, 24, 24);
-}
-
-
-
-PVector v1;
-
-void setup() {
-  noLoop();
-  v1 = new PVector(30, 60, 0);
-}
-
-void draw() {
-  ellipse(v1.x, v1.y, 12, 12);
-  PVector v2 = PVector.div(v1, 6);
-  ellipse(v2.x, v2.y, 24, 24);
-}
-
-
Description -Divides a vector by a scalar. The version of the method that uses a float acts directly on the vector upon which it is called (as in the first example above). The version that receives both a PVector and a float as arguments is a static methods, and returns a new PVector that is the result of the division operation. Both examples above produce the same visual output. -
Syntax
.div(n)
-.div(v, n)
-.div(v, n, target)
Parameters - - - - - - - - - - -
nfloat: the number by which to divide the vector
vPVector: the vector to divide by the scalar
targetPVector: PVector in which to store the result
ReturnsPVector
- -Updated on April 30, 2017 02:33:19pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/PVector_dot_.html b/Java/Processing/processing-3.3.6/modes/java/reference/PVector_dot_.html deleted file mode 100644 index 2cdbd85..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/PVector_dot_.html +++ /dev/null @@ -1,183 +0,0 @@ - - - - PVector::dot() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

PVector

Name

dot()

Examples
-PVector  v = new PVector(10, 20, 0);
-float d = v.dot(60, 80, 0);
-println(d);  // Prints "2200.0"
-
-
-
-PVector  v1 = new PVector(10, 20, 0);
-PVector  v2 = new PVector(60, 80, 0); 
-float d = v1.dot(v2);
-println(d);  // Prints "2200.0"
-
-
Description -Calculates the dot product of two vectors. -
Syntax
.dot(v)
-.dot(x, y, z)
-.dot(v1, v2)
Parameters - - - - - - - - - - - - - - - - - - - - - - -
vPVector: any variable of type PVector
xfloat: x component of the vector
yfloat: y component of the vector
zfloat: z component of the vector
v1PVector: any variable of type PVector
v2PVector: any variable of type PVector
Returnsfloat
- -Updated on April 30, 2017 02:33:19pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/PVector_fromAngle_.html b/Java/Processing/processing-3.3.6/modes/java/reference/PVector_fromAngle_.html deleted file mode 100644 index 55a07b7..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/PVector_fromAngle_.html +++ /dev/null @@ -1,162 +0,0 @@ - - - - PVector::fromAngle() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

PVector

Name

fromAngle()

Examples
-PVector v;
-
-void setup() {
-  v = PVector.fromAngle(0.01);
-  println(v);  // Prints "[ 0.99995, 0.009999833, 0.0 ]"
-}
-
-
Description -Calculates and returns a new 2D unit vector from the specified angle value (in radians). -
Syntax
.fromAngle(angle)
-.fromAngle(angle, target)
Parameters - - - - - - -
anglefloat: the angle in radians
targetPVector: the target vector (if null, a new vector will be created)
ReturnsPVector
- -Updated on April 30, 2017 02:33:19pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/PVector_heading_.html b/Java/Processing/processing-3.3.6/modes/java/reference/PVector_heading_.html deleted file mode 100644 index 8189aa6..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/PVector_heading_.html +++ /dev/null @@ -1,154 +0,0 @@ - - - - PVector::heading() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

PVector

Name

heading()

Examples
-PVector v;
-
-void setup() {
-  v = new PVector(10.0, 20.0);
-  println(v.heading());  // Prints "1.1071488"
-}
-
-
Description -Calculates the angle of rotation for a vector (2D vectors only). -
Syntax
.heading()
Returnsfloat
- -Updated on April 30, 2017 02:33:19pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/PVector_lerp_.html b/Java/Processing/processing-3.3.6/modes/java/reference/PVector_lerp_.html deleted file mode 100644 index f16f86b..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/PVector_lerp_.html +++ /dev/null @@ -1,220 +0,0 @@ - - - - PVector::lerp() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

PVector

Name

lerp()

Examples
-// Non-static (lerp on a specific vector)
-
-PVector current;
-PVector target;
-
-void setup() {
-  current = new PVector(0.0, 0.0);
-  target = new PVector(100.0, 100.0);
-  current.lerp(target, 0.5);
-  println(current);  // Prints "[ 50.0, 50.0, 0.0 ]"
-}
-
-
-
-// Static (return a new vector)
-
-PVector start;
-PVector end;
-PVector middle;
-
-void setup() {
-  start = new PVector(0.0, 0.0);
-  end = new PVector(100.0, 100.0);
-  middle = PVector.lerp(start, end, 0.5);
-  println(middle);  // Prints "[ 50.0, 50.0, 0.0 ]"
-}
-
-
-
-// Non-static (lerp on a specific vector)
-
-PVector v;
-
-void setup() {
-  v = new PVector(0.0, 0.0);
-}
-
-void draw() {
-  v.lerp(mouseX, mouseY, 0.0, 0.1);
-  ellipse(v.x, v.y, 20, 20);
-}
-
-
Description -Calculates linear interpolation from one vector to another vector. (Just like regular lerp(), but for vectors.)
-
-Note that there is one static version of this method, and two non-static versions. The static version, lerp(v1, v2, amt) is given the two vectors to interpolate and returns a new PVector object. The static version is used by referencing the PVector class directly. (See the middle example above.) The non-static versions, lerp(v, amt) and lerp(x, y, z, amt), do not create a new PVector, but transform the values of the PVector on which they are called. These non-static versions perform the same operation, but the former takes another vector as input, while the latter takes three float values. (See the top and bottom examples above, respectively.) -
Syntax
.lerp(v, amt)
-.lerp(v1, v2, amt)
-.lerp(x, y, z, amt)
Parameters - - - - - - - - - - - - - - - - - - - - - - - - - - -
vPVector: the vector to lerp to
amtfloat: The amount of interpolation; some value between 0.0 (old vector) and 1.0 (new vector). 0.1 is very near the old vector; 0.5 is halfway in between.
v1PVector: the vector to start from
v2PVector: the vector to lerp to
xfloat: the x component to lerp to
yfloat: the y component to lerp to
zfloat: the z component to lerp to
ReturnsPVector
Relatedlerp()
- -Updated on April 30, 2017 02:33:19pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/PVector_limit_.html b/Java/Processing/processing-3.3.6/modes/java/reference/PVector_limit_.html deleted file mode 100644 index 971650a..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/PVector_limit_.html +++ /dev/null @@ -1,154 +0,0 @@ - - - - PVector::limit() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

PVector

Name

limit()

Examples
-PVector v = new PVector(10, 20, 2);
-v.limit(5);
-println(v);  // Prints "[ 2.2271771, 4.4543543, 0.4454354 ]"
-
-
Description -Limit the magnitude of this vector to the value used for the max parameter. -
Syntax
.limit(max)
Parameters - - -
maxfloat: the maximum magnitude for the vector
ReturnsPVector
- -Updated on April 30, 2017 02:33:19pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/PVector_magSq_.html b/Java/Processing/processing-3.3.6/modes/java/reference/PVector_magSq_.html deleted file mode 100644 index 45cb2be..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/PVector_magSq_.html +++ /dev/null @@ -1,155 +0,0 @@ - - - - PVector::magSq() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

PVector

Name

magSq()

Examples
-PVector v;
-
-void setup() {
-  v = new PVector(20.0, 30.0, 40.0);
-  float m = v.magSq();
-  println(m);  // Prints "2900.0"
-}
-
-
Description -Calculates the magnitude (length) of the vector, squared. This method is often used to improve performance since, unlike mag(), it does not require a sqrt() operation. -
Syntax
.magSq()
Returnsfloat
Relatedmag()
- -Updated on April 30, 2017 02:33:19pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/PVector_mag_.html b/Java/Processing/processing-3.3.6/modes/java/reference/PVector_mag_.html deleted file mode 100644 index 96945d8..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/PVector_mag_.html +++ /dev/null @@ -1,156 +0,0 @@ - - - - PVector::mag() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

PVector

Name

mag()

Examples
-PVector v;
-
-void setup() {
-  size(100, 100);
-  v = new PVector(20.0, 30.0, 40.0);
-  float m = v.mag();
-  println(m);  // Prints "53.851646"
-}
-
-
Description -Calculates the magnitude (length) of the vector and returns the result as a float (this is simply the equation sqrt(x*x + y*y + z*z).) -
Syntax
.mag()
Returnsfloat
RelatedmagSq()
- -Updated on April 30, 2017 02:33:19pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/PVector_mult_.html b/Java/Processing/processing-3.3.6/modes/java/reference/PVector_mult_.html deleted file mode 100644 index fcbf02b..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/PVector_mult_.html +++ /dev/null @@ -1,188 +0,0 @@ - - - - PVector::mult() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

PVector

Name

mult()

Examples
-PVector v;
-
-void setup() {
-  noLoop();
-  v = new PVector(5, 10, 0);
-}
-
-void draw() {
-  ellipse(v.x, v.y, 12, 12);
-  v.mult(6);
-  ellipse(v.x, v.y, 24, 24);
-}
-
-
-
-PVector v1;
-
-void setup() {
-  noLoop();
-  v1 = new PVector(5, 10, 0);
-}
-
-void draw() {
-  ellipse(v1.x, v1.y, 12, 12);
-  PVector v2 = PVector.mult(v1, 6);
-  ellipse(v2.x, v2.y, 24, 24);
-}
-
-
Description -Multiplies a vector by a scalar. The version of the method that uses a float acts directly on the vector upon which it is called (as in the first example above). The versions that receive both a PVector and a float as arguments are static methods, and each returns a new PVector that is the result of the multiplication operation. Both examples above produce the same visual output. -
Syntax
.mult(n)
-.mult(v, n)
-.mult(v, n, target)
Parameters - - - - - - - - - - -
nfloat: the number to multiply with the vector
vPVector: the vector to multiply by the scalar
targetPVector: PVector in which to store the result
ReturnsPVector
- -Updated on April 30, 2017 02:33:19pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/PVector_normalize_.html b/Java/Processing/processing-3.3.6/modes/java/reference/PVector_normalize_.html deleted file mode 100644 index edd7ae3..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/PVector_normalize_.html +++ /dev/null @@ -1,155 +0,0 @@ - - - - PVector::normalize() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

PVector

Name

normalize()

Examples
-PVector v = new PVector(10, 20, 2);
-v.normalize();
-println(v);  // Prints "[ 0.4454354, 0.8908708, 0.089087084 ]"
-
-
Description -Normalize the vector to length 1 (make it a unit vector). -
Syntax
.normalize()
-.normalize(target)
Parameters - - -
targetPVector: Set to null to create a new vector
ReturnsPVector
- -Updated on April 30, 2017 02:33:19pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/PVector_random2D_.html b/Java/Processing/processing-3.3.6/modes/java/reference/PVector_random2D_.html deleted file mode 100644 index 21b78e3..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/PVector_random2D_.html +++ /dev/null @@ -1,168 +0,0 @@ - - - - PVector::random2D() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

PVector

Name

random2D()

Examples
-PVector v;
-
-void setup() {
-  v = PVector.random2D();
-  println(v);
-  // May print something like:
-  // [ -0.75006354, -0.6613658, 0.0 ] or 
-  // [ 0.13742635, 0.990512, 0.0 ] or 
-  // [ -0.9456181, -0.32527903, 0.0 ]
-}
-
-
Description -Returns a new 2D unit vector with a random direction. If you pass in this as an argument, it will use the PApplet's random number generator. -
Syntax
.random2D()
-.random2D(parent)
-.random2D(target)
-.random2D(target, parent)
Parameters - - - - - - -
parentPApplet: current PApplet instance
targetPVector: the target vector (if null, a new vector will be created)
ReturnsPVector
Relatedrandom3D()
- -Updated on April 30, 2017 02:33:19pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/PVector_random3D_.html b/Java/Processing/processing-3.3.6/modes/java/reference/PVector_random3D_.html deleted file mode 100644 index 0ef7cbd..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/PVector_random3D_.html +++ /dev/null @@ -1,168 +0,0 @@ - - - - PVector::random3D() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

PVector

Name

random3D()

Examples
-PVector v;
-
-void setup() {
-  v = PVector.random3D();
-  println(v);
-  // May print something like:
-  // [ 0.61554617, -0.51195765, 0.599168 ] or 
-  // [ -0.4695841, -0.14366731, -0.8711202 ] or 
-  // [ 0.6091097, -0.22805278, -0.7595902 ]
-}
-
-
Description -Returns a new 3D unit vector with a random direction. If you pass in this as an argument, it will use the PApplet's random number generator. -
Syntax
.random3D()
-.random3D(parent)
-.random3D(target)
-.random3D(target, parent)
Parameters - - - - - - -
parentPApplet: current PApplet instance
targetPVector: the target vector (if null, a new vector will be created)
ReturnsPVector
Relatedrandom2D()
- -Updated on April 30, 2017 02:33:19pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/PVector_rotate_.html b/Java/Processing/processing-3.3.6/modes/java/reference/PVector_rotate_.html deleted file mode 100644 index 7b6ffba..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/PVector_rotate_.html +++ /dev/null @@ -1,159 +0,0 @@ - - - - PVector::rotate() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

PVector

Name

rotate()

Examples
-PVector v;
-
-void setup() {
-  v = new PVector(10.0, 20.0);
-  println(v);  // Prints "[ 10.0, 20.0, 0.0 ]"
-  v.rotate(HALF_PI);
-  println(v);  // Prints "[ -20.0, 9.999999, 0.0 ]"
-}
-
-
Description -Rotates a vector by the specified angle (2D vectors only), while maintaining the same magnitude. -
Syntax
.rotate(theta)
Parameters - - -
thetafloat: the angle of rotation
ReturnsPVector
- -Updated on April 30, 2017 02:33:19pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/PVector_setMag_.html b/Java/Processing/processing-3.3.6/modes/java/reference/PVector_setMag_.html deleted file mode 100644 index f7cbd5e..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/PVector_setMag_.html +++ /dev/null @@ -1,163 +0,0 @@ - - - - PVector::setMag() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

PVector

Name

setMag()

Examples
-PVector v = new PVector(3, 4, 0);
-v.setMag(10);
-println(v);  // Prints "[ 6.0, 8.0, 0.0 ]"
-
-
Description -Set the magnitude of this vector to the value used for the len parameter. -
Syntax
.setMag(len)
-.setMag(target, len)
Parameters - - - - - - - - - - -
lenfloat: the new length for this vector
targetPVector: Set to null to create a new vector
lenfloat: the new length for the new vector
ReturnsPVector
- -Updated on April 30, 2017 02:33:19pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/PVector_set_.html b/Java/Processing/processing-3.3.6/modes/java/reference/PVector_set_.html deleted file mode 100644 index f013b01..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/PVector_set_.html +++ /dev/null @@ -1,216 +0,0 @@ - - - - PVector::set() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

PVector

Name

set()

Examples
-PVector v;
-
-void setup() {
-  size(100, 100);
-  v = new PVector(0.0, 0.0, 0.0);
-  v.set(20.0, 30.0, 40.0);
-  println(v.x);  // Prints "20.0"
-  println(v.y);  // Prints "30.0"
-  println(v.z);  // Prints "40.0"
-}
-
-
-
-PVector v1, v2;
-
-void setup() {
-  size(100, 100);
-  v1 = new PVector(20.0, 30.0, 40.0);
-  v2 = new PVector(0.0, 0.0, 0.0);
-  v2.set(v1);
-  println(v2.x);  // Prints "20.0"
-  println(v2.y);  // Prints "30.0"
-  println(v2.z);  // Prints "40.0"
-}
-
-
-
-PVector v;
-float[] vvv = { 20.0, 30.0, 40.0 };
-
-void setup() {
-  size(100, 100);
-  v = new PVector(0.0, 0.0, 0.0);
-  v.set(vvv);
-  println(v.x);  // Prints "20.0"
-  println(v.y);  // Prints "30.0"
-  println(v.z);  // Prints "40.0"
-}
-
-
Description -Sets the x, y, and z component of the vector using three separate variables, the data from a PVector, or the values from a float array. -
Syntax
.set(x, y, z)
-.set(x, y)
-.set(v)
-.set(source)
Parameters - - - - - - - - - - - - - - - - - - - - - - - - - - -
xfloat: the x component of the vector
yfloat: the y component of the vector
zfloat: the z component of the vector
xfloat: the x component of the vector
yfloat: the y component of the vector
vPVector: any variable of type PVector
sourcefloat[]: array to copy from
ReturnsPVector
- -Updated on April 30, 2017 02:33:19pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/PVector_sub_.html b/Java/Processing/processing-3.3.6/modes/java/reference/PVector_sub_.html deleted file mode 100644 index b601228..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/PVector_sub_.html +++ /dev/null @@ -1,226 +0,0 @@ - - - - PVector::sub() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

PVector

Name

sub()

Examples
-PVector v1, v2;
-
-void setup() {
-  noLoop();
-  v1 = new PVector(40, 20, 0);
-  v2 = new PVector(65, 70, 0); 
-}
-
-void draw() {
-  ellipse(v1.x, v1.y, 12, 12);
-  ellipse(v2.x, v2.y, 12, 12);
-  v2.sub(v1);
-  ellipse(v2.x, v2.y, 24, 24);
-}
-
-
-
-PVector v;
-
-void setup() {
-  noLoop();
-  v = new PVector(65, 70, 0);
-}
-
-void draw() {
-  ellipse(v.x, v.y, 12, 12);
-  ellipse(40, 20, 12, 12);
-  v.sub(40, 20, 0);
-  ellipse(v.x, v.y, 24, 24);
-}
-
-
-
-PVector v1, v2;
-
-void setup() {
-  noLoop();
-  v1 = new PVector(65, 70, 0);
-  v2 = new PVector(40, 20, 0); 
-}
-
-void draw() {
-  ellipse(v1.x, v1.y, 12, 12);
-  ellipse(v2.x, v2.y, 12, 12);
-  PVector v3 = PVector.sub(v1, v2);
-  ellipse(v3.x, v3.y, 24, 24);
-}
-
-
Description -Subtracts x, y, and z components from a vector, subtracts one vector from another, or subtracts two independent vectors. The version of the method that substracts two vectors is a static method and returns a PVector, the others act directly on the vector. See the examples for more context. In all cases, the second vector (v2) is subtracted from the first (v1), resulting in v1-v2. -
Syntax
.sub(v)
-.sub(x, y)
-.sub(x, y, z)
-.sub(v1, v2)
-.sub(v1, v2, target)
Parameters - - - - - - - - - - - - - - - - - - - - - - - - - - -
vPVector: any variable of type PVector
xfloat: the x component of the vector
yfloat: the y component of the vector
zfloat: the z component of the vector
v1PVector: the x, y, and z components of a PVector object
v2PVector: the x, y, and z components of a PVector object
targetPVector: PVector in which to store the result
ReturnsPVector
- -Updated on April 30, 2017 02:33:19pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/PVector_x.html b/Java/Processing/processing-3.3.6/modes/java/reference/PVector_x.html deleted file mode 100644 index 0116144..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/PVector_x.html +++ /dev/null @@ -1,164 +0,0 @@ - - - - PVector::x \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

PVector

Name

x

Examples
-PVector v;
-
-void setup() {
-  size(100, 100);
-  v = new PVector(20.0, 30.0, 40.0);
-  println(v.x);  // Prints "20.0"
-  println(v.y);  // Prints "30.0"
-  println(v.z);  // Prints "40.0"
-  v.x = 50.0; 
-  println(v.x);  // Prints "50.0"
-}
-
-
Description -The x component of the vector. This field (variable) can be used to both get and set the value (see above example.) -
Syntax
.x
-
Parameters - - - -
PVector:
- -Updated on April 30, 2017 02:33:19pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/PVector_y.html b/Java/Processing/processing-3.3.6/modes/java/reference/PVector_y.html deleted file mode 100644 index cd9f5cc..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/PVector_y.html +++ /dev/null @@ -1,164 +0,0 @@ - - - - PVector::y \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

PVector

Name

y

Examples
-PVector v;
-
-void setup() {
-  size(100, 100);
-  v = new PVector(20.0, 30.0, 40.0);
-  println(v.x);  // Prints "20.0"
-  println(v.y);  // Prints "30.0"
-  println(v.z);  // Prints "40.0"
-  v.y = 50.0; 
-  println(v.y);  // Prints "50.0"
-}
-
-
Description -The y component of the vector. This field (variable) can be used to both get and set the value (see above example.) -
Syntax
.y
-
Parameters - - - -
PVector:
- -Updated on April 30, 2017 02:33:19pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/PVector_z.html b/Java/Processing/processing-3.3.6/modes/java/reference/PVector_z.html deleted file mode 100644 index 3ba58dd..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/PVector_z.html +++ /dev/null @@ -1,163 +0,0 @@ - - - - PVector::z \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

PVector

Name

z

Examples
-PVector v;
-
-void setup() {
-  size(100, 100);
-  v = new PVector(20.0, 30.0, 40.0);
-  println(v.x);  // Prints "20.0"
-  println(v.y);  // Prints "30.0"
-  println(v.z);  // Prints "40.0"
-  v.z = 50.0; 
-  println(v.z);  // Prints "50.0"
-}
-
Description -The z component of the vector. This field (variable) can be used to both get and set the value (see above example.) -
Syntax
.z
-
Parameters - - - -
PVector:
- -Updated on April 30, 2017 02:33:19pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/PrintWriter.html b/Java/Processing/processing-3.3.6/modes/java/reference/PrintWriter.html deleted file mode 100644 index edf4f2e..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/PrintWriter.html +++ /dev/null @@ -1,184 +0,0 @@ - - - - PrintWriter \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - -
Name

PrintWriter

Examples
-PrintWriter output;
-
-void setup() {
-  // Create a new file in the sketch directory
-  output = createWriter("positions.txt"); 
-}
-
-void draw() {
-  point(mouseX, mouseY);
-  output.println(mouseX);  // Write the coordinate to the file
-}
-
-void keyPressed() {
-  output.flush();  // Writes the remaining data to the file
-  output.close();  // Finishes the file
-  exit();  // Stops the program
-}
-
-
-
Description -Allows characters to print to a text-output stream. A new PrintWriter object is created with the createWriter() function. For the file to be made correctly, it should be flushed and must be closed with its flush() and close() methods (see above example). -
Methods - - - - - - - - - - - - - - - - - - -
print()Adds data to the stream
println()Adds data to the stream and starts a new line
flush()Flushes the stream
close()Closes the stream
Constructor
 
RelatedcreateWriter()
- -Updated on April 30, 2017 02:33:23pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/PrintWriter_close_.html b/Java/Processing/processing-3.3.6/modes/java/reference/PrintWriter_close_.html deleted file mode 100644 index 83c8c9f..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/PrintWriter_close_.html +++ /dev/null @@ -1,171 +0,0 @@ - - - - PrintWriter::close() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

PrintWriter

Name

close()

Examples
-PrintWriter output;
-
-void setup() {
-  // Create a new file in the sketch directory
-  output = createWriter("positions.txt"); 
-}
-
-void draw() {
-  point(mouseX, mouseY);
-  output.println(mouseX);  // Write the coordinate to the file
-}
-
-void keyPressed() {
-  output.flush();  // Writes the remaining data to the file
-  output.close();  // Finishes the file
-  exit();  // Stops the program
-}
-
-
-
Description -Closes the PrintWriter object. -
Syntax
-pw.close()
-
Parameters - - -
pwany object of the type PrintWriter
- -Updated on April 30, 2017 02:33:23pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/PrintWriter_flush_.html b/Java/Processing/processing-3.3.6/modes/java/reference/PrintWriter_flush_.html deleted file mode 100644 index ba12d4e..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/PrintWriter_flush_.html +++ /dev/null @@ -1,171 +0,0 @@ - - - - PrintWriter::flush() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

PrintWriter

Name

flush()

Examples
-PrintWriter output;
-
-void setup() {
-  // Create a new file in the sketch directory
-  output = createWriter("positions.txt"); 
-}
-
-void draw() {
-  point(mouseX, mouseY);
-  output.println(mouseX);  // Write the coordinate to the file
-}
-
-void keyPressed() {
-  output.flush();  // Writes the remaining data to the file
-  output.close();  // Finishes the file
-  exit();  // Stops the program
-}
-
-
-
Description -Flushes the PrintWriter object. This is necessary to ensure all remaining data is written to the file before it is closed. -
Syntax
-pw.flush()
-
Parameters - - -
pwany object of the type PrintWriter
- -Updated on April 30, 2017 02:33:23pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/PrintWriter_print_.html b/Java/Processing/processing-3.3.6/modes/java/reference/PrintWriter_print_.html deleted file mode 100644 index 01bf149..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/PrintWriter_print_.html +++ /dev/null @@ -1,176 +0,0 @@ - - - - PrintWriter::print() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

PrintWriter

Name

print()

Examples
-PrintWriter output;
-
-void setup() {
-  // Create a new file in the sketch directory
-  output = createWriter("positions.txt"); 
-}
-
-void draw() {
-  point(mouseX, mouseY);
-  output.print(mouseX + "t");  // Write the X coordinate to the file
-  output.println(mouseY);  // Write the Y coordinate to the file
-}
-
-void keyPressed() {
-  output.flush();  // Writes the remaining data to the file
-  output.close();  // Finishes the file
-  exit();  // Stops the program
-}
-
-
-
Description -Writes data to a PrintWriter object stream. -
Syntax
-pw.print(data)
-
Parameters - - - - - - -
pwany object of the type PrintWriter
databoolean, byte, char, color, int, float, String
- -Updated on April 30, 2017 02:33:23pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/PrintWriter_println_.html b/Java/Processing/processing-3.3.6/modes/java/reference/PrintWriter_println_.html deleted file mode 100644 index 01049bd..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/PrintWriter_println_.html +++ /dev/null @@ -1,175 +0,0 @@ - - - - PrintWriter::println() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

PrintWriter

Name

println()

Examples
-PrintWriter output;
-
-void setup() {
-  // Create a new file in the sketch directory
-  output = createWriter("positions.txt"); 
-}
-
-void draw() {
-  point(mouseX, mouseY);
-  output.println(mouseX);  // Write the coordinate to the file
-}
-
-void keyPressed() {
-  output.flush();  // Writes the remaining data to the file
-  output.close();  // Finishes the file
-  exit();  // Stops the program
-}
-
-
-
Description -Writes data to a PrintWriter object stream and then starts a new line. -
Syntax
-pw.println(data)
-
Parameters - - - - - - -
pwany object of the type PrintWriter
databoolean, byte, char, color, int, float, String
- -Updated on April 30, 2017 02:33:22pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/QUARTER_PI.html b/Java/Processing/processing-3.3.6/modes/java/reference/QUARTER_PI.html deleted file mode 100644 index c8aa243..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/QUARTER_PI.html +++ /dev/null @@ -1,158 +0,0 @@ - - - - QUARTER_PI \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

QUARTER_PI

Examples
example pic
-float x = width/2;
-float y = height/2;
-float d = width * 0.8;
-arc(x, y, d, d, 0, QUARTER_PI);
-arc(x, y, d-20, d-20, 0, HALF_PI);
-arc(x, y, d-40, d-40, 0, PI);
-arc(x, y, d-60, d-60, 0, TWO_PI);
-
-
Description -QUARTER_PI is a mathematical constant with the value 0.7853982. It is one quarter the ratio of the circumference of a circle to its diameter. It is useful in combination with the trigonometric functions sin() and cos(). -
RelatedPI
-TWO_PI
-TAU
-HALF_PI
- -Updated on April 30, 2017 02:33:19pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/String.html b/Java/Processing/processing-3.3.6/modes/java/reference/String.html deleted file mode 100644 index 75f08bd..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/String.html +++ /dev/null @@ -1,225 +0,0 @@ - - - - String \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - -
Name

String

Examples
-String str1 = "CCCP";
-char data[] = {'C', 'C', 'C', 'P'};
-String str2 = new String(data);
-println(str1);  // Prints "CCCP" to the console
-println(str2);  // Prints "CCCP" to the console
-
-
-
-// Comparing String objects, see reference below.
-String p = "potato";
-if (p == "potato") {
-  println("p == potato, yep.");  // This will not print
-} 
-// The correct way to compare two Strings
-if (p.equals("potato")) {
-  println("Yes, the contents of p and potato are the same.");
-}
-
-
-
-// Use a backslash to include quotes in a String
-String quoted = "This one has \"quotes\"";
-println(quoted);  // This one has "quotes"
-
-
Description -A string is a sequence of characters. The class String includes methods for examining individual characters, comparing strings, searching strings, extracting parts of strings, and for converting an entire string uppercase and lowercase. Strings are always defined inside double quotes ("Abc"), and characters are always defined inside single quotes ('A').
-
-To compare the contents of two Strings, use the equals() method, as in if (a.equals(b)), instead of if (a == b). A String is an Object, so comparing them with the == operator only compares whether both Strings are stored in the same memory location. Using the equals() method will ensure that the actual contents are compared. (The troubleshooting reference has a longer explanation.)
-
-Because a String is defined between double quotation marks, to include such marks within the String itself you must use the \ (backslash) character. (See the third example above.) This is known as an escape sequence. Other escape sequences include \t for the tab character and \n for new line. Because backslash is the escape character, to include a single backslash within a String, you must use two consecutive backslashes, as in: \\
-
-There are more string methods than those linked from this page. Additional documentation is located online in the official Java documentation. -
Methods - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
charAt()Returns the character at the specified index
equals()Compares a string to a specified object
indexOf()Returns the index value of the first occurrence of a substring within the input string
length()Returns the number of characters in the input string
substring()Returns a new string that is part of the input string
toLowerCase()Converts all the characters to lower case
toUpperCase()Converts all the characters to upper case
Constructor
-String(data)
-String(data, offset, length)
-
Parameters - - - - - - - - - - -
databyte[] or char[]: either an array of bytes to be decoded into characters, or an array of characters to be combined into a string
offsetint: index of the first character
lengthint: number of characters
Relatedchar
-text()
- -Updated on April 30, 2017 02:33:23pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/StringDict.html b/Java/Processing/processing-3.3.6/modes/java/reference/StringDict.html deleted file mode 100644 index 176fa22..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/StringDict.html +++ /dev/null @@ -1,234 +0,0 @@ - - - - StringDict \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - -
Name

StringDict

Examples
-StringDict inventory;
-
-void setup() {
-  size(200, 200);
-  inventory = new StringDict();
-  inventory.set("coffee","black");
-  inventory.set("flour","white");
-  inventory.set("tea","green");
-  println(inventory);
-  noLoop();
-  fill(0);
-  textAlign(CENTER);
-}
-
-void draw() {
-  String s = inventory.get("tea");
-  text(s, width/2, height/2);
-}
-
-
-
Description -A simple class to use a String as a lookup for an String value. String "keys" are associated with String values. -
Methods - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
size()Returns the number of key/value pairs
clear()Remove all entries
keyArray()Return a copy of the internal keys array
values()Return the internal array being used to store the values
valueArray()Create a new array and copy each of the values into it
get()Return a value for the specified key
set()Create a new key/value pair or change the value of one
hasKey()Check if a key is a part of the data structure
remove()Remove a key/value pair
sortKeys()Sort the keys alphabetically
sortKeysReverse()Sort the keys alphabetically in reverse
sortValues()Sort by values in ascending order
sortValuesReverse()Sort by values in descending order
Constructor
StringDict()
-StringDict(pairs)
-StringDict(row)
-
RelatedIntDict
-FloatDict
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/StringDict_clear_.html b/Java/Processing/processing-3.3.6/modes/java/reference/StringDict_clear_.html deleted file mode 100644 index 084034c..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/StringDict_clear_.html +++ /dev/null @@ -1,161 +0,0 @@ - - - - StringDict::clear() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

StringDict

Name

clear()

Examples
-StringDict inventory;
-
-void setup() {
-  size(200, 200);
-  inventory = new StringDict();
-  inventory.set("coffee","black");
-  inventory.set("flour","white");
-  inventory.set("tea","green");
-  println(inventory);
-  inventory.clear();
-  println(inventory);
-}
-
-
-
Description -Remove all entries. -
Syntax
.clear()
Returnsvoid
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/StringDict_get_.html b/Java/Processing/processing-3.3.6/modes/java/reference/StringDict_get_.html deleted file mode 100644 index 42bf256..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/StringDict_get_.html +++ /dev/null @@ -1,168 +0,0 @@ - - - - StringDict::get() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

StringDict

Name

get()

Examples
-StringDict inventory;
-
-void setup() {
-  size(200, 200);
-  inventory = new StringDict();
-  inventory.set("coffee","black");
-  inventory.set("flour","white");
-  inventory.set("tea","green");
-  println(inventory);
-  noLoop();
-  fill(0);
-  textAlign(CENTER);
-}
-
-void draw() {
-  String teaColor = inventory.get("tea");
-  text(teaColor, width/2, height/2);
-}
-
-
-
Description -Return a value for the specified key. -
Syntax
.get(key)
-.get(key, alternate)
ReturnsString
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/StringDict_hasKey_.html b/Java/Processing/processing-3.3.6/modes/java/reference/StringDict_hasKey_.html deleted file mode 100644 index dd8a760..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/StringDict_hasKey_.html +++ /dev/null @@ -1,164 +0,0 @@ - - - - StringDict::hasKey() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

StringDict

Name

hasKey()

Examples
-StringDict inventory;
-
-void setup() {
-  size(200, 200);
-  inventory = new StringDict();
-  inventory.set("coffee","black");
-  inventory.set("flour","white");
-  inventory.set("tea","green");
-  println(inventory);noLoop();
-  if (inventory.hasKey("tea") == true) {
-    println("Yes, we have tea."); 
-  } else {
-    println("Sorry, no tea.");
-  }
-}
-
-
-
Description -Check if a key is a part of the data structure. -
Syntax
.hasKey(key)
Returnsboolean
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/StringDict_keyArray_.html b/Java/Processing/processing-3.3.6/modes/java/reference/StringDict_keyArray_.html deleted file mode 100644 index 1f49dbc..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/StringDict_keyArray_.html +++ /dev/null @@ -1,162 +0,0 @@ - - - - StringDict::keyArray() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

StringDict

Name

keyArray()

Examples
-StringDict inventory;
-
-void setup() {
-  size(200, 200);
-  inventory = new StringDict();
-  inventory.set("coffee","black");
-  inventory.set("flour","white");
-  inventory.set("tea","green");
-  println(inventory);
-  String[] theKeys = inventory.keyArray();
-  println(theKeys);
-}
-
-
-
Description -Return a copy of the internal keys array. -
Syntax
.keyArray()
-.keyArray(outgoing)
ReturnsString[]
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/StringDict_remove_.html b/Java/Processing/processing-3.3.6/modes/java/reference/StringDict_remove_.html deleted file mode 100644 index 32a4ab9..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/StringDict_remove_.html +++ /dev/null @@ -1,161 +0,0 @@ - - - - StringDict::remove() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

StringDict

Name

remove()

Examples
-StringDict inventory;
-
-void setup() {
-  size(200, 200);
-  inventory = new StringDict();
-  inventory.set("coffee","black");
-  inventory.set("flour","white");
-  inventory.set("tea","green");
-  println(inventory);
-  inventory.remove("flour");
-  println(inventory);
-}
-
-
-
Description -Remove a key/value pair. -
Syntax
.remove(key)
Returnsint
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/StringDict_set_.html b/Java/Processing/processing-3.3.6/modes/java/reference/StringDict_set_.html deleted file mode 100644 index 986a143..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/StringDict_set_.html +++ /dev/null @@ -1,162 +0,0 @@ - - - - StringDict::set() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

StringDict

Name

set()

Examples
-StringDict inventory;
-
-void setup() {
-  size(200, 200);
-  inventory = new StringDict();
-  inventory.set("coffee","black");
-  inventory.set("flour","white");
-  inventory.set("tea","green");
-  println(inventory);
-  inventory.set("flour", "unbleached");
-  inventory.set("cinnamon", "brown");
-  println(inventory);
-}
-
-
-
Description -Create a new key/value pair or change the value of one. -
Syntax
.set(key, value)
Returnsvoid
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/StringDict_size_.html b/Java/Processing/processing-3.3.6/modes/java/reference/StringDict_size_.html deleted file mode 100644 index 2a7e660..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/StringDict_size_.html +++ /dev/null @@ -1,161 +0,0 @@ - - - - StringDict::size() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

StringDict

Name

size()

Examples
-StringDict inventory;
-
-void setup() {
-  size(200, 200);
-  inventory = new StringDict();
-  inventory.set("coffee","black");
-  inventory.set("flour","white");
-  inventory.set("tea","green");
-  println(inventory);
-  int s = inventory.size();
-  println(s);
-}
-
-
-
Description -Returns the number of key/value pairs. -
Syntax
.size()
Returnsint
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/StringDict_sortKeysReverse_.html b/Java/Processing/processing-3.3.6/modes/java/reference/StringDict_sortKeysReverse_.html deleted file mode 100644 index bf9c867..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/StringDict_sortKeysReverse_.html +++ /dev/null @@ -1,161 +0,0 @@ - - - - StringDict::sortKeysReverse() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

StringDict

Name

sortKeysReverse()

Examples
-StringDict inventory;
-
-void setup() {
-  size(200, 200);
-  inventory = new StringDict();
-  inventory.set("flour","white");
-  inventory.set("coffee","black");
-  inventory.set("tea","green");
-  println(inventory);
-  inventory.sortKeysReverse();
-  println(inventory);
-}
-
-
-
Description -Sort the keys alphabetially in reverse. -
Syntax
.sortKeysReverse()
Returnsvoid
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/StringDict_sortKeys_.html b/Java/Processing/processing-3.3.6/modes/java/reference/StringDict_sortKeys_.html deleted file mode 100644 index 73ddbe2..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/StringDict_sortKeys_.html +++ /dev/null @@ -1,161 +0,0 @@ - - - - StringDict::sortKeys() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

StringDict

Name

sortKeys()

Examples
-StringDict inventory;
-
-void setup() {
-  size(200, 200);
-  inventory = new StringDict();
-  inventory.set("flour","white");
-  inventory.set("coffee","black");
-  inventory.set("tea","green");
-  println(inventory);
-  inventory.sortKeys();
-  println(inventory);
-}
-
-
-
Description -Sort the keys alphabetically. -
Syntax
.sortKeys()
Returnsvoid
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/StringDict_sortValuesReverse_.html b/Java/Processing/processing-3.3.6/modes/java/reference/StringDict_sortValuesReverse_.html deleted file mode 100644 index 7bc6558..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/StringDict_sortValuesReverse_.html +++ /dev/null @@ -1,161 +0,0 @@ - - - - StringDict::sortValuesReverse() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

StringDict

Name

sortValuesReverse()

Examples
-StringDict inventory;
-
-void setup() {
-  size(200, 200);
-  inventory = new StringDict();
-  inventory.set("flour","white");
-  inventory.set("coffee","black");
-  inventory.set("tea","green");
-  println(inventory);
-  inventory.sortValuesReverse();
-  println(inventory);
-}
-
-
-
Description -Sort by values in descending order. -
Syntax
.sortValuesReverse()
Returnsvoid
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/StringDict_sortValues_.html b/Java/Processing/processing-3.3.6/modes/java/reference/StringDict_sortValues_.html deleted file mode 100644 index 6d8fdcf..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/StringDict_sortValues_.html +++ /dev/null @@ -1,161 +0,0 @@ - - - - StringDict::sortValues() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

StringDict

Name

sortValues()

Examples
-StringDict inventory;
-
-void setup() {
-  size(200, 200);
-  inventory = new StringDict();
-  inventory.set("flour","white");
-  inventory.set("coffee","black");
-  inventory.set("tea","green");
-  println(inventory);
-  inventory.sortValues();
-  println(inventory);
-}
-
-
-
Description -Sort by values in descending order. -
Syntax
.sortValues()
Returnsvoid
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/StringDict_valueArray_.html b/Java/Processing/processing-3.3.6/modes/java/reference/StringDict_valueArray_.html deleted file mode 100644 index b250e4b..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/StringDict_valueArray_.html +++ /dev/null @@ -1,162 +0,0 @@ - - - - StringDict::valueArray() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

StringDict

Name

valueArray()

Examples
-StringDict inventory;
-
-void setup() {
-  size(200, 200);
-  inventory = new StringDict();
-  inventory.set("coffee","black");
-  inventory.set("flour","white");
-  inventory.set("tea","green");
-  println(inventory);
-  String[] colors = inventory.valueArray();
-  println(colors);
-}
-
-
-
Description -Create a new array and copy each of the values into it. -
Syntax
.valueArray()
-.valueArray(array)
ReturnsString[]
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/StringDict_values_.html b/Java/Processing/processing-3.3.6/modes/java/reference/StringDict_values_.html deleted file mode 100644 index f6f496f..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/StringDict_values_.html +++ /dev/null @@ -1,162 +0,0 @@ - - - - StringDict::values() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

StringDict

Name

values()

Examples
-StringDict inventory;
-
-void setup() {
-  size(200, 200);
-  inventory = new StringDict();
-  inventory.set("coffee","black");
-  inventory.set("flour","white");
-  inventory.set("tea","green");
-  println(inventory); 
-  for (String v : inventory.values()) {
-    println(v);
-  }
-}
-
-
-
Description -Return the internal array being used to store the values. -
Syntax
.values()
ReturnsIterable<String>
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/StringList.html b/Java/Processing/processing-3.3.6/modes/java/reference/StringList.html deleted file mode 100644 index 8b47fc6..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/StringList.html +++ /dev/null @@ -1,243 +0,0 @@ - - - - StringList \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - -
Name

StringList

Examples
-StringList inventory;
-
-void setup() {
-  size(200, 200);
-  inventory = new StringList();
-  inventory.append("coffee");
-  inventory.append("flour");
-  inventory.append("tea");
-  println(inventory);
-  noLoop();
-  fill(0);
-  textAlign(CENTER);
-}
-
-void draw() {
-  String item = inventory.get(2);
-  text(item, width/2, height/2);
-}
-
-
-
Description -Helper class for a list of Strings. Lists are designed to have some of the -features of ArrayLists, but to maintain the simplicity and efficiency of -working with arrays.
-
-Functions like sort() and shuffle() always act on the list itself. To get -a sorted copy, use list.copy().sort(). -
Methods - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
size()Get the length of the list
clear()Remove all entries from the list
get()Get an entry at a particular index
set()Set an entry at a particular index
remove()Remove an element from the specified index
append()Add a new entry to the list
hasValue()Check if a value is a part of the list
sort()Sorts the array in place
sortReverse()Reverse sort, orders values from highest to lowest
reverse()Reverse the order of the list elements
shuffle()Randomize the order of the list elements
lower()Make the entire list lower case
upper()Make the entire list upper case
array()Create a new array with a copy of all the values
Constructor
StringList()
-StringList(items)
-
RelatedIntList
-FloatList
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/StringList_append_.html b/Java/Processing/processing-3.3.6/modes/java/reference/StringList_append_.html deleted file mode 100644 index 070cfaf..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/StringList_append_.html +++ /dev/null @@ -1,163 +0,0 @@ - - - - StringList::append() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

StringList

Name

append()

Examples
-StringList inventory;
-
-void setup() {
-  size(200, 200);
-  inventory = new StringList();
-  inventory.append("coffee");
-  inventory.append("flour");
-  inventory.append("tea");
-  println(inventory);
-  inventory.append("honey");
-  println(inventory);
-}
-
-
-
Description -Add a new entry to the list. -
Syntax
.append(value)
-.append(values)
-.append(list)
Returnsvoid
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/StringList_array_.html b/Java/Processing/processing-3.3.6/modes/java/reference/StringList_array_.html deleted file mode 100644 index 1284c30..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/StringList_array_.html +++ /dev/null @@ -1,164 +0,0 @@ - - - - StringList::array() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

StringList

Name

array()

Examples
-StringList inventory;
-
-void setup() {
-  size(200, 200);
-  inventory = new StringList();
-  inventory.append("coffee");
-  inventory.append("tea");
-  inventory.append("flour");
-  println(inventory);
-  inventory.sort();
-  String[] sortedInventory = inventory.array();
-  println(sortedInventory);
-}
-
-
-
-
Description -Create a new array with a copy of all the values. -
Syntax
.array()
-.array(array)
ReturnsString[]
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/StringList_clear_.html b/Java/Processing/processing-3.3.6/modes/java/reference/StringList_clear_.html deleted file mode 100644 index b9caaa6..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/StringList_clear_.html +++ /dev/null @@ -1,161 +0,0 @@ - - - - StringList::clear() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

StringList

Name

clear()

Examples
-StringList inventory;
-
-void setup() {
-  size(200, 200);
-  inventory = new StringList();
-  inventory.append("coffee");
-  inventory.append("flour");
-  inventory.append("tea");
-  println(inventory);
-  inventory.clear();
-  println(inventory);
-}
-
-
-
Description -Remove all entries from the list. -
Syntax
.clear()
Returnsvoid
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/StringList_get_.html b/Java/Processing/processing-3.3.6/modes/java/reference/StringList_get_.html deleted file mode 100644 index d002156..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/StringList_get_.html +++ /dev/null @@ -1,167 +0,0 @@ - - - - StringList::get() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

StringList

Name

get()

Examples
-StringList inventory;
-
-void setup() {
-  size(200, 200);
-  inventory = new StringList();
-  inventory.append("coffee");
-  inventory.append("flour");
-  inventory.append("tea");
-  println(inventory);
-  noLoop();
-  fill(0);
-  textAlign(CENTER);
-}
-
-void draw() {
-  String item = inventory.get(2);
-  text(item, width/2, height/2);
-}
-
-
-
Description -Get an entry at a particular index. -
Syntax
.get(index)
ReturnsString
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/StringList_hasValue_.html b/Java/Processing/processing-3.3.6/modes/java/reference/StringList_hasValue_.html deleted file mode 100644 index 044a03c..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/StringList_hasValue_.html +++ /dev/null @@ -1,164 +0,0 @@ - - - - StringList::hasValue() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

StringList

Name

hasValue()

Examples
-StringList inventory;
-
-void setup() {
-  size(200, 200);
-  inventory = new StringList();
-  inventory.append("coffee");
-  inventory.append("flour");
-  inventory.append("tea");
-  println(inventory);
-  if (inventory.hasValue("tea") == true) {
-    println("Yes, we have a tea"); 
-  } else {
-    println("Sorry, no tea");
-  }
-}
-
-
-
Description -Check if a value is a part of the list. -
Syntax
.hasValue(value)
Returnsboolean
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/StringList_lower_.html b/Java/Processing/processing-3.3.6/modes/java/reference/StringList_lower_.html deleted file mode 100644 index 90168fc..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/StringList_lower_.html +++ /dev/null @@ -1,161 +0,0 @@ - - - - StringList::lower() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

StringList

Name

lower()

Examples
-StringList inventory;
-
-void setup() {
-  size(200, 200);
-  inventory = new StringList();
-  inventory.append("coffee");
-  inventory.append("flour");
-  inventory.append("tea");
-  println(inventory);
-  inventory.lower();
-  println(inventory);
-}
-
-
-
Description -Make the entire list lower case. -
Syntax
.lower()
Returnsvoid
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/StringList_remove_.html b/Java/Processing/processing-3.3.6/modes/java/reference/StringList_remove_.html deleted file mode 100644 index 4428867..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/StringList_remove_.html +++ /dev/null @@ -1,177 +0,0 @@ - - - - StringList::remove() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

StringList

Name

remove()

Examples
-StringList inventory;
-
-void setup() {
-  size(200, 200);
-  inventory = new StringList();
-  inventory.append("coffee");
-  inventory.append("flour");
-  inventory.append("tea");
-  println(inventory);
-  inventory.remove(1);
-  println(inventory);
-}
-
-
-
-
-StringList inventory;
-
-void setup() {
-  size(200, 200);
-  inventory = new StringList();
-  inventory.append("coffee");
-  inventory.append("flour");
-  inventory.append("tea");
-  println(inventory);
-  String val = inventory.remove(1);
-  println("The value " + val + " was removed.");
-}
-
-
-
Description -Remove an element from the specified index. -
Syntax
.remove(index)
ReturnsString
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/StringList_reverse_.html b/Java/Processing/processing-3.3.6/modes/java/reference/StringList_reverse_.html deleted file mode 100644 index b54b029..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/StringList_reverse_.html +++ /dev/null @@ -1,161 +0,0 @@ - - - - StringList::reverse() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

StringList

Name

reverse()

Examples
-StringList inventory;
-
-void setup() {
-  size(200, 200);
-  inventory = new StringList();
-  inventory.append("coffee");
-  inventory.append("flour");
-  inventory.append("tea");
-  println(inventory);
-  inventory.reverse();
-  println(inventory);
-}
-
-
-
Description -Reverses the order of the list. -
Syntax
.reverse()
Returnsvoid
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/StringList_set_.html b/Java/Processing/processing-3.3.6/modes/java/reference/StringList_set_.html deleted file mode 100644 index 5b2b8ef..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/StringList_set_.html +++ /dev/null @@ -1,177 +0,0 @@ - - - - StringList::set() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

StringList

Name

set()

Examples
-StringList inventory;
-
-void setup() {
-  size(200, 200);
-  inventory = new StringList();
-  inventory.append("coffee");
-  inventory.append("flour");
-  inventory.append("tea");
-  println(inventory);
-  inventory.set(1, "barley");
-  println(inventory);
-}
-
-
-
-
-StringList inventory;
-
-void setup() {
-  size(200, 200);
-  inventory = new StringList();
-  inventory.append("coffee");
-  inventory.append("flour");
-  inventory.append("tea");
-  println(inventory);
-  inventory.set(4, "honey");
-  println(inventory);
-}
-
-
-
Description -Set the entry at a particular index. If the index is past the length of the list, it'll expand the list to accommodate, and fill the intermediate entries with "null". -
Syntax
.set(index, what)
Returnsvoid
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/StringList_shuffle_.html b/Java/Processing/processing-3.3.6/modes/java/reference/StringList_shuffle_.html deleted file mode 100644 index e52a093..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/StringList_shuffle_.html +++ /dev/null @@ -1,162 +0,0 @@ - - - - StringList::shuffle() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

StringList

Name

shuffle()

Examples
-StringList inventory;
-
-void setup() {
-  size(200, 200);
-  inventory = new StringList();
-  inventory.append("coffee");
-  inventory.append("flour");
-  inventory.append("tea");
-  println(inventory);
-  inventory.shuffle();
-  println(inventory);
-}
-
-
-
Description -Randomize the order of the list elements -
Syntax
.shuffle()
-.shuffle(sketch)
Returnsvoid
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/StringList_size_.html b/Java/Processing/processing-3.3.6/modes/java/reference/StringList_size_.html deleted file mode 100644 index aa51a41..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/StringList_size_.html +++ /dev/null @@ -1,161 +0,0 @@ - - - - StringList::size() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

StringList

Name

size()

Examples
-StringList inventory;
-
-void setup() {
-  size(200, 200);
-  inventory = new StringList();
-  inventory.append("coffee");
-  inventory.append("flour");
-  inventory.append("tea");
-  println(inventory);
-  int s = inventory.size();
-  println(s);
-}
-
-
-
Description -Get the length of the list. -
Syntax
.size()
Returnsint
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/StringList_sortReverse_.html b/Java/Processing/processing-3.3.6/modes/java/reference/StringList_sortReverse_.html deleted file mode 100644 index 189d672..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/StringList_sortReverse_.html +++ /dev/null @@ -1,161 +0,0 @@ - - - - StringList::sortReverse() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

StringList

Name

sortReverse()

Examples
-StringList inventory;
-
-void setup() {
-  size(200, 200);
-  inventory = new StringList();
-  inventory.append("coffee");
-  inventory.append("tea");
-  inventory.append("flour");
-  println(inventory);
-  inventory.sortReverse();
-  println(inventory);
-}
-
-
-
Description -A sort in reverse. It's equivalent to running sort() and then reverse(), but is more efficient than running each separately. -
Syntax
.sortReverse()
Returnsvoid
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/StringList_sort_.html b/Java/Processing/processing-3.3.6/modes/java/reference/StringList_sort_.html deleted file mode 100644 index 3655764..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/StringList_sort_.html +++ /dev/null @@ -1,161 +0,0 @@ - - - - StringList::sort() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

StringList

Name

sort()

Examples
-StringList inventory;
-
-void setup() {
-  size(200, 200);
-  inventory = new StringList();
-  inventory.append("coffee");
-  inventory.append("tea");
-  inventory.append("flour");
-  println(inventory);
-  inventory.sort();
-  println(inventory);
-}
-
-
-
Description -Sorts the array in place. -
Syntax
.sort()
Returnsvoid
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/StringList_upper_.html b/Java/Processing/processing-3.3.6/modes/java/reference/StringList_upper_.html deleted file mode 100644 index 7ab18c2..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/StringList_upper_.html +++ /dev/null @@ -1,161 +0,0 @@ - - - - StringList::upper() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

StringList

Name

upper()

Examples
-StringList inventory;
-
-void setup() {
-  size(200, 200);
-  inventory = new StringList();
-  inventory.append("coffee");
-  inventory.append("tea");
-  inventory.append("flour");
-  println(inventory);
-  inventory.upper();
-  println(inventory);
-}
-
-
-
Description -Make the entire list upper case. -
Syntax
.upper()
Returnsvoid
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/String_charAt_.html b/Java/Processing/processing-3.3.6/modes/java/reference/String_charAt_.html deleted file mode 100644 index 1c5d413..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/String_charAt_.html +++ /dev/null @@ -1,162 +0,0 @@ - - - - String::charAt() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

String

Name

charAt()

Examples
-String str = "CCCP";
-char c1 = str.charAt(0);
-char c2 = str.charAt(1);
-char c3 = str.charAt(str.length()-1);
-println(c1 + ":" + c2 + ":" + c3);  // Prints "C:C:P"
-
-
Description -Returns the character at the specified index. An index ranges from 0 to the length of the string minus 1. The first character of the sequence is at index 0, the next at index 1, etc. -
Syntax
-str.charAt(index)
-
Parameters - - - - - - -
strString: any variable of type String
indexint: the index of the character
- -Updated on April 30, 2017 02:33:23pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/String_equals_.html b/Java/Processing/processing-3.3.6/modes/java/reference/String_equals_.html deleted file mode 100644 index 87f9428..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/String_equals_.html +++ /dev/null @@ -1,161 +0,0 @@ - - - - String::equals() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

String

Name

equals()

Examples
-String str1 = "CCCP";
-String str2 = "CCCP";
-// Tests to see if 'str1' is equal to 'str2'
-if (str1.equals(str2) == true) {
-  println("Equal");  // They are equal, so this line will print
-} else {
-  println("Not equal");  // This line will not print
-}
-
-
Description -Compares two strings to see if they are the same. This method is necessary because it's not possible to compare strings using the equality operator (==). Returns true if the strings are the same and false if they are not. -
Syntax
-str.equals(str)
-
Parameters - - -
strString: any valid String
- -Updated on April 30, 2017 02:33:22pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/String_indexOf_.html b/Java/Processing/processing-3.3.6/modes/java/reference/String_indexOf_.html deleted file mode 100644 index f539d40..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/String_indexOf_.html +++ /dev/null @@ -1,167 +0,0 @@ - - - - String::indexOf() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

String

Name

indexOf()

Examples
-String str = "CCCP";
-int p1 = str.indexOf("C");
-int p2 = str.indexOf("P");
-int p3 = str.indexOf("CP");
-println(p1 + ":" + p2 + ":" + p3);  // Prints "0:3:2"
-
-
Description -Tests to see if a substring is embedded in a String, and returns the index position of the first occurrence of the substring defined in the str parameter. If the str substring is not found within the String, -1 is returned. -
Syntax
-str.indexOf(str)
-str.indexOf(str, fromIndex)
-
Parameters - - - - - - - - - - -
strString: any variable of type String
strString: the substring to search
fromIndexint: the index from which to start the search
- -Updated on April 30, 2017 02:33:23pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/String_length_.html b/Java/Processing/processing-3.3.6/modes/java/reference/String_length_.html deleted file mode 100644 index bec8932..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/String_length_.html +++ /dev/null @@ -1,164 +0,0 @@ - - - - String::length() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

String

Name

length()

Examples
-String str1 = "CCCP";
-String str2 = "Rabbit";
-int l1 = str1.length();
-int l2 = str2.length();
-println(l1 + ":" + l2);  // Prints "4:6"
-
-
Description -Returns the total number of characters included in the String as an integer number. -

-People are often confused by the use of length() to get the size of a String and length to get the size of an array. Notice the absence of the parentheses when working with arrays. -
Syntax
-str.length()
-
Parameters - - - - - - -
strString: any variable of type String
- -Updated on April 30, 2017 02:33:23pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/String_substring_.html b/Java/Processing/processing-3.3.6/modes/java/reference/String_substring_.html deleted file mode 100644 index 848c6e9..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/String_substring_.html +++ /dev/null @@ -1,168 +0,0 @@ - - - - String::substring() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

String

Name

substring()

Examples
-String str1 = "CCCP"; 
-String str2 = "Rabbit"; 
-String ss1 = str1.substring(2);     // Returns "CP"
-String ss2 = str2.substring(3);     // Returns "bit"
-String ss3 = str1.substring(0, 2);  // Returns "CC"
-println(ss1 + ":" + ss2 + ":" + ss3);  // Prints "CP:bit:CC"
-
-
Description -Returns a new string that is a part of the original string. When using the endIndex parameter, the string between beginIndex and endIndex-1 is returned. -
Syntax
-str.substring(beginIndex)
-str.substring(beginIndex, endIndex)
-
Parameters - - - - - - - - - - -
strString: any variable of type String
beginIndexint: position from which to begin (inclusive)
endIndexint: position from which to end (exclusive)
- -Updated on April 30, 2017 02:33:23pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/String_toLowerCase_.html b/Java/Processing/processing-3.3.6/modes/java/reference/String_toLowerCase_.html deleted file mode 100644 index a0bb93d..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/String_toLowerCase_.html +++ /dev/null @@ -1,158 +0,0 @@ - - - - String::toLowerCase() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

String

Name

toLowerCase()

Examples
-String str1 = "CCCP"; 
-String str2 = "Rabbit"; 
-str1 = str1.toLowerCase();
-str2 = str2.toLowerCase();
-println(str1 + ":" + str2);  // Prints "cccp:rabbit"
-
-
Description -Converts all of the characters in the string to lowercase. For example, "ABC" will convert to "abc". -
Syntax
-str.toLowerCase()
-
Parameters - - -
strString: any variable of type String
- -Updated on April 30, 2017 02:33:23pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/String_toUpperCase_.html b/Java/Processing/processing-3.3.6/modes/java/reference/String_toUpperCase_.html deleted file mode 100644 index db0faa7..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/String_toUpperCase_.html +++ /dev/null @@ -1,158 +0,0 @@ - - - - String::toUpperCase() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

String

Name

toUpperCase()

Examples
-String str1 = "Cccp"; 
-String str2 = "Rabbit"; 
-str1 = str1.toUpperCase();
-str2 = str2.toUpperCase();
-println(str1 + ":" + str2);  // Prints "CCCP:RABBIT"
-
-
Description -Converts all of the characters in the string to uppercase. For example, "abc" will convert to "ABC". -
Syntax
-str.toUpperCase()
-
Parameters - - -
strString: any variable of type String
- -Updated on April 30, 2017 02:33:23pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/TAU.html b/Java/Processing/processing-3.3.6/modes/java/reference/TAU.html deleted file mode 100644 index 251643e..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/TAU.html +++ /dev/null @@ -1,158 +0,0 @@ - - - - TAU \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

TAU

Examples
example pic
-float x = width/2;
-float y = height/2;
-float d = width * 0.8;
-arc(x, y, d, d, 0, QUARTER_PI);
-arc(x, y, d-20, d-20, 0, HALF_PI);
-arc(x, y, d-40, d-40, 0, PI);
-arc(x, y, d-60, d-60, 0, TAU);
-
-
Description -TAU is a mathematical constant with the value 6.2831855. It is the circle constant relating the circumference of a circle to its linear dimension, the ratio of the circumference of a circle to its radius. It is useful in combination with trigonometric functions such as sin() and cos(). -
RelatedPI
-TWO_PI
-HALF_PI
-QUARTER_PI
- -Updated on April 30, 2017 02:33:19pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/TWO_PI.html b/Java/Processing/processing-3.3.6/modes/java/reference/TWO_PI.html deleted file mode 100644 index e07f012..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/TWO_PI.html +++ /dev/null @@ -1,158 +0,0 @@ - - - - TWO_PI \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

TWO_PI

Examples
example pic
-float x = width/2;
-float y = height/2;
-float d = width * 0.8;
-arc(x, y, d, d, 0, QUARTER_PI);
-arc(x, y, d-20, d-20, 0, HALF_PI);
-arc(x, y, d-40, d-40, 0, PI);
-arc(x, y, d-60, d-60, 0, TWO_PI);
-
-
Description -TWO_PI is a mathematical constant with the value 6.2831855. It is twice the ratio of the circumference of a circle to its diameter. It is useful in combination with the trigonometric functions sin() and cos(). -
RelatedPI
-TAU
-HALF_PI
-QUARTER_PI
- -Updated on April 30, 2017 02:33:19pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/Table.html b/Java/Processing/processing-3.3.6/modes/java/reference/Table.html deleted file mode 100644 index cf70957..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/Table.html +++ /dev/null @@ -1,289 +0,0 @@ - - - - Table \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - -
Name

Table

Examples
-Table table;
-
-void setup() {
-
-  table = new Table();
-  
-  table.addColumn("id");
-  table.addColumn("species");
-  table.addColumn("name");
-  
-  TableRow newRow = table.addRow();
-  newRow.setInt("id", table.lastRowIndex());
-  newRow.setString("species", "Panthera leo");
-  newRow.setString("name", "Lion");
-  
-  saveTable(table, "data/new.csv");
-}
-
-// Sketch saves the following to a file called "new.csv":
-// id,species,name
-// 0,Panthera leo,Lion
-
-
Description -Table objects store data with multiple rows and columns, much like in a traditional spreadsheet. Tables can be generated from scratch, dynamically, or using data from an existing file. Tables can also be output and saved to disk, as in the example above.
-
-Additional Table methods are documented in the Processing Table Javadoc. - -
Methods - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
addColumn()Adds a new column to a table
removeColumn()Removes a column from a table
getColumnCount()Gets the number of columns in a table
getRowCount()Gets the number of rows in a table
clearRows()Removes all rows from a table
addRow()Adds a row to a table
removeRow()Removes a row from a table
getRow()Gets a row from a table
rows()Gets multiple rows from a table
getInt()Get an integer value from the specified row and column
setInt()Store an integer value in the specified row and column
getFloat()Get a float value from the specified row and column
setFloat()Store a float value in the specified row and column
getString()Get an String value from the specified row and column
setString()Store a String value in the specified row and column
getStringColumn()Gets all values in the specified column
findRow()Finds a row that contains the given value
findRows()Finds multiple rows that contain the given value
matchRow()Finds a row that matches the given expression
matchRows()Finds multiple rows that match the given expression
removeTokens()Removes characters from the table
trim()Trims whitespace from values
sort()Orders a table based on the values in a column
Constructor
Table()
-Table(rows)
-
RelatedloadTable()
-saveTable()
-TableRow
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/TableRow.html b/Java/Processing/processing-3.3.6/modes/java/reference/TableRow.html deleted file mode 100644 index 3c4f45f..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/TableRow.html +++ /dev/null @@ -1,212 +0,0 @@ - - - - TableRow \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - -
Name

TableRow

Examples
-Table table;
-
-void setup() {
-
-  table = new Table();
-  
-  table.addColumn("number", Table.INT);
-  table.addColumn("mass", Table.FLOAT);
-  table.addColumn("name", Table.STRING);
-  
-  TableRow row = table.addRow();
-  row.setInt("number", 8);
-  row.setFloat("mass", 15.9994);
-  row.setString("name", "Oxygen");
-  
-  println(row.getInt("number"));   // Prints 8
-  println(row.getFloat("mass"));   // Prints 15.9994
-  println(row.getString("name"));  // Prints "Oxygen
-}
-
-
Description -A TableRow object represents a single row of data values, stored in columns, from a table.
-
-Additional TableRow methods are documented in the Processing Data Javadoc. -
Methods - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
getString()Get an String value from the specified column
getInt()Get an integer value from the specified column
getFloat()Get a float value from the specified column
setString()Store a String value in the specified column
setInt()Store an integer value in the specified column
setFloat()Store a float value in the specified column
getColumnCount()Get the column count.
getColumnTitle()Get the column title.
RelatedTable
-addRow()
-removeRow()
-clearRows()
-getRow()
-rows()
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/TableRow_getColumnCount_.html b/Java/Processing/processing-3.3.6/modes/java/reference/TableRow_getColumnCount_.html deleted file mode 100644 index 033f40c..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/TableRow_getColumnCount_.html +++ /dev/null @@ -1,162 +0,0 @@ - - - - TableRow::getColumnCount() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

TableRow

Name

getColumnCount()

Examples
-Table table;
-
-void setup() {
-
-  table = new Table();
-  
-  table.addColumn("number", Table.INT);
-  table.addColumn("mass", Table.FLOAT);
-  table.addColumn("name", Table.STRING);
-  
-  TableRow row = table.addRow();
-  
-  println(row.getColumnCount());  // Prints "3"
-}
-
-
Description -Returns the number of columns in a TableRow. -
Syntax
.getColumnCount()
Returnsint
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/TableRow_getColumnTitle_.html b/Java/Processing/processing-3.3.6/modes/java/reference/TableRow_getColumnTitle_.html deleted file mode 100644 index 33eebd6..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/TableRow_getColumnTitle_.html +++ /dev/null @@ -1,167 +0,0 @@ - - - - TableRow::getColumnTitle() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

TableRow

Name

getColumnTitle()

Examples
-Table table;
-
-void setup() {
-
-  table = new Table();
-  
-  table.addColumn("number", Table.INT);
-  table.addColumn("mass", Table.FLOAT);
-  table.addColumn("name", Table.STRING);
-  
-  TableRow row = table.addRow();
-  
-  println(row.getColumnTitle(0));  // Prints "number"
-  println(row.getColumnTitle(1));  // Prints "mass"
-  println(row.getColumnTitle(2));  // Prints "name"
-}
-
-
Description -Returns the name for a column in a TableRow based on its ID (e.g. 0, 1, 2, etc.) -
Syntax
.getColumnTitle(column)
Parameters - - -
columnint: ID number of the target column
ReturnsString
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/TableRow_getFloat_.html b/Java/Processing/processing-3.3.6/modes/java/reference/TableRow_getFloat_.html deleted file mode 100644 index 9ca9529..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/TableRow_getFloat_.html +++ /dev/null @@ -1,176 +0,0 @@ - - - - TableRow::getFloat() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

TableRow

Name

getFloat()

Examples
-Table table;
-
-void setup() {
-
-  table = new Table();
-  
-  table.addColumn("number", Table.INT);
-  table.addColumn("mass", Table.FLOAT);
-  table.addColumn("name", Table.STRING);
-  
-  TableRow row = table.addRow();
-  row.setInt("number", 8);
-  row.setFloat("mass", 15.9994);
-  row.setString("name", "Oxygen");
-  
-  println(row.getInt("number"));   // Prints 8
-  println(row.getFloat("mass"));   // Prints 15.9994
-  println(row.getString("name"));  // Prints "Oxygen
-}
-
-
Description -Retrieves a float value from the TableRow's specified column. The column may be specified by either its ID or title. -
Syntax
.getFloat(column)
-.getFloat(columnName)
Parameters - - - - - - -
columnint: ID number of the column to reference
columnNameString: title of the column to reference
Returnsfloat
RelatedgetInt()
-getString()
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/TableRow_getInt_.html b/Java/Processing/processing-3.3.6/modes/java/reference/TableRow_getInt_.html deleted file mode 100644 index 5baae76..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/TableRow_getInt_.html +++ /dev/null @@ -1,176 +0,0 @@ - - - - TableRow::getInt() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

TableRow

Name

getInt()

Examples
-Table table;
-
-void setup() {
-
-  table = new Table();
-  
-  table.addColumn("number", Table.INT);
-  table.addColumn("mass", Table.FLOAT);
-  table.addColumn("name", Table.STRING);
-  
-  TableRow row = table.addRow();
-  row.setInt("number", 8);
-  row.setFloat("mass", 15.9994);
-  row.setString("name", "Oxygen");
-  
-  println(row.getInt("number"));   // Prints 8
-  println(row.getFloat("mass"));   // Prints 15.9994
-  println(row.getString("name"));  // Prints "Oxygen
-}
-
-
Description -Retrieves an integer value from the TableRow's specified column. The column may be specified by either its ID or title. -
Syntax
.getInt(column)
-.getInt(columnName)
Parameters - - - - - - -
columnint: ID number of the column to reference
columnNameString: title of the column to reference
Returnsint
RelatedgetFloat()
-getString()
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/TableRow_getString_.html b/Java/Processing/processing-3.3.6/modes/java/reference/TableRow_getString_.html deleted file mode 100644 index 03033df..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/TableRow_getString_.html +++ /dev/null @@ -1,176 +0,0 @@ - - - - TableRow::getString() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

TableRow

Name

getString()

Examples
-Table table;
-
-void setup() {
-
-  table = new Table();
-  
-  table.addColumn("number", Table.INT);
-  table.addColumn("mass", Table.FLOAT);
-  table.addColumn("name", Table.STRING);
-  
-  TableRow row = table.addRow();
-  row.setInt("number", 8);
-  row.setFloat("mass", 15.9994);
-  row.setString("name", "Oxygen");
-  
-  println(row.getInt("number"));   // Prints 8
-  println(row.getFloat("mass"));   // Prints 15.9994
-  println(row.getString("name"));  // Prints "Oxygen
-}
-
-
Description -Retrieves a String value from the TableRow's specified column. The column may be specified by either its ID or title. -
Syntax
.getString(column)
-.getString(columnName)
Parameters - - - - - - -
columnint: ID number of the column to reference
columnNameString: title of the column to reference
ReturnsString
RelatedgetInt()
-getFloat()
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/TableRow_setFloat_.html b/Java/Processing/processing-3.3.6/modes/java/reference/TableRow_setFloat_.html deleted file mode 100644 index 0471b8a..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/TableRow_setFloat_.html +++ /dev/null @@ -1,180 +0,0 @@ - - - - TableRow::setFloat() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

TableRow

Name

setFloat()

Examples
-Table table;
-
-void setup() {
-
-  table = new Table();
-  
-  table.addColumn("number", Table.INT);
-  table.addColumn("mass", Table.FLOAT);
-  table.addColumn("name", Table.STRING);
-  
-  TableRow row = table.addRow();
-  row.setInt("number", 8);
-  row.setFloat("mass", 15.9994);
-  row.setString("name", "Oxygen");
-  
-  println(row.getInt("number"));   // Prints 8
-  println(row.getFloat("mass"));   // Prints 15.9994
-  println(row.getString("name"));  // Prints "Oxygen
-}
-
-
Description -Stores a float value in the TableRow's specified column. The column may be specified by either its ID or title. -
Syntax
.setFloat(column, value)
-.setFloat(columnName, value)
Parameters - - - - - - - - - - -
columnint: ID number of the target column
valuefloat: value to assign
columnNameString: title of the target column
Returnsvoid
RelatedsetInt()
-setString()
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/TableRow_setInt_.html b/Java/Processing/processing-3.3.6/modes/java/reference/TableRow_setInt_.html deleted file mode 100644 index ddd03c8..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/TableRow_setInt_.html +++ /dev/null @@ -1,180 +0,0 @@ - - - - TableRow::setInt() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

TableRow

Name

setInt()

Examples
-Table table;
-
-void setup() {
-
-  table = new Table();
-  
-  table.addColumn("number", Table.INT);
-  table.addColumn("mass", Table.FLOAT);
-  table.addColumn("name", Table.STRING);
-  
-  TableRow row = table.addRow();
-  row.setInt("number", 8);
-  row.setFloat("mass", 15.9994);
-  row.setString("name", "Oxygen");
-  
-  println(row.getInt("number"));   // Prints 8
-  println(row.getFloat("mass"));   // Prints 15.9994
-  println(row.getString("name"));  // Prints "Oxygen
-}
-
-
Description -Stores an integer value in the TableRow's specified column. The column may be specified by either its ID or title. -
Syntax
.setInt(column, value)
-.setInt(columnName, value)
Parameters - - - - - - - - - - -
columnint: ID number of the target column
valueint: value to assign
columnNameString: title of the target column
Returnsvoid
RelatedsetFloat()
-setString()
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/TableRow_setString_.html b/Java/Processing/processing-3.3.6/modes/java/reference/TableRow_setString_.html deleted file mode 100644 index 1dd2274..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/TableRow_setString_.html +++ /dev/null @@ -1,180 +0,0 @@ - - - - TableRow::setString() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

TableRow

Name

setString()

Examples
-Table table;
-
-void setup() {
-
-  table = new Table();
-  
-  table.addColumn("number", Table.INT);
-  table.addColumn("mass", Table.FLOAT);
-  table.addColumn("name", Table.STRING);
-  
-  TableRow row = table.addRow();
-  row.setInt("number", 8);
-  row.setFloat("mass", 15.9994);
-  row.setString("name", "Oxygen");
-  
-  println(row.getInt("number"));   // Prints 8
-  println(row.getFloat("mass"));   // Prints 15.9994
-  println(row.getString("name"));  // Prints "Oxygen
-}
-
-
Description -Stores a String value in the TableRow's specified column. The column may be specified by either its ID or title. -
Syntax
.setString(column, value)
-.setString(columnName, value)
Parameters - - - - - - - - - - -
columnint: ID number of the target column
valueString: value to assign
columnNameString: title of the target column
Returnsvoid
RelatedsetInt()
-setFloat()
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/Table_addColumn_.html b/Java/Processing/processing-3.3.6/modes/java/reference/Table_addColumn_.html deleted file mode 100644 index 614cda1..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/Table_addColumn_.html +++ /dev/null @@ -1,178 +0,0 @@ - - - - Table::addColumn() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

Table

Name

addColumn()

Examples
-Table table;
-
-void setup() {
-
-  table = new Table();
-  
-  table.addColumn("name");
-  table.addColumn("age", Table.INT);
-  table.addColumn("height", Table.FLOAT);
-  
-  TableRow newRow = table.addRow();
-  newRow.setString("name", "Jermaine");
-  newRow.setInt("age", 15);
-  newRow.setFloat("height", 4.567);
-  
-  saveTable(table, "data/new.csv");
-}
-
-// Sketch saves the following to a file called "new.csv":
-// name,age,height
-// Jermaine,15,4.567
-
-
Description -Use addColumn() to add a new column to a Table object. Typically, you will want to specify a title, so the column may be easily referenced later by name. (If no title is specified, the new column's title will be null.) A column type may also be specified, in which case all values stored in this column must be of the same type (e.g., Table.INT or Table.FLOAT). If no type is specified, the default type of STRING is used. -
Syntax
.addColumn()
-.addColumn(title)
-.addColumn(title, type)
Parameters - - - - - - -
titleString: the title to be used for the new column
typeint: the type to be used for the new column: INT, LONG, FLOAT, DOUBLE, or STRING
Returnsvoid
RelatedremoveColumn()
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/Table_addRow_.html b/Java/Processing/processing-3.3.6/modes/java/reference/Table_addRow_.html deleted file mode 100644 index dbb6fe5..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/Table_addRow_.html +++ /dev/null @@ -1,173 +0,0 @@ - - - - Table::addRow() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

Table

Name

addRow()

Examples
-Table table;
-
-void setup() {
-
-  table = new Table();
-  
-  table.addColumn("name");
-  table.addColumn("type");
-  
-  TableRow newRow = table.addRow();
-  newRow.setString("name", "Lion");
-  newRow.setString("type", "Mammal");
-  println(table.getRowCount());  // Prints 1
-  
-  table.addRow();  // Creates a new blank row
-  println(table.getRowCount());  // Prints 2
-  
-  table.addRow(newRow);  // Duplicates newRow
-  println(table.getRowCount());  // Prints 3
-}
-
-
Description -Use addRow() to add a new row of data to a Table object. By default, an empty row is created. Typically, you would store a reference to the new row in a TableRow object (see newRow in the example above), and then set individual values using setInt(), setFloat(), or setString(). If a TableRow object is included as a parameter, then that row is duplicated and added to the table. -
Syntax
.addRow()
-.addRow(source)
Parameters - - -
sourceTableRow: a reference to the original row to be duplicated
ReturnsTableRow
RelatedremoveRow()
-clearRows()
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/Table_clearRows_.html b/Java/Processing/processing-3.3.6/modes/java/reference/Table_clearRows_.html deleted file mode 100644 index 05cb27e..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/Table_clearRows_.html +++ /dev/null @@ -1,175 +0,0 @@ - - - - Table::clearRows() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

Table

Name

clearRows()

Examples
-Table table;
-
-void setup() {
-
-  table = new Table();
-
-  table.addColumn("name");
-  table.addColumn("type");
-
-  TableRow newRow = table.addRow();
-  newRow.setString("name", "Lion");
-  newRow.setString("type", "Mammal");
-
-  newRow = table.addRow();
-  newRow.setString("name", "Snake");
-  newRow.setString("type", "Reptile");
-
-  newRow = table.addRow();
-  newRow.setString("name", "Mosquito");
-  newRow.setString("type", "Insect");
-
-  println(table.getRowCount());  // Prints 3
-  
-  table.clearRows();
-  println(table.getRowCount());  // Prints 0
-}
-
-
Description -Removes all rows from a Table. While all rows are removed, columns and column titles are maintained. -
Syntax
.clearRows()
Returnsvoid
RelatedaddRow()
-removeRow()
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/Table_findRow_.html b/Java/Processing/processing-3.3.6/modes/java/reference/Table_findRow_.html deleted file mode 100644 index 0a303a1..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/Table_findRow_.html +++ /dev/null @@ -1,189 +0,0 @@ - - - - Table::findRow() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

Table

Name

findRow()

Examples
-Table table;
-
-void setup() {
-
-  table = new Table();
-
-  table.addColumn("name");
-  table.addColumn("type");
-
-  TableRow newRow = table.addRow();
-  newRow.setString("name", "Lion");
-  newRow.setString("type", "Mammal");
-
-  newRow = table.addRow();
-  newRow.setString("name", "Snake");
-  newRow.setString("type", "Reptile");
-
-  newRow = table.addRow();
-  newRow.setString("name", "Mosquito");
-  newRow.setString("type", "Insect");
-
-  TableRow result = table.findRow("Reptile", "type");
-  println(result.getString("name"));  // Prints "Snake"
-
-}
-
-
Description -Finds the first row in the Table that contains the value provided, and returns a reference to that row. Even if multiple rows are possible matches, only the first matching row is returned. The column to search may be specified by either its ID or title. -
Syntax
.findRow(value, column)
-.findRow(value, columnName)
Parameters - - - - - - - - - - -
valueString: the value to match
columnint: ID number of the column to search
columnNameString: title of the column to search
ReturnsTableRow
RelatedgetRow()
-rows()
-findRows()
-matchRow()
-matchRows()
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/Table_findRows_.html b/Java/Processing/processing-3.3.6/modes/java/reference/Table_findRows_.html deleted file mode 100644 index f321940..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/Table_findRows_.html +++ /dev/null @@ -1,197 +0,0 @@ - - - - Table::findRows() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

Table

Name

findRows()

Examples
-Table table;
-
-void setup() {
-
-  table = new Table();
-
-  table.addColumn("name");
-  table.addColumn("type");
-
-  TableRow newRow = table.addRow();
-  newRow.setString("name", "Lion");
-  newRow.setString("type", "Mammal");
-
-  newRow = table.addRow();
-  newRow.setString("name", "Snake");
-  newRow.setString("type", "Reptile");
-
-  newRow = table.addRow();
-  newRow.setString("name", "Mosquito");
-  newRow.setString("type", "Insect");
-
-  newRow = table.addRow();
-  newRow.setString("name", "Lizard");
-  newRow.setString("type", "Reptile");
-
-  for (TableRow row : table.findRows("Reptile", "type")) {
-    println(row.getString("name") + ": " + row.getString("type"));
-  }
-}
-
-// Sketch prints:
-// Snake: Reptile
-// Lizard: Reptile
-
-
Description -Finds the rows in the Table that contain the value provided, and returns references to those rows. Returns an iterator, so for must be used to iterate through all the rows, as shown in the example above. The column to search may be specified by either its ID or title. -
Syntax
.findRows(value, column)
-.findRows(value, columnName)
Parameters - - - - - - - - - - -
valueString: the value to match
columnint: ID number of the column to search
columnNameString: title of the column to search
ReturnsIterable<TableRow>
RelatedgetRow()
-rows()
-findRow()
-matchRow()
-matchRows()
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/Table_getColumnCount_.html b/Java/Processing/processing-3.3.6/modes/java/reference/Table_getColumnCount_.html deleted file mode 100644 index 622ae46..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/Table_getColumnCount_.html +++ /dev/null @@ -1,162 +0,0 @@ - - - - Table::getColumnCount() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

Table

Name

getColumnCount()

Examples
-Table table;
-
-void setup() {
-
-  table = new Table();
-  
-  println(table.getColumnCount());  // Prints 0
-  
-  table.addColumn("name");
-  println(table.getColumnCount());  // Prints 1
-  
-  table.addColumn("type");
-  println(table.getColumnCount());  // Prints 2
-}
-
-
Description -Returns the total number of columns in a table. -
Syntax
.getColumnCount()
Returnsint
RelatedgetRowCount()
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/Table_getFloat_.html b/Java/Processing/processing-3.3.6/modes/java/reference/Table_getFloat_.html deleted file mode 100644 index befd736..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/Table_getFloat_.html +++ /dev/null @@ -1,185 +0,0 @@ - - - - Table::getFloat() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

Table

Name

getFloat()

Examples
-Table table;
-
-void setup() {
-
-  table = new Table();
-  
-  table.addColumn("number", Table.INT);
-  table.addColumn("mass", Table.FLOAT);
-  table.addColumn("name", Table.STRING);
-  
-  table.addRow();  // Creates an empty row
-  
-  table.setInt(0, "number", 8);
-  table.setFloat(0, "mass", 15.9994);
-  table.setString(0, "name", "Oxygen");
-  
-  println(table.getInt(0, "number"));   // Prints 8
-  println(table.getFloat(0, "mass"));   // Prints 15.9994
-  println(table.getString(0, "name"));  // Prints "Oxygen"
-}
-
-
Description -Retrieves a float value from the Table's specified row and column. The row is specified by its ID, while the column may be specified by either its ID or title. -
Syntax
.getFloat(row, column)
-.getFloat(row, columnName)
Parameters - - - - - - - - - - -
rowint: ID number of the row to reference
columnint: ID number of the column to reference
columnNameString: title of the column to reference
Returnsfloat
RelatedgetInt()
-getString()
-getStringColumn()
-setInt()
-setFloat()
-setString()
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/Table_getInt_.html b/Java/Processing/processing-3.3.6/modes/java/reference/Table_getInt_.html deleted file mode 100644 index 432f795..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/Table_getInt_.html +++ /dev/null @@ -1,185 +0,0 @@ - - - - Table::getInt() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

Table

Name

getInt()

Examples
-Table table;
-
-void setup() {
-
-  table = new Table();
-  
-  table.addColumn("number", Table.INT);
-  table.addColumn("mass", Table.FLOAT);
-  table.addColumn("name", Table.STRING);
-  
-  table.addRow();  // Creates an empty row
-  
-  table.setInt(0, "number", 8);
-  table.setFloat(0, "mass", 15.9994);
-  table.setString(0, "name", "Oxygen");
-  
-  println(table.getInt(0, "number"));   // Prints 8
-  println(table.getFloat(0, "mass"));   // Prints 15.9994
-  println(table.getString(0, "name"));  // Prints "Oxygen"
-}
-
-
Description -Retrieves an integer value from the Table's specified row and column. The row is specified by its ID, while the column may be specified by either its ID or title. -
Syntax
.getInt(row, column)
-.getInt(row, columnName)
Parameters - - - - - - - - - - -
rowint: ID number of the row to reference
columnint: ID number of the column to reference
columnNameString: title of the column to reference
Returnsint
RelatedgetFloat()
-getString()
-getStringColumn()
-setInt()
-setFloat()
-setString()
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/Table_getRowCount_.html b/Java/Processing/processing-3.3.6/modes/java/reference/Table_getRowCount_.html deleted file mode 100644 index 635f829..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/Table_getRowCount_.html +++ /dev/null @@ -1,167 +0,0 @@ - - - - Table::getRowCount() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

Table

Name

getRowCount()

Examples
-Table table;
-
-void setup() {
-
-  table = new Table();
-  
-  table.addColumn("name");
-  table.addColumn("type");
-  
-  println(table.getRowCount());  // Prints 0
-  
-  TableRow newRow = table.addRow();
-  newRow.setString("name", "Lion");
-  newRow.setString("type", "Mammal");
-  println(table.getRowCount());  // Prints 1
-  
-  table.addRow();  // Creates a new blank row
-  println(table.getRowCount());  // Prints 2
-}
-
-
Description -Returns the total number of rows in a table. -
Syntax
.getRowCount()
Returnsint
RelatedgetColumnCount()
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/Table_getRow_.html b/Java/Processing/processing-3.3.6/modes/java/reference/Table_getRow_.html deleted file mode 100644 index 17d9cc1..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/Table_getRow_.html +++ /dev/null @@ -1,181 +0,0 @@ - - - - Table::getRow() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

Table

Name

getRow()

Examples
-Table table;
-
-void setup() {
-
-  table = new Table();
-
-  table.addColumn("name");
-  table.addColumn("type");
-
-  TableRow newRow = table.addRow();
-  newRow.setString("name", "Lion");
-  newRow.setString("type", "Mammal");
-  
-  newRow = table.addRow();
-  newRow.setString("name", "Snake");
-  newRow.setString("type", "Reptile");
-  
-  newRow = table.addRow();
-  newRow.setString("name", "Mosquito");
-  newRow.setString("type", "Insect");
-  
-  TableRow row = table.getRow(2);
-  println(row.getString("name"));  // Prints "Mosquito"
-  row.setString("name", "Ladybug");
-  println(row.getString("name"));  // Prints "Ladybug"
-}
-
-
Description -Returns a reference to the specified TableRow. The reference can then be used to get and set values of the selected row, as illustrated in the example above. -
Syntax
.getRow(row)
Parameters - - -
rowint: ID number of the row to get
ReturnsTableRow
Relatedrows()
-findRow()
-findRows()
-matchRow()
-matchRows()
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/Table_getStringColumn_.html b/Java/Processing/processing-3.3.6/modes/java/reference/Table_getStringColumn_.html deleted file mode 100644 index 2cfeeeb..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/Table_getStringColumn_.html +++ /dev/null @@ -1,189 +0,0 @@ - - - - Table::getStringColumn() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

Table

Name

getStringColumn()

Examples
-Table table;
-
-void setup() {
-
-  table = new Table();
-
-  table.addColumn("name");
-  table.addColumn("type");
-
-  TableRow newRow = table.addRow();
-  newRow.setString("name", "Lion");
-  newRow.setString("type", "Mammal");
-
-  newRow = table.addRow();
-  newRow.setString("name", "Snake");
-  newRow.setString("type", "Reptile");
-
-  newRow = table.addRow();
-  newRow.setString("name", "Mosquito");
-  newRow.setString("type", "Insect");
-  
-  println(table.getStringColumn("name"));
-}
-
-// Sketch prints:
-// [0] "Lion"
-// [1] "Snake"
-// [2] "Mosquito"
-
-
Description -Retrieves all values in the specified column, and returns them as a String array. The column may be specified by either its ID or title. -
Syntax
.getStringColumn(columnName)
-.getStringColumn(column)
Parameters - - - - - - -
columnNameString: title of the column to search
columnint: ID number of the column to search
ReturnsString[]
RelatedgetInt()
-getFloat()
-getString()
-setInt()
-setFloat()
-setString()
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/Table_getString_.html b/Java/Processing/processing-3.3.6/modes/java/reference/Table_getString_.html deleted file mode 100644 index e58bb95..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/Table_getString_.html +++ /dev/null @@ -1,185 +0,0 @@ - - - - Table::getString() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

Table

Name

getString()

Examples
-Table table;
-
-void setup() {
-
-  table = new Table();
-  
-  table.addColumn("number", Table.INT);
-  table.addColumn("mass", Table.FLOAT);
-  table.addColumn("name", Table.STRING);
-  
-  table.addRow();  // Creates an empty row
-  
-  table.setInt(0, "number", 8);
-  table.setFloat(0, "mass", 15.9994);
-  table.setString(0, "name", "Oxygen");
-  
-  println(table.getInt(0, "number"));   // Prints 8
-  println(table.getFloat(0, "mass"));   // Prints 15.9994
-  println(table.getString(0, "name"));  // Prints "Oxygen"
-}
-
-
Description -Retrieves a String value from the Table's specified row and column. The row is specified by its ID, while the column may be specified by either its ID or title. -
Syntax
.getString(row, column)
-.getString(row, columnName)
Parameters - - - - - - - - - - -
rowint: ID number of the row to reference
columnint: ID number of the column to reference
columnNameString: title of the column to reference
ReturnsString
RelatedgetInt()
-getFloat()
-getStringColumn()
-setInt()
-setFloat()
-setString()
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/Table_matchRow_.html b/Java/Processing/processing-3.3.6/modes/java/reference/Table_matchRow_.html deleted file mode 100644 index ec27f5d..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/Table_matchRow_.html +++ /dev/null @@ -1,189 +0,0 @@ - - - - Table::matchRow() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

Table

Name

matchRow()

Examples
-Table table;
-
-void setup() {
-
-  table = new Table();
-
-  table.addColumn("name");
-  table.addColumn("type");
-
-  TableRow newRow = table.addRow();
-  newRow.setString("name", "Lion");
-  newRow.setString("type", "Mammal");
-
-  newRow = table.addRow();
-  newRow.setString("name", "Snake");
-  newRow.setString("type", "Reptile");
-
-  newRow = table.addRow();
-  newRow.setString("name", "Mosquito");
-  newRow.setString("type", "Insect");
-
-  TableRow result = table.matchRow("R.*", "type");
-  println(result.getString("name"));  // Prints "Snake"
-
-}
-
-
Description -Finds the first row in the Table that matches the regular expression provided, and returns a reference to that row. Even if multiple rows are possible matches, only the first matching row is returned. The column to search may be specified by either its ID or title. -
Syntax
.matchRow(regexp, column)
-.matchRow(regexp, columnName)
Parameters - - - - - - - - - - -
regexpString: the regular expression to match
columnint: ID number of the column to search
columnNameString: title of the column to search
ReturnsTableRow
RelatedgetRow()
-rows()
-findRow()
-findRows()
-matchRows()
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/Table_matchRows_.html b/Java/Processing/processing-3.3.6/modes/java/reference/Table_matchRows_.html deleted file mode 100644 index bb9290f..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/Table_matchRows_.html +++ /dev/null @@ -1,197 +0,0 @@ - - - - Table::matchRows() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

Table

Name

matchRows()

Examples
-Table table;
-
-void setup() {
-
-  table = new Table();
-
-  table.addColumn("name");
-  table.addColumn("type");
-
-  TableRow newRow = table.addRow();
-  newRow.setString("name", "Lion");
-  newRow.setString("type", "Mammal");
-
-  newRow = table.addRow();
-  newRow.setString("name", "Snake");
-  newRow.setString("type", "Reptile");
-
-  newRow = table.addRow();
-  newRow.setString("name", "Mosquito");
-  newRow.setString("type", "Insect");
-
-  newRow = table.addRow();
-  newRow.setString("name", "Lizard");
-  newRow.setString("type", "Reptile");
-  
-  for (TableRow row : table.matchRows("R.*", "type")) {
-    println(row.getString("name") + ": " + row.getString("type"));
-  }
-}
-
-// Sketch prints:
-// Snake: Reptile
-// Lizard: Reptile
-
-
Description -Finds the rows in the Table that match the regular expression provided, and returns references to those rows. Returns an iterator, so for must be used to iterate through all the rows, as shown in the example above. The column to search may be specified by either its ID or title. -
Syntax
.matchRows(regexp, column)
-.matchRows(regexp, columnName)
Parameters - - - - - - - - - - -
regexpString: the regular expression to match
columnint: ID number of the column to search
columnNameString: title of the column to search
ReturnsIterable<TableRow>
RelatedgetRow()
-rows()
-findRow()
-findRows()
-matchRow()
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/Table_removeColumn_.html b/Java/Processing/processing-3.3.6/modes/java/reference/Table_removeColumn_.html deleted file mode 100644 index bbe55f2..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/Table_removeColumn_.html +++ /dev/null @@ -1,187 +0,0 @@ - - - - Table::removeColumn() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

Table

Name

removeColumn()

Examples
-Table table;
-
-void setup() {
-
-  table = new Table();
-  
-  table.addColumn("id");
-  table.addColumn("species");
-  table.addColumn("name");
-  println(table.getColumnCount());  //Prints 3
-  
-  table.removeColumn("id");         //Reference by title
-  println(table.getColumnCount());  //Prints 2
-}
-
-
-
-Table table;
-
-void setup() {
-
-  table = new Table();
-  
-  table.addColumn("id");
-  table.addColumn("species");
-  table.addColumn("name");
-  println(table.getColumnCount());  //Prints 3
-  
-  table.removeColumn(0);            //Reference by ID
-  println(table.getColumnCount());  //Prints 2
-}
-
-
Description -Use removeColumn() to remove an existing column from a Table object. The column to be removed may be identified by either its title (a String) or its index value (an int). removeColumn(0) would remove the first column, removeColumn(1) would remove the second column, and so on. -
Syntax
.removeColumn(columnName)
-.removeColumn(column)
Parameters - - - - - - -
columnNameString: the title of the column to be removed
columnint: the index number of the column to be removed
Returnsvoid
RelatedaddColumn()
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/Table_removeRow_.html b/Java/Processing/processing-3.3.6/modes/java/reference/Table_removeRow_.html deleted file mode 100644 index c396907..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/Table_removeRow_.html +++ /dev/null @@ -1,169 +0,0 @@ - - - - Table::removeRow() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

Table

Name

removeRow()

Examples
-Table table;
-
-void setup() {
-
-  table = new Table();
-  
-  table.addColumn("name");
-  table.addColumn("type");
-
-  TableRow newRow = table.addRow();
-  newRow.setString("name", "Lion");
-  newRow.setString("type", "Mammal");
-  println(table.getRowCount());  // Prints 1
-
-  table.removeRow(0);  // Removes the first row
-  println(table.getRowCount());  // Prints 0
-}
-
-
Description -Removes a row from a Table object. -
Syntax
.removeRow(row)
Parameters - - -
rowint: ID number of the row to remove
Returnsvoid
RelatedaddRow()
-clearRows()
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/Table_removeTokens_.html b/Java/Processing/processing-3.3.6/modes/java/reference/Table_removeTokens_.html deleted file mode 100644 index 0a511a2..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/Table_removeTokens_.html +++ /dev/null @@ -1,198 +0,0 @@ - - - - Table::removeTokens() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

Table

Name

removeTokens()

Examples
-Table table;
-
-void setup() {
-
-  table = new Table();
-
-  table.addColumn("name");
-  table.addColumn("type");
-
-  TableRow newRow = table.addRow();
-  newRow.setString("name", "   $Lion  ,");
-  newRow.setString("type", ",,,Mammal");
-
-  newRow = table.addRow();
-  newRow.setString("name", "$Snake  ");
-  newRow.setString("type", ",,,Reptile");
-
-  newRow = table.addRow();
-  newRow.setString("name", "  $Mosquito , ");
-  newRow.setString("type", ",,,Insect");
-  
-  println(table.getStringColumn("name"));
-  
-  table.removeTokens(",$ ");
-  
-  println(table.getStringColumn("name"));
-}
-
-// Sketch prints:
-// [0] "   $Lion  ,"
-// [1] "$Snake  "
-// [2] "  $Mosquito , "
-// [0] "Lion"
-// [1] "Snake"
-// [2] "Mosquito"
-
-
Description -Removes any of the specified characters (or "tokens"). The example above removes all commas, dollar signs, and spaces from the table.
-
-If no column is specified, then the values in all columns and rows are processed. A specific column may be referenced by either its ID or title. -
Syntax
.removeTokens(tokens)
-.removeTokens(tokens, column)
-.removeTokens(tokens, columnName)
Parameters - - - - - - - - - - -
tokensString: a list of individual characters to be removed
columnint: ID number of the column to process
columnNameString: title of the column to process
Returnsvoid
Relatedtrim()
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/Table_rows_.html b/Java/Processing/processing-3.3.6/modes/java/reference/Table_rows_.html deleted file mode 100644 index 2e87109..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/Table_rows_.html +++ /dev/null @@ -1,182 +0,0 @@ - - - - Table::rows() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

Table

Name

rows()

Examples
-Table table;
-
-void setup() {
-
-  table = new Table();
-
-  table.addColumn("name");
-  table.addColumn("type");
-
-  TableRow newRow = table.addRow();
-  newRow.setString("name", "Lion");
-  newRow.setString("type", "Mammal");
-
-  newRow = table.addRow();
-  newRow.setString("name", "Snake");
-  newRow.setString("type", "Reptile");
-
-  newRow = table.addRow();
-  newRow.setString("name", "Mosquito");
-  newRow.setString("type", "Insect");
-
-  for (TableRow row : table.rows()) {
-    println(row.getString("name") + ": " + row.getString("type"));
-  }
-}
-
-// Sketch prints:
-// Lion: Mammal
-// Snake: Reptile
-// Mosquito: Insect
-
-
Description -Gets all rows from the table. Returns an iterator, so for must be used to iterate through all the rows, as shown in the example above. -
Syntax
.rows()
ReturnsIterable<TableRow>
RelatedgetRow()
-findRow()
-findRows()
-matchRow()
-matchRows()
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/Table_setFloat_.html b/Java/Processing/processing-3.3.6/modes/java/reference/Table_setFloat_.html deleted file mode 100644 index 935a5e6..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/Table_setFloat_.html +++ /dev/null @@ -1,189 +0,0 @@ - - - - Table::setFloat() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

Table

Name

setFloat()

Examples
-Table table;
-
-void setup() {
-
-  table = new Table();
-  
-  table.addColumn("number", Table.INT);
-  table.addColumn("mass", Table.FLOAT);
-  table.addColumn("name", Table.STRING);
-  
-  table.addRow();  // Creates an empty row
-  
-  table.setInt(0, "number", 8);
-  table.setFloat(0, "mass", 15.9994);
-  table.setString(0, "name", "Oxygen");
-  
-  println(table.getInt(0, "number"));   // Prints 8
-  println(table.getFloat(0, "mass"));   // Prints 15.9994
-  println(table.getString(0, "name"));  // Prints "Oxygen"
-}
-
-
Description -Stores a float value in the Table's specified row and column. The row is specified by its ID, while the column may be specified by either its ID or title. -
Syntax
.setFloat(row, column, value)
-.setFloat(row, columnName, value)
Parameters - - - - - - - - - - - - - - -
rowint: ID number of the target row
columnint: ID number of the target column
valuefloat: value to assign
columnNameString: title of the target column
Returnsvoid
RelatedsetInt()
-setString()
-getInt()
-getFloat()
-getString()
-getStringColumn()
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/Table_setInt_.html b/Java/Processing/processing-3.3.6/modes/java/reference/Table_setInt_.html deleted file mode 100644 index 27180b3..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/Table_setInt_.html +++ /dev/null @@ -1,189 +0,0 @@ - - - - Table::setInt() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

Table

Name

setInt()

Examples
-Table table;
-
-void setup() {
-
-  table = new Table();
-  
-  table.addColumn("number", Table.INT);
-  table.addColumn("mass", Table.FLOAT);
-  table.addColumn("name", Table.STRING);
-  
-  table.addRow();  // Creates an empty row
-  
-  table.setInt(0, "number", 8);
-  table.setFloat(0, "mass", 15.9994);
-  table.setString(0, "name", "Oxygen");
-  
-  println(table.getInt(0, "number"));   // Prints 8
-  println(table.getFloat(0, "mass"));   // Prints 15.9994
-  println(table.getString(0, "name"));  // Prints "Oxygen"
-}
-
-
Description -Stores an integer value in the Table's specified row and column. The row is specified by its ID, while the column may be specified by either its ID or title. -
Syntax
.setInt(row, column, value)
-.setInt(row, columnName, value)
Parameters - - - - - - - - - - - - - - -
rowint: ID number of the target row
columnint: ID number of the target column
valueint: value to assign
columnNameString: title of the target column
Returnsvoid
RelatedsetFloat()
-setString()
-getInt()
-getFloat()
-getString()
-getStringColumn()
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/Table_setString_.html b/Java/Processing/processing-3.3.6/modes/java/reference/Table_setString_.html deleted file mode 100644 index dae5217..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/Table_setString_.html +++ /dev/null @@ -1,189 +0,0 @@ - - - - Table::setString() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

Table

Name

setString()

Examples
-Table table;
-
-void setup() {
-
-  table = new Table();
-  
-  table.addColumn("number", Table.INT);
-  table.addColumn("mass", Table.FLOAT);
-  table.addColumn("name", Table.STRING);
-  
-  table.addRow();  // Creates an empty row
-  
-  table.setInt(0, "number", 8);
-  table.setFloat(0, "mass", 15.9994);
-  table.setString(0, "name", "Oxygen");
-  
-  println(table.getInt(0, "number"));   // Prints 8
-  println(table.getFloat(0, "mass"));   // Prints 15.9994
-  println(table.getString(0, "name"));  // Prints "Oxygen"
-}
-
-
Description -Stores a String value in the Table's specified row and column. The row is specified by its ID, while the column may be specified by either its ID or title. -
Syntax
.setString(row, column, value)
-.setString(row, columnName, value)
Parameters - - - - - - - - - - - - - - -
rowint: ID number of the target row
columnint: ID number of the target column
valueString: value to assign
columnNameString: title of the target column
Returnsvoid
RelatedsetInt()
-setFloat()
-getInt()
-getFloat()
-getString()
-getStringColumn()
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/Table_sort_.html b/Java/Processing/processing-3.3.6/modes/java/reference/Table_sort_.html deleted file mode 100644 index d99d8c9..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/Table_sort_.html +++ /dev/null @@ -1,222 +0,0 @@ - - - - Table::sort() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

Table

Name

sort()

Examples
-Table table;
-
-void setup() {
-
-  table = new Table();
-
-  table.addColumn("name");
-  table.addColumn("type");
-
-  TableRow newRow = table.addRow();
-  newRow.setString("name", "Lion");
-  newRow.setString("type", "Mammal");
-
-  newRow = table.addRow();
-  newRow.setString("name", "Snake");
-  newRow.setString("type", "Reptile");
-
-  newRow = table.addRow();
-  newRow.setString("name", "Mosquito");
-  newRow.setString("type", "Insect");
-  
-  table.sort(0);
-
-  for (TableRow row : table.rows()) {
-    println(row.getString("name") + ": " + row.getString("type"));
-  }
-}
-
-// Sketch prints:
-// Lion: Mammal
-// Mosquito: Insect
-// Snake: Reptile
-
-
-
-Table table;
-
-void setup() {
-
-  table = new Table();
-
-  table.addColumn("name");
-
-  TableRow newRow = table.addRow();
-  newRow.setString("name", "Lion");
-  newRow.setString("type", "Mammal");
-
-  newRow = table.addRow();
-  newRow.setString("name", "Snake");
-  newRow.setString("type", "Reptile");
-
-  newRow = table.addRow();
-  newRow.setString("name", "Mosquito");
-  newRow.setString("type", "Insect");
-  
-  table.sort("name");
-
-  for (TableRow row : table.rows()) {
-    println(row.getString("name") + ": " + row.getString("type"));
-  }
-}
-
-// Sketch prints:
-// Lion: Mammal
-// Mosquito: Insect
-// Snake: Reptile
-
-
Description -Sorts (orders) a table based on the values in a column. -
Syntax
.sort(columnName)
-.sort(column)
Parameters - - - - - - -
columnNameString: the name of the column to sort
columnint: the column ID, e.g. 0, 1, 2
Returnsvoid
Relatedtrim()
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/Table_trim_.html b/Java/Processing/processing-3.3.6/modes/java/reference/Table_trim_.html deleted file mode 100644 index 5abccf6..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/Table_trim_.html +++ /dev/null @@ -1,192 +0,0 @@ - - - - Table::trim() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

Table

Name

trim()

Examples
-Table table;
-
-void setup() {
-
-  table = new Table();
-
-  table.addColumn("name");
-  table.addColumn("type");
-
-  TableRow newRow = table.addRow();
-  newRow.setString("name", "   Lion");
-  newRow.setString("type", "Mammal");
-
-  newRow = table.addRow();
-  newRow.setString("name", "Snake  ");
-  newRow.setString("type", "Reptile");
-
-  newRow = table.addRow();
-  newRow.setString("name", "  Mosquito  ");
-  newRow.setString("type", "Insect");
-  
-  println(table.getStringColumn("name"));
-  
-  table.trim();
-  
-  println(table.getStringColumn("name"));
-}
-
-// Sketch prints:
-// [0] "   Lion"
-// [1] "Snake  "
-// [2] "  Mosquito  "
-// [0] "Lion"
-// [1] "Snake"
-// [2] "Mosquito"
-
-
Description -Trims leading and trailing whitespace, such as spaces and tabs, from String table values. If no column is specified, then the values in all columns and rows are trimmed. A specific column may be referenced by either its ID or title. -
Syntax
.trim()
-.trim(column)
-.trim(columnName)
Parameters - - - - - - -
columnint: ID number of the column to trim
columnNameString: title of the column to trim
Returnsvoid
RelatedremoveTokens()
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/XML.html b/Java/Processing/processing-3.3.6/modes/java/reference/XML.html deleted file mode 100644 index aac08fa..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/XML.html +++ /dev/null @@ -1,302 +0,0 @@ - - - - XML \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - -
Name

XML

Examples
-// The following short XML file called "mammals.xml" is parsed 
-// in the code below. It must be in the project's "data" folder.
-//
-// <?xml version="1.0"?>
-// <mammals>
-//   <animal id="0" species="Capra hircus">Goat</animal>
-//   <animal id="1" species="Panthera pardus">Leopard</animal>
-//   <animal id="2" species="Equus zebra">Zebra</animal>
-// </mammals>
-
-XML xml;
-
-void setup() {
-  xml = loadXML("mammals.xml");
-  XML[] children = xml.getChildren("animal");
-
-  for (int i = 0; i < children.length; i++) {
-    int id = children[i].getInt("id");
-    String coloring = children[i].getString("species");
-    String name = children[i].getContent();
-    println(id + ", " + coloring + ", " + name);
-  }
-}
-
-// Sketch prints:
-// 0, Capra hircus, Goat
-// 1, Panthera pardus, Leopard
-// 2, Equus zebra, Zebra
-
-
Description -XML is a representation of an XML object, able to parse XML code. Use loadXML() to load external XML files and create XML objects.
-
-Only files encoded as UTF-8 (or plain ASCII) are parsed properly; the encoding parameter inside XML files is ignored. -
Methods - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
getParent()Gets a copy of the element's parent
getName()Gets the element's full name
setName()Sets the element's name
hasChildren()Checks whether or not an element has any children
listChildren()Returns the names of all children as an array
getChildren()Returns an array containing all child elements
getChild()Returns the child element with the specified index value or path
addChild()Appends a new child to the element
removeChild()Removes the specified child
getAttributeCount()Counts the specified element's number of attributes
listAttributes()Returns a list of names of all attributes as an array
hasAttribute()Checks whether or not an element has the specified attribute
getString()Gets the content of an attribute as a String
setString()Sets the content of an attribute as a String
getInt()Gets the content of an attribute as an int
setInt()Sets the content of an attribute as an int
getFloat()Gets the content of an attribute as a float
setFloat()Sets the content of an attribute as a float
getContent()Gets the content of an element
getIntContent()Gets the content of an element as an int
getFloatContent()Gets the content of an element as a float
setContent()Sets the content of an element
format()Formats XML data as a String
toString()Gets XML data as a String using default formatting
Constructor
XML(name)
-
Parameters - - -
nameString: creates a node with this name
RelatedloadXML()
-parseXML()
-saveXML()
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/XML_addChild_.html b/Java/Processing/processing-3.3.6/modes/java/reference/XML_addChild_.html deleted file mode 100644 index acbfd1f..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/XML_addChild_.html +++ /dev/null @@ -1,177 +0,0 @@ - - - - XML::addChild() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

XML

Name

addChild()

Examples
-// The following short XML file called "mammals.xml" is parsed 
-// in the code below. It must be in the project's "data" folder.
-//
-// <?xml version="1.0"?>
-// <mammals>
-//   <animal id="0" species="Capra hircus">Goat</animal>
-//   <animal id="1" species="Panthera pardus">Leopard</animal>
-//   <animal id="2" species="Equus zebra">Zebra</animal>
-// </mammals>
-
-XML xml;
-
-void setup() {
-  xml = loadXML("mammals.xml");
-  XML newChild = xml.addChild("animal");
-  newChild.setContent("bloodhound");
-  println(xml);
-}
-
-// Sketch prints:
-// <mammals>
-//   <animal id="0" species="Capra hircus">Goat</animal>
-//   <animal id="1" species="Panthera pardus">Leopard</animal>
-//   <animal id="2" species="Equus zebra">Zebra</animal>
-// <animal>bloodhound</animal>
-// </mammals>
-
-
Description -Appends a new child to the element. The child can be specified with either a String, which will be used as the new tag's name, or as a reference to an existing XML object.
-
-A reference to the newly created child is returned as an XML object. -
Syntax
.addChild(tag)
-.addChild(child)
ReturnsXML
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/XML_format_.html b/Java/Processing/processing-3.3.6/modes/java/reference/XML_format_.html deleted file mode 100644 index 7377141..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/XML_format_.html +++ /dev/null @@ -1,202 +0,0 @@ - - - - XML::format() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

XML

Name

format()

Examples
-// The following short XML file called "mammals.xml" is parsed 
-// in the code below. It must be in the project's "data" folder.
-//
-// <?xml version="1.0"?>
-// <mammals>
-//   <animal id="0" species="Capra hircus">Goat</animal>
-//   <animal id="1" species="Panthera pardus">Leopard</animal>
-//   <animal id="2" species="Equus zebra">Zebra</animal>
-// </mammals>
-
-XML xml;
-
-void setup() {
-  xml = loadXML("mammals.xml");
-  
-  //Format without line breaks and no indentation
-  String s = xml.format(-1);
-  println(s);
-  println("");  // Blank line
-  
-  //Format with line breaks and no indentation
-  s = xml.format(0);
-  println(s);
-  
-  //Format with line breaks and 5 spaces of indentation
-  s = xml.format(5);
-  println(s);
-}
-
-// Sketch prints:
-//<mammals><animal id="0" species="Capra hircus">Goat</animal>
-  <animal id="1" species="Panthera pardus">Leopard</animal>
-  <animal id="2" species="Equus zebra">Zebra</animal></mammals>
-//
-//<?xml version="1.0" encoding="UTF-8"?>
-//<mammals>
-//<animal id="0" species="Capra hircus">Goat</animal>
-//<animal id="1" species="Panthera pardus">Leopard</animal>
-//<animal id="2" species="Equus zebra">Zebra</animal>
-//</mammals>
-//
-//<?xml version="1.0" encoding="UTF-8"?>
-//<mammals>
-//     <animal id="0" species="Capra hircus">Goat</animal>
-//     <animal id="1" species="Panthera pardus">Leopard</animal>
-//     <animal id="2" species="Equus zebra">Zebra</animal>
-//</mammals>
-
-
Description -Takes an XML object and converts it to a String, formatting its content as specified with the indent parameter.
-
-If indent is set to -1, then the String is returned with no line breaks, no indentation, and no XML declaration.
-
-If indent is set to 0 or greater, then the String is returned with line breaks, and the specified number of spaces as indent values. Meaning, there will be no indentation if 0 is specified, or each indent will be replaced with the corresponding number of spaces: 1, 2, 3, and so on. -
Syntax
.format(indent)
Parameters - - -
indentint: -1 for a single line (and no declaration), >= 0 for indents and newlines
ReturnsString
RelatedtoString()
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/XML_getAttributeCount_.html b/Java/Processing/processing-3.3.6/modes/java/reference/XML_getAttributeCount_.html deleted file mode 100644 index cafa8f1..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/XML_getAttributeCount_.html +++ /dev/null @@ -1,168 +0,0 @@ - - - - XML::getAttributeCount() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

XML

Name

getAttributeCount()

Examples
-// The following short XML file called "mammals.xml" is parsed 
-// in the code below. It must be in the project's "data" folder.
-//
-// <?xml version="1.0"?>
-// <mammals>
-//   <animal id="0" species="Capra hircus">Goat</animal>
-//   <animal id="1" species="Panthera pardus">Leopard</animal>
-//   <animal id="2" species="Equus zebra">Zebra</animal>
-// </mammals>
-
-XML xml;
-
-void setup() {
-  xml = loadXML("mammals.xml");
-  XML firstChild = xml.getChild("animal");
-  println(firstChild.getAttributeCount());
-}
-
-// Sketch prints:
-// 2
-
-
Description -Counts the specified element's number of attributes, returned as an int. -
Syntax
.getAttributeCount()
Returnsint
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/XML_getChild_.html b/Java/Processing/processing-3.3.6/modes/java/reference/XML_getChild_.html deleted file mode 100644 index 71e1e47..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/XML_getChild_.html +++ /dev/null @@ -1,172 +0,0 @@ - - - - XML::getChild() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

XML

Name

getChild()

Examples
-// The following short XML file called "mammals.xml" is parsed 
-// in the code below. It must be in the project's "data" folder.
-//
-// <?xml version="1.0"?>
-// <mammals>
-//   <animal id="0" species="Capra hircus">Goat</animal>
-//   <animal id="1" species="Panthera pardus">Leopard</animal>
-//   <animal id="2" species="Equus zebra">Zebra</animal>
-// </mammals>
-
-XML xml;
-
-void setup() {
-  xml = loadXML("mammals.xml");
-  XML firstChild = xml.getChild("animal");
-  println(firstChild.getContent());
-}
-
-// Sketch prints:
-// Goat
-
-
Description -Returns the first of the element's children that matches the name parameter. The name or path is a series of elements and sub-elements, separated by slashes. -
Syntax
.getChild(index)
-.getChild(name)
Parameters - - -
nameString: element name or path/to/element
ReturnsXML
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/XML_getChildren_.html b/Java/Processing/processing-3.3.6/modes/java/reference/XML_getChildren_.html deleted file mode 100644 index 39b8dbd..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/XML_getChildren_.html +++ /dev/null @@ -1,177 +0,0 @@ - - - - XML::getChildren() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

XML

Name

getChildren()

Examples
-// The following short XML file called "mammals.xml" is parsed 
-// in the code below. It must be in the project's "data" folder.
-//
-// <?xml version="1.0"?>
-// <mammals>
-//   <animal id="0" species="Capra hircus">Goat</animal>
-//   <animal id="1" species="Panthera pardus">Leopard</animal>
-//   <animal id="2" species="Equus zebra">Zebra</animal>
-// </mammals>
-
-XML xml;
-
-void setup() {
-  xml = loadXML("mammals.xml");
-  XML[] animals = xml.getChildren("animal");
-
-  for (int i = 0; i < animals.length; i++) {
-    println(animals[i].getContent());
-  }
-}
-
-// Sketch prints:
-// Goat
-// Leopard
-// Zebra
-
-
Description -Returns all of the element's children as an array of XML objects. When the name parameter is specified, then it will return all children that match that name or path. The path is a series of elements and sub-elements, separated by slashes. -
Syntax
.getChildren()
-.getChildren(name)
Parameters - - -
nameString: element name or path/to/element
ReturnsXML[]
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/XML_getContent_.html b/Java/Processing/processing-3.3.6/modes/java/reference/XML_getContent_.html deleted file mode 100644 index 35ee0c3..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/XML_getContent_.html +++ /dev/null @@ -1,170 +0,0 @@ - - - - XML::getContent() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

XML

Name

getContent()

Examples
-// The following short XML file called "mammals.xml" is parsed
-// in the code below. It must be in the project's "data" folder.
-//
-// <?xml version="1.0"?>
-// <mammals>
-//   <animal id="0" species="Capra hircus">Goat</animal>
-//   <animal id="1" species="Panthera pardus">Leopard</animal>
-//   <animal id="2" species="Equus zebra">Zebra</animal>
-// </mammals>
-
-XML xml;
-
-void setup() {
-  xml = loadXML("mammals.xml");
-  XML firstChild = xml.getChild("animal");
-  println(firstChild.getContent());
-}
-
-// Sketch prints:
-// Goat
-
-
Description -Returns the content of an element. If there is no such content, null is returned. -
Syntax
.getContent()
-.getContent(defaultValue)
ReturnsString
RelatedgetIntContent()
-getFloatContent()
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/XML_getFloatContent_.html b/Java/Processing/processing-3.3.6/modes/java/reference/XML_getFloatContent_.html deleted file mode 100644 index 4021b43..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/XML_getFloatContent_.html +++ /dev/null @@ -1,173 +0,0 @@ - - - - XML::getFloatContent() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

XML

Name

getFloatContent()

Examples
-// The following short XML file called "positions.xml" is parsed
-// in the code below. It must be in the project's "data" folder.
-//
-// <?xml version="1.0"?>
-// <positions>
-//   <position id="0">128.111</position>
-//   <position id="1">256.222</position>
-//   <position id="2">512.333</position>
-// </positions>
-
-XML xml;
-
-void setup() {
-  xml = loadXML("positions.xml");
-  XML firstChild = xml.getChild("position");
-  println(firstChild.getFloatContent());
-}
-
-// Sketch prints:
-// 128.111
-
-
Description -Returns the content of an element as a float. If there is no such content, either null or the provided default value is returned. -
Syntax
.getFloatContent()
-.getFloatContent(defaultValue)
Parameters - - -
defaultValuefloat: the default value of the attribute
Returnsfloat
RelatedgetContent()
-getIntContent()
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/XML_getFloat_.html b/Java/Processing/processing-3.3.6/modes/java/reference/XML_getFloat_.html deleted file mode 100644 index fc064b3..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/XML_getFloat_.html +++ /dev/null @@ -1,176 +0,0 @@ - - - - XML::getFloat() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

XML

Name

getFloat()

Examples
-// The following short XML file called "mammals.xml" is parsed 
-// in the code below. It must be in the project's "data" folder.
-//
-// <?xml version="1.0"?>
-// <mammals>
-//   <animal id="0" species="Capra hircus">Goat</animal>
-//   <animal id="1" species="Panthera pardus">Leopard</animal>
-//   <animal id="2" species="Equus zebra">Zebra</animal>
-// </mammals>
-
-XML xml;
-
-void setup() {
-  xml = loadXML("mammals.xml");
-  XML firstChild = xml.getChild("animal");
-  println(firstChild.getFloat("id"));
-}
-
-// Sketch prints:
-// 0.0
-
-
Description -Returns an attribute value of the element as a float. If the defaultValue parameter is specified and the attribute doesn't exist, then defaultValue is returned. If no defaultValue is specified and the attribute doesn't exist, the value 0.0 is returned. -
Syntax
.getFloat(name)
-.getFloat(name, defaultValue)
Parameters - - - - - - -
nameString: the non-null full name of the attribute.
defaultValuefloat: the default value of the attribute.
Returnsfloat
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/XML_getIntContent_.html b/Java/Processing/processing-3.3.6/modes/java/reference/XML_getIntContent_.html deleted file mode 100644 index da1f0a0..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/XML_getIntContent_.html +++ /dev/null @@ -1,173 +0,0 @@ - - - - XML::getIntContent() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

XML

Name

getIntContent()

Examples
-// The following short XML file called "positions.xml" is parsed
-// in the code below. It must be in the project's "data" folder.
-//
-// <?xml version="1.0"?>
-// <positions>
-//   <position id="0">128</position>
-//   <position id="1">256</position>
-//   <position id="2">512</position>
-// </positions>
-
-XML xml;
-
-void setup() {
-  xml = loadXML("positions.xml");
-  XML firstChild = xml.getChild("position");
-  println(firstChild.getIntContent());
-}
-
-// Sketch prints:
-// 128
-
-
Description -Returns the content of an element as an int. If there is no such content, either null or the provided default value is returned. -
Syntax
.getIntContent()
-.getIntContent(defaultValue)
Parameters - - -
defaultValueint: the default value of the attribute
Returnsint
RelatedgetContent()
-getFloatContent()
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/XML_getInt_.html b/Java/Processing/processing-3.3.6/modes/java/reference/XML_getInt_.html deleted file mode 100644 index 0962633..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/XML_getInt_.html +++ /dev/null @@ -1,176 +0,0 @@ - - - - XML::getInt() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

XML

Name

getInt()

Examples
-// The following short XML file called "mammals.xml" is parsed 
-// in the code below. It must be in the project's "data" folder.
-//
-// <?xml version="1.0"?>
-// <mammals>
-//   <animal id="0" species="Capra hircus">Goat</animal>
-//   <animal id="1" species="Panthera pardus">Leopard</animal>
-//   <animal id="2" species="Equus zebra">Zebra</animal>
-// </mammals>
-
-XML xml;
-
-void setup() {
-  xml = loadXML("mammals.xml");
-  XML firstChild = xml.getChild("animal");
-  println(firstChild.getInt("id"));
-}
-
-// Sketch prints:
-// 0
-
-
Description -Returns an attribute value of the element as an int. If the defaultValue parameter is specified and the attribute doesn't exist, then defaultValue is returned. If no defaultValue is specified and the attribute doesn't exist, the value 0 is returned. -
Syntax
.getInt(name)
-.getInt(name, defaultValue)
Parameters - - - - - - -
nameString: the non-null full name of the attribute
defaultValueint: the default value of the attribute
Returnsint
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/XML_getName_.html b/Java/Processing/processing-3.3.6/modes/java/reference/XML_getName_.html deleted file mode 100644 index 5303402..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/XML_getName_.html +++ /dev/null @@ -1,167 +0,0 @@ - - - - XML::getName() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

XML

Name

getName()

Examples
-// The following short XML file called "mammals.xml" is parsed 
-// in the code below. It must be in the project's "data" folder.
-//
-// <?xml version="1.0"?>
-// <mammals>
-//   <animal id="0" species="Capra hircus">Goat</animal>
-//   <animal id="1" species="Panthera pardus">Leopard</animal>
-//   <animal id="2" species="Equus zebra">Zebra</animal>
-// </mammals>
-
-XML xml;
-
-void setup() {
-  xml = loadXML("mammals.xml");
-  println(xml.getName());
-}
-
-// Sketch prints:
-// mammals
-
-
Description -Gets the element's full name, which is returned as a String. -
Syntax
.getName()
ReturnsString
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/XML_getParent_.html b/Java/Processing/processing-3.3.6/modes/java/reference/XML_getParent_.html deleted file mode 100644 index f3f6c36..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/XML_getParent_.html +++ /dev/null @@ -1,169 +0,0 @@ - - - - XML::getParent() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

XML

Name

getParent()

Examples
-// The following short XML file called "mammals.xml" is parsed 
-// in the code below. It must be in the project's "data" folder.
-//
-// <?xml version="1.0"?>
-// <mammals>
-//   <animal id="0" species="Capra hircus">Goat</animal>
-//   <animal id="1" species="Panthera pardus">Leopard</animal>
-//   <animal id="2" species="Equus zebra">Zebra</animal>
-// </mammals>
-
-XML xml;
-
-void setup() {
-  xml = loadXML("mammals.xml");
-  XML[] children = xml.getChildren("animal");
-  XML parent = children[1].getParent();
-  println(parent.getName());
-}
-
-// Sketch prints:
-// mammals
-
-
Description -Gets a copy of the element's parent. Returns the parent as another XML object. -
Syntax
.getParent()
ReturnsXML
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/XML_getString_.html b/Java/Processing/processing-3.3.6/modes/java/reference/XML_getString_.html deleted file mode 100644 index 1734126..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/XML_getString_.html +++ /dev/null @@ -1,169 +0,0 @@ - - - - XML::getString() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

XML

Name

getString()

Examples
-// The following short XML file called "mammals.xml" is parsed 
-// in the code below. It must be in the project's "data" folder.
-//
-// <?xml version="1.0"?>
-// <mammals>
-//   <animal id="0" species="Capra hircus">Goat</animal>
-//   <animal id="1" species="Panthera pardus">Leopard</animal>
-//   <animal id="2" species="Equus zebra">Zebra</animal>
-// </mammals>
-
-XML xml;
-
-void setup() {
-  xml = loadXML("mammals.xml");
-  XML firstChild = xml.getChild("animal");
-  println(firstChild.getString("species"));
-}
-
-// Sketch prints:
-// Capra hircus
-
-
Description -Returns an attribute value of the element as a String. If the defaultValue parameter is specified and the attribute doesn't exist, then defaultValue is returned. If no defaultValue is specified and the attribute doesn't exist, null is returned. -
Syntax
.getString(name)
-.getString(name, defaultValue)
ReturnsString
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/XML_hasAttribute_.html b/Java/Processing/processing-3.3.6/modes/java/reference/XML_hasAttribute_.html deleted file mode 100644 index 90d4639..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/XML_hasAttribute_.html +++ /dev/null @@ -1,170 +0,0 @@ - - - - XML::hasAttribute() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

XML

Name

hasAttribute()

Examples
-// The following short XML file called "mammals.xml" is parsed 
-// in the code below. It must be in the project's "data" folder.
-//
-// <?xml version="1.0"?>
-// <mammals>
-//   <animal id="0" species="Capra hircus">Goat</animal>
-//   <animal id="1" species="Panthera pardus">Leopard</animal>
-//   <animal id="2" species="Equus zebra">Zebra</animal>
-// </mammals>
-
-XML xml;
-
-void setup() {
-  xml = loadXML("mammals.xml");
-  XML firstChild = xml.getChild("animal");
-  println(firstChild.hasAttribute("species"));
-  println(firstChild.hasAttribute("color"));
-}
-
-// Sketch prints:
-// true
-// false
-
-
Description -Checks whether or not an element has the specified attribute. The attribute must be specified as a String, and a boolean is returned. -
Syntax
.hasAttribute(name)
Returnsboolean
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/XML_hasChildren_.html b/Java/Processing/processing-3.3.6/modes/java/reference/XML_hasChildren_.html deleted file mode 100644 index ac2bed5..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/XML_hasChildren_.html +++ /dev/null @@ -1,167 +0,0 @@ - - - - XML::hasChildren() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

XML

Name

hasChildren()

Examples
-// The following short XML file called "mammals.xml" is parsed 
-// in the code below. It must be in the project's "data" folder.
-//
-// <?xml version="1.0"?>
-// <mammals>
-//   <animal id="0" species="Capra hircus">Goat</animal>
-//   <animal id="1" species="Panthera pardus">Leopard</animal>
-//   <animal id="2" species="Equus zebra">Zebra</animal>
-// </mammals>
-
-XML xml;
-
-void setup() {
-  xml = loadXML("mammals.xml");
-  println(xml.hasChildren());
-}
-
-// Sketch prints:
-// true
-
-
Description -Checks whether or not the element has any children, and returns the result as a boolean. -
Syntax
.hasChildren()
Returnsboolean
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/XML_listAttributes_.html b/Java/Processing/processing-3.3.6/modes/java/reference/XML_listAttributes_.html deleted file mode 100644 index 0091537..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/XML_listAttributes_.html +++ /dev/null @@ -1,169 +0,0 @@ - - - - XML::listAttributes() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

XML

Name

listAttributes()

Examples
-// The following short XML file called "mammals.xml" is parsed 
-// in the code below. It must be in the project's "data" folder.
-//
-// <?xml version="1.0"?>
-// <mammals>
-//   <animal id="0" species="Capra hircus">Goat</animal>
-//   <animal id="1" species="Panthera pardus">Leopard</animal>
-//   <animal id="2" species="Equus zebra">Zebra</animal>
-// </mammals>
-
-XML xml;
-
-void setup() {
-  xml = loadXML("mammals.xml");
-  XML firstChild = xml.getChild("animal");
-  println(firstChild.listAttributes());
-}
-
-// Sketch prints:
-// [0] "id"
-// [1] "species"
-
-
Description -Gets all of the specified element's attributes, and returns them as an array of Strings. -
Syntax
.listAttributes()
ReturnsString[]
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/XML_listChildren_.html b/Java/Processing/processing-3.3.6/modes/java/reference/XML_listChildren_.html deleted file mode 100644 index 52240fb..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/XML_listChildren_.html +++ /dev/null @@ -1,173 +0,0 @@ - - - - XML::listChildren() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

XML

Name

listChildren()

Examples
-// The following short XML file called "mammals.xml" is parsed 
-// in the code below. It must be in the project's "data" folder.
-//
-// <?xml version="1.0"?>
-// <mammals>
-//   <animal id="0" species="Capra hircus">Goat</animal>
-//   <animal id="1" species="Panthera pardus">Leopard</animal>
-//   <animal id="2" species="Equus zebra">Zebra</animal>
-// </mammals>
-
-XML xml;
-
-void setup() {
-  xml = loadXML("mammals.xml");
-  println(xml.listChildren());
-}
-
-// Sketch prints:
-// [0] "#text"
-// [1] "animal"
-// [2] "#text"
-// [3] "animal"
-// [4] "#text"
-// [5] "animal"
-// [6] "#text"
-
-
Description -Get the names of all of the element's children, and returns the names as an array of Strings. This is the same as looping through and calling getName() on each child element individually. -
Syntax
.listChildren()
ReturnsString[]
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/XML_removeChild_.html b/Java/Processing/processing-3.3.6/modes/java/reference/XML_removeChild_.html deleted file mode 100644 index 77e02b3..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/XML_removeChild_.html +++ /dev/null @@ -1,173 +0,0 @@ - - - - XML::removeChild() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

XML

Name

removeChild()

Examples
-// The following short XML file called "mammals.xml" is parsed 
-// in the code below. It must be in the project's "data" folder.
-//
-// <?xml version="1.0"?>
-// <mammals>
-//   <animal id="0" species="Capra hircus">Goat</animal>
-//   <animal id="1" species="Panthera pardus">Leopard</animal>
-//   <animal id="2" species="Equus zebra">Zebra</animal>
-// </mammals>
-
-XML xml;
-
-void setup() {
-  xml = loadXML("mammals.xml");
-  XML firstChild = xml.getChild("animal");
-  xml.removeChild(firstChild);
-  println(xml);
-}
-
-// Sketch prints:
-// <mammals>
-//   
-//   <animal id="1" species="Panthera pardus">Leopard</animal>
-//   <animal id="2" species="Equus zebra">Zebra</animal>
-// </mammals>
-
-
Description -Removes the specified element. First use getChild() to get a reference to the desired element. Then pass that reference to removeChild() to delete it. -
Syntax
.removeChild(kid)
Returnsvoid
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/XML_setContent_.html b/Java/Processing/processing-3.3.6/modes/java/reference/XML_setContent_.html deleted file mode 100644 index 108fe00..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/XML_setContent_.html +++ /dev/null @@ -1,171 +0,0 @@ - - - - XML::setContent() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

XML

Name

setContent()

Examples
-// The following short XML file called "mammals.xml" is parsed 
-// in the code below. It must be in the project's "data" folder.
-//
-// <?xml version="1.0"?>
-// <mammals>
-//   <animal id="0" species="Capra hircus">Goat</animal>
-//   <animal id="1" species="Panthera pardus">Leopard</animal>
-//   <animal id="2" species="Equus zebra">Zebra</animal>
-// </mammals>
-
-XML xml;
-
-void setup() {
-  xml = loadXML("mammals.xml");
-  XML firstChild = xml.getChild("animal");
-  println(firstChild.getContent());
-  firstChild.setContent("Mountain Goat");
-  println(firstChild.getContent());
-}
-
-// Sketch prints:
-// Goat
-// Mountain Goat
-
-
Description -Sets the element's content, which is specified as a String. -
Syntax
.setContent(text)
Returnsvoid
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/XML_setFloat_.html b/Java/Processing/processing-3.3.6/modes/java/reference/XML_setFloat_.html deleted file mode 100644 index a884c07..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/XML_setFloat_.html +++ /dev/null @@ -1,171 +0,0 @@ - - - - XML::setFloat() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

XML

Name

setFloat()

Examples
-// The following short XML file called "mammals.xml" is parsed 
-// in the code below. It must be in the project's "data" folder.
-//
-// <?xml version="1.0"?>
-// <mammals>
-//   <animal id="0" species="Capra hircus">Goat</animal>
-//   <animal id="1" species="Panthera pardus">Leopard</animal>
-//   <animal id="2" species="Equus zebra">Zebra</animal>
-// </mammals>
-
-XML xml;
-
-void setup() {
-  xml = loadXML("mammals.xml");
-  XML firstChild = xml.getChild("animal");
-  println(firstChild.getFloat("id"));
-  firstChild.setFloat("id", 123.456789);
-  println(firstChild.getFloat("id"));
-}
-
-// Sketch prints:
-// 0.0
-// 123.45679
-
-
Description -Sets the content of an element's attribute as a float. A String specifies the attribute name, while the float specifies the new content. -
Syntax
.setFloat(name, value)
Returnsvoid
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/XML_setInt_.html b/Java/Processing/processing-3.3.6/modes/java/reference/XML_setInt_.html deleted file mode 100644 index 85c5f5e..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/XML_setInt_.html +++ /dev/null @@ -1,171 +0,0 @@ - - - - XML::setInt() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

XML

Name

setInt()

Examples
-// The following short XML file called "mammals.xml" is parsed 
-// in the code below. It must be in the project's "data" folder.
-//
-// <?xml version="1.0"?>
-// <mammals>
-//   <animal id="0" species="Capra hircus">Goat</animal>
-//   <animal id="1" species="Panthera pardus">Leopard</animal>
-//   <animal id="2" species="Equus zebra">Zebra</animal>
-// </mammals>
-
-XML xml;
-
-void setup() {
-  xml = loadXML("mammals.xml");
-  XML firstChild = xml.getChild("animal");
-  println(firstChild.getInt("id"));
-  firstChild.setInt("id", 55555);
-  println(firstChild.getInt("id"));
-}
-
-// Sketch prints:
-// 0
-// 55555
-
-
Description -Sets the content of an element's attribute as an int. A String specifies the attribute name, while the int specifies the new content. -
Syntax
.setInt(name, value)
Returnsvoid
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/XML_setName_.html b/Java/Processing/processing-3.3.6/modes/java/reference/XML_setName_.html deleted file mode 100644 index c1c3657..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/XML_setName_.html +++ /dev/null @@ -1,170 +0,0 @@ - - - - XML::setName() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

XML

Name

setName()

Examples
-// The following short XML file called "mammals.xml" is parsed 
-// in the code below. It must be in the project's "data" folder.
-//
-// <?xml version="1.0"?>
-// <mammals>
-//   <animal id="0" species="Capra hircus">Goat</animal>
-//   <animal id="1" species="Panthera pardus">Leopard</animal>
-//   <animal id="2" species="Equus zebra">Zebra</animal>
-// </mammals>
-
-XML xml;
-
-void setup() {
-  xml = loadXML("mammals.xml");
-  println(xml.getName());
-  xml.setName("fish");
-  println(xml.getName());
-}
-
-// Sketch prints:
-// mammals
-// fish
-
-
Description -Sets the element's name, which is specified as a String. -
Syntax
.setName(newName)
Returnsvoid
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/XML_setString_.html b/Java/Processing/processing-3.3.6/modes/java/reference/XML_setString_.html deleted file mode 100644 index 1e29f3c..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/XML_setString_.html +++ /dev/null @@ -1,171 +0,0 @@ - - - - XML::setString() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

XML

Name

setString()

Examples
-// The following short XML file called "mammals.xml" is parsed 
-// in the code below. It must be in the project's "data" folder.
-//
-// <?xml version="1.0"?>
-// <mammals>
-//   <animal id="0" species="Capra hircus">Goat</animal>
-//   <animal id="1" species="Panthera pardus">Leopard</animal>
-//   <animal id="2" species="Equus zebra">Zebra</animal>
-// </mammals>
-
-XML xml;
-
-void setup() {
-  xml = loadXML("mammals.xml");
-  XML firstChild = xml.getChild("animal");
-  println(firstChild.getString("species"));
-  firstChild.setString("species", "Jamides zebra");
-  println(firstChild.getString("species"));
-}
-
-// Sketch prints:
-// Capra hircus
-// Jamides zebra
-
-
Description -Sets the content of an element's attribute as a String. The first String specifies the attribute name, while the second specifies the new content. -
Syntax
.setString(name, value)
Returnsvoid
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/XML_toString_.html b/Java/Processing/processing-3.3.6/modes/java/reference/XML_toString_.html deleted file mode 100644 index 7b89656..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/XML_toString_.html +++ /dev/null @@ -1,163 +0,0 @@ - - - - XML::toString() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Class

XML

Name

toString()

Examples
-String data = "<mammals><animal>Goat</animal></mammals>";
-
-void setup() {
-  XML xml = parseXML(data);
-  
-  //Format with line breaks, XML declaration, and 2-space indentation
-  String s = xml.toString();
-  println(s);
-}
-
-// Sketch prints:
-//<?xml version="1.0" encoding="UTF-8"?>
-//<mammals>
-//  <animal>Goat</animal>
-//</mammals>
-
-
Description -Takes an XML object and converts it to a String, using default formatting rules (includes an XML declaration, line breaks, and two spaces for indents). These are the same formatting rules used by println() when printing an XML object. This method produces the same results as using format(2). -
Syntax
.toString()
ReturnsString
Relatedformat()
- -Updated on April 30, 2017 02:33:20pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/abs_.html b/Java/Processing/processing-3.3.6/modes/java/reference/abs_.html deleted file mode 100644 index 59fad80..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/abs_.html +++ /dev/null @@ -1,155 +0,0 @@ - - - - abs() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

abs()

Examples
-int a = abs(153);      // Sets 'a' to 153
-int b = abs(-15);      // Sets 'b' to 15
-float c = abs(12.234); // Sets 'c' to 12.234
-float d = abs(-9.23);  // Sets 'd' to 9.23 
-
-
Description -Calculates the absolute value (magnitude) of a number. The absolute value of a number is always positive. -
Syntax
abs(n)
Parameters - - -
nint, or float: number to compute
Returnsfloat or int
- -Updated on April 30, 2017 02:33:16pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/acos_.html b/Java/Processing/processing-3.3.6/modes/java/reference/acos_.html deleted file mode 100644 index 2a105f4..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/acos_.html +++ /dev/null @@ -1,166 +0,0 @@ - - - - acos() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

acos()

Examples
-float a = PI;
-float c = cos(a);
-float ac = acos(c);
-// Prints "3.1415927 : -1.0 : 3.1415927"
-println(a + " : " + c + " : " +  ac);
-
-
-
-float a = PI + PI/4.0;
-float c = cos(a);
-float ac = acos(c);
-// Prints "3.926991 : -0.70710665 : 2.3561943"
-println(a + " : " + c + " : " +  ac);
-
-
Description -The inverse of cos(), returns the arc cosine of a value. This function expects the values in the range of -1 to 1 and values are returned in the range 0 to PI (3.1415927). -
Syntax
acos(value)
Parameters - - -
valuefloat: the value whose arc cosine is to be returned
Returnsfloat
Relatedcos()
-asin()
-atan()
- -Updated on April 30, 2017 02:33:16pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/addassign.html b/Java/Processing/processing-3.3.6/modes/java/reference/addassign.html deleted file mode 100644 index 6ea4016..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/addassign.html +++ /dev/null @@ -1,162 +0,0 @@ - - - - += (add assign) \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

+= (add assign)

Examples
-int a = 50;
-int b = 23;
-a += b;  // Sets 'a' to 73
-
-
Description -Combines addition with assignment. The expression a += b is equivalent to a = a + b. -
Syntax
-value1 += value2
-
Parameters - - - - - - -
value1int or float
value2any numerical value the same datatype as value1
Related= (assign)
-+ (add)
--= (subtract assign)
- -Updated on April 30, 2017 02:33:23pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/addition.html b/Java/Processing/processing-3.3.6/modes/java/reference/addition.html deleted file mode 100644 index d79ba5f..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/addition.html +++ /dev/null @@ -1,177 +0,0 @@ - - - - + (addition) \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

+ (addition)

Examples
-int a = 50 + 5;  // Sets 'a' to 55
-int b = a + 5;   // Sets 'b' to 60
-
-
-
-String s1 = "Chernenko";
-String s2 = "Brezhnev";
-String sc1 = s1 + s2;
-String sc2 = s1 + ", Andropov, " + s2;
-println(sc1);  // Prints "ChernenkoBrezhnev"
-println(sc2);  // Prints "Chernenko, Andropov, Brezhnev"
-
-
-
-String s1 = "Gorbachev";
-int i = 1987;
-String sc1 = s1 + i;
-println(sc1);  // Prints "Gorbachev1987"
-
-
Description -Adds two values or concatenates string values. As a mathematical operator, it calculates the sum of two values. As a string operator, it combines two strings into one and converts from primitive datatypes into the String datatype if necessary. -
Syntax
-value1 + value2
-
Parameters - - - - - - -
value1String, int, float, char, byte, boolean
value2String, int, float, char, byte, boolean
Related++ (increment)
-+= (add assign)
-- (minus)
- -Updated on April 30, 2017 02:33:23pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/alpha.html b/Java/Processing/processing-3.3.6/modes/java/reference/alpha.html deleted file mode 100644 index 2c880f2..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/alpha.html +++ /dev/null @@ -1,475 +0,0 @@ - - - - Alphabetical Language Reference (API) \ Processing 2+ - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

Reference. Processing was designed to be a flexible software sketchbook.

- - - -
- ! (logical NOT) -!= (inequality) -% (modulo) -& (bitwise AND) -&& (logical AND) -() (parentheses) -* (multiply) -*= (multiply assign) -+ (addition) -++ (increment) -+= (add assign) -, (comma) -- (minus) --- (decrement) --= (subtract assign) -. (dot) -/ (divide) -/* */ (multiline comment) -/** */ (doc comment) -// (comment) -/= (divide assign) -; (semicolon) -< (less than) -<< (left shift) -<= (less than or equal to) -= (assign) -== (equality) -> (greater than) ->= (greater than or equal to) ->> (right shift) -?: (conditional) -[] (array access) -{} (curly braces) -| (bitwise OR) -|| (logical OR) -
abs() -acos() -alpha() -ambient() -ambientLight() -append() -applyMatrix() -arc() -Array -arrayCopy() -ArrayList -asin() -atan() -atan2() -
background() -beginCamera() -beginContour() -beginRaw() -beginRecord() -beginShape() -bezier() -bezierDetail() -bezierPoint() -bezierTangent() -bezierVertex() -binary() -blend() -blendMode() -blue() -boolean() -boolean -box() -break -brightness() -BufferedReader -byte() -byte -
camera() -case -catch -ceil() -char() -char -class -clear() -clip() -color() -color -colorMode() -concat() -constrain() -continue -copy() -cos() -createFont() -createGraphics() -createImage() -createInput() -createOutput() -createReader() -createShape() -createWriter() -cursor() -curve() -curveDetail() -curvePoint() -curveTangent() -curveTightness() -curveVertex() -
day() -default -degrees() -delay() -directionalLight() -displayDensity() -dist() -double -draw() -
ellipse() -ellipseMode() -else -emissive() -endCamera() -endContour() -endRaw() -endRecord() -endShape() -exit() -exp() -expand() -
- - - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/alpha_.html b/Java/Processing/processing-3.3.6/modes/java/reference/alpha_.html deleted file mode 100644 index 6014978..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/alpha_.html +++ /dev/null @@ -1,163 +0,0 @@ - - - - alpha() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

alpha()

Examples
example pic
-noStroke();
-color c = color(0, 126, 255, 102);
-fill(c);
-rect(15, 15, 35, 70);
-float value = alpha(c);  // Sets 'value' to 102
-fill(value);
-rect(50, 15, 35, 70);
-
-
Description -Extracts the alpha value from a color. -
Syntax
alpha(rgb)
Parameters - - -
rgbint: any value of the color datatype
Returnsfloat
Relatedred()
-green()
-blue()
-hue()
-saturation()
-brightness()
- -Updated on April 30, 2017 02:33:18pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/ambientLight_.html b/Java/Processing/processing-3.3.6/modes/java/reference/ambientLight_.html deleted file mode 100644 index 4edbdd1..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/ambientLight_.html +++ /dev/null @@ -1,198 +0,0 @@ - - - - ambientLight() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

ambientLight()

Examples
example pic
-size(100, 100, P3D);
-background(0);
-noStroke();
-// The spheres are white by default so
-// the ambient light changes their color
-ambientLight(51, 102, 126);
-translate(20, 50, 0);
-sphere(30);
-translate(60, 0, 0);
-sphere(30);
-
- -
example pic
-size(100, 100, P3D);
-background(0);
-noStroke();
-directionalLight(126, 126, 126, 0, 0, -1);
-ambientLight(102, 102, 102);
-translate(32, 50, 0);
-rotateY(PI/5);
-box(40);
-translate(60, 0, 0);
-sphere(30);
-
-
Description -Adds an ambient light. Ambient light doesn't come from a specific direction, the rays have light have bounced around so much that objects are evenly lit from all sides. Ambient lights are almost always used in combination with other types of lights. Lights need to be included in the draw() to remain persistent in a looping program. Placing them in the setup() of a looping program will cause them to only have an effect the first time through the loop. The v1, v2, and v3 parameters are interpreted as either RGB or HSB values, depending on the current color mode. -
Syntax
ambientLight(v1, v2, v3)
-ambientLight(v1, v2, v3, x, y, z)
Parameters - - - - - - - - - - - - - - - - - - - - - - -
v1float: red or hue value (depending on current color mode)
v2float: green or saturation value (depending on current color mode)
v3float: blue or brightness value (depending on current color mode)
xfloat: x-coordinate of the light
yfloat: y-coordinate of the light
zfloat: z-coordinate of the light
Returnsvoid
Relatedlights()
-directionalLight()
-pointLight()
-spotLight()
- -Updated on April 30, 2017 02:33:18pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/ambient_.html b/Java/Processing/processing-3.3.6/modes/java/reference/ambient_.html deleted file mode 100644 index 88011db..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/ambient_.html +++ /dev/null @@ -1,179 +0,0 @@ - - - - ambient() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

ambient()

Examples
example pic
-size(100, 100, P3D);
-background(0);
-noStroke();
-directionalLight(153, 153, 153, .5, 0, -1);
-ambientLight(153, 102, 0);
-ambient(51, 26, 0);
-translate(70, 50, 0);
-sphere(30);
-
-
Description -Sets the ambient reflectance for shapes drawn to the screen. This is combined with the ambient light component of environment. The color components set through the parameters define the reflectance. For example in the default color mode, setting v1=255, v2=127, v3=0, would cause all the red light to reflect and half of the green light to reflect. Used in combination with emissive(), specular(), and shininess() in setting the material properties of shapes. -
Syntax
ambient(rgb)
-ambient(gray)
-ambient(v1, v2, v3)
Parameters - - - - - - - - - - - - - - - - - - -
rgbint: any value of the color datatype
grayfloat: number specifying value between white and black
v1float: red or hue value (depending on current color mode)
v2float: green or saturation value (depending on current color mode)
v3float: blue or brightness value (depending on current color mode)
Returnsvoid
Relatedemissive()
-specular()
-shininess()
- -Updated on April 30, 2017 02:33:18pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/append_.html b/Java/Processing/processing-3.3.6/modes/java/reference/append_.html deleted file mode 100644 index db3ea0f..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/append_.html +++ /dev/null @@ -1,166 +0,0 @@ - - - - append() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

append()

Examples
-String[] sa1 = { "OH", "NY", "CA"}; 
-String[] sa2 = append(sa1, "MA"); 
-println(sa2);
-// Prints updated array contents to the console:
-// [0] "OH"
-// [1] "NY"
-// [2] "CA"
-// [3] "MA"
-
-
Description -Expands an array by one element and adds data to the new position. The datatype of the element parameter must be the same as the datatype of the array.
-
-When using an array of objects, the data returned from the function must be cast to the object array's data type. For example: SomeClass[] items = (SomeClass[]) append(originalArray, element) -
Syntax
append(array, value)
Parameters - - - - - - -
arrayObject, String[], float[], int[], char[], or byte[]: array to append
valueObject, String, float, int, char, or byte: new data for the array
Returnsbyte[], char[], int[], float[], String[], or Object
Relatedshorten()
-expand()
- -Updated on April 30, 2017 02:33:17pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/applyMatrix_.html b/Java/Processing/processing-3.3.6/modes/java/reference/applyMatrix_.html deleted file mode 100644 index 0b45d66..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/applyMatrix_.html +++ /dev/null @@ -1,232 +0,0 @@ - - - - applyMatrix() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

applyMatrix()

Examples
example pic
-size(100, 100, P3D);
-noFill();
-translate(50, 50, 0);
-rotateY(PI/6); 
-stroke(153);
-box(35);
-// Set rotation angles
-float ct = cos(PI/9.0);
-float st = sin(PI/9.0);          
-// Matrix for rotation around the Y axis
-applyMatrix(  ct, 0.0,  st,  0.0,
-             0.0, 1.0, 0.0,  0.0,
-             -st, 0.0,  ct,  0.0,
-             0.0, 0.0, 0.0,  1.0);  
-stroke(255);
-box(50);
-
-
Description -Multiplies the current matrix by the one specified through the parameters. This is very slow because it will try to calculate the inverse of the transform, so avoid it whenever possible. The equivalent function in OpenGL is glMultMatrix(). -
Syntax
applyMatrix(source)
-applyMatrix(n00, n01, n02, n10, n11, n12)
-applyMatrix(n00, n01, n02, n03, n10, n11, n12, n13, n20, n21, n22, n23, n30, n31, n32, n33)
Parameters - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
n00float: numbers which define the 4x4 matrix to be multiplied
n01float: numbers which define the 4x4 matrix to be multiplied
n02float: numbers which define the 4x4 matrix to be multiplied
n10float: numbers which define the 4x4 matrix to be multiplied
n11float: numbers which define the 4x4 matrix to be multiplied
n12float: numbers which define the 4x4 matrix to be multiplied
n03float: numbers which define the 4x4 matrix to be multiplied
n13float: numbers which define the 4x4 matrix to be multiplied
n20float: numbers which define the 4x4 matrix to be multiplied
n21float: numbers which define the 4x4 matrix to be multiplied
n22float: numbers which define the 4x4 matrix to be multiplied
n23float: numbers which define the 4x4 matrix to be multiplied
n30float: numbers which define the 4x4 matrix to be multiplied
n31float: numbers which define the 4x4 matrix to be multiplied
n32float: numbers which define the 4x4 matrix to be multiplied
n33float: numbers which define the 4x4 matrix to be multiplied
Returnsvoid
RelatedpushMatrix()
-popMatrix()
-resetMatrix()
-printMatrix()
- -Updated on April 30, 2017 02:33:18pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/arc_.html b/Java/Processing/processing-3.3.6/modes/java/reference/arc_.html deleted file mode 100644 index 664edca..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/arc_.html +++ /dev/null @@ -1,196 +0,0 @@ - - - - arc() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

arc()

Examples
example pic
-arc(50, 55, 50, 50, 0, HALF_PI);
-noFill();
-arc(50, 55, 60, 60, HALF_PI, PI);
-arc(50, 55, 70, 70, PI, PI+QUARTER_PI);
-arc(50, 55, 80, 80, PI+QUARTER_PI, TWO_PI);
-
- -
example pic
-arc(50, 50, 80, 80, 0, PI+QUARTER_PI, OPEN);
-
- -
example pic
-arc(50, 50, 80, 80, 0, PI+QUARTER_PI, CHORD);
-
- -
example pic
-arc(50, 50, 80, 80, 0, PI+QUARTER_PI, PIE);
-
-
Description -Draws an arc to the screen. Arcs are drawn along the outer edge of an ellipse defined by the a, b, c, and d parameters. The origin of the arc's ellipse may be changed with the ellipseMode() function. Use the start and stop parameters to specify the angles (in radians) at which to draw the arc.
-
-There are three ways to draw an arc; the rendering technique used is defined by the optional seventh parameter. The three options, depicted in the above examples, are PIE, OPEN, and CHORD. The default mode is the OPEN stroke with a PIE fill.
-
-In some cases, the arc() function isn't accurate enough for smooth drawing. For example, the shape may jitter on screen when rotating slowly. If you're having an issue with how arcs are rendered, you'll need to draw the arc yourself with beginShape()/endShape() or a PShape. -
Syntax
arc(a, b, c, d, start, stop)
-arc(a, b, c, d, start, stop, mode)
Parameters - - - - - - - - - - - - - - - - - - - - - - -
afloat: x-coordinate of the arc's ellipse
bfloat: y-coordinate of the arc's ellipse
cfloat: width of the arc's ellipse by default
dfloat: height of the arc's ellipse by default
startfloat: angle to start the arc, specified in radians
stopfloat: angle to stop the arc, specified in radians
Returnsvoid
Relatedellipse()
-ellipseMode()
-radians()
-degrees()
- -Updated on April 30, 2017 02:33:18pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/arrayCopy_.html b/Java/Processing/processing-3.3.6/modes/java/reference/arrayCopy_.html deleted file mode 100644 index 25a40aa..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/arrayCopy_.html +++ /dev/null @@ -1,192 +0,0 @@ - - - - arrayCopy() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

arrayCopy()

Examples
-String[] north = { "OH", "IN", "MI" };
-String[] south = { "GA", "FL", "NC" };
-arrayCopy(north, south);
-println(south);
-// Prints updated array contents to the console:
-// [0] "OH"
-// [1] "IN"
-// [2] "MI"
-
-
-
-String[] north = { "OH", "IN", "MI"};
-String[] south = { "GA", "FL", "NC"}; 
-arrayCopy(north, 1, south, 0, 2);
-println(south);
-// Prints updated array contents to the console:
-// [0] "IN"
-// [1] "MI"
-// [2] "NC"
-
-
Description -Copies an array (or part of an array) to another array. The src array is copied to the dst array, beginning at the position specified by srcPosition and into the position specified by dstPosition. The number of elements to copy is determined by length. Note that copying values overwrites existing values in the destination array. To append values instead of overwriting them, use concat().
-
-The simplified version with only two arguments — arrayCopy(src, dst) — copies an entire array to another of the same size. It is equivalent to arrayCopy(src, 0, dst, 0, src.length).
-
-Using this function is far more efficient for copying array data than iterating through a for() loop and copying each element individually. This function only copies references, which means that for most purposes it only copies one-dimensional arrays (a single set of brackets). If used with a two (or three or more) dimensional array, it will only copy the references at the first level, because a two dimensional array is simply an "array of arrays". This does not produce an error, however, because this is often the desired behavior. Internally, this function calls Java's System.arraycopy() method, so most things that apply there are inherited. -
Syntax
arrayCopy(src, srcPosition, dst, dstPosition, length)
-arrayCopy(src, dst, length)
-arrayCopy(src, dst)
Parameters - - - - - - - - - - - - - - - - - - -
srcObject: the source array
srcPositionint: starting position in the source array
dstObject: the destination array of the same data type as the source array
dstPositionint: starting position in the destination array
lengthint: number of array elements to be copied
Returnsvoid
Relatedconcat()
- -Updated on April 30, 2017 02:33:17pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/arrayaccess.html b/Java/Processing/processing-3.3.6/modes/java/reference/arrayaccess.html deleted file mode 100644 index f810e11..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/arrayaccess.html +++ /dev/null @@ -1,168 +0,0 @@ - - - - [] (array access) \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

[] (array access)

Examples
-int[] numbers = new int[3]; 
-numbers[0] = 90; 
-numbers[1] = 150; 
-numbers[2] = 30; 
-int a = numbers[0] + numbers[1]; // Sets variable 'a' to 240 
-int b = numbers[1] + numbers[2]; // Sets variable 'b' to 180 
-
-
Description -The array access operator is used to specify a location within an array. The data at this location can be defined with the syntax array[element] = value and read with the syntax value = array[element] as shown in the above example. -
Syntax
-datatype[]
-array[element]
-
Parameters - - - - - - - - - - -
datatypeany primitive or compound datatype, including user-defined classes
arrayany valid variable name
elementint: must not exceed the length of the array minus 1
RelatedArray
- -Updated on April 30, 2017 02:33:23pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/asin_.html b/Java/Processing/processing-3.3.6/modes/java/reference/asin_.html deleted file mode 100644 index 9789577..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/asin_.html +++ /dev/null @@ -1,166 +0,0 @@ - - - - asin() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

asin()

Examples
-float a = PI/3;
-float s = sin(a);
-float as = asin(s);
-// Prints "1.0471976 : 0.86602545 : 1.0471976"
-println(a + " : " + s + " : " +  as);
-
-
-
-float a = PI + PI/3.0;
-float s = sin(a);
-float as = asin(s);
-// Prints "4.1887903 : -0.86602545 : -1.0471976"
-println(a + " : " + s + " : " +  as);
-
-
Description -The inverse of sin(), returns the arc sine of a value. This function expects the values in the range of -1 to 1 and values are returned in the range -PI/2 to PI/2. -
Syntax
asin(value)
Parameters - - -
valuefloat: the value whose arc sine is to be returned
Returnsfloat
Relatedsin()
-acos()
-atan()
- -Updated on April 30, 2017 02:33:16pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/assign.html b/Java/Processing/processing-3.3.6/modes/java/reference/assign.html deleted file mode 100644 index becc6aa..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/assign.html +++ /dev/null @@ -1,161 +0,0 @@ - - - - = (assign) \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

= (assign)

Examples
-int a;
-a = 30;  // Assigns for value 30 to the variable 'a'
-a = a + 40;  // Assigns the value 70 to the variable 'a'
-
-
Description -Assigns a value to a variable. The "=" sign does not mean "equals", but is used to place data within a variable. The "=" operator is formally called the assignment operator. There are many different types of variables (int, floats, strings, etc.) and the assignment operator can only assign values which are the same type as the variable it is assigning. For example, if the variable is of type int, the value must also be an int. -
Syntax
-var = value
-
Parameters - - - - - - -
varany valid variable name
valueany value of the same type as the variable. For example, if the variable is of type "int", the value must also be an int
Related+= (add assign)
--= (subtract assign)
- -Updated on April 30, 2017 02:33:23pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/atan2_.html b/Java/Processing/processing-3.3.6/modes/java/reference/atan2_.html deleted file mode 100644 index 7df4dba..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/atan2_.html +++ /dev/null @@ -1,162 +0,0 @@ - - - - atan2() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

atan2()

Examples
-void draw() {
-  background(204);
-  translate(width/2, height/2);
-  float a = atan2(mouseY-height/2, mouseX-width/2);
-  rotate(a);
-  rect(-30, -5, 60, 10);
-}
-
-
Description -Calculates the angle (in radians) from a specified point to the coordinate origin as measured from the positive x-axis. Values are returned as a float in the range from PI to -PI. The atan2() function is most often used for orienting geometry to the position of the cursor. Note: The y-coordinate of the point is the first parameter, and the x-coordinate is the second parameter, due the the structure of calculating the tangent. -
Syntax
atan2(y, x)
Parameters - - - - - - -
yfloat: y-coordinate of the point
xfloat: x-coordinate of the point
Returnsfloat
Relatedtan()
- -Updated on April 30, 2017 02:33:16pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/atan_.html b/Java/Processing/processing-3.3.6/modes/java/reference/atan_.html deleted file mode 100644 index 708a94f..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/atan_.html +++ /dev/null @@ -1,166 +0,0 @@ - - - - atan() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

atan()

Examples
-float a = PI/3;
-float t = tan(a);
-float at = atan(t);
-// Prints "1.0471976 : 1.7320509 : 1.0471976"
-println(a + " : " + t + " : " +  at);
-
-
-
-float a = PI + PI/3.0;
-float t = tan(a);
-float at = atan(t);
-// Prints "4.1887903 : 1.7320513 : 1.0471977"
-println(a + " : " + t + " : " +  at);
-
-
Description -The inverse of tan(), returns the arc tangent of a value. This function expects the values in the range of -Infinity to Infinity (exclusive) and values are returned in the range -PI/2 to PI/2 . -
Syntax
atan(value)
Parameters - - -
valuefloat: -Infinity to Infinity (exclusive)
Returnsfloat
Relatedtan()
-asin()
-acos()
- -Updated on April 30, 2017 02:33:16pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/background_.html b/Java/Processing/processing-3.3.6/modes/java/reference/background_.html deleted file mode 100644 index fb35cc5..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/background_.html +++ /dev/null @@ -1,199 +0,0 @@ - - - - background() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

background()

Examples
example pic
-background(51);
-
- -
example pic
-background(255, 204, 0);
-
- -
example pic
-PImage img;
-img = loadImage("laDefense.jpg");
-background(img);
-
-
Description -The background() function sets the color used for the background of the Processing window. The default background is light gray. This function is typically used within draw() to clear the display window at the beginning of each frame, but it can be used inside setup() to set the background on the first frame of animation or if the backgound need only be set once. -

-An image can also be used as the background for a sketch, although the image's width and height must match that of the sketch window. Images used with background() will ignore the current tint() setting. To resize an image to the size of the sketch window, use image.resize(width, height). -

-It is not possible to use the transparency alpha parameter with background colors on the main drawing surface. It can only be used along with a PGraphics object and createGraphics(). -
Syntax
background(rgb)
-background(rgb, alpha)
-background(gray)
-background(gray, alpha)
-background(v1, v2, v3)
-background(v1, v2, v3, alpha)
-background(image)
Parameters - - - - - - - - - - - - - - - - - - - - - - - - - - -
rgbint: any value of the color datatype
alphafloat: opacity of the background
grayfloat: specifies a value between white and black
v1float: red or hue value (depending on the current color mode)
v2float: green or saturation value (depending on the current color mode)
v3float: blue or brightness value (depending on the current color mode)
imagePImage: PImage to set as background (must be same size as the sketch window)
Returnsvoid
Relatedstroke()
-fill()
-tint()
-colorMode()
- -Updated on April 30, 2017 02:33:18pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/beginCamera_.html b/Java/Processing/processing-3.3.6/modes/java/reference/beginCamera_.html deleted file mode 100644 index 34c3d76..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/beginCamera_.html +++ /dev/null @@ -1,164 +0,0 @@ - - - - beginCamera() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

beginCamera()

Examples
example pic
-size(100, 100, P3D);
-noFill();
-
-beginCamera();
-camera();
-rotateX(-PI/6);
-endCamera();
-
-translate(50, 50, 0);
-rotateY(PI/3);
-box(45);
-
-
Description -The beginCamera() and endCamera() functions enable advanced customization of the camera space. The functions are useful if you want to more control over camera movement, however for most users, the camera() function will be sufficient.

The camera functions will replace any transformations (such as rotate() or translate()) that occur before them in draw(), but they will not automatically replace the camera transform itself. For this reason, camera functions should be placed at the beginning of draw() (so that transformations happen afterwards), and the camera() function can be used after beginCamera() if you want to reset the camera before applying transformations.

This function sets the matrix mode to the camera matrix so calls such as translate(), rotate(), applyMatrix() and resetMatrix() affect the camera. beginCamera() should always be used with a following endCamera() and pairs of beginCamera() and endCamera() cannot be nested. -
Syntax
beginCamera()
Returnsvoid
Relatedcamera()
-endCamera()
-applyMatrix()
-resetMatrix()
-translate()
-scale()
- -Updated on April 30, 2017 02:33:18pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/beginContour_.html b/Java/Processing/processing-3.3.6/modes/java/reference/beginContour_.html deleted file mode 100644 index 6339c6f..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/beginContour_.html +++ /dev/null @@ -1,167 +0,0 @@ - - - - beginContour() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

beginContour()

Examples
example pic
-size(100, 100);
-translate(50, 50);
-stroke(255, 0, 0);
-beginShape();
-// Exterior part of shape, clockwise winding
-vertex(-40, -40);
-vertex(40, -40);
-vertex(40, 40);
-vertex(-40, 40);
-// Interior part of shape, counter-clockwise winding
-beginContour();
-vertex(-20, -20);
-vertex(-20, 20);
-vertex(20, 20);
-vertex(20, -20);
-endContour();
-endShape(CLOSE);
-
-
Description -Use the beginContour() and endContour() function to create negative shapes within shapes such as the center of the letter 'O'. beginContour() begins recording vertices for the shape and endContour() stops recording. The vertices that define a negative shape must "wind" in the opposite direction from the exterior shape. First draw vertices for the exterior shape in clockwise order, then for internal shapes, draw vertices counterclockwise.
-
-These functions can only be used within a beginShape()/endShape() pair and transformations such as translate(), rotate(), and scale() do not work within a beginContour()/endContour() pair. It is also not possible to use other shapes, such as ellipse() or rect() within. -
Syntax
beginContour()
Returnsvoid
- -Updated on April 30, 2017 02:33:17pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/beginRaw_.html b/Java/Processing/processing-3.3.6/modes/java/reference/beginRaw_.html deleted file mode 100644 index 3679b0f..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/beginRaw_.html +++ /dev/null @@ -1,180 +0,0 @@ - - - - beginRaw() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

beginRaw()

Examples
-import processing.pdf.*;
-
-void setup() {
-  size(400, 400);
-  beginRaw(PDF, "raw.pdf");
-}
-
-void draw() {
-  line(pmouseX, pmouseY, mouseX, mouseY);
-}
-
-void keyPressed() {
-  if (key == ' ') {
-    endRaw();
-    exit();
-  }
-}
-
-
Description -To create vectors from 3D data, use the beginRaw() and endRaw() commands. These commands will grab the shape data just before it is rendered to the screen. At this stage, your entire scene is nothing but a long list of individual lines and triangles. This means that a shape created with sphere() function will be made up of hundreds of triangles, rather than a single object. Or that a multi-segment line shape (such as a curve) will be rendered as individual segments. -

-When using beginRaw() and endRaw(), it's possible to write to either a 2D or 3D renderer. For instance, beginRaw() with the PDF library will write the geometry as flattened triangles and lines, even if recording from the P3D renderer. -

-If you want a background to show up in your files, use rect(0, 0, width, height) after setting the fill() to the background color. Otherwise the background will not be rendered to the file because the background is not shape. -

-Using hint(ENABLE_DEPTH_SORT) can improve the appearance of 3D geometry drawn to 2D file formats. -

-See examples in the reference for the PDF and DXF libraries for more information. -
Syntax
beginRaw(renderer, filename)
Parameters - - - - - - -
rendererString: for example, PDF or DXF
filenameString: filename for output
ReturnsPGraphics or void
RelatedendRaw()
- -Updated on April 30, 2017 02:33:17pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/beginRecord_.html b/Java/Processing/processing-3.3.6/modes/java/reference/beginRecord_.html deleted file mode 100644 index d75f0d1..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/beginRecord_.html +++ /dev/null @@ -1,174 +0,0 @@ - - - - beginRecord() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

beginRecord()

Examples
-import processing.pdf.*;
-
-void setup() {
-  size(400, 400);
-  beginRecord(PDF, "everything.pdf");
-}
-
-void draw() {
-  ellipse(mouseX, mouseY, 10, 10);
-}
-
-void mousePressed() {
-  endRecord();
-  exit();
-} 
-
-
Description -Opens a new file and all subsequent drawing functions are echoed to this file as well as the display window. The beginRecord() function requires two parameters, the first is the renderer and the second is the file name. This function is always used with endRecord() to stop the recording process and close the file. -

-Note that beginRecord() will only pick up any settings that happen after it has been called. For instance, if you call textFont() before beginRecord(), then that font will not be set for the file that you're recording to. -

-beginRecord() works only with the PDF and SVG renderers. -
Syntax
beginRecord(renderer, filename)
Parameters - - - - - - -
rendererString: PDF or SVG
filenameString: filename for output
ReturnsPGraphics or void
RelatedendRecord()
- -Updated on April 30, 2017 02:33:17pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/beginShape_.html b/Java/Processing/processing-3.3.6/modes/java/reference/beginShape_.html deleted file mode 100644 index 7bf5d76..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/beginShape_.html +++ /dev/null @@ -1,275 +0,0 @@ - - - - beginShape() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

beginShape()

Examples
example pic
-beginShape();
-vertex(30, 20);
-vertex(85, 20);
-vertex(85, 75);
-vertex(30, 75);
-endShape(CLOSE);
-
- -
example pic
-beginShape(POINTS);
-vertex(30, 20);
-vertex(85, 20);
-vertex(85, 75);
-vertex(30, 75);
-endShape();
-
- -
example pic
-beginShape(LINES);
-vertex(30, 20);
-vertex(85, 20);
-vertex(85, 75);
-vertex(30, 75);
-endShape();
-
- -
example pic
-noFill();
-beginShape();
-vertex(30, 20);
-vertex(85, 20);
-vertex(85, 75);
-vertex(30, 75);
-endShape();
-
- -
example pic
-noFill();
-beginShape();
-vertex(30, 20);
-vertex(85, 20);
-vertex(85, 75);
-vertex(30, 75);
-endShape(CLOSE);
-
- -
example pic
-beginShape(TRIANGLES);
-vertex(30, 75);
-vertex(40, 20);
-vertex(50, 75);
-vertex(60, 20);
-vertex(70, 75);
-vertex(80, 20);
-endShape();
-
- -
example pic
-beginShape(TRIANGLE_STRIP);
-vertex(30, 75);
-vertex(40, 20);
-vertex(50, 75);
-vertex(60, 20);
-vertex(70, 75);
-vertex(80, 20);
-vertex(90, 75);
-endShape();
-
- -
example pic
-beginShape(TRIANGLE_FAN);
-vertex(57.5, 50);
-vertex(57.5, 15); 
-vertex(92, 50); 
-vertex(57.5, 85); 
-vertex(22, 50); 
-vertex(57.5, 15); 
-endShape();
-
- -
example pic
-beginShape(QUADS);
-vertex(30, 20);
-vertex(30, 75);
-vertex(50, 75);
-vertex(50, 20);
-vertex(65, 20);
-vertex(65, 75);
-vertex(85, 75);
-vertex(85, 20);
-endShape();
-
- -
example pic
-beginShape(QUAD_STRIP); 
-vertex(30, 20); 
-vertex(30, 75); 
-vertex(50, 20);
-vertex(50, 75);
-vertex(65, 20); 
-vertex(65, 75); 
-vertex(85, 20);
-vertex(85, 75); 
-endShape();
-
- -
example pic
-beginShape();
-vertex(20, 20);
-vertex(40, 20);
-vertex(40, 40);
-vertex(60, 40);
-vertex(60, 60);
-vertex(20, 60);
-endShape(CLOSE);
-
-
Description -Using the beginShape() and endShape() functions allow creating more complex forms. beginShape() begins recording vertices for a shape and endShape() stops recording. The value of the kind parameter tells it which types of shapes to create from the provided vertices. With no mode specified, the shape can be any irregular polygon. The parameters available for beginShape() are POINTS, LINES, TRIANGLES, TRIANGLE_FAN, TRIANGLE_STRIP, QUADS, and QUAD_STRIP. After calling the beginShape() function, a series of vertex() commands must follow. To stop drawing the shape, call endShape(). The vertex() function with two parameters specifies a position in 2D and the vertex() function with three parameters specifies a position in 3D. Each shape will be outlined with the current stroke color and filled with the fill color. -

-Transformations such as translate(), rotate(), and scale() do not work within beginShape(). It is also not possible to use other shapes, such as ellipse() or rect() within beginShape(). -

-The P2D and P3D renderers allow stroke() and fill() to be altered on a per-vertex basis, but the default renderer does not. Settings such as strokeWeight(), strokeCap(), and strokeJoin() cannot be changed while inside a beginShape()/endShape() block with any renderer. -
Syntax
beginShape()
-beginShape(kind)
Parameters - - -
kindint: Either POINTS, LINES, TRIANGLES, TRIANGLE_FAN, TRIANGLE_STRIP, QUADS, or QUAD_STRIP
Returnsvoid
RelatedPShape
-endShape()
-vertex()
-curveVertex()
-bezierVertex()
- -Updated on April 30, 2017 02:33:17pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/bezierDetail_.html b/Java/Processing/processing-3.3.6/modes/java/reference/bezierDetail_.html deleted file mode 100644 index 0c0ff34..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/bezierDetail_.html +++ /dev/null @@ -1,166 +0,0 @@ - - - - bezierDetail() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

bezierDetail()

Examples
-// Move the mouse left and right to see the detail change
-
-void setup() {
-  size(100, 100, P3D);
-  noFill();
-}
-
-void draw() {
-  background(204);
-  int d = int(map(mouseX, 0, 100, 1, 20));
-  bezierDetail(d);
-  bezier(85, 20, 10, 10, 90, 90, 15, 80);
-}
-
-
Description -Sets the resolution at which Beziers display. The default value is 20. This function is only useful when using the P3D renderer; the default P2D renderer does not use this information. -
Syntax
bezierDetail(detail)
Parameters - - -
detailint: resolution of the curves
Returnsvoid
Relatedcurve()
-curveVertex()
-curveTightness()
- -Updated on April 30, 2017 02:33:18pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/bezierPoint_.html b/Java/Processing/processing-3.3.6/modes/java/reference/bezierPoint_.html deleted file mode 100644 index c978457..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/bezierPoint_.html +++ /dev/null @@ -1,179 +0,0 @@ - - - - bezierPoint() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

bezierPoint()

Examples
example pic
-noFill();
-bezier(85, 20, 10, 10, 90, 90, 15, 80);
-fill(255);
-int steps = 10;
-for (int i = 0; i <= steps; i++) {
-  float t = i / float(steps);
-  float x = bezierPoint(85, 10, 90, 15, t);
-  float y = bezierPoint(20, 10, 90, 80, t);
-  ellipse(x, y, 5, 5);
-}
-
-
Description -Evaluates the Bezier at point t for points a, b, c, d. The parameter t varies between 0 and 1, a and d are points on the curve, and b and c are the control points. This can be done once with the x coordinates and a second time with the y coordinates to get the location of a bezier curve at t. -
Syntax
bezierPoint(a, b, c, d, t)
Parameters - - - - - - - - - - - - - - - - - - -
afloat: coordinate of first point on the curve
bfloat: coordinate of first control point
cfloat: coordinate of second control point
dfloat: coordinate of second point on the curve
tfloat: value between 0 and 1
Returnsfloat
Relatedbezier()
-bezierVertex()
-curvePoint()
- -Updated on April 30, 2017 02:33:18pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/bezierTangent_.html b/Java/Processing/processing-3.3.6/modes/java/reference/bezierTangent_.html deleted file mode 100644 index 6bd2dfe..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/bezierTangent_.html +++ /dev/null @@ -1,209 +0,0 @@ - - - - bezierTangent() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

bezierTangent()

Examples
example pic
-noFill();
-bezier(85, 20, 10, 10, 90, 90, 15, 80);
-int steps = 6;
-fill(255);
-for (int i = 0; i <= steps; i++) {
-  float t = i / float(steps);
-  // Get the location of the point
-  float x = bezierPoint(85, 10, 90, 15, t);
-  float y = bezierPoint(20, 10, 90, 80, t);
-  // Get the tangent points
-  float tx = bezierTangent(85, 10, 90, 15, t);
-  float ty = bezierTangent(20, 10, 90, 80, t);
-  // Calculate an angle from the tangent points
-  float a = atan2(ty, tx);
-  a += PI;
-  stroke(255, 102, 0);
-  line(x, y, cos(a)*30 + x, sin(a)*30 + y);
-  // The following line of code makes a line 
-  // inverse of the above line
-  //line(x, y, cos(a)*-30 + x, sin(a)*-30 + y);
-  stroke(0);
-  ellipse(x, y, 5, 5);
-}
-
- -
example pic
-noFill();
-bezier(85, 20, 10, 10, 90, 90, 15, 80);
-stroke(255, 102, 0);
-int steps = 16;
-for (int i = 0; i <= steps; i++) {
-  float t = i / float(steps);
-  float x = bezierPoint(85, 10, 90, 15, t);
-  float y = bezierPoint(20, 10, 90, 80, t);
-  float tx = bezierTangent(85, 10, 90, 15, t);
-  float ty = bezierTangent(20, 10, 90, 80, t);
-  float a = atan2(ty, tx);
-  a -= HALF_PI;
-  line(x, y, cos(a)*8 + x, sin(a)*8 + y);
-}
-
-
Description -Calculates the tangent of a point on a Bezier curve. There is a good definition of tangent on Wikipedia. -
Syntax
bezierTangent(a, b, c, d, t)
Parameters - - - - - - - - - - - - - - - - - - -
afloat: coordinate of first point on the curve
bfloat: coordinate of first control point
cfloat: coordinate of second control point
dfloat: coordinate of second point on the curve
tfloat: value between 0 and 1
Returnsfloat
Relatedbezier()
-bezierVertex()
-curvePoint()
- -Updated on April 30, 2017 02:33:18pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/bezierVertex_.html b/Java/Processing/processing-3.3.6/modes/java/reference/bezierVertex_.html deleted file mode 100644 index b309a53..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/bezierVertex_.html +++ /dev/null @@ -1,200 +0,0 @@ - - - - bezierVertex() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

bezierVertex()

Examples
example pic
-noFill();
-beginShape();
-vertex(30, 20);
-bezierVertex(80, 0, 80, 75, 30, 75);
-endShape();
-
- -
example pic
-beginShape();
-vertex(30, 20);
-bezierVertex(80, 0, 80, 75, 30, 75);
-bezierVertex(50, 80, 60, 25, 30, 20);
-endShape();
-
-
Description -Specifies vertex coordinates for Bezier curves. Each call to bezierVertex() defines the position of two control points and one anchor point of a Bezier curve, adding a new segment to a line or shape. The first time bezierVertex() is used within a beginShape() call, it must be prefaced with a call to vertex() to set the first anchor point. This function must be used between beginShape() and endShape() and only when there is no MODE parameter specified to beginShape(). Using the 3D version requires rendering with P3D (see the Environment reference for more information). -
Syntax
bezierVertex(x2, y2, x3, y3, x4, y4)
-bezierVertex(x2, y2, z2, x3, y3, z3, x4, y4, z4)
Parameters - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
x2float: the x-coordinate of the 1st control point
y2float: the y-coordinate of the 1st control point
z2float: the z-coordinate of the 1st control point
x3float: the x-coordinate of the 2nd control point
y3float: the y-coordinate of the 2nd control point
z3float: the z-coordinate of the 2nd control point
x4float: the x-coordinate of the anchor point
y4float: the y-coordinate of the anchor point
z4float: the z-coordinate of the anchor point
Returnsvoid
RelatedcurveVertex()
-vertex()
-quadraticVertex()
-bezier()
- -Updated on April 30, 2017 02:33:18pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/bezier_.html b/Java/Processing/processing-3.3.6/modes/java/reference/bezier_.html deleted file mode 100644 index 521db94..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/bezier_.html +++ /dev/null @@ -1,212 +0,0 @@ - - - - bezier() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

bezier()

Examples
example pic
-noFill();
-stroke(255, 102, 0);
-line(85, 20, 10, 10);
-line(90, 90, 15, 80);
-stroke(0, 0, 0);
-bezier(85, 20, 10, 10, 90, 90, 15, 80);
-
- -
example pic
-noFill();
-stroke(255, 102, 0);
-line(30, 20, 80, 5);
-line(80, 75, 30, 75);
-stroke(0, 0, 0);
-bezier(30, 20,  80, 5,  80, 75,  30, 75);
-
-
Description -Draws a Bezier curve on the screen. These curves are defined by a series of anchor and control points. The first two parameters specify the first anchor point and the last two parameters specify the other anchor point. The middle parameters specify the control points which define the shape of the curve. Bezier curves were developed by French engineer Pierre Bezier. Using the 3D version requires rendering with P3D (see the Environment reference for more information). -
Syntax
bezier(x1, y1, x2, y2, x3, y3, x4, y4)
-bezier(x1, y1, z1, x2, y2, z2, x3, y3, z3, x4, y4, z4)
Parameters - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
x1float: coordinates for the first anchor point
y1float: coordinates for the first anchor point
z1float: coordinates for the first anchor point
x2float: coordinates for the first control point
y2float: coordinates for the first control point
z2float: coordinates for the first control point
x3float: coordinates for the second control point
y3float: coordinates for the second control point
z3float: coordinates for the second control point
x4float: coordinates for the second anchor point
y4float: coordinates for the second anchor point
z4float: coordinates for the second anchor point
Returnsvoid
RelatedbezierVertex()
-curve()
- -Updated on April 30, 2017 02:33:18pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/binary_.html b/Java/Processing/processing-3.3.6/modes/java/reference/binary_.html deleted file mode 100644 index 9a290e5..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/binary_.html +++ /dev/null @@ -1,165 +0,0 @@ - - - - binary() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

binary()

Examples
-color c = color(255, 204, 0);
-println(c);             // Prints "-13312"
-println(binary(c));     // Prints "11111111111111111100110000000000"
-println(binary(c, 16)); // Prints "1100110000000000"
-
-
-
Description -Converts an int, byte, char, or color to a String containing the equivalent binary notation. For example, the color value produced by color(0, 102, 153, 255) will convert to the String value "11111111000000000110011010011001". This function can help make your geeky debugging sessions much happier.
-
-Note that the maximum number of digits is 32, because an int value can only represent up to 32 bits. Specifying more than 32 digits will have no effect. -
Syntax
binary(value)
-binary(value, digits)
Parameters - - - - - - -
valuechar, byte, or int: value to convert
digitsint: number of digits to return
ReturnsString
Relatedunbinary()
-hex()
-unhex()
- -Updated on April 30, 2017 02:33:17pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/bitwiseAND.html b/Java/Processing/processing-3.3.6/modes/java/reference/bitwiseAND.html deleted file mode 100644 index 840cc48..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/bitwiseAND.html +++ /dev/null @@ -1,181 +0,0 @@ - - - - & (bitwise AND) \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

& (bitwise AND)

Examples
-int a = 207;    // In binary: 11001111
-int b = 61;     // In binary: 00111101
-int c = a & b; // In binary: 00001101
-println(c);     // Prints "13", the decimal equivalent to 00001101
-
-
-
-color argb = color(204, 204, 51, 255);
-// The sytax "& 0xFF" compares the binary
-// representation of the two values and
-// makes all but the last 8 bits into a 0.
-// "0xFF" is 00000000000000000000000011111111
-int a = argb >> 24 & 0xFF;
-int r = argb >> 16 & 0xFF;
-int g = argb >> 8 & 0xFF;
-int b = argb & 0xFF;
-fill(r, g, b, a);
-rect(30, 20, 55, 55);
-
-
Description -Compares each corresponding bit in the binary representation of the values. For each comparison two 1's yield 1, 1 and 0 yield 0, and two 0's yield 0. This is easy to see when we look at the binary representation of numbers
-
-
  11010110  // 214
-& 01011100  // 92
-  --------
-  01010100  // 84
-
-To see the binary representation of a number, use the binary() function with println(). -
Syntax
value & value2
Parameters - - - - - - -
value1int, char, byte
value2int, char, byte
Related| (bitwise OR)
-binary()
- -Updated on April 30, 2017 02:33:23pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/bitwiseOR.html b/Java/Processing/processing-3.3.6/modes/java/reference/bitwiseOR.html deleted file mode 100644 index 692cbab..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/bitwiseOR.html +++ /dev/null @@ -1,181 +0,0 @@ - - - - | (bitwise OR) \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

| (bitwise OR)

Examples
-int a = 205;   // In binary: 11001101
-int b = 45;    // In binary: 00101101
-int c = a | b; // In binary: 11101101
-println(c);    // Prints "237", the decimal equivalent to 11101101
-
-
-
-
-int a = 255 << 24; // Binary: 11111111000000000000000000000000
-int r = 204 << 16; // Binary: 00000000110011000000000000000000
-int g = 204 << 8;  // Binary  00000000000000001100110000000000
-int b = 51;        // Binary: 00000000000000000000000000110011
-// OR the values together:    11111111110011001100110000110011 
-color argb = a | r | g | b; 
-fill(argb); 
-rect(30, 20, 55, 55); 
-
-
Description -Compares each corresponding bit in the binary representation of the values. For each comparison two 1's yield 1, 1 and 0 yield 1, and two 0's yield 0. This is easy to see when we look at the binary representation of numbers
-
-
  11010110  // 214
-| 01011100  // 92
-  --------
-  11011110  // 222
-
-To see the binary representation of a number, use the binary() function with println(). -
Syntax
-value | value2
-
Parameters - - - - - - -
value1int, char, byte
value2int, char, byte
Related& (bitwise AND)
-binary()
- -Updated on April 30, 2017 02:33:22pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/blendMode_.html b/Java/Processing/processing-3.3.6/modes/java/reference/blendMode_.html deleted file mode 100644 index 6ffa87e..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/blendMode_.html +++ /dev/null @@ -1,189 +0,0 @@ - - - - blendMode() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

blendMode()

Examples
-size(100, 100);
-background(0);
-blendMode(ADD);
-stroke(102);
-strokeWeight(30);
-line(25, 25, 75, 75);
-line(75, 25, 25, 75);
-
-
-
-size(100, 100, P2D);
-blendMode(MULTIPLY);
-stroke(51);
-strokeWeight(30);
-line(25, 25, 75, 75);
-line(75, 25, 25, 75);
-
-
Description -Blends the pixels in the display window according to a defined mode. There is a choice of the following modes to blend the source pixels (A) with the ones of pixels already in the display window (B). A pixel's final color is the result of applying one of the above blend modes with each channel of (A) and (B) independently. For example, red is compared with red, green with green, and blue with blue.
-
-BLEND - linear interpolation of colours: C = A*factor + B. This is the default blending mode.
-
-ADD - additive blending with white clip: C = min(A*factor + B, 255)
-
-SUBTRACT - subtractive blending with black clip: C = max(B - A*factor, 0)
-
-DARKEST - only the darkest colour succeeds: C = min(A*factor, B)
-
-LIGHTEST - only the lightest colour succeeds: C = max(A*factor, B)
-
-DIFFERENCE - subtract colors from underlying image.
-
-EXCLUSION - similar to DIFFERENCE, but less extreme.
-
-MULTIPLY - multiply the colors, result will always be darker.
-
-SCREEN - opposite multiply, uses inverse values of the colors.
-
-REPLACE - the pixels entirely replace the others and don't utilize alpha (transparency) values
-
-We recommend using blendMode() and not the previous blend() function. However, unlike blend(), the blendMode() function does not support the following: HARD_LIGHT, SOFT_LIGHT, OVERLAY, DODGE, BURN. On older hardware, the LIGHTEST, DARKEST, and DIFFERENCE modes might not be available as well. -
Syntax
blendMode(mode)
Parameters - - -
modeint: the blending mode to use
Returnsvoid
- -Updated on April 30, 2017 02:33:18pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/blend_.html b/Java/Processing/processing-3.3.6/modes/java/reference/blend_.html deleted file mode 100644 index e50d81e..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/blend_.html +++ /dev/null @@ -1,250 +0,0 @@ - - - - blend() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

blend()

Examples
example pic
-background(loadImage("rockies.jpg"));
-PImage img = loadImage("bricks.jpg");
-image(img, 0, 0);
-blend(img, 0, 0, 33, 100, 67, 0, 33, 100, ADD);
-
- -
example pic
-background(loadImage("rockies.jpg"));
-PImage img = loadImage("bricks.jpg");
-image(img, 0, 0);
-blend(img, 0, 0, 33, 100, 67, 0, 33, 100, SUBTRACT);
-
- -
example pic
-background(loadImage("rockies.jpg"));
-PImage img = loadImage("bricks.jpg");
-image(img, 0, 0);
-blend(img, 0, 0, 33, 100, 67, 0, 33, 100, DARKEST);
-
- -
example pic
-background(loadImage("rockies.jpg"));
-PImage img = loadImage("bricks.jpg");
-image(img, 0, 0);
-blend(img, 0, 0, 33, 100, 67, 0, 33, 100, LIGHTEST);
-
-
Description -Blends a region of pixels from one image into another (or in itself again) with full alpha channel support. There is a choice of the following modes to blend the source pixels (A) with the ones of pixels in the destination image (B):
-
-BLEND - linear interpolation of colours: C = A*factor + B
-
-ADD - additive blending with white clip: C = min(A*factor + B, 255)
-
-SUBTRACT - subtractive blending with black clip: C = max(B - A*factor, 0)
-
-DARKEST - only the darkest colour succeeds: C = min(A*factor, B)
-
-LIGHTEST - only the lightest colour succeeds: C = max(A*factor, B)
-
-DIFFERENCE - subtract colors from underlying image.
-
-EXCLUSION - similar to DIFFERENCE, but less extreme.
-
-MULTIPLY - Multiply the colors, result will always be darker.
-
-SCREEN - Opposite multiply, uses inverse values of the colors.
-
-OVERLAY - A mix of MULTIPLY and SCREEN. Multiplies dark values, -and screens light values.
-
-HARD_LIGHT - SCREEN when greater than 50% gray, MULTIPLY when lower.
-
-SOFT_LIGHT - Mix of DARKEST and LIGHTEST. -Works like OVERLAY, but not as harsh.
-
-DODGE - Lightens light tones and increases contrast, ignores darks. -Called "Color Dodge" in Illustrator and Photoshop.
-
-BURN - Darker areas are applied, increasing contrast, ignores lights. -Called "Color Burn" in Illustrator and Photoshop.
-
-All modes use the alpha information (highest byte) of source image pixels as the blending factor. If the source and destination regions are different sizes, the image will be automatically resized to match the destination size. If the src parameter is not used, the display window is used as the source image.
-
-As of release 0149, this function ignores imageMode(). -
Syntax
blend(sx, sy, sw, sh, dx, dy, dw, dh, mode)
-blend(src, sx, sy, sw, sh, dx, dy, dw, dh, mode)
Parameters - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
srcPImage: an image variable referring to the source image
sxint: X coordinate of the source's upper left corner
syint: Y coordinate of the source's upper left corner
swint: source image width
shint: source image height
dxint: X coordinate of the destinations's upper left corner
dyint: Y coordinate of the destinations's upper left corner
dwint: destination image width
dhint: destination image height
modeint: Either BLEND, ADD, SUBTRACT, LIGHTEST, DARKEST, DIFFERENCE, EXCLUSION, MULTIPLY, SCREEN, OVERLAY, HARD_LIGHT, SOFT_LIGHT, DODGE, BURN
Returnsvoid
Relatedalpha()
-copy()
- -Updated on April 30, 2017 02:33:19pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/blue_.html b/Java/Processing/processing-3.3.6/modes/java/reference/blue_.html deleted file mode 100644 index f9cd93c..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/blue_.html +++ /dev/null @@ -1,170 +0,0 @@ - - - - blue() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

blue()

Examples
example pic
-color c = color(175, 100, 220);  // Define color 'c'
-fill(c);  // Use color variable 'c' as fill color
-rect(15, 20, 35, 60);  // Draw left rectangle
-
-float blueValue = blue(c);  // Get blue in 'c'
-println(blueValue);  // Prints "220.0"
-fill(0, 0, blueValue);  // Use 'blueValue' in new fill
-rect(50, 20, 35, 60);  // Draw right rectangle
-
-
Description -Extracts the blue value from a color, scaled to match current colorMode(). The value is always returned as a float, so be careful not to assign it to an int value.
-
-The blue() function is easy to use and understand, but it is slower than a technique called bit masking. When working in colorMode(RGB, 255), you can acheive the same results as blue() but with greater speed by using a bit mask to remove the other color components. For example, the following two lines of code are equivalent means of getting the blue value of the color value c:
-
-
float b1 = blue(c);   // Simpler, but slower to calculate
-float b2 = c & 0xFF;  // Very fast to calculate
-
Syntax
blue(rgb)
Parameters - - -
rgbint: any value of the color datatype
Returnsfloat
Relatedred()
-green()
-alpha()
-hue()
-saturation()
-brightness()
->> (right shift)
- -Updated on April 30, 2017 02:33:18pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/boolean.html b/Java/Processing/processing-3.3.6/modes/java/reference/boolean.html deleted file mode 100644 index fa33c62..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/boolean.html +++ /dev/null @@ -1,168 +0,0 @@ - - - - boolean \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

boolean

Examples
example pic
-boolean a = false; 
-if (!a) { 
-  rect(30, 20, 50, 50); 
-} 
-a = true; 
-if (a) { 
-  line(20, 10, 90, 80); 
-  line(20, 80, 90, 10); 
-} 
-
-
Description -Datatype for the Boolean values true and false. It is common to use boolean values with control statements to determine the flow of a program. The first time a variable is written, it must be declared with a statement expressing its datatype. -
Syntax
-boolean var
-boolean var = booleanvalue
-
Parameters - - - - - - -
varvariable name referencing the value
booleanvaluetrue or false
Relatedtrue
-false
- -Updated on April 30, 2017 02:33:23pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/booleanconvert_.html b/Java/Processing/processing-3.3.6/modes/java/reference/booleanconvert_.html deleted file mode 100644 index 0497d2c..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/booleanconvert_.html +++ /dev/null @@ -1,157 +0,0 @@ - - - - boolean() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

boolean()

Examples
-String s = "true";
-boolean b = boolean(s);
-if (b) {
-  println("The boolean is true");
-} else {
-  println("The boolean is false");
-}
-
-
Description -Converts an int or String to its boolean representation. For an int, any non-zero value (positive or negative) evaluates to true, while zero evaluates to false. For a String, the value "true" evaluates to true, while any other value (including "false" or "hippopotamus") evaluates to false.
-
-When an array of int or String values is passed in, then a boolean array of the same length is returned. -
- -Updated on April 30, 2017 02:33:23pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/box_.html b/Java/Processing/processing-3.3.6/modes/java/reference/box_.html deleted file mode 100644 index c125b7e..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/box_.html +++ /dev/null @@ -1,177 +0,0 @@ - - - - box() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

box()

Examples
example pic
-size(100, 100, P3D);
-translate(58, 48, 0); 
-rotateY(0.5);
-noFill();
-box(40);
-
- -
example pic
-size(100, 100, P3D);
-translate(58, 48, 0); 
-rotateY(0.5);
-noFill();
-box(40, 20, 50);
-
-
Description -A box is an extruded rectangle. A box with equal dimensions on all sides is a cube. -
Syntax
box(size)
-box(w, h, d)
Parameters - - - - - - - - - - - - - - -
sizefloat: dimension of the box in all dimensions (creates a cube)
wfloat: dimension of the box in the x-dimension
hfloat: dimension of the box in the y-dimension
dfloat: dimension of the box in the z-dimension
Returnsvoid
Relatedsphere()
- -Updated on April 30, 2017 02:33:18pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/break.html b/Java/Processing/processing-3.3.6/modes/java/reference/break.html deleted file mode 100644 index b5547dd..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/break.html +++ /dev/null @@ -1,163 +0,0 @@ - - - - break \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

break

Examples
-char letter = 'B';
-
-switch(letter) {
-  case 'A': 
-    println("Alpha");  // Does not execute
-    break;
-  case 'B': 
-    println("Bravo");  // Prints "Bravo"
-    break;
-  default:
-    println("Zulu");   // Does not execute
-    break;
-}
-
-
Description -Ends the execution of a structure such as switch, for, or while and jumps to the next statement after. -
Relatedswitch
-for
-while
- -Updated on April 30, 2017 02:33:23pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/brightness_.html b/Java/Processing/processing-3.3.6/modes/java/reference/brightness_.html deleted file mode 100644 index 120bdb8..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/brightness_.html +++ /dev/null @@ -1,164 +0,0 @@ - - - - brightness() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

brightness()

Examples
example pic
-noStroke();
-colorMode(HSB, 255);
-color c = color(0, 126, 255);
-fill(c);
-rect(15, 20, 35, 60);
-float value = brightness(c);  // Sets 'value' to 255
-fill(value);
-rect(50, 20, 35, 60);
-
-
Description -Extracts the brightness value from a color. -
Syntax
brightness(rgb)
Parameters - - -
rgbint: any value of the color datatype
Returnsfloat
Relatedred()
-green()
-blue()
-alpha()
-hue()
-saturation()
- -Updated on April 30, 2017 02:33:19pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/byte.html b/Java/Processing/processing-3.3.6/modes/java/reference/byte.html deleted file mode 100644 index 22e4481..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/byte.html +++ /dev/null @@ -1,174 +0,0 @@ - - - - byte \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

byte

Examples
 
-// Declare variable 'a' of type byte
-byte a;
-
-// Assign 23 to 'a'
-a = 23;
-
-// Declare variable 'b' and assign it the value -128
-byte b = -128;
-
-// Declare variable 'c' and assign it the sum of 'a' and 'b'.
-// By default, when two bytes are added, they are converted
-// to an integer. To keep the answer as a byte, cast them
-// to a byte with the byte() conversion function
-byte c = byte(a + b);
-
-
Description -Datatype for bytes, 8 bits of information storing numerical values from 127 to -128. Bytes are a convenient datatype for sending information to and from the serial port and for representing letters in a simpler format than the char datatype. The first time a variable is written, it must be declared with a statement expressing its datatype. Subsequent uses of this variable must not reference the datatype because Processing will think the variable is being declared again. -
Syntax
-byte var
-byte var = value
-
Parameters - - - - - - -
varvariable name referencing the value
valuea number between 127 to -128
Relatedint
-float
-boolean
- -Updated on April 30, 2017 02:33:23pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/byteconvert_.html b/Java/Processing/processing-3.3.6/modes/java/reference/byteconvert_.html deleted file mode 100644 index 550ecef..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/byteconvert_.html +++ /dev/null @@ -1,157 +0,0 @@ - - - - byte() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

byte()

Examples
-char c = 'E';
-byte b = byte(c);
-println(c + " : " + b);  // Prints "E : 69"
-
-int i = 130;
-b = byte(i);
-println(i + " : " + b);  // Prints "130 : -126"
-
-
Description -Converts any value of a primitive data type (boolean, byte, char, color, double, float, int, or long) to its byte representation. A byte can only be a whole number between -128 and 127, so when a value outside of this range is converted, it wraps around to the corresponding byte representation. (For example, byte(128) evaluates to -128.)
-
-When an array of values is passed in, then a byte array of the same length is returned. -
- -Updated on April 30, 2017 02:33:23pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/camera_.html b/Java/Processing/processing-3.3.6/modes/java/reference/camera_.html deleted file mode 100644 index 712441b..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/camera_.html +++ /dev/null @@ -1,195 +0,0 @@ - - - - camera() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

camera()

Examples
example pic
-size(100, 100, P3D);
-noFill();
-background(204);
-camera(70.0, 35.0, 120.0, 50.0, 50.0, 0.0, 
-       0.0, 1.0, 0.0);
-translate(50, 50, 0);
-rotateX(-PI/6);
-rotateY(PI/3);
-box(45);
-
-
Description -Sets the position of the camera through setting the eye position, the center of the scene, and which axis is facing upward. Moving the eye position and the direction it is pointing (the center of the scene) allows the images to be seen from different angles. The version without any parameters sets the camera to the default position, pointing to the center of the display window with the Y axis as up. The default values are camera(width/2.0, height/2.0, (height/2.0) / tan(PI*30.0 / 180.0), width/2.0, height/2.0, 0, 0, 1, 0). This function is similar to gluLookAt() in OpenGL, but it first clears the current camera settings. -
Syntax
camera()
-camera(eyeX, eyeY, eyeZ, centerX, centerY, centerZ, upX, upY, upZ)
Parameters - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
eyeXfloat: x-coordinate for the eye
eyeYfloat: y-coordinate for the eye
eyeZfloat: z-coordinate for the eye
centerXfloat: x-coordinate for the center of the scene
centerYfloat: y-coordinate for the center of the scene
centerZfloat: z-coordinate for the center of the scene
upXfloat: usually 0.0, 1.0, or -1.0
upYfloat: usually 0.0, 1.0, or -1.0
upZfloat: usually 0.0, 1.0, or -1.0
Returnsvoid
RelatedbeginCamera()
-endCamera()
-frustum()
- -Updated on April 30, 2017 02:33:18pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/case.html b/Java/Processing/processing-3.3.6/modes/java/reference/case.html deleted file mode 100644 index 2836002..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/case.html +++ /dev/null @@ -1,172 +0,0 @@ - - - - case \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

case

Examples
-char letter = 'B';
-
-switch(letter) {
-  case 'A': 
-    println("Alpha");  // Does not execute
-    break;
-  case 'B': 
-    println("Bravo");  // Prints "Bravo"
-    break;
-  default:
-    println("Zulu");   // Does not execute
-    break;
-}
-
-
Description -Denotes the different labels to be evaluated with the parameter in the switch structure. -
Syntax
-case label: statements
-
Parameters - - - - - - -
labelbyte, char, or int
statementsone or more valid statements
Relatedswitch
-default
-break
- -Updated on April 30, 2017 02:33:22pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/catch.html b/Java/Processing/processing-3.3.6/modes/java/reference/catch.html deleted file mode 100644 index da8fb1c..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/catch.html +++ /dev/null @@ -1,190 +0,0 @@ - - - - catch \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

catch

Examples
-BufferedReader reader;
-String line;
- 
-void setup() {
-  // Open the file from the createWriter() example
-  reader = createReader("positions.txt");    
-}
- 
-void draw() {
-  try {
-    line = reader.readLine();
-  } catch (IOException e) {
-    e.printStackTrace();
-    line = null;
-  }
-  if (line == null) {
-    // Stop reading because of an error or file is empty
-    noLoop();  
-  } else {
-    String[] pieces = split(line, TAB);
-    int x = int(pieces[0]);
-    int y = int(pieces[1]);
-    point(x, y);
-  }
-}
-
-
Description -The catch keyword is used with try to handle exceptions. Sun's Java documentation defines an exception as "an event, which occurs during the execution of a program, that disrupts the normal flow of the program's instructions." This could be, for example, an error while a file is read. -
Syntax
-try {
-  tryStatements
-} catch (exception) {
-  catchStatements
-} 
-
Parameters - - - - - - - - - - -
tryStatementsif this code throws an exception, then the code in "catch" is run
exceptionthe Java exception that was thrown
catchStatementscode that handles the exception
- -Updated on April 30, 2017 02:33:23pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/ceil_.html b/Java/Processing/processing-3.3.6/modes/java/reference/ceil_.html deleted file mode 100644 index 2cf222c..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/ceil_.html +++ /dev/null @@ -1,154 +0,0 @@ - - - - ceil() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

ceil()

Examples
-float x = 8.22;  
-int a = ceil(x);  // Sets 'a' to 9
-
-
Description -Calculates the closest int value that is greater than or equal to the value of the parameter. For example, ceil(9.03) returns the value 10. -
Syntax
ceil(n)
Parameters - - -
nfloat: number to round up
Returnsint
Relatedfloor()
-round()
- -Updated on April 30, 2017 02:33:16pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/char.html b/Java/Processing/processing-3.3.6/modes/java/reference/char.html deleted file mode 100644 index e5d2d91..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/char.html +++ /dev/null @@ -1,161 +0,0 @@ - - - - char \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

char

Examples
-char m;      // Declare variable 'm' of type char
-m = 'A';     // Assign 'm' the value "A"
-int n = '&'; // Declare variable 'n' and assign it the value "&"
-
-
Description -Datatype for characters, typographic symbols such as A, d, and $. A char stores letters and symbols in the Unicode format, a coding system developed to support a variety of world languages. Each char is two bytes (16 bits) in length and is distinguished by surrounding it with single quotes. Character escapes may also stored as a char. For example, the representation for the "delete" key is 127. The first time a variable is written, it must be declared with a statement expressing its datatype. Subsequent uses of this variable must not reference the datatype because Processing will think the variable is being declared again. -
Syntax
-char var
-char var = value
-
Parameters - - - - - - -
varvariable name referencing the value
valueany character
RelatedString
- -Updated on April 30, 2017 02:33:23pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/charconvert_.html b/Java/Processing/processing-3.3.6/modes/java/reference/charconvert_.html deleted file mode 100644 index 1e93cf0..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/charconvert_.html +++ /dev/null @@ -1,157 +0,0 @@ - - - - char() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

char()

Examples
-int i = 65;
-char c = char(i);
-println(i + " : " + c);  // Prints "65 : A"
-
-byte b = 65;
-c = char(b);
-println(b + " : " + c);  // Prints "65 : A"
-
-
Description -Converts any value of a primitive data type (boolean, byte, char, color, double, float, int, or long) to its numeric character representation.
-
-When an array of values is passed in, then a char array of the same length is returned. -
- -Updated on April 30, 2017 02:33:22pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/class.html b/Java/Processing/processing-3.3.6/modes/java/reference/class.html deleted file mode 100644 index 3350803..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/class.html +++ /dev/null @@ -1,189 +0,0 @@ - - - - class \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

class

Examples
-// Declare and construct two objects (h1, h2) from the class HLine 
-HLine h1 = new HLine(20, 2.0); 
-HLine h2 = new HLine(50, 2.5); 
- 
-void setup() 
-{
-  size(200, 200);
-  frameRate(30);
-}
-
-void draw() { 
-  background(204);
-  h1.update(); 
-  h2.update();  
-} 
- 
-class HLine { 
-  float ypos, speed; 
-  HLine (float y, float s) {  
-    ypos = y; 
-    speed = s; 
-  } 
-  void update() { 
-    ypos += speed; 
-    if (ypos > height) { 
-      ypos = 0; 
-    } 
-    line(0, ypos, width, ypos); 
-  } 
-} 
-
-
Description -Keyword used to indicate the declaration of a class. A class is a composite of fields (data) and methods (functions that are a part of the class) which may be instantiated as objects. The first letter of a class name is usually uppercase to separate it from other kinds of variables. A related tutorial on Object-Oriented Programming is hosted on the Oracle website. -
Syntax
-class ClassName {
-  statements
-}
-
Parameters - - - - - - -
ClassNameAny valid variable name
statementsany valid statements
RelatedObject
- -Updated on April 30, 2017 02:33:23pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/clear_.html b/Java/Processing/processing-3.3.6/modes/java/reference/clear_.html deleted file mode 100644 index dd86eb7..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/clear_.html +++ /dev/null @@ -1,170 +0,0 @@ - - - - clear() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

clear()

Examples
-PGraphics pg;
-
-void setup() {
-  size(200, 200);
-  pg = createGraphics(100, 100);
-}
-
-void draw() {
-  background(204);
-  pg.beginDraw();
-  pg.stroke(0, 102, 153);
-  pg.line(0, 0, mouseX, mouseY);
-  pg.endDraw();
-  image(pg, 50, 50); 
-}
-
-// Click to clear the PGraphics object
-void mousePressed() {
-  pg.beginDraw(); 
-  pg.clear();
-  pg.endDraw(); 
-}
-
-
Description -Clears the pixels within a buffer. This function only works on PGraphics objects created with the createGraphics() function. Unlike the main graphics context (the display window), pixels in additional graphics areas created with createGraphics() can be entirely or partially transparent. This function clears everything in a PGraphics object to make all of the pixels 100% transparent. -
Syntax
clear()
Returnsvoid
- -Updated on April 30, 2017 02:33:18pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/clip_.html b/Java/Processing/processing-3.3.6/modes/java/reference/clip_.html deleted file mode 100644 index ca65854..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/clip_.html +++ /dev/null @@ -1,178 +0,0 @@ - - - - clip() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

clip()

Examples
-void setup() {
-  size(200, 200);
-  imageMode(CENTER);
-}
-
-void draw() {
-  background(204);
-  if (mousePressed) {
-    clip(mouseX, mouseY, 100, 100);
-  } else {
-    noClip();
-  }
-  line(0, 0, width, height);
-  line(0, height, width, 0);
-}
-
-
Description -Limits the rendering to the boundaries of a rectangle defined by the parameters. The boundaries are drawn based on the state of the imageMode() fuction, either CORNER, CORNERS, or CENTER. -
Syntax
clip(a, b, c, d)
Parameters - - - - - - - - - - - - - - -
afloat: x-coordinate of the rectangle, by default
bfloat: y-coordinate of the rectangle, by default
cfloat: width of the rectangle, by default
dfloat: height of the rectangle, by default
Returnsvoid
- -Updated on April 30, 2017 02:33:17pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/colorMode_.html b/Java/Processing/processing-3.3.6/modes/java/reference/colorMode_.html deleted file mode 100644 index 9e8e90b..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/colorMode_.html +++ /dev/null @@ -1,216 +0,0 @@ - - - - colorMode() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

colorMode()

Examples
example pic
-noStroke();
-colorMode(RGB, 100);
-for (int i = 0; i < 100; i++) {
-  for (int j = 0; j < 100; j++) {
-    stroke(i, j, 0);
-    point(i, j);
-  }
-}
-
- -
example pic
-noStroke();
-colorMode(HSB, 100);
-for (int i = 0; i < 100; i++) {
-  for (int j = 0; j < 100; j++) {
-    stroke(i, j, 100);
-    point(i, j);
-  }
-}
-
- -
example pic
-// If the color is defined here, it won't be 
-// affected by the colorMode() in setup(). 
-// Instead, just declare the variable here and 
-// assign the value after the colorMode() in setup()
-//color bg = color(180, 50, 50);  // No
-color bg;  // Yes, but assign it in setup()
-
-void setup() {
-  size(100, 100);
-  colorMode(HSB, 360, 100, 100);
-  bg = color(180, 50, 50);
-}
-
-void draw() {
-  background(bg);	
-}
-
-
Description -Changes the way Processing interprets color data. By default, the parameters for fill(), stroke(), background(), and color() are defined by values between 0 and 255 using the RGB color model. The colorMode() function is used to change the numerical range used for specifying colors and to switch color systems. For example, calling colorMode(RGB, 1.0) will specify that values are specified between 0 and 1. The limits for defining colors are altered by setting the parameters max, max1, max2, max3, and maxA. -

-After changing the range of values for colors with code like colorMode(HSB, 360, 100, 100), those ranges remain in use until they are explicitly changed again. For example, after running colorMode(HSB, 360, 100, 100) and then changing back to colorMode(RGB), the range for R will be 0 to 360 and the range for G and B will be 0 to 100. To avoid this, be explicit about the ranges when changing the color mode. For instance, instead of colorMode(RGB), write colorMode(RGB, 255, 255, 255). -
Syntax
colorMode(mode)
-colorMode(mode, max)
-colorMode(mode, max1, max2, max3)
-colorMode(mode, max1, max2, max3, maxA)
Parameters - - - - - - - - - - - - - - - - - - - - - - -
modeint: Either RGB or HSB, corresponding to Red/Green/Blue and Hue/Saturation/Brightness
maxfloat: range for all color elements
max1float: range for the red or hue depending on the current color mode
max2float: range for the green or saturation depending on the current color mode
max3float: range for the blue or brightness depending on the current color mode
maxAfloat: range for the alpha
Returnsvoid
Relatedbackground()
-fill()
-stroke()
- -Updated on April 30, 2017 02:33:18pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/color_.html b/Java/Processing/processing-3.3.6/modes/java/reference/color_.html deleted file mode 100644 index 746ed2c..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/color_.html +++ /dev/null @@ -1,209 +0,0 @@ - - - - color() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

color()

Examples
example pic
-color c = color(255, 204, 0);  // Define color 'c'
-fill(c);  // Use color variable 'c' as fill color
-noStroke();  // Don't draw a stroke around shapes
-rect(30, 20, 55, 55);  // Draw rectangle
-
- -
example pic
-color c = color(255, 204, 0);  // Define color 'c'
-fill(c);  // Use color variable 'c' as fill color
-noStroke();  // Don't draw a stroke around shapes
-ellipse(25, 25, 80, 80);  // Draw left circle
-
-// Using only one value with color()
-// generates a grayscale value.
-c = color(65);  // Update 'c' with grayscale value
-fill(c);  // Use updated 'c' as fill color
-ellipse(75, 75, 80, 80);  // Draw right circle
-
- -
example pic
-color c;  // Declare color 'c'
-noStroke();  // Don't draw a stroke around shapes
-
-// If no colorMode is specified, then the
-// default of RGB with scale of 0-255 is used.
-c = color(50, 55, 100);  // Create a color for 'c'
-fill(c);  // Use color variable 'c' as fill color
-rect(0, 10, 45, 80);  // Draw left rect
-
-colorMode(HSB, 100);  // Use HSB with scale of 0-100
-c = color(50, 55, 100);  // Update 'c' with new color
-fill(c);  // Use updated 'c' as fill color
-rect(55, 10, 45, 80);  // Draw right rect
-
-
Description -Creates colors for storing in variables of the color datatype. The parameters are interpreted as RGB or HSB values depending on the current colorMode(). The default mode is RGB values from 0 to 255 and, therefore, color(255, 204, 0) will return a bright yellow color (see the first example above).
-
-Note that if only one value is provided to color(), it will be interpreted as a grayscale value. Add a second value, and it will be used for alpha transparency. When three values are specified, they are interpreted as either RGB or HSB values. Adding a fourth value applies alpha transparency.
-
-Note that when using hexadecimal notation, it is not necessary to use color(), as in: color c = #006699
-
-More about how colors are stored can be found in the reference for the color datatype. -
Syntax
color(gray)
-color(gray, alpha)
-color(v1, v2, v3)
-color(v1, v2, v3, alpha)
Parameters - - - - - - - - - - - - - - - - - - -
grayint: number specifying value between white and black
alphafloat, or int: relative to current color range
v1float, or int: red or hue values relative to the current color range
v2float, or int: green or saturation values relative to the current color range
v3float, or int: blue or brightness values relative to the current color range
Returnsint
RelatedcolorMode()
- -Updated on April 30, 2017 02:33:17pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/color_datatype.html b/Java/Processing/processing-3.3.6/modes/java/reference/color_datatype.html deleted file mode 100644 index acb8736..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/color_datatype.html +++ /dev/null @@ -1,166 +0,0 @@ - - - - color \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

color

Examples
example pic
-color c1 = color(204, 153, 0);
-color c2 = #FFCC00;
-noStroke();
-fill(c1);
-rect(0, 0, 25, 100);
-fill(c2);
-rect(25, 0, 25, 100);
-color c3 = get(10, 50);
-fill(c3);
-rect(50, 0, 50, 100);
-
-
Description -Datatype for storing color values. Colors may be assigned with get() and color() or they may be specified directly using hexadecimal notation such as #FFCC00 or 0xFFFFCCOO. -

-Using print() or println() on a color will produce strange results (usually negative numbers) because of the way colors are stored in memory. A better technique is to use the hex() function to format the color data, or use the red(), green(), and blue() functions to get individual values and print those. The hue(), saturation(), and brightness() functions work in a similar fashion. To extract red, green, and blue values more quickly (for instance when analyzing an image or a frame of video), use bit shifting. -

-Values can also be created using web color notation. For example: color c = #006699 -

-Web color notation only works for opaque colors. To define a color with an alpha value, you can either use color() or hexadecimal notation. For hex notation, prefix the values with 0x, for instance color c = 0xCC006699. In that example, CC (the hex value of 204) is the alpha value, and the remainder is identical to a web color. Note that in hexadecimal notation, the alpha value appears in the first position. (The alpha value appears last when used within color(), fill(), and stroke().) The following is an equivalent way of writing the preceding example, but using color() and specifying the alpha value as its second parameter: color c = color(#006699, 191) -

-From a technical standpoint, colors are 32 bits of information ordered as AAAAAAAARRRRRRRRGGGGGGGGBBBBBBBB where the A's contain the alpha value, the R's are the red value, G's are green, and B's are blue. Each component is 8 bits (a number between 0 and 255). These values can be manipulated with bit shifting. -
- -Updated on April 30, 2017 02:33:22pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/comma.html b/Java/Processing/processing-3.3.6/modes/java/reference/comma.html deleted file mode 100644 index 2f0fb59..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/comma.html +++ /dev/null @@ -1,162 +0,0 @@ - - - - , (comma) \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

, (comma)

Examples
-// Comma used to separate a list of variable declarations
-int a=20, b=30, c=80;
-
-// Comma used to separate a list of values assigned to an array
-int[] d = { 20, 60, 80 };
-
-// Comma used to separate a list of parameters passed to a function
-line(a, b, c, b);
-line(d[0], d[1], d[2], d[1]);
-
-
Description -Separates parameters in function calls and elements during assignment. -
Syntax
-value1, ..., valueN
-
Parameters - - -
value1, ..., valueNany int, float, byte, boolean, color, char, String
- -Updated on April 30, 2017 02:33:23pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/comment.html b/Java/Processing/processing-3.3.6/modes/java/reference/comment.html deleted file mode 100644 index 17ae1ed..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/comment.html +++ /dev/null @@ -1,158 +0,0 @@ - - - - // (comment) \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

// (comment)

Examples
-// Draws two lines which divides the window
-// into four quadrants
-line(0, 50, 100, 50);  // Draw the horizontal line
-line(50, 0, 50, 100);  // Draw the vertical line
-
-
Description -Explanatory notes embedded within the code. Comments are used to remind yourself and to inform others about the details of the code. Single-line comments are signified with the two forward slash characters. Comments are ignored by the compiler. -
Syntax
-// comment
-
Parameters - - -
commentany sequence of characters
Related/* */ (multiline comment)
-/** */ (doc comment)
- -Updated on April 30, 2017 02:33:22pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/concat_.html b/Java/Processing/processing-3.3.6/modes/java/reference/concat_.html deleted file mode 100644 index dab8f00..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/concat_.html +++ /dev/null @@ -1,169 +0,0 @@ - - - - concat() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

concat()

Examples
-String[] sa1 = { "OH", "NY", "CA"};
-String[] sa2 = { "KY", "IN", "MA"};
-String[] sa3 = concat(sa1, sa2);
-println(sa3);
-// Prints updated array contents to the console:
-// [0] "OH"
-// [1] "NY"
-// [2] "CA"
-// [3] "KY"
-// [4] "IN"
-// [5] "MA"
-
-
Description -Concatenates two arrays. For example, concatenating the array { 1, 2, 3 } and the array { 4, 5, 6 } yields { 1, 2, 3, 4, 5, 6 }. Both parameters must be arrays of the same datatype. -

-When using an array of objects, the data returned from the function must be cast to the object array's data type. For example: SomeClass[] items = (SomeClass[]) concat(array1, array2). -
Syntax
concat(a, b)
Parameters - - - - - - -
aObject, String[], float[], int[], char[], byte[], or boolean[]: first array to concatenate
bObject, String[], float[], int[], char[], byte[], or boolean[]: second array to concatenate
Returnsboolean[], byte[], char[], int[], float[], String[], or Object
Relatedsplice()
-arrayCopy()
- -Updated on April 30, 2017 02:33:17pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/conditional.html b/Java/Processing/processing-3.3.6/modes/java/reference/conditional.html deleted file mode 100644 index 2468800..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/conditional.html +++ /dev/null @@ -1,177 +0,0 @@ - - - - ?: (conditional) \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

?: (conditional)

Examples
-int s = 0;
-for (int i = 5; i < 100; i += 5) {
-  s = (i < 50) ? 0 : 255;
-  stroke(s);
-  line(30, i, 80, i);
-}
-
-
Description -A shortcut for writing an if and else structure. The conditional operator, ?: is sometimes called the ternary operator, an operator that takes three arguments. If the test evaluates to true, expression1 is evaluated and returned. If the condition evaluates to false, expression2 is evaluated and returned. -

-The following conditional expression:
-
result = test ? expression1 : expression2

-is equivalent to this structure:
-
if (test) {
- result = expression1
-} else {
- result = expression2
-}
-
Syntax
-test ? expression1 : expression2
-
Parameters - - - - - - - - - - -
testany valid expression which evaluates to true or false
expression1any valid expression
expression2any valid expression
Relatedif
-else
- -Updated on April 30, 2017 02:33:23pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/constrain_.html b/Java/Processing/processing-3.3.6/modes/java/reference/constrain_.html deleted file mode 100644 index c9f202a..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/constrain_.html +++ /dev/null @@ -1,166 +0,0 @@ - - - - constrain() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

constrain()

Examples
-void draw() 
-{ 
-  background(204);
-  float mx = constrain(mouseX, 30, 70);
-  rect(mx-10, 40, 20, 20);
-}
-
-
Description -Constrains a value to not exceed a maximum and minimum value. -
Syntax
constrain(amt, low, high)
Parameters - - - - - - - - - - -
amtint, or float: the value to constrain
lowint, or float: minimum limit
highint, or float: maximum limit
Returnsfloat or int
Relatedmax()
-min()
- -Updated on April 30, 2017 02:33:16pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/continue.html b/Java/Processing/processing-3.3.6/modes/java/reference/continue.html deleted file mode 100644 index 139d15b..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/continue.html +++ /dev/null @@ -1,157 +0,0 @@ - - - - continue \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

continue

Examples
-for (int i = 0; i < 100; i += 10) {
-  if (i == 70) {  // If 'i' is 70,
-    continue;     // skip to the next iteration,
-  }               // therefore not drawing the line.
-  line(i, 0, i, height);
-}
-
-
Description -When run inside of a for or while, it skips the remainder of the block and starts the next iteration. -
Syntax
-continue
-
Relatedfor
-while
- -Updated on April 30, 2017 02:33:23pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/copy_.html b/Java/Processing/processing-3.3.6/modes/java/reference/copy_.html deleted file mode 100644 index 1f060df..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/copy_.html +++ /dev/null @@ -1,195 +0,0 @@ - - - - copy() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

copy()

Examples
example pic
-PImage img = loadImage("eames.jpg");
-image(img, 0, 0, width, height);
-copy(7, 22, 10, 10, 35, 25, 50, 50);
-stroke(255);
-noFill();
-// Rectangle shows area being copied
-rect(7, 22, 10, 10);
-
-
Description -Copies a region of pixels from the display window to another area of the display window and copies a region of pixels from an image used as the srcImg parameter into the display window. If the source and destination regions aren't the same size, it will automatically resize the source pixels to fit the specified target region. No alpha information is used in the process, however if the source image has an alpha channel set, it will be copied as well. -

-As of release 0149, this function ignores imageMode(). -
Syntax
copy()
-copy(sx, sy, sw, sh, dx, dy, dw, dh)
-copy(src, sx, sy, sw, sh, dx, dy, dw, dh)
Parameters - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
sxint: X coordinate of the source's upper left corner
syint: Y coordinate of the source's upper left corner
swint: source image width
shint: source image height
dxint: X coordinate of the destination's upper left corner
dyint: Y coordinate of the destination's upper left corner
dwint: destination image width
dhint: destination image height
srcPImage: an image variable referring to the source image.
Returnsvoid or PImage
Relatedalpha()
-blend()
- -Updated on April 30, 2017 02:33:19pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/copyright.html b/Java/Processing/processing-3.3.6/modes/java/reference/copyright.html deleted file mode 100644 index 5ed42f2..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/copyright.html +++ /dev/null @@ -1,84 +0,0 @@ - - - - Copyright \ Processing 2+ - - - - - - - - - - - - - - - - - - -
- - - - - - - - - -
- -

- Processing was started in Spring 2001 by Ben Fry and Casey Reas. Fry was a PhD candidate at the MIT Media Laboratory and Reas was an Associate Professor at the Interaction Design Institute Ivrea. While Fry and Reas were employees of these institutions, Processing began as a personal initiative and development took place during the night and weekends through 2003. MIT indirectly funded Processing through Fry's graduate stipend and Ivrea indirectly funded Processing through Reas's salary. Due to his research agreement with MIT, all code written by Fry during this time is copyright MIT. -

- -

- In summer 2003, Ivrea funded four individuals to work on the project for a few months. This resulted in Dan Mosedale's preprocessor using Antlr and Sami Arola's contributions to the graphics engine. The code for these elements are both copyright 2003 Interaction Design Institute Ivrea. -

- -

- In August 2003, Reas left the Interaction Design Institute Ivrea and in June 2004, Fry left the MIT Media Laboratory. The code and complete reference written since June 2004 are copyright Ben Fry and Casey Reas. -

- -

- Portions of the code were written by other contributors and are attributed in the source code. For example, portions of the graphics engine were written by Karsten Schmidt. There are many contributions to the Exhibition and Examples on the Processing.org website and these are attributed in context. -

- -

- The Reference for the Language and Environment are under a Creative Commons license which makes it possible to re-use this content for non-commercial purposes if it is credited. -

- -
- - - - -
- - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/cos_.html b/Java/Processing/processing-3.3.6/modes/java/reference/cos_.html deleted file mode 100644 index a30fbdd..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/cos_.html +++ /dev/null @@ -1,159 +0,0 @@ - - - - cos() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

cos()

Examples
example pic
-float a = 0.0;
-float inc = TWO_PI/25.0;
-for (int i = 0; i < 25; i++) {
-  line(i*4, 50, i*4, 50+cos(a)*40.0);
-  a = a + inc;
-}
-
-
Description -Calculates the cosine of an angle. This function expects the values of the angle parameter to be provided in radians (values from 0 to PI*2). Values are returned in the range -1 to 1. -
Syntax
cos(angle)
Parameters - - -
anglefloat: an angle in radians
Returnsfloat
Relatedsin()
-tan()
-radians()
- -Updated on April 30, 2017 02:33:16pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/createFont_.html b/Java/Processing/processing-3.3.6/modes/java/reference/createFont_.html deleted file mode 100644 index d81ddd2..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/createFont_.html +++ /dev/null @@ -1,185 +0,0 @@ - - - - createFont() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

createFont()

Examples
-PFont myFont;
-
-void setup() {
-  size(200, 200);
-  // Uncomment the following two lines to see the available fonts 
-  //String[] fontList = PFont.list();
-  //printArray(fontList);
-  myFont = createFont("Georgia", 32);
-  textFont(myFont);
-  textAlign(CENTER, CENTER);
-  text("!@#$%", width/2, height/2);
-}
-
-
-
Description -Dynamically converts a font to the format used by Processing from a .ttf or .otf file inside the sketch's "data" folder or a font that's installed elsewhere on the computer. If you want to use a font installed on your computer, use the PFont.list() method to first determine the names for the fonts recognized by the computer and are compatible with this function. Not all fonts can be used and some might work with one operating system and not others. When sharing a sketch with other people or posting it on the web, you may need to include a .ttf or .otf version of your font in the data directory of the sketch because other people might not have the font installed on their computer. Only fonts that can legally be distributed should be included with a sketch.
-
-The size parameter states the font size you want to generate. The smooth parameter specifies if the font should be antialiased or not. The charset parameter is an array of chars that specifies the characters to generate.
-
-This function allows Processing to work with the font natively in the default renderer, so the letters are defined by vector geometry and are rendered quickly. In the P2D and P3D renderers, the function sets the project to render the font as a series of small textures. For instance, when using the default renderer, the actual native version of the font will be employed by the sketch, improving drawing quality and performance. With the P2D and P3D renderers, the bitmapped version will be used to improve speed and appearance, but the results are poor when exporting if the sketch does not include the .otf or .ttf file, and the requested font is not available on the machine running the sketch. -
Syntax
createFont(name, size)
-createFont(name, size, smooth)
-createFont(name, size, smooth, charset)
Parameters - - - - - - - - - - - - - - -
nameString: name of the font to load
sizefloat: point size of the font
smoothboolean: true for an antialiased font, false for aliased
charsetchar[]: array containing characters to be generated
ReturnsPFont
RelatedPFont
-textFont()
-text()
-loadFont()
- -Updated on April 30, 2017 02:33:17pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/createGraphics_.html b/Java/Processing/processing-3.3.6/modes/java/reference/createGraphics_.html deleted file mode 100644 index 5a18b17..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/createGraphics_.html +++ /dev/null @@ -1,188 +0,0 @@ - - - - createGraphics() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

createGraphics()

Examples
-PGraphics pg;
-
-void setup() {
-  size(200, 200);
-  pg = createGraphics(100, 100);
-}
-
-void draw() {
-  pg.beginDraw();
-  pg.background(102);
-  pg.stroke(255);
-  pg.line(pg.width*0.5, pg.height*0.5, mouseX, mouseY);
-  pg.endDraw();
-  image(pg, 50, 50); 
-}
-
-
Description -Creates and returns a new PGraphics object. Use this class if you need to draw into an off-screen graphics buffer. The first two parameters define the width and height in pixels. The third, optional parameter specifies the renderer. It can be defined as P2D, P3D, or PDF. If the third parameter isn't used, the default renderer is set. The PDF renderer requires the filename parameter.
-
-It's important to consider the renderer used with createGraphics() in relation to the main renderer specified in size(). For example, it's only possible to use P2D or P3D with createGraphics() when one of them is defined in size(). Unlike Processing 1.0, P2D and P3D use OpenGL for drawing, and when using an OpenGL renderer it's necessary for the main drawing surface to be OpenGL-based. If P2D or P3D are used as the renderer in size(), then any of the options can be used with createGraphics(). If the default renderer is used in size(), then only the default or PDF can be used with createGraphics().
-
-It's important to call any drawing functions between beginDraw() and endDraw() statements. This is also true for any functions that affect drawing, such as smooth() or colorMode().
-
-The createGraphics() function should almost never be used inside draw() because of the memory and time needed to set up the graphics. One-time or occasional use during draw() are acceptable, but code that calls createGraphics() at 60 frames per second will run out of memory or freeze your sketch.
-
-Unlike the main drawing surface which is completely opaque, surfaces created with createGraphics() can have transparency. This makes it possible to draw into a graphics and maintain the alpha channel. By using save() to write a PNG or TGA file, the transparency of the graphics object will be honored. -
Syntax
createGraphics(w, h)
-createGraphics(w, h, renderer)
-createGraphics(w, h, renderer, path)
Parameters - - - - - - - - - - - - - - -
wint: width in pixels
hint: height in pixels
rendererString: Either P2D, P3D, or PDF
pathString: the name of the file (can be an absolute or relative path)
ReturnsPGraphics
- -Updated on April 30, 2017 02:33:16pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/createImage_.html b/Java/Processing/processing-3.3.6/modes/java/reference/createImage_.html deleted file mode 100644 index 3c41d8c..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/createImage_.html +++ /dev/null @@ -1,182 +0,0 @@ - - - - createImage() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

createImage()

Examples
example pic
-PImage img = createImage(66, 66, RGB);
-img.loadPixels();
-for (int i = 0; i < img.pixels.length; i++) {
-  img.pixels[i] = color(0, 90, 102); 
-}
-img.updatePixels();
-image(img, 17, 17);
-
- -
example pic
-PImage img = createImage(66, 66, ARGB);
-img.loadPixels();
-for (int i = 0; i < img.pixels.length; i++) {
-  img.pixels[i] = color(0, 90, 102, i % img.width * 2); 
-}
-img.updatePixels();
-image(img, 17, 17);
-image(img, 34, 34);
-
-
Description -Creates a new PImage (the datatype for storing images). This provides a fresh buffer of pixels to play with. Set the size of the buffer with the width and height parameters. The format parameter defines how the pixels are stored. See the PImage reference for more information. -

-Be sure to include all three parameters, specifying only the width and height (but no format) will produce a strange error. -

-Advanced users please note that createImage() should be used instead of the syntax new PImage(). -
Syntax
createImage(w, h, format)
Parameters - - - - - - - - - - -
wint: width in pixels
hint: height in pixels
formatint: Either RGB, ARGB, ALPHA (grayscale alpha channel)
ReturnsPImage
RelatedPImage
-PGraphics
- -Updated on April 30, 2017 02:33:16pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/createInput_.html b/Java/Processing/processing-3.3.6/modes/java/reference/createInput_.html deleted file mode 100644 index 42709a6..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/createInput_.html +++ /dev/null @@ -1,189 +0,0 @@ - - - - createInput() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

createInput()

Examples
-// Load the local file 'data.txt' and initialize a new InputStream
-InputStream input = createInput("data.txt");
-
-String content = "";
-
-try {
-  int data = input.read();
-  while (data != -1) {
-    content += data;
-    data = input.read();
-  }
-}
-catch (IOException e) {
-  e.printStackTrace();
-}
-finally {
-  try {
-    input.close();
-  } 
-  catch (IOException e) {
-    e.printStackTrace();
-  }
-}
-
-println(content);
-
-
Description -This is a shorthand function for advanced programmers to initialize and open a Java InputStream. It's useful if you want to use the facilities provided by PApplet to easily open files from the data folder or from a URL, but you need an InputStream object so that you can use other parts of Java to take more control of how the stream is read.
-
-The filename passed in can be:
-- A URL, as in: createInput("http://processing.org/")
-- The name of a file in the sketch's data folder
-- The full path to a file to be opened locally (when running as an application)
-
-If the requested item doesn't exist, null is returned. If not online, this will also check to see if the user is asking for a file whose name isn't properly capitalized. If capitalization is different, an error will be printed to the console. This helps prevent issues that appear when a sketch is exported to the web, where case sensitivity matters, as opposed to running from inside the Processing Development Environment on Windows or Mac OS, where case sensitivity is preserved but ignored.
-
-If the file ends with .gz, the stream will automatically be gzip decompressed. If you don't want the automatic decompression, use the related function createInputRaw().
-
-In earlier releases, this function was called openStream(). -
Syntax
createInput(filename)
Parameters - - -
filenameString: the name of the file to use as input
ReturnsInputStream
RelatedcreateOutput()
-selectOutput()
-selectInput()
- -Updated on April 30, 2017 02:33:17pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/createOutput_.html b/Java/Processing/processing-3.3.6/modes/java/reference/createOutput_.html deleted file mode 100644 index 0cf3d32..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/createOutput_.html +++ /dev/null @@ -1,157 +0,0 @@ - - - - createOutput() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

createOutput()

Examples
-
Description -Similar to createInput(), this creates a Java OutputStream for a given filename or path. The file will be created in the sketch folder, or in the same folder as an exported application. -

-If the path does not exist, intermediate folders will be created. If an exception occurs, it will be printed to the console, and null will be returned. -

-This function is a convenience over the Java approach that requires you to 1) create a FileOutputStream object, 2) determine the exact file location, and 3) handle exceptions. Exceptions are handled internally by the function, which is more appropriate for "sketch" projects. -

-If the output filename ends with .gz, the output will be automatically GZIP compressed as it is written. -
Syntax
createOutput(filename)
Parameters - - -
filenameString: name of the file to open
ReturnsOutputStream
RelatedcreateInput()
-selectOutput()
- -Updated on April 30, 2017 02:33:17pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/createReader_.html b/Java/Processing/processing-3.3.6/modes/java/reference/createReader_.html deleted file mode 100644 index e7f60fe..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/createReader_.html +++ /dev/null @@ -1,179 +0,0 @@ - - - - createReader() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

createReader()

Examples
-BufferedReader reader;
-String line;
- 
-void setup() {
-  // Open the file from the createWriter() example
-  reader = createReader("positions.txt");    
-}
- 
-void draw() {
-  try {
-    line = reader.readLine();
-  } catch (IOException e) {
-    e.printStackTrace();
-    line = null;
-  }
-  if (line == null) {
-    // Stop reading because of an error or file is empty
-    noLoop();  
-    reader.close();
-  } else {
-    String[] pieces = split(line, TAB);
-    int x = int(pieces[0]);
-    int y = int(pieces[1]);
-    point(x, y);
-  }
-} 
-
-
Description -Creates a BufferedReader object that can be used to read files line-by-line as individual String objects. This is the complement to the createWriter() function. For more information about the BufferedReader class and its methods like readLine() and close used in the above example, please consult a Java reference.
-
-Starting with Processing release 0134, all files loaded and saved by the Processing API use UTF-8 encoding. In previous releases, the default encoding for your platform was used, which causes problems when files are moved to other platforms. -
Syntax
createReader(filename)
Parameters - - -
filenameString: name of the file to be opened
ReturnsBufferedReader
RelatedcreateWriter()
- -Updated on April 30, 2017 02:33:17pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/createShape_.html b/Java/Processing/processing-3.3.6/modes/java/reference/createShape_.html deleted file mode 100644 index 0e372fb..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/createShape_.html +++ /dev/null @@ -1,251 +0,0 @@ - - - - createShape() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

createShape()

Examples
-PShape square;  // The PShape object
-
-void setup() {
-  size(100, 100);
-  // Creating the PShape as a square. The
-  // numeric arguments are similar to rect().
-  square = createShape(RECT, 0, 0, 50, 50);
-  square.setFill(color(0, 0, 255));
-  square.setStroke(false);
-}
-
-void draw() {
-  shape(square, 25, 25);
-}
-
-
-
-PShape s;  // The PShape object
-
-void setup() {
-  size(100, 100);
-  // Creating a custom PShape as a square, by
-  // specifying a series of vertices.
-  s = createShape();
-  s.beginShape();
-  s.fill(0, 0, 255);
-  s.noStroke();
-  s.vertex(0, 0);
-  s.vertex(0, 50);
-  s.vertex(50, 50);
-  s.vertex(50, 0);
-  s.endShape(CLOSE);
-}
-
-void draw() {
-  shape(s, 25, 25);
-}
-
-
-
-PShape s;
-
-void setup() {
-  size(100, 100, P2D);
-  s = createShape();
-  s.beginShape(TRIANGLE_STRIP);
-  s.vertex(30, 75);
-  s.vertex(40, 20);
-  s.vertex(50, 75);
-  s.vertex(60, 20);
-  s.vertex(70, 75);
-  s.vertex(80, 20);
-  s.vertex(90, 75);
-  s.endShape();
-}
-
-void draw() {
-  shape(s, 0, 0);
-}
-
-
-
-PShape alien, head, body;
-
-void setup() {
-  size(100, 100);
-
-  // Create the shape group
-  alien = createShape(GROUP);
-
-  // Make two shapes
-  head = createShape(ELLIPSE, -25, 0, 50, 50);
-  head.setFill(color(255));
-  body = createShape(RECT, -25, 45, 50, 40);
-  body.setFill(color(0));
-
-  // Add the two "child" shapes to the parent group
-  alien.addChild(body);
-  alien.addChild(head);
-}
-
-void draw() {
-  background(204);
-  translate(50, 15);
-  shape(alien); // Draw the group
-}
-
-
Description -The createShape() function is used to define a new shape. Once created, this shape can be drawn with the shape() function. The basic way to use the function defines new primitive shapes. One of the following parameters are used as the first parameter: ELLIPSE, RECT, ARC, TRIANGLE, SPHERE, BOX, QUAD, or LINE. The parameters for each of these different shapes are the same as their corresponding functions: ellipse(), rect(), arc(), triangle(), sphere(), box(), and line(). The first example above clarifies how this works.
-
-Custom, unique shapes can be made by using createShape() without a parameter. After the shape is started, the drawing attributes and geometry can be set directly to the shape within the beginShape() and endShape() methods. See the second example above for specifics, and the reference for beginShape() for all of its options.
-
-The createShape() function can also be used to make a complex shape made of other shapes. This is called a "group" and it's created by using the parameter GROUP as the first parameter. See the fourth example above to see how it works.
-
-After using createShape(), stroke and fill color can be set by calling methods like setFill() and setStroke(), as seen in the examples above. The complete list of methods and fields for the PShape class are in the Processing Javadoc. -
Syntax
createShape()
-createShape(type)
-createShape(kind, p)
Parameters - - - - - - -
kindint: either POINT, LINE, TRIANGLE, QUAD, RECT, ELLIPSE, ARC, BOX, SPHERE
pfloat[]: parameters that match the kind of shape
ReturnsPShape
RelatedPShape
-endShape()
-loadShape()
- -Updated on April 30, 2017 02:33:17pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/createWriter_.html b/Java/Processing/processing-3.3.6/modes/java/reference/createWriter_.html deleted file mode 100644 index a63453b..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/createWriter_.html +++ /dev/null @@ -1,171 +0,0 @@ - - - - createWriter() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

createWriter()

Examples
-PrintWriter output;
-
-void setup() {
-  // Create a new file in the sketch directory
-  output = createWriter("positions.txt"); 
-}
-
-void draw() {
-  point(mouseX, mouseY);
-  output.println(mouseX + "t" + mouseY); // Write the coordinate to the file
-}
-
-void keyPressed() {
-  output.flush(); // Writes the remaining data to the file
-  output.close(); // Finishes the file
-  exit(); // Stops the program
-}
-
-
-
Description -Creates a new file in the sketch folder, and a PrintWriter object to write to it. For the file to be made correctly, it should be flushed and must be closed with its flush() and close() methods (see above example). -

-Starting with Processing release 0134, all files loaded and saved by the Processing API use UTF-8 encoding. In previous releases, the default encoding for your platform was used, which causes problems when files are moved to other platforms. -
Syntax
createWriter(filename)
Parameters - - -
filenameString: name of the file to be created
ReturnsPrintWriter
RelatedcreateReader()
- -Updated on April 30, 2017 02:33:17pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/css/changes.css b/Java/Processing/processing-3.3.6/modes/java/reference/css/changes.css deleted file mode 100644 index 1494943..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/css/changes.css +++ /dev/null @@ -1,80 +0,0 @@ -/*** grid ***/ -.content { - margin-left : 55px; - font-size : 0.7em; -} - -/*** nav ***/ -.navBar { font-size: 11px; - height: 20px; - padding: 5px 0 0 55px; -} -.navBar a { color: #fff; } -#mainnav { background: #333323; } -#mainnav_noSub { background: #5a5a46; margin-bottom: 40px; } -#mainnav, #mainnav_noSub { position: relative; color: #ccccbe !important; } -#subNav { margin-left: 215px; - background: #5a5a46 url(../img/nav_bottomarrow.gif) no-repeat; - padding-left: 33px; - margin-bottom: 20px; - } -#subNav.learning { margin-left: 157px; } -.active { color: #ccccbe !important; } -.faq { position: absolute; right: 10px; } - -#colophon span { color: #fff; } - -/*** Cover ***/ -.rightcol { float: right; width: 380px; margin-right: 20px; } -.leftcol { float: left; width: 250px; } - -#Cover h3 { margin: 40px 0 0 0; } -.exhibition-small { padding: 0; margin: 0; } -.exhibition-small h3 { margin-top: 0; } - -dl { margin: 0; } -dt { font-style: italic; } -dd { margin: 0 0 1em 0; } - -.happenings { margin-bottom: 30px; } - -.courses-small dl { margin-top: -1em; } -.courses-small dt { font-style: normal; margin-top: 1em; } -.courses-small dd { margin: 0; } - -td img { margin: 0; display: block; } - -/*** Exhibition ***/ -#Exhibition .colone { width: 460px; float: left; margin-right: 40px; } -#Exhibition .coltwo { width: 170px; float: right; margin-right: 20px; } -#Exhibition h2 { margin: 0 0 20px 0; font-size: 1em; } -#Exhibition .onecol { clear: both; } - -.curated-item { margin-bottom: 25px; } -.curated-item h5 { margin-top: .6em; color: #666; font-size: 1em; } -.curated-item h5 a { font-weight: bold; } -.curated-item p { padding-right: 2em; } - -dl.network dt { font-style: normal; } -dl.network dd { margin: 0; } -dl.network dd.date { color: #999966; margin-bottom: 1em; } - -/*** Reference ***/ -.ref-notice { margin: 2.5em 0 2.5em 0; color: #006699;} - -#Language th { width: 100px; font-weight: normal; text-align: left; vertical-align: top; } -#Language td { vertical-align: top; padding-bottom: 2em; } -#Language td h3 { margin: 0; } -pre { margin: 0 !important; } -tr.name-row { height: 80px; } - -/*** updates, courses, happenings ***/ -#Courses .content, #Updates .content, #Happenings .content { - width: 595px; - } -h2 { margin-top: 0 0 20px 0; } - -.course-desc p { margin: 0; } -.course-desc p.date { margin: 0; } -.course-desc h3 { margin: 0; font-size: 1.2em; font-weight: bold; } -.course-desc { margin-bottom: 2em; } diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/css/fonts/Enriqueta-Bold-webfont.eot b/Java/Processing/processing-3.3.6/modes/java/reference/css/fonts/Enriqueta-Bold-webfont.eot deleted file mode 100644 index f798901..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/css/fonts/Enriqueta-Bold-webfont.eot and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/css/fonts/Enriqueta-Bold-webfont.woff b/Java/Processing/processing-3.3.6/modes/java/reference/css/fonts/Enriqueta-Bold-webfont.woff deleted file mode 100644 index 24dca3b..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/css/fonts/Enriqueta-Bold-webfont.woff and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/css/fonts/Enriqueta-License.txt b/Java/Processing/processing-3.3.6/modes/java/reference/css/fonts/Enriqueta-License.txt deleted file mode 100644 index 9889460..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/css/fonts/Enriqueta-License.txt +++ /dev/null @@ -1,95 +0,0 @@ -This license can also be found at this permalink: http://www.fontsquirrel.com/license/enriqueta - -Copyright (c) 2011, FontFuror (info@fontfuror.com), -with Reserved Font Names ā€œEnriquetaā€ and ā€œEnriqueta Proā€. - -This Font Software is licensed under the SIL Open Font License, Version 1.1. -This license is copied below, and is also available with a FAQ at: -http://scripts.sil.org/OFL - -—————————————————————————————- -SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 -—————————————————————————————- - -PREAMBLE -The goals of the Open Font License (OFL) are to stimulate worldwide -development of collaborative font projects, to support the font creation -efforts of academic and linguistic communities, and to provide a free and -open framework in which fonts may be shared and improved in partnership -with others. - -The OFL allows the licensed fonts to be used, studied, modified and -redistributed freely as long as they are not sold by themselves. The -fonts, including any derivative works, can be bundled, embedded, -redistributed and/or sold with any software provided that any reserved -names are not used by derivative works. The fonts and derivatives, -however, cannot be released under any other type of license. The -requirement for fonts to remain under this license does not apply -to any document created using the fonts or their derivatives. - -DEFINITIONS -ā€œFont Softwareā€ refers to the set of files released by the Copyright -Holder(s) under this license and clearly marked as such. This may -include source files, build scripts and documentation. - -ā€œReserved Font Nameā€ refers to any names specified as such after the -copyright statement(s). - -ā€œOriginal Versionā€ refers to the collection of Font Software components as -distributed by the Copyright Holder(s). - -ā€œModified Versionā€ refers to any derivative made by adding to, deleting, -or substituting—in part or in whole—any of the components of the -Original Version, by changing formats or by porting the Font Software to a -new environment. - -ā€œAuthorā€ refers to any designer, engineer, programmer, technical -writer or other person who contributed to the Font Software. - -PERMISSION & CONDITIONS -Permission is hereby granted, free of charge, to any person obtaining -a copy of the Font Software, to use, study, copy, merge, embed, modify, -redistribute, and sell modified and unmodified copies of the Font -Software, subject to the following conditions: - -1) Neither the Font Software nor any of its individual components, -in Original or Modified Versions, may be sold by itself. - -2) Original or Modified Versions of the Font Software may be bundled, -redistributed and/or sold with any software, provided that each copy -contains the above copyright notice and this license. These can be -included either as stand-alone text files, human-readable headers or -in the appropriate machine-readable metadata fields within text or -binary files as long as those fields can be easily viewed by the user. - -3) No Modified Version of the Font Software may use the Reserved Font -Name(s) unless explicit written permission is granted by the corresponding -Copyright Holder. This restriction only applies to the primary font name as -presented to the users. - -4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font -Software shall not be used to promote, endorse or advertise any -Modified Version, except to acknowledge the contribution(s) of the -Copyright Holder(s) and the Author(s) or with their explicit written -permission. - -5) The Font Software, modified or unmodified, in part or in whole, -must be distributed entirely under this license, and must not be -distributed under any other license. The requirement for fonts to -remain under this license does not apply to any document created -using the Font Software. - -TERMINATION -This license becomes null and void if any of the above conditions are -not met. - -DISCLAIMER -THE FONT SOFTWARE IS PROVIDED ā€œAS ISā€, WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT -OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE -COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL -DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM -OTHER DEALINGS IN THE FONT SOFTWARE. \ No newline at end of file diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/css/fonts/Enriqueta-Regular-webfont.eot b/Java/Processing/processing-3.3.6/modes/java/reference/css/fonts/Enriqueta-Regular-webfont.eot deleted file mode 100644 index 7153e76..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/css/fonts/Enriqueta-Regular-webfont.eot and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/css/fonts/Enriqueta-Regular-webfont.woff b/Java/Processing/processing-3.3.6/modes/java/reference/css/fonts/Enriqueta-Regular-webfont.woff deleted file mode 100644 index 2574cd6..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/css/fonts/Enriqueta-Regular-webfont.woff and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/css/forms.css b/Java/Processing/processing-3.3.6/modes/java/reference/css/forms.css deleted file mode 100644 index b3396a8..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/css/forms.css +++ /dev/null @@ -1,174 +0,0 @@ -/* - * css is not valid because firefox has so bad form-elements that - * i rather go with invalid css ( -moz-.. ) than have them - * look like crap. - * - */ - - -form -{ - margin-bottom : 0px; - } - -input, -select, -textarea -{ - font-family : Verdana, Arial, Helvetica, sans-serif; - font-size : 10px; - vertical-align : middle; - } - -select -{ - width : 120px; - } - -input -{ - margin-right : 5px; - } - -label -{ - display : block; - - } - - -input[type="text"], -input[type="password"], -input:not([type]) -{ - /*border : 2px solid !important;*/ - - -moz-border-top-colors : #7C7C7C #C3C3C3; - -moz-border-left-colors : #C2C2C2 #EFEFEF; - -moz-border-bottom-colors : #DDDDDD #FEFEFE; - -moz-border-right-colors : #C2C2C2 #EFEFEF; - } - -button, -input[type="reset"], -input[type="button"], -input[type="submit"], -select:not([multiple]) -{ - /*border : 2px solid !important; - background-repeat : repeat-x !important; - background-position : bottom right !important;*/ - background-color : rgb(246, 246, 246) !important; - - -moz-border-top-colors : #737373 #FFFFFF; - -moz-border-right-colors : #999999 #CECECE; - -moz-border-bottom-colors : #999999 #CECECE; - -moz-border-left-colors : #737373 #FFFFFF; - - -moz-border-radius : 1px !important; - } - -button:focus:active, -input[type="reset"]:hover:active, -input[type="button"]:hover:active, -input[type="submit"]:hover:active, -select:not([multiple]):hover:active -{ - /*border : 2px solid !important;*/ - - -moz-border-top-colors : #999999 #CECECE !important; - -moz-border-right-colors : #737373 #FFFFFF !important; - -moz-border-bottom-colors : #737373 #FFFFFF !important; - -moz-border-left-colors : #999999 #CECECE !important; - } - -select > input[type="button"] -{ - border-top : none !important; - border-right : none !important; - border-bottom : none !important; - border-left : 1px solid #CECECE !important; - - background-image : none !important; - background-color : transparent !important; - } - - -input[type="text"]:focus, -input[type="password"]:focus, -input:not([type]):focus, -textarea:focus, -select[multiple]:focus -{ - -moz-border-top-colors : -moz-mac-focusring -moz-mac-focusring !important; - -moz-border-right-colors : -moz-mac-focusring -moz-mac-focusring !important; - -moz-border-bottom-colors : -moz-mac-focusring -moz-mac-focusring !important; - -moz-border-left-colors : -moz-mac-focusring -moz-mac-focusring !important; - - -moz-border-radius : 1px !important; - } - -textarea, select[multiple] -{ - /*border : 2px solid !important;*/ /* opera: ugly ring around select:multiple */ - - -moz-border-top-colors : transparent #737373 !important; - -moz-border-right-colors : transparent #999999 !important; - -moz-border-bottom-colors : transparent #999999 !important; - -moz-border-left-colors : transparent #999999 !important; - - -moz-border-radius-top-right : 1px; - -moz-border-radius-bottom-right : 1px; -} - - - -input[type="radio"]:not([class]):not([id]):not([style]) -{ - width: 13px !important; - height: 13px !important; - - -moz-border-top-colors : transparent transparent transparent !important; - -moz-border-right-colors : transparent transparent transparent !important; - -moz-border-bottom-colors : transparent transparent transparent !important; - -moz-border-left-colors : transparent transparent transparent !important; - - -moz-border-radius: 2px !important; - - -moz-border-radius-top-right : 4px; - -moz-border-radius-bottom-right : 4px; - - background: url("radio.png") !important; - background-repeat: no-repeat !important; - background-position: center center !important; - - } - -input[type="radio"]:checked:not([class]):not([id]):not([style]) - { - - background: url("radio_checked.png") !important; - background-repeat: no-repeat !important; - background-position: center center !important; - - } - -input[type="checkbox"]:not([class]):not([id]):not([style]) - { - - -moz-border-top-colors : #777777 #FFFFFF transparent !important; - -moz-border-right-colors : #999999 #CECECE transparent !important; - -moz-border-bottom-colors : #999999 #CECECE transparent !important; - -moz-border-left-colors : #777777 #FFFFFF transparent !important; - - } - -input[type="checkbox"]:hover:active:not([class]):not([id]):not([style]) - { - - -moz-border-top-colors : #777777 #999999 transparent !important; - -moz-border-right-colors : #999999 #FFFFFF transparent !important; - -moz-border-bottom-colors : #999999 #FFFFFF transparent !important; - -moz-border-left-colors : #777777 #999999 transparent !important; - - } diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/css/processing.css b/Java/Processing/processing-3.3.6/modes/java/reference/css/processing.css deleted file mode 100644 index 66b4ddf..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/css/processing.css +++ /dev/null @@ -1,379 +0,0 @@ -/* Part of bugzilla.processing.org customs. - - Original author: Kevin Cannon, http://www.multiblah.com/ - - Last Modified: 07.04.2005 - 10:30 Uhr by Florian Jenett -*/ - -/* ================ GENERAL CSS ================== - -Mostly original stuff from existing site */ - - -body { - margin : 0; - padding : 0; - - background-color : #FFFFFF; /* #333322 */ - - font-family : Verdana, Geneva, Arial, Helvetica, sans-serif; - font-size : 100%; - font-weight : normal; - line-height : normal; - color : #333333; -} - -img -{ - border: 0px solid #000000; -} - -a { - text-decoration: underline; - font-weight: normal; - color: #3399CC; -} - -a:hover -a:active { - text-decoration: underline; - font-weight: normal; - color: #3399CC; -} - -a:visited, -a:link:visited { - text-decoration: underline; - font-weight: normal; - color: #3399CC; -} - - -#container { - width: 750px; - border: 1px none red; - margin-left: 0px; - background-color: white; -} - -/* ================ HEADER ================== */ -#header { - width: 750px; - height: 50px; - overflow: hidden; - /*background-image: url("../img/processing_beta.gif"); - background-repeat: no-repeat; - background-position: left center;*/ - background-color: #000000; -} - -#header h1 { - display: none; - float: left; - } - -/* Info / FAQ */ -#header-info { - text-align: right; - float: right; - width: 200px; - color: white; - font-size: 0.7em; - padding-right: 20px; - padding-top: 5px; - padding-bottom: 20px; - height: 25px; -} - -#header-info a:link, -#header-info a -{ - color: #CCCCBE; -} - -/* ================ NAVBAR ================== */ - -#navigation, -#footer { - - font-size: 0.7em; - color: #CCCCBE; - /* margin-bottom: 25px; */ -} -/* -#navigation a { - color : white; - text-decoration : underline; - } - -.navBar - { - height : 20px; - padding : 5px 0px 0px 55px; - margin : 0px; - } - -#mainnav - { - background-color : #333323; - } - -#mainnav_noSub - { - background-color : #5A5A46; - } - -#subnav - { - padding : 5px 0 5px 40px; - margin-left : 160px; - - background-color : #5A5A46; - background-image : url("../img/nav_bottomarrow.gif"); - background-position : left center; - background-repeat : no-repeat; - } -*/ -/* -#subnavAdmin { - background-color: #95957F; - background-image: url("../img/nav_bottomarrow.gif"); - background-position: left center; - background-repeat: no-repeat; - - height: 15px; - padding: 5px 0 5px 40px; - margin-left: 160px; -} -*/ - -/* ================ CONTENT ================== */ -/* -.content { - float : right; - width : 695px; - /*margin-top : 40px; - font-size : 0.7em; - border : 1px none red; -} -*/ - -.content em { - color : #999966; - font-style : normal; -} - - -/* ================ FOOTER ================== */ - -#footer { - clear: both; - padding-top: 100px; -} - -#footer a { - color: white; -} - -#footer #copyright, -#footer #colophon { - padding: 5px 0 5px 50px; - } - -#footer #copyright { - background-color: #5A5A4E; -} - -#footer #colophon { - background-color: #000000; -} - -#footer #colophon a { - text-decoration: underline; - color: white; -} - - - - -/* ================ HEADINGS ================== */ - - - -h1, h2, h3, h4, h5, h6 - { - margin-bottom : 5px; - - color : #5A5A46; - font-family : Verdana, Geneva, Arial, Helvetica, sans-serif; - font-weight : normal; - - line-height : normal; - } - -h1, h2, h3, h4 - { - word-spacing : 0.2em; - } - -h4, h5, h6 -{ - font-weight : bold; -} - -/* Font Sizes */ - -h1 { font-size : 2em; } -h2 { font-size : 1.85em; } -h3 { font-size : 1.7em; } -h4 { font-size : 1.5em; } -h5 { font-size : 1.25em; } -h6 { font-size : 1em; } - -p { font-size : 1em; } - - - -/* ================ OTHER ================== */ - - -pre { - font-family : "Courier New", Courier, monospace; - font-size : 11px; - line-height : normal; color: #000000; -} - -code { - font-family : "Courier New", Courier, monospace; - font-size : 11px; - line-height : normal; color: #000000; -} - - - -/* ================ CUSTOM IDs ================== */ - -#front-courses - { - clear : both; - padding-top : 10px; - } - - - -/* ================ CUSTOM CLASSES ================== */ - - - -.inputnav { - font-family : Verdana, Geneva, Arial, Helvetica, sans-serif; - font-size : 11px; - font-weight : normal; - color : #333333; -} - -.titles { - font-family : Verdana, Geneva, Arial, Helvetica, sans-serif; - font-size : 19px; - font-weight : normal; - color : #5A5A46; -} - - -.caption { - font-family : Verdana, Geneva, Arial, Helvetica, sans-serif; - font-size : 10px; - font-style : normal; - font-weight : normal; -} - - - -/* ================ EXHIBITION ================== */ - -.author - { - font-weight : bold; - color : #666666; - } - - -.curatedImg - { - margin-bottom : -2px; - } - - -.curatedBlock - { - width : 225px; - margin : 0px; - } - -.curatedBlock p - { - padding-top : 2px; - padding-right : 25px; - margin-bottom : 0px; - } - - -/* ================ COLUMNS ================== */ - - - -.doubleColumnWide - { - width : 360px; - margin-right : 30px; - } - -/* exhibition -> curated */ -.doubleColumnWide - { - width : 450px; - } - -.singleColumn - { - width : 220px; - } - -/* exhibition -> networklinks */ -.singleColumnNarrow - { - width : 195px; - } - -.tripleColumn - { - width : 620px; - margin : -20px 0px 0px 0px; - } - -.messageColumn { - width: 400px; -} - -.right { float: right; } -.left { float: left; } -.clear { clear: both; } - - - -/* thumbnail list in exhibiton -reformats a ul */ - -ul#thumbnail-list, ul#thumbnail-list li, ul#thumbnail-list li a { - margin: 0; padding: 0; - display:block; -} -ul#thumbnail-list li { - margin: 0; padding: 0; - width: 72px; - height: 72px; - display: block; - margin-right: 1px; - margin-bottom: 1px; - float: left; -} \ No newline at end of file diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/css/processing_beta.css b/Java/Processing/processing-3.3.6/modes/java/reference/css/processing_beta.css deleted file mode 100644 index 4213e57..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/css/processing_beta.css +++ /dev/null @@ -1,71 +0,0 @@ -body -{ - margin: 0px 0px 0px 0px; - font-family: verdana, geneva, arial, helvetica; - font-size: 11px; - background-color: #FFFFFF; - text-decoration: none; - font-weight: normal; - line-height: normal; -} - -A { color: #3399CC; } -A:link { color: #3399CC; text-decoration: underline; } -A:visited { color: #3399CC; text-decoration: underline; } -A:active { color: #3399CC; text-decoration: underline; } -A:hover { color: #3399CC; text-decoration: underline; } - -td -{ - font-family: verdana, geneva, arial, helvetica, san-serif; - font-size: 11px; - font-weight: normal; - line-height: normal; - color: #333333; -} - - -h3 { - COLOR: #5A5A46; - FONT-FAMILY: Verdana, Geneva, Arial, Helvetica, sans-serif; - FONT-SIZE: 19px; - FONT-WEIGHT: normal; - LINE-WEIGHT: normal; - line-height: normal; -} - -pre { - FONT-FAMILY: "Courier New", Courier, mono; - FONT-SIZE: 11px; - LINE-HEIGHT: normal; - COLOR: #000000; -} - -.inputnav { - FONT-FAMILY:Verdana, Geneva, Arial, Helvetica, sans-serif; - FONT-SIZE: 11px; - FONT-WEIGHT: normal; - COLOR: #333333; } - -.refnav { - FONT-FAMILY:Verdana, Geneva, Arial, Helvetica, sans-serif; - FONT-SIZE: 11px; - FONT-WEIGHT: normal; - COLOR: #333333; - background-color: #FFFFFF; - width: 140px; -} - -.titles { - FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; - FONT-SIZE: 19px; - FONT-WEIGHT: normal; - COLOR: #5A5A46; -} - -.caption { - font-family: Verdana, Arial, Helvetica, sans-serif; - font-size: 10px; - font-style: normal; - font-weight: normal; -} diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/css/radio.png b/Java/Processing/processing-3.3.6/modes/java/reference/css/radio.png deleted file mode 100644 index 64bc540..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/css/radio.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/css/radio_checked.png b/Java/Processing/processing-3.3.6/modes/java/reference/css/radio_checked.png deleted file mode 100644 index 5337845..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/css/radio_checked.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/css/style.css b/Java/Processing/processing-3.3.6/modes/java/reference/css/style.css deleted file mode 100644 index f7b639c..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/css/style.css +++ /dev/null @@ -1,1523 +0,0 @@ -/* -By Lenny Burdette - -Derived from code by Kevin Cannon, http://www.multiblah.com and -Florian Jenett, mail@florianjenett.de -Reworked by CR, 23 Sep 2011 -Reworked by Jon Gacnik, 19 Feb 2013 - -Created: 2005.08.29 04:28PM -Last Modified: 2014.11.15 by Scott Murray - -*/ - - - -@font-face { - font-family: 'theSerifItalic'; - src: url(fonts/TheSerif_B4_Italic.eot), - url(fonts/TheSerif_B4_Italic.woff) format("woff"); - font-weight: 400; - font-style: normal; -} - -@font-face { - font-family: 'theSerif'; - src: url(fonts/TheSerif_B4_Plain_.eot), - url(fonts/TheSerif_B4_Plain_.woff) format("woff"); - font-weight: 400; - font-style: normal; -} - -@font-face { - font-family: 'theSerif'; - src: url(fonts/TheSerif_B4_Bold_.eot), - url(fonts/TheSerif_B4_Bold_.woff) format("woff"); - font-weight: 800; - font-style: normal; -} - -@font-face { - font-family: 'Enriqueta'; - src: url(fonts/Enriqueta-Regular-webfont.eot), - url(fonts/Enriqueta-Regular-webfont.woff) format("woff"); - font-weight: 400; - font-style: normal; -} - -@font-face { - font-family: 'Enriqueta'; - src: url(fonts/Enriqueta-Bold-webfont.eot), - url(fonts/Enriqueta-Bold-webfont.woff) format("woff"); - font-weight: 800; - font-style: normal; -} - - - -/* ================ GLOBAL ================== */ - -body { - margin : 0; - padding : 0; - overflow-y : scroll; - - background-color : #ddd; /* #FFFFFF; */ /* #333322 */ - - font-family : 'theSerif', 'Enriqueta', georgia, times, serif; - - -webkit-font-smoothing: antialiased; - -webkit-text-size-adjust: none; - - font-size : 100%; - font-size : 0.79em; - font-weight : normal; - line-height : 1.5em; - color : #252525; -} - -img { border: 0px solid #000000; } - -a { - text-decoration: none; - font-weight: normal; - color: #2c7bb5; -} - -a.large-link { - position: relative; - margin-left: 18px; -} -a.large-link:before { - display: block; - position: absolute; - left: -18px; - top: 12px; - width: 11px; - height: 9px; - background: transparent url(../img/raquo.png) center center no-repeat; - background-image: -webkit-linear-gradient(transparent, transparent), url(../img/raquo.svg); - background-image: -moz-linear-gradient(transparent, transparent), url(../img/raquo.svg); - background-image: linear-gradient(transparent, transparent), url(../img/raquo.svg); - content: ''; -} - -/* ================ COVER SLIDESHOW ================== */ - -#slideshow { - position:relative; - height:240px; -} - -#slideshow IMG { - position:absolute; - top:0; - left:0; - z-index:8; - opacity:0.0; -} - -#slideshow IMG.active { - z-index:10; - opacity:1.0; -} - -#slideshow IMG.last-active { - z-index:9; -} - - - -/* ================ LAYOUT ================== */ - -#container { - width: 900px; - margin: 0 auto; - background-color: white; -} - - - -/* ================ RIBBON ================== */ - -#ribbon { - width: 900px; - height: auto; - background-color: #1d517e; - background: linear-gradient(to bottom, #003b6e, #1d517e); -} - -#ribbon ul { - display: inline-block; - margin: 0; - padding: 0; -} - -#ribbon ul.left { - float: left; -} - -#ribbon ul.right { - float: right; -} - -#ribbon ul.righthighlight { - float: right; -} - -#ribbon ul li { - display: inline-block; - margin: 0; - padding: 6px 10px 5px 10px; - list-style: none; - background-color: transparent; - background-color: rgba(0, 0, 0, 0.12); -} - -#ribbon ul.left li { - float: left; - border-right: 1px solid #1a1a1a; -} - -#ribbon ul.right li { - float: right; - border-left: 1px solid #1a1a1a; -} - -#ribbon ul.righthighlight li { - background-color: black; - float: right; - border-left: 1px solid #1a1a1a; -} - -#ribbon ul.righthighlight li a { - color: white; - font-weight: bold; -} - -#ribbon ul li a { - color: #b2b2b2; -} - -#ribbon ul li.highlight { - background-color: black; - border-right: none; -} - -#ribbon ul li.highlight a { - color: white; - font-weight: bold; -} - - -/* ================ HEADER ================== */ -#header { - width: 900px; - height: 106px; - margin-bottom: 30px; - overflow: hidden; - background: #0c2033 url(../img/processing-web.png) center center no-repeat; - background-position: bottom; - background-size: 900px 106px; - position: relative; -} - -#header-f { - width: 900px; - height: 106px; - margin-bottom: 30px; - overflow: hidden; - background: #0c2033 url(/images/processing-site.png) center center no-repeat; - background-size: 900px 106px; - position: relative; -} - -#header .processing-logo { - width: 206px; - height: 38px; - margin: 20px 0 0 30px; - /* -- NEW FOUNDATION LOGO GOES HERE -- */ - background: transparent url(../img/processing-logo.png) center center no-repeat; - background-image: -webkit-linear-gradient(transparent, transparent), url(../img/processing-logo.svg); - background-image: -moz-linear-gradient(transparent, transparent), url(../img/processing-logo.svg); - background-image: linear-gradient(transparent, transparent), url(../img/processing-logo.svg); -} - -#header-f .processing-logo { - width: 370px; - height: 38px; - margin: 20px 0 0 30px; - /* -- NEW FOUNDATION LOGO GOES HERE -- */ - background: transparent url(/images/processing-foundation-logo.svg) center center no-repeat; - background-image: -webkit-linear-gradient(transparent, transparent), url(/images/processing-foundation-logo.svg); - background-image: -moz-linear-gradient(transparent, transparent), url(/images/processing-foundation-logo.svg); - background-image: linear-gradient(transparent, transparent), url(/images/processing-foundation-logo.svg); -} - -#header .processing-logo.no-cover:before { - position: relative; - top: 3px; - left: -18px; - font-size: 24px; - content: '\2039'; -} - -#header-f .processing-logo.no-cover:before { - position: relative; - top: 3px; - left: -18px; - font-size: 24px; - content: '\2039'; -} - -#Overview2 .processing-logo.no-cover:before { - position: relative; - top: 3px; - left: -18px; - font-size: 24px; -} - -#header a { - font-family: 'theSerif', 'Enriqueta', georgia, times, sans-serif; - text-decoration: none; - border: none; - color: white; -} - -#header-f a { - font-family: 'theSerif', 'Enriqueta', georgia, times, sans-serif; - text-decoration: none; - border: none; - color: white; -} - -#header h1 { - display: none; - float: left; -} - -#header-f h1 { - display: none; - float: left; -} - -#header form { - position: absolute; - top: 20px; - right: 5px; - width: 176px; - color: #959595; -} - -#header-f form { - position: absolute; - top: 20px; - right: 5px; - width: 176px; - color: #959595; -} - -#header form input { - float: left; - border: 1px solid #136796; - outline: none; - height: 18px; - background: #fff; - font-family: 'theSerif', 'Enriqueta', georgia, times, serif; - font-size: 1em; - color: #959595; -} - -#header-f form input { - float: left; - border: 1px solid #136796; - outline: none; - height: 18px; - background: #fff; - font-family: 'theSerif', 'Enriqueta', georgia, times, serif; - font-size: 1em; - color: #959595; -} - -#header form input[type="text"]{ - padding-left: 3px; - width: 127px; - border-right: none; -} - -#header-f form input[type="text"]{ - padding-left: 3px; - width: 127px; - border-right: none; -} - -#header form input[type="submit"]{ - height: 22px; - width: 22px; - border-left: none; - background: white url(../img/search.png) center center no-repeat; - background-image: -webkit-linear-gradient(transparent, transparent), url(../img/search.svg); - background-image: -moz-linear-gradient(transparent, transparent), url(../img/search.svg); - background-image: linear-gradient(transparent, transparent), url(../img/search.svg); - cursor: pointer; -} - -#header-f form input[type="submit"]{ - height: 22px; - width: 22px; - border-left: none; - background: white url(/images/search-f.svg) center center no-repeat; - background-image: -webkit-linear-gradient(transparent, transparent), url(/images/search-f.svg); - background-image: -moz-linear-gradient(transparent, transparent), url(/images/search-f.svg); - background-image: linear-gradient(transparent, transparent), url(/images/search-f.svg); - cursor: pointer; -} - -#header form p { margin: 0; } - -#header-f form p { margin: 0; } - -/* ================ NAVBAR ================== */ - -#navigation { - float: left; - width: 170px; - min-height: 20px; - margin-right: 20px; - color: #2c7bb5; -} -.navBar { padding: 0 20px 0 30px; } -.navBar.stuck { position: fixed; top: 20px; } -@media only screen and (max-height: 610px) { - .navBar.stuck { position: static; top: 0;} -} - -.navBar a { text-decoration: none; border: none; } - -.navBar a.active { color: #252525; } -.outward span {color: #252525; margin-right: 2px;} - - -/* ================ CONTENT ================== */ - -.content { - width: 680px; - float: left; - /*overflow: hidden;*/ - position: relative; -} - -/* ================ FOOTER ================== */ - -#footer { - clear: both; - padding: 100px 30px 20px 30px; - line-height: 23px; - color: #959595; -} -#footer a { - color: #959595; - border-bottom: 1px solid #CECECE; -} -#footer #copyright, -#footer #colophon { - -} -#footer #copyright { - border-top: 1px solid #A6BCCF; - padding-top: 10px; -} - -/* === FOUNDATION FOOTER === */ - -#footer-f { - clear: both; - padding: 100px 30px 20px 30px; - line-height: 23px; - color: #959595; -} -#footer-f a { - color: #959595; - border-bottom: 1px solid #CECECE; -} -#footer-f #copyright, -#footer-f #colophon { - -} -#footer-f #copyright { - border-top: 1px solid #A6BCCF; - padding-top: 10px; -} - -/* ================ TYPOGRAPHY ================== */ - -h1, h2, h3, h4, h5, h6 - { - /*margin-bottom : 5px;*/ - color : #5A5A5A; - font-family : 'theSerif', 'Enriqueta', georgia, times, serif; - font-weight : 400; - line-height : 1.6em; - } - -h1, h2, h3, h4 - { - word-spacing : 0.2em; - } - -h4, h5, h6 -{ - /*font-weight : bold;*/ -} -.large-link { - font-family: 'theSerif', 'Enriqueta', georgia, times, serif; -} -a.code { color: #2c7bb5; } -/* dirty italic fix */ -i, em, .italic { - font-family: 'theSerifItalic', 'Enriqueta' !important; - font-style: normal !important; -} - -/* Font Sizes */ - -h1 { font-size : 2em; } -h2 { font-size : 1.85em; } -h3 { font-size : 1.7em; } -h4 { font-size : 1.5em; } -h5 { font-size : 1.25em; } -h6 { font-size : 1em; } - -p { font-size : 1em; } - -pre { - font-family : monaco, "Courier New", Courier, monospace; - font-size : 11px; - line-height : normal; color: #000000; -} - -tt { - font-family : monaco, "Courier New", Courier, monospace; - font-size : 11px; - line-height : normal; color: #000000; -} - -code, .code, kbd { - font-family : monaco, "Courier New", Courier, monospace; - font-size : 11px; - line-height : normal; color: #000000; -} - -li {margin-bottom: 1em; } - -.large-link { - font-size: 1.4rem; - line-height: 30px; -} -.large-header { - font-size: 1.3rem; - line-height: 26px; - margin: 0 0 26px 0; - color: #616161; - word-spacing: 1px; -} -.large-header .black { color: #000; } -.error { color: #f00; margin: 0; } - -/* ================ UI Elements ================== */ - - - -/* ================== RANDOM CLASSES =============== */ -.clear { clear: both; } - -/* ================== PAGE SPECIFIC CSS =============== */ - -/**************************************************************** Cover ***/ - -#Cover .leftcol { - float: left; - width: 400px; - margin-right: 55px; -} -#Cover .rightcol { - float: left; - width: 225px; -} - -#Cover p { margin-top: 1.5em; } -#Cover ul { - list-style: none; - margin-left: 0; - padding-left: 0; - /*text-indent: -1em;*/ -} - - -#Cover h3 { margin: 40px 0 15px 0; } -#Cover h5 { font-size: 1em; color: #252525; } -.exhibition-small { padding: 0; margin: 0 0 3em 0; } -.exhibition-small h3 { margin-top: 0px !important; } - -dl { margin: 0; } -dt { /*font-style: italic;*/ -font-family : 'theSerifItalic', 'Enriqueta'; } -dd { margin: 0 0 1em 0; } - -.happenings { margin-bottom: 30px; } - -.courses-small dl { margin-top: -1em; } -.courses-small dt { font-style: normal; margin-top: 1em; } -.courses-small dd { margin: 0; } - -td img { margin: 0; display: block; } - -#Cover .video { margin-top: 0em; } - -#Cover .twitter, -#Cover .commits, -#Cover .partners, -#Cover .mailing-list, -#Cover .contact { margin-top: 3em; } -#Cover .video .video-caption { /*font-style: italic;*/ -font-family: 'theSerifItalic', 'Enriqueta'; } -#Cover .video .video-caption:first-child { display: inline-block; margin-bottom: 1.5em; } - -#Cover .mailing-list input[type="email"], -#Cover .mailing-list input[type="submit"]{ - border: 1px solid #959595; - background-color: white; - outline: none; - height: 20px; - padding-left: 4px; - font-family: 'theSerif', 'Enriqueta', georgia, times, serif; - font-size: 1em; - color: #252525; -} -#Cover .mailing-list input[type="email"] { - width: 160px; -} -#Cover .mailing-list input[type="submit"]{ - border: none; - cursor: pointer; - height: 24px; - color: #2c7bb5; -} -#Cover .mailing-list input[type="email"]:focus { - border: 1px solid #2c7bb5; -} - -#Cover .commits, -#Cover .twitter { float: left; margin-top: 14px; } -.latest-commits li, -.latest-tweets li { - display: block; - float: left; - margin-bottom: 14px; -} -.github-avatar { - display: block; - float: left; - width: 20px; - height: 20px; -} -.latest-commits li div { - width: 370px; - float: left; - margin-left: 10px; -} -.latest-tweets li div { margin: 0; } - - -/**************************************************************** Exhibition ***/ - -//#Exhibition .colone { width: 224px; float: left; margin-right: 35px; } - -#Exhibition .colone { width: 680px; float: left; margin-right: 35px; } -#Exhibition .coltwo { width: 165px; float: left; margin-right: 25px; } - -#Exhibition .colthree { width: 224px; float: left; margin-right: 20px; } -#Exhibition h2 { margin: 0 0 20px 0; font-size: 1em; } -#Exhibition h2.with-nav { margin-bottom: 0; } -#Exhibition .onecol { clear: both; } -#Exhibition table { - width: 687px; - margin-top: 35px; - border-collapse:collapse; -} -#Exhibition td { - width: 224px; - padding-right: 5px; - vertical-align: top; - /*border: 1px solid #ececec;*/ -} -#Exhibition .curated-item p { padding-right: 14px; } - - - - -#Index .colone { width: 224px; float: left; margin-right: 35px; } -#Index .coltwo { width: 165px; float: left; margin-right: 25px; } - -#Index .colthree { width: 224px; float: left; margin-right: 20px; } -#Index h2 { margin: 0 0 20px 0; font-size: 1em; } -#Index h2.with-nav { margin-bottom: 0; } -#Index .onecol { clear: both; } -#Index td { vertical-align: top; } - - -.curated-item { margin-bottom: 25px; } -.curated-item h5 { margin-top: 1em; color: #666; font-size: 1em; } -.curated-item h5 a { font-weight: bold; } -/*.curated-item p { padding-right: 2em; }*/ - -#Network h2 { position: relative; } -#Network h2 a.addalink { position: absolute; left: 455px;} - -dl.network dt { font-style: normal; } -dl.network dd { margin: 0; } -dl.network dd.date { color: #999999; margin-bottom: 1em; } - -//p.network { margin: 0 23px 1em 0; width:200px; } -//p.network span.date { color: #999999; } - -p.exhibition-nav { margin-top: 20px; margin-bottom: 10px; } - -/**************************************************************** Foundation ***/ - -.foundation-p { line-height: 0em; } - - - -/**************************************************************** Reference ***/ - - -#Language h5 a { float: left; margin-left: -30px; } - - - -.skinny { - margin-left : 0px; - margin-right : 50px; - position: relative; -} - -#reference-nav { position: relative; width: 300px; height: 2em; padding-top: .5em; } -#reference-nav p { position: absolute; right: 10px; top: 0; margin: 0; } - -.ref-top { - display:none; - margin-top: 20px; - margin-bottom: 20px; -} - -.ref-notice { margin: 0 0 2.5em 0; color: #FF3399; clear: both; margin-right: 40px;} - -.ref-item { margin-bottom: 60px; } -.ref-item th { width: 100px; font-weight: bold; text-align: left; vertical-align: top; } -.ref-item td { vertical-align: top; padding-bottom: 2em; } -.ref-item td p { - max-width: 520px; -} - -#ref-mode-switch { - clear: both; - overflow: auto; - margin-bottom: -1px; -} - -#ref-mode-switch ul { - list-style: none; - padding: 0px; margin: 0px; - width: 100%; -} - -#ref-mode-switch ul li { - float: left; - padding: 0px; margin: 0px; - margin-left: 0.75em; -} - -#ref-mode-switch ul li.right { - float: right; -} - -#ref-mode-switch ul li a { - display: block; - padding: 0.5em 0.75em; - border: 1px solid #CCC; - color: #ccc; - text-decoration: none; -} - -#ref-mode-switch ul li a.is-selected { - background-color: white; - color: #39C; - border-bottom: 1px solid transparent; -} - -#ref-mode-switch-bottom { - clear:both; - border-top: 1px solid #CCC; -} - -.ref-col .is-disabled, .ref-col .is-disabled a, .ref-col .is-disabled h5 {color: #dddddd;} - -.ref-item td h3 { margin: -11px 0 0 0; } -.ref-item td b { - font-weight: normal; - font-family : monaco, "Courier New", Courier, monospace; - font-size : 11px; - line-height : normal; -} -pre { - margin-bottom: 30px; - margin-top: 0; -} -.table { - margin-bottom: 0; - margin-top: 0; -} -tr.name-row { height: 60px; } -td p { margin-top: 0; } - -.example img { float: left; margin-right: 15px; margin-bottom: 15px; } -.example { clear: both; margin-bottom: 15px; } -.example pre.margin { margin-left: 115px; } -hr.noshade { height: 0px; color: #f1f1f1; border-color: #e0e0e0; margin: 30px 0 30px 0; clear: both; } - -/*** ref index ***/ -.abridged-notice { margin: 0 50px 30px 0; } - -.libraries-top { margin: 20px 50px 15px 0; } -.libraries-bottom { margin: 0 50px 0px 0; } - -#Tools h3.large-header, -#Libraries h3.large-header { - margin-bottom: 20px; -} -#Tools .included-tools, -#Libraries .included-libraries { - margin: 0; - padding: 0; - list-style: none; - -moz-column-count:3; - -webkit-column-count:3; - column-count:3; -} -#Tools .included-tools li, -#Libraries .included-libraries li { - display: inline-block; -} -#Tools .included-tools p, -#Libraries .included-libraries p { - margin: 0; -} - -.contributions .categories { - margin-top: 20px; - margin-bottom: 20px; - -moz-column-count:3; - -webkit-column-count:3; - column-count:3; -} - -.contributions ul { - margin: 0; - padding: 0; - list-style: none; - -moz-column-count:3; - -webkit-column-count:3; - column-count:3; - column-gap:20px; - -moz-column-gap:20px; - -webkit-column-gap:20px; -} -.contributions h4 { - font-size: 1em; - font-weight: bold; - color: #252525; -} -.contributions ul li { - display: inline-block; - min-width: 200px; - margin-bottom: 20px; -} -.contributions ul li h5:before { - margin-right: 4px; - content: '\00BB '; -} -.contributions ul li p { - margin: 0; -} - -div.ref-col { - width: 30%; - margin-right: 2%; - float: left; -} - -.ref-col h3 { - margin: 0; - font-size: 1.25em; -} -.ref-col h5 { - margin: 1.5em 0 0 0; - font-size: 1em; - font-weight: normal; - color: #252525; -} -.ref-col h3+h5 { margin-top: 0; } -.category { margin-bottom: 30px; } - -.ref-col a.ref-link { /* reference index page item */ - display: block; -} - -.ref-col p { margin-top: -.5em; margin-bottom: 2em; } - - -/**************************************************************** download ***/ - -/* download */ - -#Download .download ul { list-style: none; margin: 0; padding: 0; } -#Download span.version-date { color: #959595; } -#Download h5 { - text-align: center; - border-top: 1px solid #D8D8D8; - border-bottom: 1px solid #D8D8D8; - padding: 24px; -} -.current-version .download-logo { - width: 130px; - height: auto; - display: block; - float: left; - margin-left: 24px; - margin-bottom: 30px; - margin-right: 36px; -} -.current-version .downloads { - padding-top: 20px; - width: 490px; - float: left; -} -.current-version .downloads a { - font-size: 21px; - line-height: 28px; -} -.current-version .downloads li { - color: #959595; - display: block; - float: left; - margin-top: 14px; -} -.current-version .downloads li:not(:last-child) { - margin-right: 42px; -} -.current-version .meta { - border-top: 1px solid #D8D8D8; - border-bottom: 1px solid #D8D8D8; - float: left; - padding: 24px; -} -.current-version .meta .links { - width: 130px; - float: left; -} -.current-version .meta .revisions { - float: left; - width: 462px; - margin-left: 36px; -} -#Download .releases { - margin-top: 24px; - float: left; -} -#Download .releases li a:not(:last-child):after { - content: ' /'; - pointer-events:none; - color: #959595; -} -#Download .releases span.version, -#Download .releases span.version-date { - margin-right: 14px; -} - -#Download .disclaimer { - margin-top: 72px; - float: left; - padding-top: 14px; - border-top: 1px solid #D8D8D8; - color: #959595; -} - -#Download .donate-box input[type="text"], -#Download .donate-box input[type="email"]{ - border: 1px solid #959595; - background-color: white; - outline: none; - height: 16px; - padding-left: 4px; -} -#Download .donate-box input[type="text"]:focus, -#Download .donate-box input[type="email"]:focus { - border: 1px solid #2c7bb5; -} - -/* select */ - -#Download .donate-box { - border: 1px solid #CBCBCB; - background: #FAFAFA; - padding: 20px 34px 24px 34px; - text-align: center; -} - /*#Download .donate-box h1 { margin-top: 0; }*/ - #Download .donate-box p { - text-align: left; - } - #Download #selectForm form { - line-height: 24px; - } - #Download #selectForm .select-amount { - text-align: left; - margin: 22px 0 42px 30px; - } - #Download #selectForm .select-amount label { - margin-right: 30px; - } - #Download #selectForm .select-amount label.last { margin-right: 2px; } - #Download .donate-box input[type="submit"]{ - font-family: 'theSerif', 'Enriqueta', georgia, times, serif; - -webkit-font-smoothing: antialiased; - font-size: 1.7em; - color: #2c7bb5; - border: none; - background: none; - cursor: pointer; - text-align: center; - } - #Download #selectForm input#otra{ - width: 55px; - display: inline; - } - -/* donate */ -#Download .messages { - text-align: center; - color: red; - margin-bottom: 22px; -} -#Download #donateForm { - text-align: left; -} - #donateForm label { - display: inline-block; - width: 120px; - margin-right: 16px; - line-height: 26px; - text-align: right; - } - #donateForm input[type="text"], - #donateForm input[type="email"] { - width: 380px; - } - #donateForm input.card-number { - width: 120px; - } - #donateForm input.card-cvc { - width: 30px; - } - #donateForm .payType { - padding-left: 136px; - margin: 16px 0 16px 0; - } - #donateForm .payType label, #donateForm .payType input { - width: auto; - } - #donateForm .payType .or { - display: inline-block; - /*font-style: italic;*/ - font-family : 'theSerifItalic', 'Enriqueta'; - margin: 0 30px 0 20px; - } - #donateForm .ccInfo { - margin-bottom: 22px; - } - #Download .content #donateForm input[type="submit"] { - width: 188px; - text-align: center; - margin-left: 210px; - } - #donateForm p { - color: #959595; - margin-left: -20px; - text-align: center !important; - } - -/************************************************************** contribute ***/ - -/*#Contribute h1 { margin-bottom: 0; }*/ -#Contribute .message { margin-top: 0; margin-right: 40px; } -#Contribute .threecol { float: left; width: 210px; margin-right: 20px; } -#Contribute .threecol p { margin-bottom: 2em; } - - - -/************************************************************** learning ***/ - -/*#Learning h1 { margin-bottom: 0; margin-top: 0;}*/ -#Learning .message { margin-top: 0; margin-right: 40px; } -#Learning .threecol { float: left; width: 200px; margin-right: 30px; margin-top: 0px;} -#Learning .threecol p { margin-bottom: 2em; } - -#Learning .twocol { float: left; width: 310px; margin-right: 20px; margin-top: 0px;} -#Learning .twocol p { margin-bottom: 2em; } - -#Learning td { vertical-align: top; } - -.doc-float { margin-right: 40px;} - - - -h2 { margin-bottom: 0; margin-top: 0;} - -.example-notice { margin: -1.0em 0 2.5em 0; color: #FF3399; clear: both; margin-right: 40px;} - - -#Copyright p { margin-right: 20px; } - - -/************************************************************** tutorials ***/ - -#Tutorials .colone { width: 224px; float: left; margin-right: 35px; } -#Tutorials .coltwo { width: 165px; float: left; margin-right: 25px; } -#Tutorials .colthree { width: 224px; float: left; margin-right: 20px; } -#Tutorials h2 { margin: 0 0 20px 0; font-size: 1em; } - -/*#Tutorials p { - margin-top: 2.0em; - margin-bottom: 2.0em; - font-size : 1.0em; - font-weight : normal; - line-height : 2.0em; - }*/ - -/*#Tutorials h3 { - font-family : Verdana, Geneva, Arial, Helvetica, sans-serif; - font-size : 1.3em; - font-weight : bold; - margin-bottom : 0.4em; - margin-top : 1.8em; -} - -#Tutorials h5 { - font-family : Verdana, Geneva, Arial, Helvetica, sans-serif; - font-weight : bold; - font-size : 1.0em; - margin-bottom : 0.4em; - margin-top : 1.4em; -}*/ - -/*#Tutorials h1 { - font-family : Verdana, Geneva, Arial, Helvetica, sans-serif; - font-size : 2.0em; - font-weight : normal; - font-style : normal; -}*/ - -/*--------------------TUTORIAL HEADER SPACING------------------*/ -.Tutorials { line-height: 0em; } - -#Tutorials h2.with-nav { margin-bottom: 0; } -#Tutorials .onecol { clear: both; } -#Tutorials table { - /*width: 687px;*/ - margin-top: 0px; - margin-bottom: 20px; - border-collapse:collapse; -} - -#Tutorials table.ex { - /*width: 687px;*/ - margin-top: 20px; - margin-bottom: 20px; - border-collapse:collapse; -} - -#Tutorials hr { - display: block; - height: 1px; - border: 0; - border-top: 1px solid #ccc; - margin: 1em 0; - padding: 0; -} - -#Tutorials img.tut { - margin-bottom: 30px; -} - -#Tutorials td { - width: 224px; - padding-right: 5px; - vertical-align: top; - /*border: 1px solid #ececec;*/ -} -#Tutorials .curated-item p { padding-right: 14px; } - -#Tutorials p.license { - border-left: solid 1px #ccc; - padding: 10px; - margin-top: 0px; - margin-bottom: 40px; - background-color: #eee; -} - -#Tutorials p.txt { - margin-top: 0em; - margin-bottom: 2em; - font-size: 100%; - font-weight: normal; - line-height: 200%; -} - -/************************************************************** Books ***/ - -/*#Books h1 { margin-bottom: 0; margin-top: 0;}*/ -#Books td { vertical-align: top; font-size: 1.0em} - - -/************************************************************** Tools Indices ***/ - -#Tools-index .colone { - width: 300px; - float: left; - margin-right: 40px; -} - -#Tools-index .twocol { - width: 330px; - float: left; -} - -#Tools-index .full { - width: 650px; - float: left; - margin-right: 0px; - margin-top: 30px; -} - - - - -#Tools-index h5 { margin-bottom: 0; font-size: 1em; } -#Tools-index .twocol p { margin-top: 0; } -.lib-nav { display: block; - margin-bottom: 10px; - margin-left: -30px; - padding: 7px 0 3px 30px; - background: url(/img/back_off.gif) no-repeat -} - -#Tools-index pre { margin-left: 30px; margin-bottom: 30px; } - -#Tools h2 { margin-top: 2em; } -#Tools h5 { font-size: 1em; margin: 0; font-weight: bold; } -#Tools h5 a { font-weight: bold; } -#Tools h3 { clear: both; margin-bottom: 0; } -#Tools h4 { font-size: 1em; margin-bottom: .5em; } -#Tools h4 a {float:left; margin-left:-30px; martin-top:-5px; } - - -#Tools .threecol { - float: left; - width: 210px; - margin-right: 21px; -} -#Tools .threecol p { margin-top: 0; margin-bottom: 2em; } -.threecol:nth-child(5) { margin: 0 !important; } - - - -/************************************************************** Library Indices ***/ - - -#Libraries .colone { - width: 300px; - float: left; - margin-right: 40px; -} - -#Libraries .colone-alt { - width: 300px; - float: left; - margin-right: 40px; - //background: #cccccc; -} - -#Libraries .twocol { - width: 330px; - float: left; -} - -#Libraries .twocol-alt { - width: 330px; - float: left; - //background: #cccccc; -} - - -#Libraries .twocol p { margin-top: 0; } - -#Libraries .full { - width: 650px; - float: left; - margin-right: 0px; - margin-top: 30px; -} - -#Libraries .full-alt { - width: 650px; - float: left; - margin-right: 0px; - margin-top: 0px; -} - -#Libraries .librarytitle { - width: 680px; - float: left; - margin-right: 0px; - margin-top: 0px; - margin-bottom: 2px; -} - - - -#Libraries .lib-nav { display: block; - margin-bottom: 10px; - margin-left: -30px; - padding: 7px 0 3px 30px; - background: url(/img/back_off.gif) no-repeat; -} - -#Libraries pre { margin-left: 30px; margin-bottom: 30px; } - -#Libraries h2 { margin-top: 2em; } -/*#Libraries h3 { clear: both; margin-bottom: 0; }*/ - -#Libraries h3 { margin-top: 0; margin-bottom: 0;} - -#Libraries h5 { font-size: 1em; margin: 0; font-weight: bold; } -#Libraries h5 a { font-weight: bold; } -#Libraries h4 { font-size: 1em; margin-bottom: .5em; } -#Libraries h4 a {float:left; margin-left:-30px; martin-top:-5px; } - -#Libraries td { - text-align: left; - vertical-align: top; -} - -#Libraries .threecol { - float: left; - width: 210px; - margin-right: 21px; -} -#Libraries .threecol p { margin-top: 0; margin-bottom: 2em; } - - -/************************************************************** environment ***/ -/*#Environment h1 { margin-top: 2em; }*/ -#Environment h5 { margin-top: 3em; } -#Environment h6 { margin-bottom: 0em; } -#Environment h5 a { float: left; margin-left: -30px; } -ul.nostyle { margin: 0; padding: 0; list-style: none outside; } -#Environment td { padding-bottom: 1em; } -#Environment .content p, -#Environment .content ul, -#Environment .content table { - width: 560px; -} - - -/************************************************************** overview ***/ -#Overview .content p, -#Overview .content ul, -#Overview .content table { - width: 560px; -} - -#Foundation .content p, -#Foundation .content ul, -#Foundation .content table { - width: 560px; -} - - -#People .content p, -#People .content ul, -#People .content table { - width: 560px; -} - -#people-f .content p, -#people-f .content ul, -#people-f .content table { - width: 680px; -} - - - -/************************************************************** examples ***/ - -div.applet { float: left; margin-bottom: 40px; } -p.doc-float { margin-left: 250px; } -p.doc { margin-right: 40px; margin-top: 30px;} -pre.code { clear: both; margin-top: 10px; } - -/* #examples-nav { margin-left: -44px; display: relative; } */ -//#examples-nav { margin-left: 0px; display: relative; } - -.examples-nav-div { margin-left: -44px; margin-top: -10px; width: 480px; display: relative; align: left; } - -#examples-nav img { display: absolute; top: 15px; left: 100px; } - -/*#Examples h1 { margin-bottom: 0; }*/ - - -div.updateRequired { - color:#999; -} -div.updateRequired a { - color:#999; -} - -ul.examples { - list-style: none; - padding: 0; - margin: 0; - -moz-column-count:3; /* Firefox */ - -webkit-column-count:3; /* Safari and Chrome */ - column-count:3; -} -ul.examples li { margin: 0; padding: 0; } -ul.examples ul { - list-style: none; - padding: 0; - display: inline-block; /* Display inline-block, and absolutely NO FLOATS! */ - margin-bottom: 17px; - width: 100%; -} -ul.examples ul li { - margin: 0; -} -div.examples-nav { - margin-left: -41px; - margin-bottom: 17px; - position: relative; -} -div.examples-nav img { position: relative; top: 11px; } - - .donate-card-row { - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-justify-content: space-between; - -ms-flex-pack: justify; - justify-content: space-between; - margin-left: -10px; - margin-right: -10px; - } - .donate-card { - text-align: center; - width: 30%; - border: 1px solid #CBCBCB; - /*background: #FAFAFA;*/ - padding: 20px; - margin: 10px; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-flex-direction: column; - -ms-flex-direction: column; - flex-direction: column; - -webkit-justify-content: center; - -ms-flex-pack: center; - justify-content: center; - } - .donate-card h4 { - line-height: 1.3; - margin: 0 0 0.5em 0; - color: #2c7bb5; - } - a.donate-card { - color: #252525; - } - a.donate-card:hover { - border-color: #2c7bb5; - } - .donate-list { - list-style: none; - margin-left: 0; - padding-left: 0; - } - .donate-list li { - margin-bottom: 0; - } - .donate-list li:before { - content: 'Ā» ' - } - .donate-content hr { - margin-top: 2em; - margin-bottom: 2em; - background: none; - border: none; - border-top: 1px solid #CBCBCB; - } - -/**************************************************************** updates, courses, happenings ***/ -/* -#Courses .content, #Updates .content, #Happenings .content { - width: 595px; - } -#Updates h2 { margin-top: 0 0 20px 0; } - - -.course-desc p { margin: 0; } -.course-desc p.date { margin: 0; } -.course-desc h3 { margin: 0; font-size: 1em; font-weight: bold; line-height: 1em; } -.course-desc { margin-bottom: 2em; } -*/ - -/************************************************************** comparison ***/ -/* - -#Compare h1 { margin-top: 2em; } -#Compare h2 { margin-bottom: 0; } -#Compare .threecol { float: left; width: 210px; margin-right: 20px; } -#Compare .threecol p { margin-top: 0; } - - -#Compare .content { - margin-left : 55px; - margin-right : 0px; - position: relative; -} -*/ - -/************************************************************** troubleshooting ***/ -/* -#Troubleshooting h1 { margin-top: 2em; } -#Troubleshooting h5 a { float: left; margin-left: -30px; } -ul.nostyle { margin: 0; padding: 0; list-style: none outside; } -#Troubleshooting td { padding-bottom: 1em; } -*/ - -/************************************************************** FAQ ***/ - -/* -#FAQ h5 a { float: left; margin-left: -30px; } -*/ - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/curlybraces.html b/Java/Processing/processing-3.3.6/modes/java/reference/curlybraces.html deleted file mode 100644 index 15d985d..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/curlybraces.html +++ /dev/null @@ -1,169 +0,0 @@ - - - - {} (curly braces) \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

{} (curly braces)

Examples
-int[] a = { 5, 20, 25, 45, 70 };
-
-void setup() {
-  size(100, 100);
-}
-
-void draw() {
-  for (int i=0; i < a.length; i++) {
-    line(0, a[i], 50, a[i]);
-  }
-}
-
-
Description -Define the beginning and end of functions blocks and statement blocks such as the for and if structures. Curly braces are also used for defining inital values in array declarations. -
Syntax
-{ statements }
-{ ele0, ..., eleN }
-
Parameters - - - - - - -
statementsany sequence of valid statements
ele0, ..., eleNlist of elements separated by commas
Related() (parentheses)
- -Updated on April 30, 2017 02:33:22pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/cursor_.html b/Java/Processing/processing-3.3.6/modes/java/reference/cursor_.html deleted file mode 100644 index 2717a01..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/cursor_.html +++ /dev/null @@ -1,181 +0,0 @@ - - - - cursor() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

cursor()

Examples
-// Move the mouse left and right across the image
-// to see the cursor change from a cross to a hand
-
-void draw() 
-{
-  if (mouseX < 50) {
-    cursor(CROSS);
-  } else {
-    cursor(HAND);
-  }
-}
-
-
Description -Sets the cursor to a predefined symbol or an image, or makes it visible if already hidden. If you are trying to set an image as the cursor, the recommended size is 16x16 or 32x32 pixels. It is not possible to load an image as the cursor if you are exporting your program for the Web, and not all MODES work with all browsers. The values for parameters x and y must be less than the dimensions of the image. -

-Setting or hiding the cursor does not generally work with "Present" mode (when running full-screen). -

-With the P2D and P3D renderers, a generic set of cursors are used because the OpenGL renderer doesn't have access to the default cursor images for each platform (Issue 3791). -
Syntax
cursor(kind)
-cursor(img)
-cursor(img, x, y)
-cursor()
Parameters - - - - - - - - - - - - - - -
kindint: either ARROW, CROSS, HAND, MOVE, TEXT, or WAIT
imgPImage: any variable of type PImage
xint: the horizontal active spot of the cursor
yint: the vertical active spot of the cursor
Returnsvoid
RelatednoCursor()
- -Updated on April 30, 2017 02:33:16pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/curveDetail_.html b/Java/Processing/processing-3.3.6/modes/java/reference/curveDetail_.html deleted file mode 100644 index 8341aa7..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/curveDetail_.html +++ /dev/null @@ -1,176 +0,0 @@ - - - - curveDetail() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

curveDetail()

Examples
example pic
-void setup() {
-  size(100, 100, P3D);
-  noFill();
-  noLoop();
-}
-
-void draw() {
-  curveDetail(1);
-  drawCurves(-15);
-  stroke(126);
-  curveDetail(2);
-  drawCurves(0);
-  stroke(255);
-  curveDetail(4);
-  drawCurves(15);
-}
-
-void drawCurves(float y) {
-  curve( 5, 28+y,  5, 28+y, 73, 26+y, 73, 63+y);
-  curve( 5, 28+y, 73, 26+y, 73, 63+y, 15, 67+y); 
-  curve(73, 26+y, 73, 63+y, 15, 67+y, 15, 67+y);
-}
-
-
-
Description -Sets the resolution at which curves display. The default value is 20. This function is only useful when using the P3D renderer as the default P2D renderer does not use this information. -
Syntax
curveDetail(detail)
Parameters - - -
detailint: resolution of the curves
Returnsvoid
Relatedcurve()
-curveVertex()
-curveTightness()
- -Updated on April 30, 2017 02:33:18pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/curvePoint_.html b/Java/Processing/processing-3.3.6/modes/java/reference/curvePoint_.html deleted file mode 100644 index 4a81281..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/curvePoint_.html +++ /dev/null @@ -1,184 +0,0 @@ - - - - curvePoint() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

curvePoint()

Examples
example pic
-noFill();
-curve(5, 26, 5, 26, 73, 24, 73, 61);
-curve(5, 26, 73, 24, 73, 61, 15, 65);
-fill(255);
-ellipseMode(CENTER);
-int steps = 6;
-for (int i = 0; i <= steps; i++) {
-  float t = i / float(steps);
-  float x = curvePoint(5, 5, 73, 73, t);
-  float y = curvePoint(26, 26, 24, 61, t);
-  ellipse(x, y, 5, 5);
-  x = curvePoint(5, 73, 73, 15, t);
-  y = curvePoint(26, 24, 61, 65, t);
-  ellipse(x, y, 5, 5);
-}
-
-
Description -Evaluates the curve at point t for points a, b, c, d. The parameter t may range from 0 (the start of the curve) and 1 (the end of the curve). a and d are points on the curve, and b and c are the control points. This can be used once with the x coordinates and a second time with the y coordinates to get the location of a curve at t. -
Syntax
curvePoint(a, b, c, d, t)
Parameters - - - - - - - - - - - - - - - - - - -
afloat: coordinate of first point on the curve
bfloat: coordinate of second point on the curve
cfloat: coordinate of third point on the curve
dfloat: coordinate of fourth point on the curve
tfloat: value between 0 and 1
Returnsfloat
Relatedcurve()
-curveVertex()
-bezierPoint()
- -Updated on April 30, 2017 02:33:18pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/curveTangent_.html b/Java/Processing/processing-3.3.6/modes/java/reference/curveTangent_.html deleted file mode 100644 index c8a08c5..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/curveTangent_.html +++ /dev/null @@ -1,184 +0,0 @@ - - - - curveTangent() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

curveTangent()

Examples
example pic
-noFill();
-curve(5, 26, 73, 24, 73, 61, 15, 65); 
-int steps = 6;
-for (int i = 0; i <= steps; i++) {
-  float t = i / float(steps);
-  float x = curvePoint(5, 73, 73, 15, t);
-  float y = curvePoint(26, 24, 61, 65, t);
-  //ellipse(x, y, 5, 5);
-  float tx = curveTangent(5, 73, 73, 15, t);
-  float ty = curveTangent(26, 24, 61, 65, t);
-  float a = atan2(ty, tx);
-  a -= PI/2.0;
-  line(x, y, cos(a)*8 + x, sin(a)*8 + y);
-}
-
-
Description -Calculates the tangent of a point on a curve. There's a good definition of tangent on Wikipedia. -
Syntax
curveTangent(a, b, c, d, t)
Parameters - - - - - - - - - - - - - - - - - - -
afloat: coordinate of first point on the curve
bfloat: coordinate of first control point
cfloat: coordinate of second control point
dfloat: coordinate of second point on the curve
tfloat: value between 0 and 1
Returnsfloat
Relatedcurve()
-curveVertex()
-curvePoint()
-bezierTangent()
- -Updated on April 30, 2017 02:33:18pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/curveTightness_.html b/Java/Processing/processing-3.3.6/modes/java/reference/curveTightness_.html deleted file mode 100644 index 40d7539..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/curveTightness_.html +++ /dev/null @@ -1,172 +0,0 @@ - - - - curveTightness() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

curveTightness()

Examples
-// Move the mouse left and right to see the curve change
-
-void setup() {
-  size(100, 100);
-  noFill();
-}
-
-void draw() {
-  background(204);
-  float t = map(mouseX, 0, width, -5, 5);
-  curveTightness(t);
-  beginShape();
-  curveVertex(10, 26);
-  curveVertex(10, 26);
-  curveVertex(83, 24);
-  curveVertex(83, 61);
-  curveVertex(25, 65); 
-  curveVertex(25, 65);
-  endShape();
-}
-
-
Description -Modifies the quality of forms created with curve() and curveVertex(). The parameter tightness determines how the curve fits to the vertex points. The value 0.0 is the default value for tightness (this value defines the curves to be Catmull-Rom splines) and the value 1.0 connects all the points with straight lines. Values within the range -5.0 and 5.0 will deform the curves but will leave them recognizable and as values increase in magnitude, they will continue to deform. -
Syntax
curveTightness(tightness)
Parameters - - -
tightnessfloat: amount of deformation from the original vertices
Returnsvoid
Relatedcurve()
-curveVertex()
- -Updated on April 30, 2017 02:33:18pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/curveVertex_.html b/Java/Processing/processing-3.3.6/modes/java/reference/curveVertex_.html deleted file mode 100644 index 6d4a73a..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/curveVertex_.html +++ /dev/null @@ -1,174 +0,0 @@ - - - - curveVertex() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

curveVertex()

Examples
example pic
-noFill();
-beginShape();
-curveVertex(84,  91);
-curveVertex(84,  91);
-curveVertex(68,  19);
-curveVertex(21,  17);
-curveVertex(32, 100);
-curveVertex(32, 100);
-endShape();
-
-
Description -Specifies vertex coordinates for curves. This function may only be used between beginShape() and endShape() and only when there is no MODE parameter specified to beginShape(). The first and last points in a series of curveVertex() lines will be used to guide the beginning and end of a the curve. A minimum of four points is required to draw a tiny curve between the second and third points. Adding a fifth point with curveVertex() will draw the curve between the second, third, and fourth points. The curveVertex() function is an implementation of Catmull-Rom splines. Using the 3D version requires rendering with P3D (see the Environment reference for more information). -
Syntax
curveVertex(x, y)
-curveVertex(x, y, z)
Parameters - - - - - - - - - - -
xfloat: the x-coordinate of the vertex
yfloat: the y-coordinate of the vertex
zfloat: the z-coordinate of the vertex
Returnsvoid
Relatedcurve()
-beginShape()
-endShape()
-vertex()
-bezier()
-quadraticVertex()
- -Updated on April 30, 2017 02:33:18pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/curve_.html b/Java/Processing/processing-3.3.6/modes/java/reference/curve_.html deleted file mode 100644 index 5e17c33..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/curve_.html +++ /dev/null @@ -1,205 +0,0 @@ - - - - curve() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

curve()

Examples
example pic
-noFill();
-stroke(255, 102, 0);
-curve(5, 26, 5, 26, 73, 24, 73, 61);
-stroke(0); 
-curve(5, 26, 73, 24, 73, 61, 15, 65); 
-stroke(255, 102, 0);
-curve(73, 24, 73, 61, 15, 65, 15, 65);
-
-
Description -Draws a curved line on the screen. The first and second parameters specify the beginning control point and the last two parameters specify the ending control point. The middle parameters specify the start and stop of the curve. Longer curves can be created by putting a series of curve() functions together or using curveVertex(). An additional function called curveTightness() provides control for the visual quality of the curve. The curve() function is an implementation of Catmull-Rom splines. Using the 3D version requires rendering with P3D (see the Environment reference for more information). -
Syntax
curve(x1, y1, x2, y2, x3, y3, x4, y4)
-curve(x1, y1, z1, x2, y2, z2, x3, y3, z3, x4, y4, z4)
Parameters - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
x1float: coordinates for the beginning control point
y1float: coordinates for the beginning control point
x2float: coordinates for the first point
y2float: coordinates for the first point
x3float: coordinates for the second point
y3float: coordinates for the second point
x4float: coordinates for the ending control point
y4float: coordinates for the ending control point
z1float: coordinates for the beginning control point
z2float: coordinates for the first point
z3float: coordinates for the second point
z4float: coordinates for the ending control point
Returnsvoid
RelatedcurveVertex()
-curveTightness()
-bezier()
- -Updated on April 30, 2017 02:33:18pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/day_.html b/Java/Processing/processing-3.3.6/modes/java/reference/day_.html deleted file mode 100644 index 6051166..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/day_.html +++ /dev/null @@ -1,163 +0,0 @@ - - - - day() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

day()

Examples
-int d = day();    // Values from 1 - 31
-int m = month();  // Values from 1 - 12
-int y = year();   // 2003, 2004, 2005, etc.
-
-String s = String.valueOf(d);
-text(s, 10, 28);
-s = String.valueOf(m);
-text(s, 10, 56); 
-s = String.valueOf(y);
-text(s, 10, 84);
-
-
Description -Processing communicates with the clock on your computer. The day() function returns the current day as a value from 1 - 31. -
Syntax
day()
Returnsint
Relatedmillis()
-second()
-minute()
-hour()
-month()
-year()
- -Updated on April 30, 2017 02:33:16pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/decrement.html b/Java/Processing/processing-3.3.6/modes/java/reference/decrement.html deleted file mode 100644 index e4a52cd..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/decrement.html +++ /dev/null @@ -1,158 +0,0 @@ - - - - -- (decrement) \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

-- (decrement)

Examples
-int a = 5;    // Sets 'a' to 5 
-int b = a--;  // Sets 'b' to 5, then decrements 'a' to 4
-int c = a;    // Sets 'c' to 4 
-
-
Description -Substracts the value of an integer variable by 1. Equivalent to the operation i = i - 1. If the value of the variable i is five, then the expression i-- decreases the value of i to 4. -
Syntax
-var--
-
Parameters - - -
varint
Related- (minus)
--= (subtract assign)
-++ (increment)
- -Updated on April 30, 2017 02:33:22pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/default.html b/Java/Processing/processing-3.3.6/modes/java/reference/default.html deleted file mode 100644 index 7a48d7b..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/default.html +++ /dev/null @@ -1,168 +0,0 @@ - - - - default \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

default

Examples
-char letter = 'F';
-
-switch(letter) {
-  case 'A': 
-    println("Alpha");  // Does not execute
-    break;
-  case 'B': 
-    println("Bravo");  // Does not execute
-    break;
-  default:
-    println("Zulu");   // Prints "Zulu"
-    break;
-}
-
-
Description -Keyword for defining the default condition of a switch. If none of the case labels match the switch parameter, the statement(s) after the default syntax are executed. Switch structures don't require a default. -
Syntax
-default: statements
-
Parameters - - -
statementsone or more valid statements to be executed
Relatedswitch
-break
-case
- -Updated on April 30, 2017 02:33:23pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/degrees_.html b/Java/Processing/processing-3.3.6/modes/java/reference/degrees_.html deleted file mode 100644 index c0c7af4..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/degrees_.html +++ /dev/null @@ -1,154 +0,0 @@ - - - - degrees() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

degrees()

Examples
-float rad = PI/4;
-float deg = degrees(rad);
-println(rad + " radians is " + deg + " degrees");
-
-
Description -Converts a radian measurement to its corresponding value in degrees. Radians and degrees are two ways of measuring the same thing. There are 360 degrees in a circle and 2*PI radians in a circle. For example, 90° = PI/2 = 1.5707964. All trigonometric functions in Processing require their parameters to be specified in radians. -
Syntax
degrees(radians)
Parameters - - -
radiansfloat: radian value to convert to degrees
Returnsfloat
Relatedradians()
- -Updated on April 30, 2017 02:33:16pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/delay_.html b/Java/Processing/processing-3.3.6/modes/java/reference/delay_.html deleted file mode 100644 index 5849db8..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/delay_.html +++ /dev/null @@ -1,172 +0,0 @@ - - - - delay() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

delay()

Examples
-import processing.serial.*;
-
-Serial myPort;  // The serial port
-
-void setup() {
-  printArray(Serial.list());
-  myPort = new Serial(this, Serial.list()[0], 9600);
-}
-
-void draw() {
-  while (myPort.available() > 0) {
-    int inByte = myPort.read();
-    println(inByte);
-  }
-  delay(100);
-}
-
-
Description -The delay() function halts for a specified time. Delay times are specified in thousandths of a second. For example, running delay(3000) will stop the program for three seconds and delay(500) will stop the program for a half-second.
-
-The screen only updates when the end of draw() is reached, so delay() cannot be used to slow down drawing. For instance, you cannot use delay() to control the timing of an animation.
-
-The delay() function should only be used for pausing scripts (i.e. a script that needs to pause a few seconds before attempting a download, or a sketch that needs to wait a few milliseconds before reading from the serial port.) -
Syntax
delay(napTime)
Parameters - - -
napTimeint: milliseconds to pause before running draw() again
Returnsvoid
RelatedframeRate
-draw()
- -Updated on April 30, 2017 02:33:16pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/directionalLight_.html b/Java/Processing/processing-3.3.6/modes/java/reference/directionalLight_.html deleted file mode 100644 index da6abe1..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/directionalLight_.html +++ /dev/null @@ -1,189 +0,0 @@ - - - - directionalLight() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

directionalLight()

Examples
example pic
-size(100, 100, P3D);
-background(0);
-noStroke();
-directionalLight(51, 102, 126, -1, 0, 0);
-translate(20, 50, 0);
-sphere(30);
-
- -
example pic
-size(100, 100, P3D);
-background(0);
-noStroke();
-directionalLight(51, 102, 126, 0, -1, 0);
-translate(80, 50, 0);
-sphere(30);
-
-
Description -Adds a directional light. Directional light comes from one direction: it is stronger when hitting a surface squarely, and weaker if it hits at a gentle angle. After hitting a surface, directional light scatters in all directions. Lights need to be included in the draw() to remain persistent in a looping program. Placing them in the setup() of a looping program will cause them to only have an effect the first time through the loop. The v1, v2, and v3 parameters are interpreted as either RGB or HSB values, depending on the current color mode. The nx, ny, and nz parameters specify the direction the light is facing. For example, setting ny to -1 will cause the geometry to be lit from below (since the light would be facing directly upward). -
Syntax
directionalLight(v1, v2, v3, nx, ny, nz)
Parameters - - - - - - - - - - - - - - - - - - - - - - -
v1float: red or hue value (depending on current color mode)
v2float: green or saturation value (depending on current color mode)
v3float: blue or brightness value (depending on current color mode)
nxfloat: direction along the x-axis
nyfloat: direction along the y-axis
nzfloat: direction along the z-axis
Returnsvoid
Relatedlights()
-ambientLight()
-pointLight()
-spotLight()
- -Updated on April 30, 2017 02:33:18pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/displayDensity_.html b/Java/Processing/processing-3.3.6/modes/java/reference/displayDensity_.html deleted file mode 100644 index 0a81824..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/displayDensity_.html +++ /dev/null @@ -1,164 +0,0 @@ - - - - displayDensity() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

displayDensity()

Examples
-void setup() {
-  size(100, 100);
-  pixelDensity(displayDensity());
-  noStroke();
-}
-
-void draw() {
-  background(0);
-  ellipse(30, 48, 36, 36);
-  ellipse(70, 48, 36, 36);
-}
-
-
Description -This function returns the number "2" if the screen is a high-density screen (called a Retina display on OS X or high-dpi on Windows and Linux) and a "1" if not. This information is useful for a program to adapt to run at double the pixel density on a screen that supports it. -
Syntax
displayDensity()
-displayDensity(display)
Parameters - - -
displayint: the display number to check
Returnsint
RelatedpixelDensity()
-size()
- -Updated on April 30, 2017 02:33:15pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/dist_.html b/Java/Processing/processing-3.3.6/modes/java/reference/dist_.html deleted file mode 100644 index fc60422..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/dist_.html +++ /dev/null @@ -1,182 +0,0 @@ - - - - dist() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

dist()

Examples
-// Sets the background gray value based on the distance 
-// of the mouse from the center of the screen
-void draw() {
-  noStroke();
-  float d = dist(width/2, height/2, mouseX, mouseY);
-  float maxDist = dist(0, 0, width/2, height/2);
-  float gray = map(d, 0, maxDist, 0, 255);
-  fill(gray);
-  rect(0, 0, width, height);
-}
-
-
Description -Calculates the distance between two points. -
Syntax
dist(x1, y1, x2, y2)
-dist(x1, y1, z1, x2, y2, z2)
Parameters - - - - - - - - - - - - - - - - - - - - - - -
x1float: x-coordinate of the first point
y1float: y-coordinate of the first point
z1float: z-coordinate of the first point
x2float: x-coordinate of the second point
y2float: y-coordinate of the second point
z2float: z-coordinate of the second point
Returnsfloat
- -Updated on April 30, 2017 02:33:16pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/divide.html b/Java/Processing/processing-3.3.6/modes/java/reference/divide.html deleted file mode 100644 index e8e700f..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/divide.html +++ /dev/null @@ -1,160 +0,0 @@ - - - - / (divide) \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

/ (divide)

Examples
-int g = 50 / 5;  // Assigns 10 to 'g'
-int h = g / 5;   // Assigns 2 to 'h'
-
-
Description -Divides the value of the first parameter by the value of the second parameter. The answer to the equation 20 / 4 is 5. The number 20 is the sum of four occurences of the number 5. As an equation we see that 5 + 5 + 5 + 5 = 20. -
Syntax
-value1 / value2
-
Parameters - - - - - - -
value1int or float
value2int or float, but not zero (it is not possible divide by zero)
Related* (multiply)
-% (modulo)
- -Updated on April 30, 2017 02:33:23pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/divideassign.html b/Java/Processing/processing-3.3.6/modes/java/reference/divideassign.html deleted file mode 100644 index 842bbca..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/divideassign.html +++ /dev/null @@ -1,161 +0,0 @@ - - - - /= (divide assign) \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

/= (divide assign)

Examples
-int a = 12;
-int b = 3;
-a /= b;  // Sets 'a' to 4
-
-
Description -Combines division with assignment. The expression a /= b is equivalent to a = a / b. -
Syntax
-value1 /= value2
-
Parameters - - - - - - -
value1int or float
value2any numerical value the same datatype as value1
Related= (assign)
-/ (divide)
- -Updated on April 30, 2017 02:33:23pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/doccomment.html b/Java/Processing/processing-3.3.6/modes/java/reference/doccomment.html deleted file mode 100644 index 900d3a8..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/doccomment.html +++ /dev/null @@ -1,163 +0,0 @@ - - - - /** */ (doc comment) \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

/** */ (doc comment)

Examples
-/**
-   Draws two lines which divides the window 
-   into four quadrants. First draws a horizontal
-   line and then the vertical line 
-*/ 
-line(0, 50, 100, 50);
-line(50, 0, 50, 100);
-
-
Description -Explanatory notes embedded within the code and written to the "index.html" file created when the code is exported. Doc comments (documentation comments) are used for sharing a description of your sketch when the program is exported. Export the code by hitting the "Export" button on the Toolbar. -
Syntax
-/**
-  comment
-*/
-
Parameters - - -
commentany sequence of characters
Related// (comment)
-/* */ (multiline comment)
- -Updated on April 30, 2017 02:33:22pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/dot.html b/Java/Processing/processing-3.3.6/modes/java/reference/dot.html deleted file mode 100644 index 623c3b2..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/dot.html +++ /dev/null @@ -1,192 +0,0 @@ - - - - . (dot) \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

. (dot)

Examples
-// Declare and construct two objects (h1 and h2) of the class HLine
-HLine h1 = new HLine(20, 1.0);
-HLine h2 = new HLine(50, 5.0);
-
-void setup() {
-  size(200, 200);
-}
-
-void draw() {
-  if (h2.speed > 1.0) {  // Dot syntax can be used to get a value
-    h2.speed -= 0.01;    // or set a value.
-  }
-  h1.update();  // Calls the h1 object's update() function
-  h2.update();  // Calls the h2 object's update() function
-}
-
-class HLine {  // Class definition
-  float ypos, speed;  // Data
-  HLine (float y, float s) {  // Object constructor
-    ypos = y;
-    speed = s;
-  }
-  void update() {  // Update method
-    ypos += speed;
-    if (ypos > width) {
-      ypos = 0;
-    }
-    line(0, ypos, width, ypos);
-  }
-}
-
-
Description -Provides access to an object's methods and data. An object is one instance of a class and may contain both methods (object functions) and data (object variables and constants), as specified in the class definition. The dot operator directs the program to the information encapsulated within an object. -
Syntax
-object.method()
-object.data
-
Parameters - - - - - - - - - - -
objectthe object to be accessed
method()a method encapsulated in the object
dataa variable or constant encapsulated in the object
RelatedObject
- -Updated on April 30, 2017 02:33:23pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/double.html b/Java/Processing/processing-3.3.6/modes/java/reference/double.html deleted file mode 100644 index eb85c48..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/double.html +++ /dev/null @@ -1,162 +0,0 @@ - - - - double \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

double

Examples
-double a;            // Declare variable 'a' of type float
-a = 1.5387;          // Assign 'a' the value 1.5387
-double b = -2.984;   // Declare variable 'b' and assign it the value -2.984
-double c = a + b;    // Declare variable 'c' and assign it the sum of 'a' and 'b'
-float f = (float)c;  // Converts the value of 'c' from a double to a float
-
-
Description -Datatype for floating-point numbers larger than those that can be stored in a float. A float is a 32-bit values that can be as large as 3.40282347E+38 and as low as -3.40282347E+38. A double can be used similarly to a float, but can have a greater magnitude because it's a 64-bit number. Processing functions don't use this datatype, so while they work in the language, you'll usually have to convert to a float using the (float) syntax before passing into a function.
Syntax
-double var
-double var = value
-
Parameters - - - - - - -
varvariable name referencing the float
valueany floating-point value
Relatedfloat
- -Updated on April 30, 2017 02:33:23pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/draw_.html b/Java/Processing/processing-3.3.6/modes/java/reference/draw_.html deleted file mode 100644 index 631f36a..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/draw_.html +++ /dev/null @@ -1,191 +0,0 @@ - - - - draw() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

draw()

Examples
-float yPos = 0.0;
-
-void setup() {  // setup() runs once
-  size(200, 200);
-  frameRate(30);
-}
- 
-void draw() {  // draw() loops forever, until stopped
-  background(204);
-  yPos = yPos - 1.0;
-  if (yPos < 0) {
-    yPos = height;
-  }
-  line(0, yPos, width, yPos);
-}
-
-
-
-void setup() {
-  size(200, 200);
-}
-
-// Although empty here, draw() is needed so
-// the sketch can process user input events
-// (mouse presses in this case).
-void draw() { }
-
-void mousePressed() {
-  line(mouseX, 10, mouseX, 90);
-}
-
-
Description -Called directly after setup(), the draw() function continuously executes the lines of code contained inside its block until the program is stopped or noLoop() is called. draw() is called automatically and should never be called explicitly. All Processing programs update the screen at the end of draw(), never earlier.
-
-To stop the code inside of draw() from running continuously, use noLoop(), redraw() and loop(). If noLoop() is used to stop the code in draw() from running, then redraw() will cause the code inside draw() to run a single time, and loop() will cause the code inside draw() to resume running continuously.
-
-The number of times draw() executes in each second may be controlled with the frameRate() function.
-
-It is common to call background() near the beginning of the draw() loop to clear the contents of the window, as shown in the first example above. Since pixels drawn to the window are cumulative, omitting background() may result in unintended results.
-
-There can only be one draw() function for each sketch, and draw() must exist if you want the code to run continuously, or to process events such as mousePressed(). Sometimes, you might have an empty call to draw() in your program, as shown in the second example above. -
Syntax
draw()
Returnsvoid
Relatedsetup()
-loop()
-noLoop()
-redraw()
-frameRate()
-background()
- -Updated on April 30, 2017 02:33:16pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/ellipseMode_.html b/Java/Processing/processing-3.3.6/modes/java/reference/ellipseMode_.html deleted file mode 100644 index d4dd117..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/ellipseMode_.html +++ /dev/null @@ -1,179 +0,0 @@ - - - - ellipseMode() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

ellipseMode()

Examples
example pic
-ellipseMode(RADIUS);  // Set ellipseMode to RADIUS
-fill(255);  // Set fill to white
-ellipse(50, 50, 30, 30);  // Draw white ellipse using RADIUS mode
-
-ellipseMode(CENTER);  // Set ellipseMode to CENTER
-fill(100);  // Set fill to gray
-ellipse(50, 50, 30, 30);  // Draw gray ellipse using CENTER mode
-
- -
example pic
-ellipseMode(CORNER);  // Set ellipseMode is CORNER
-fill(255);  // Set fill to white
-ellipse(25, 25, 50, 50);  // Draw white ellipse using CORNER mode
-
-ellipseMode(CORNERS);  // Set ellipseMode to CORNERS
-fill(100);  // Set fill to gray
-ellipse(25, 25, 50, 50);  // Draw gray ellipse using CORNERS mode
-
-
Description -Modifies the location from which ellipses are drawn by changing the way in which parameters given to ellipse() are intepreted.
-
-The default mode is ellipseMode(CENTER), which interprets the first two parameters of ellipse() as the shape's center point, while the third and fourth parameters are its width and height.
-
-ellipseMode(RADIUS) also uses the first two parameters of ellipse() as the shape's center point, but uses the third and fourth parameters to specify half of the shapes's width and height.
-
-ellipseMode(CORNER) interprets the first two parameters of ellipse() as the upper-left corner of the shape, while the third and fourth parameters are its width and height.
-
-ellipseMode(CORNERS) interprets the first two parameters of ellipse() as the location of one corner of the ellipse's bounding box, and the third and fourth parameters as the location of the opposite corner.
-
-The parameter must be written in ALL CAPS because Processing is a case-sensitive language. -
Syntax
ellipseMode(mode)
Parameters - - -
modeint: either CENTER, RADIUS, CORNER, or CORNERS
Returnsvoid
Relatedellipse()
-arc()
- -Updated on April 30, 2017 02:33:18pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/ellipse_.html b/Java/Processing/processing-3.3.6/modes/java/reference/ellipse_.html deleted file mode 100644 index 7e62fe5..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/ellipse_.html +++ /dev/null @@ -1,165 +0,0 @@ - - - - ellipse() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

ellipse()

Examples
example pic
-ellipse(56, 46, 55, 55);
-
-
Description -Draws an ellipse (oval) to the screen. An ellipse with equal width and height is a circle. By default, the first two parameters set the location, and the third and fourth parameters set the shape's width and height. The origin may be changed with the ellipseMode() function. -
Syntax
ellipse(a, b, c, d)
Parameters - - - - - - - - - - - - - - -
afloat: x-coordinate of the ellipse
bfloat: y-coordinate of the ellipse
cfloat: width of the ellipse by default
dfloat: height of the ellipse by default
Returnsvoid
RelatedellipseMode()
-arc()
- -Updated on April 30, 2017 02:33:18pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/else.html b/Java/Processing/processing-3.3.6/modes/java/reference/else.html deleted file mode 100644 index 5065f13..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/else.html +++ /dev/null @@ -1,188 +0,0 @@ - - - - else \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

else

Examples
example pic
-for (int i = 5; i < 95; i += 5) {
-  if (i < 35) {
-    line(30, i, 80, i);
-  } else {
-    line(20, i, 90, i);
-  }
-}
-
- -
example pic
-for (int i = 5; i < 95; i += 5) {
-  if (i < 35) {
-    line(30, i, 80, i);
-  } else if (i < 65) {
-    line(20, i, 90, i);
-  } else {
-    line(0, i, 100, i);
-  }
-}
-
-
Description -Extends the if structure allowing the program to choose between two or more blocks of code. It specifies a block of code to execute when the expression in if is false. -
Syntax
-if (expression) { 
-  statements 
-} else { 
-  statements 
-} 
-
-if (expression) { 
-  statements 
-} else if (expression) { 
-  statements 
-} else { 
-  statements 
-}
-
Parameters - - - - - - -
expressionany valid expression that evaluates to true or false
statementsone or more statements to be executed
Relatedif
- -Updated on April 30, 2017 02:33:23pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/emissive_.html b/Java/Processing/processing-3.3.6/modes/java/reference/emissive_.html deleted file mode 100644 index 523aee4..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/emissive_.html +++ /dev/null @@ -1,175 +0,0 @@ - - - - emissive() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

emissive()

Examples
example pic
-size(100, 100, P3D);
-background(0);
-noStroke();
-background(0);
-directionalLight(204, 204, 204, .5, 0, -1);
-emissive(0, 26, 51);
-translate(70, 50, 0);
-sphere(30);
-
-
Description -Sets the emissive color of the material used for drawing shapes drawn to the screen. Used in combination with ambient(), specular(), and shininess() in setting the material properties of shapes. -
Syntax
emissive(rgb)
-emissive(gray)
-emissive(v1, v2, v3)
Parameters - - - - - - - - - - - - - - -
rgbint: color to set
v1float: red or hue value (depending on current color mode)
v2float: green or saturation value (depending on current color mode)
v3float: blue or brightness value (depending on current color mode)
Returnsvoid
Relatedambient()
-specular()
-shininess()
- -Updated on April 30, 2017 02:33:18pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/endCamera_.html b/Java/Processing/processing-3.3.6/modes/java/reference/endCamera_.html deleted file mode 100644 index ff75d9b..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/endCamera_.html +++ /dev/null @@ -1,160 +0,0 @@ - - - - endCamera() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

endCamera()

Examples
example pic
-size(100, 100, P3D);
-noFill();
-
-beginCamera();
-camera();
-rotateX(-PI/6);
-endCamera();
-
-translate(50, 50, 0);
-rotateY(PI/3);
-box(45);
-
-
Description -The beginCamera() and endCamera() functions enable advanced customization of the camera space. Please see the reference for beginCamera() for a description of how the functions are used. -
Syntax
endCamera()
Returnsvoid
RelatedbeginCamera()
-camera()
- -Updated on April 30, 2017 02:33:18pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/endContour_.html b/Java/Processing/processing-3.3.6/modes/java/reference/endContour_.html deleted file mode 100644 index 506e0de..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/endContour_.html +++ /dev/null @@ -1,167 +0,0 @@ - - - - endContour() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

endContour()

Examples
example pic
-size(100, 100);
-translate(50, 50);
-stroke(255, 0, 0);
-beginShape();
-// Exterior part of shape, clockwise winding
-vertex(-40, -40);
-vertex(40, -40);
-vertex(40, 40);
-vertex(-40, 40);
-// Interior part of shape, counter-clockwise winding
-beginContour();
-vertex(-20, -20);
-vertex(-20, 20);
-vertex(20, 20);
-vertex(20, -20);
-endContour();
-endShape(CLOSE);
-
-
Description -Use the beginContour() and endContour() function to create negative shapes within shapes such as the center of the letter 'O'. beginContour() begins recording vertices for the shape and endContour() stops recording. The vertices that define a negative shape must "wind" in the opposite direction from the exterior shape. First draw vertices for the exterior shape in clockwise order, then for internal shapes, draw vertices counterclockwise.
-
-These functions can only be used within a beginShape()/endShape() pair and transformations such as translate(), rotate(), and scale() do not work within a beginContour()/endContour() pair. It is also not possible to use other shapes, such as ellipse() or rect() within. -
Syntax
endContour()
Returnsvoid
- -Updated on April 30, 2017 02:33:17pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/endRaw_.html b/Java/Processing/processing-3.3.6/modes/java/reference/endRaw_.html deleted file mode 100644 index 5e7adb5..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/endRaw_.html +++ /dev/null @@ -1,165 +0,0 @@ - - - - endRaw() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

endRaw()

Examples
-import processing.pdf.*;
-
-void setup() {
-  size(400, 400);
-  beginRaw(PDF, "raw.pdf");
-}
-
-void draw() {
-  line(pmouseX, pmouseY, mouseX, mouseY);
-}
-
-void keyPressed() {
-  if (key == ' ') {
-    endRaw();
-    exit();
-  }
-}
-
-
Description -Complement to beginRaw(); they must always be used together. See the beginRaw() reference for details. -
Syntax
endRaw()
Returnsvoid
RelatedbeginRaw()
- -Updated on April 30, 2017 02:33:17pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/endRecord_.html b/Java/Processing/processing-3.3.6/modes/java/reference/endRecord_.html deleted file mode 100644 index 5aa65f9..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/endRecord_.html +++ /dev/null @@ -1,163 +0,0 @@ - - - - endRecord() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

endRecord()

Examples
-import processing.pdf.*;
-
-void setup() {
-  size(400, 400);
-  beginRecord(PDF, "everything.pdf");
-}
-
-void draw() {
-  ellipse(mouseX, mouseY, 10, 10);
-}
-
-void mousePressed() {
-  endRecord();
-  exit();
-} 
-
-
Description -Stops the recording process started by beginRecord() and closes the file. -
Syntax
endRecord()
Returnsvoid
RelatedbeginRecord()
- -Updated on April 30, 2017 02:33:17pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/endShape_.html b/Java/Processing/processing-3.3.6/modes/java/reference/endShape_.html deleted file mode 100644 index a09054f..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/endShape_.html +++ /dev/null @@ -1,166 +0,0 @@ - - - - endShape() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

endShape()

Examples
example pic
-noFill();
-
-beginShape();
-vertex(20, 20);
-vertex(45, 20);
-vertex(45, 80);
-endShape(CLOSE);
-
-beginShape();
-vertex(50, 20);
-vertex(75, 20);
-vertex(75, 80);
-endShape();
-
-
Description -The endShape() function is the companion to beginShape() and may only be called after beginShape(). When endshape() is called, all of image data defined since the previous call to beginShape() is written into the image buffer. The constant CLOSE as the value for the MODE parameter to close the shape (to connect the beginning and the end). -
Syntax
endShape()
-endShape(mode)
Parameters - - -
modeint: use CLOSE to close the shape
Returnsvoid
RelatedPShape
-beginShape()
- -Updated on April 30, 2017 02:33:17pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/environment/images/coordinates.gif b/Java/Processing/processing-3.3.6/modes/java/reference/environment/images/coordinates.gif deleted file mode 100644 index f49f37b..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/environment/images/coordinates.gif and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/environment/images/coordinates2D3D.png b/Java/Processing/processing-3.3.6/modes/java/reference/environment/images/coordinates2D3D.png deleted file mode 100644 index c9a975c..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/environment/images/coordinates2D3D.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/environment/images/export.gif b/Java/Processing/processing-3.3.6/modes/java/reference/environment/images/export.gif deleted file mode 100644 index 70876a4..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/environment/images/export.gif and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/environment/images/header.gif b/Java/Processing/processing-3.3.6/modes/java/reference/environment/images/header.gif deleted file mode 100644 index 7b36aae..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/environment/images/header.gif and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/environment/images/ide.gif b/Java/Processing/processing-3.3.6/modes/java/reference/environment/images/ide.gif deleted file mode 100644 index bdac0c0..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/environment/images/ide.gif and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/environment/images/new.gif b/Java/Processing/processing-3.3.6/modes/java/reference/environment/images/new.gif deleted file mode 100644 index 26e052d..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/environment/images/new.gif and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/environment/images/open.gif b/Java/Processing/processing-3.3.6/modes/java/reference/environment/images/open.gif deleted file mode 100644 index 1851769..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/environment/images/open.gif and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/environment/images/play.gif b/Java/Processing/processing-3.3.6/modes/java/reference/environment/images/play.gif deleted file mode 100644 index e0ffc0a..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/environment/images/play.gif and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/environment/images/save.gif b/Java/Processing/processing-3.3.6/modes/java/reference/environment/images/save.gif deleted file mode 100644 index 4bf750d..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/environment/images/save.gif and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/environment/images/stop.gif b/Java/Processing/processing-3.3.6/modes/java/reference/environment/images/stop.gif deleted file mode 100644 index 43f3219..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/environment/images/stop.gif and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/environment/images/up_arrow.gif b/Java/Processing/processing-3.3.6/modes/java/reference/environment/images/up_arrow.gif deleted file mode 100644 index 9c30d88..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/environment/images/up_arrow.gif and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/environment/index.html b/Java/Processing/processing-3.3.6/modes/java/reference/environment/index.html deleted file mode 100644 index e4d8569..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/environment/index.html +++ /dev/null @@ -1,657 +0,0 @@ - - - - Environment (IDE) \ Processing 2+ - - - - - - - - - - - - - - - - - - -
- - - - - - - - - -
- -

Environment (IDE). The Processing Environment includes a text editor, a compiler, and a display window. It enables the creation of software within a carefully designed set of constraints.

- - -

- Overview
- - Processing Development Environment (PDE)
- Preferences
- Sketches and Sketchbook
- Renderers
- Coordinates
- Tabs, Multiple Files, and Classes
- Debug
- Programming Modes
- Adding Libraries, Tools, Modes, and Examples
- Export
- -

- - - - -
- Top Overview -
- -

- The Processing Development Environment (PDE) makes it easy to write Processing programs. Programs are written in the Text Editor and started by pressing the Run button. In Processing, a computer program is called a sketch. Sketches are stored in the Sketchbook, which is a folder on your computer. -

- -

- Sketches can draw two- and three-dimensional graphics. The default renderer is for drawing two-dimensional graphics. The P3D renderer makes it possible to draw three-dimensional graphics, which includes controlling the camera, lighting, and materials. The P2D renderer is a fast, but less accurate renderer for drawing two-dimensional graphics. Both the P2D and P3D renderers are accelerated if your computer has an OpenGL compatible graphics card. -

- -

- The capabilities of Processing are extended with Libraries and Tools. Libraries make it possible for sketches to do things beyond the core Processing code. There are hundreds of libraries contributed by the Processing community that can be added to your sketches to enable new things like playing sounds, doing computer vision, and working with advanced 3D geometry. Tools extend the PDE to help make creating sketches easier by providing interfaces for tasks like selecting colors. -

- -

- Processing has different programming modes to make it possible to deploy sketches on different platforms and program in different ways. The Java mode is the default. Other programming modes may be downloaded by selecting "Add Mode..." from the menu in the upper-right corner of the PDE. -

- - - - - - -
- Top - Processing Development Environment (PDE) -
- -

- The Processing Development Environment (PDE) consists of a simple text editor for writing code, a message area, a text console, tabs for managing - files, a toolbar with buttons for common actions, and a series of menus. The menus options change from mode to mode. The default Java mode is documented here. -

- -

-
- IDE screenshot -
-

- -

- Programs written using Processing are called sketches. These sketches are written in the text editor. It has features for cutting/pasting and for - searching/replacing text. The message area gives feedback while saving and exporting and also displays errors. The console displays text output by - Processing sketches including complete error messages and text output from sketches with the print() and println() functions. (Note that the console works well for occasional messages, but is not intended for high-speed, real-time output.) -

- -

- The buttons on the toolbar can run and stop programs,: -

- - - - - - - - - - - - -
 Run
- Runs the sketch. In Java mode, it compiles the code and opens a new display window.
 Stop
- Terminates a running sketch. -
- -

- Additional commands are found within the six menus: File, Edit, Sketch, Debug, Tools, Help. - The menus are context sensitive which means only those items relevant to the work currently - being carried out are available. -

- -
File
-
    -
  • New
    - Creates a new sketch in a new window, named as the current date is the format - "sketch_YYMMDDa".
  • -
  • Open...
    - Open a sketch in a new window. -
  • Open Recent
    - Select a sketch to open from the list of recently closed sketches.
  • -
  • Sketchbook...
    - Open a new window to show the list of sketches in the sketchbook.
  • -
  • Examples...
    - Open a new window to show the list of the examples.
  • -
  • Close
    - Close the sketch in the frontmost window. If this is the last sketch that's open, you - will be prompted whether you would like to quit. To avoid the prompt, use Quit instead - of Close when you want to exit the application.
  • -
  • Save
    - Saves the open sketch in it's current state.
  • -
  • Save as...
    - Saves the currently open sketch, with the option of giving it a different - name. Does not replace the previous version of the sketch.
  • -
  • Export
    - Exports a Java application as an executable file and opens the folder containing the exported files.
  • -
  • Page Setup
    - Define page settings for printing.
  • -
  • Print (Ctrl+P)
    - Prints the code inside the text editor.
  • -
  • Preferences
    - Change some of the ways Processing works. (This item is located in the Processing menu - on Mac OS X.)
  • -
  • Quit
    - Exits the Processing Environment and closes all Processing windows. (This item is - located in the Processing menu on Mac OS X.)
  • -
- -
Edit
-
    -
  • Undo
    - Reverses the last command or the last entry typed. Cancel the Undo command by choosing Edit Ā» Redo.
  • -
  • Redo
    - Reverses the action of the last Undo command. This option is only available if there has already been an Undo action.
  • -
  • Cut
    - Removes and copies selected text to the clipboard (an off-screen text buffer).
  • -
  • Copy
    - Copies selected text to the clipboard.
  • -
  • Copy as HTML
    - Formats code as HTML in the same way it appears in the Processing environment and copies it to the clipboard so it can be pasted somewhere else.
  • -
  • Paste
    - Inserts the contents of the clipboard at the location of the cursor, and replaces any selected text.
  • -
  • Select All
    - Selects all of the text in the file which is currently open in the text editor.
  • -
  • Auto Format
    - Attempts to format the code into a more human-readable layout. Auto Format was previously called Beautify.
  • -
  • Comment/Uncomment
    - Comments the selected text. If the selected text is already commented, it uncomments it.
  • -
  • Increase Indent
    - Indents the selected text two spaces.
  • -
  • Decrease Indent (Ctrl+[)
    - If the text is indented, removes two spaces from the indent.
  • -
  • Find...
    - Finds an occurence of a text string within the file open in the text editor and gives the option to replace it with a different text.
  • -
  • Find Next
    - Finds the next occurence of a text string within the file open in the text editor.
  • -
  • Find Previous
    - Finds the previous occurence of a text string within the file open in the text editor.
  • -
  • Use Selection for Find
    - Sets the currently selected text as the item to find with Find Next and Find Previous.
  • -
- - -
Sketch
-
    -
  • Run
    - Runs the code (compiles the code, opens the display window, and runs the sketch inside)
  • -
  • Present
    - Runs the code in the center of the screen with a solid-color background. Click the "stop" button in the lower left to exit the presentation or press the Escape key. Change the background color in the Preferences.
  • -
  • Tweak
    - Runs the code in a way where some color and variable values can be changed while the code is running. The sketch needs to be saved before it can be run as a sketch to Tweak.
  • -
  • Stop
    - If the code is running, stops the execution. Programs written without using the draw() function are stopped automatically after they draw.
  • -
  • Import Library
    - Adds the necessary import statements to the top of the current sketch. For example, selecting Sketch Ā» Import Library Ā» pdf adds the statement "import processing.pdf.*;" to the top of the file. These import statements are necessary for using Libraries. Select Add Libraries... to open the Library Manager to browse and install new libraries.
  • -
  • Show Sketch Folder
    - Opens the folder for the current sketch.
  • -
  • Add File...
    - Opens a file navigator window. Select an image, font, or other media files to add it to the sketch's "data" folder.
  • -
- - -
Debug
-
    -
  • Enable Debugger
    - Activates the debugger. Note that the Run button will change to Debug. New Continue and Step buttons will appear, along with a separate window for viewing variable values. -
  • -
  • Continue
    - Advances the code until the next breakpoint. -
  • -
  • Step
    - Advances the code one line at a time. (Note that once the code reaches the end of the current function call, the debugger will revert to "continue.") -
  • -ff
  • Step Into
    - Advances the debugger into the interior of a function call. This only works for user-defined functions in the sketch. -
  • -
  • Step Out
    - Advances the debugger outside of a function to the calling area. This only works for user-defined functions in the sketch. -
  • -
  • Toggle Breakpoint
    - Add or remove a breakpoint. When a breakpoint is added, the line number is replaced with the symbol: <>. -
  • -
- - -
Tools
-
    -
  • Create Font...
    - Converts fonts into the Processing font format (VLW) and adds to the current sketch. Opens a dialog box that gives options for setting the font, its size, if it is anti-aliased (smooth), and which characters to be generated. The amount of memory required for the font is determined by the size selected and the number of characters selected through the "Characters..." menu; Processing fonts are textures, so larger fonts require more image data. Fonts can also be created in the code with the createFont() function.
  • -
  • Color Selector...
    - Interface for selecting colors. For each color, the HSB, RBG, and Hex values are shown. The Hex value can be copied into the clipboard with the Copy button.
  • -
  • Archive Sketch
    - Archives a copy of the current sketch in .zip format. The archive is placed in the same folder as the sketch.
  • -
  • Install "processing-java"
    - Installs the processing-java program to make it possible to build and run Java mode sketches from the command line.
  • -
  • Movie Maker
    - Creates a QuickTime movie from a sequence of images. Options include setting the size, frame rate, and compression, as well as an audio file. -
  • Add Tool...
    - Opens the Tool Manager to browse and install new Tools. -
  • -
- - -
Help
-
    -
  • Environment
    - Opens the reference for the Processing Development Environment (this page) in the default web browser. -
  • -
  • Reference
    - Opens the reference in the default web browser. Includes references for the language, programming environment, and core libraries. -
  • -
  • Find in Reference
    - Select an element of the Processing language in the text editor and select Find in Reference to open that page in the default web browser. -
  • -
  • Libraries Reference
    - Select from the list to open the reference for compatiable Libraries. -
  • -
  • Tools Reference
    - Select from the list to open the reference for compatiable Tools. -
  • -
  • Getting Started
    - Opens the online Getting Started tutorial in the default browser. -
  • -
  • Troubleshooting
    - Opens the online Troubleshooting wiki page in the default browser. -
  • -
  • Frequently Asked Questions
    - Opens the online FAQ wiki page in the default browser. -
  • -
  • The Processing Foundation
    - Opens the Foundation website in the default browser. -
  • -
  • Visit Processing.org
    - Opens Processing website in the default browser. -
  • -
- - -
- Top Preferences -
- -

- The Processing Development Environment (PDE) is highly configurable. The most common - preferences can be modified in the Preferences window, located in the File menu on - Windows and Linux and in the Processing menu on Mac Os X. The full list of preferences - are stored in the "preferences.txt" file. This file can be opened and edited directly - only when Processing is not running. You can find the location of this file on your - computer by reading the bottom-left corner of the Preferences window. -

- -
    -
  • - Sketchbook location
    - Any folder can be used as the Sketchbook. Input a new location or select "Browse" to set - the folder you want to use. -
  • -
  • - Language
    - Select the language to use for the menus. Processing needs to be restarted after making a new selection. -
  • -
  • - Editor and Console font
    - Select a different font to use for text in the Editor and Console. Note: the selected font should match the language used in the Text Editor. See the "Enable complex text input" preference below. -
  • -
  • - Editor font size
    - Sets the font size of the code in the text editor. -
  • -
  • - Console font size
    - Sets the font size of the text in the console. -
  • -
  • - Background color when Presenting
    - Defined the background color used when a sketch is run with Present. -
  • -
  • - Use smooth text in editor window
    - By default, the text in the editor is aliased. When checked, the editor switches - to an anti-aliased (smoothed) font. Restart Processing after making this change. -
  • -
  • - Enable complex text input
    - Enables the Text Editor to display non-Latin fonts such as Japanese. Processing needs to be restarted after making this selection. -
  • -
  • - Continuously check for errors and Show warnings
    - Turn on and off the features that continuously check for and report potential code errors. -
  • -
  • - Code completion with Ctrl-space
    - Turn on and off code completion. Press Ctrl-space to activate code completion while typing. -
  • -
  • - Suggest import statements
    - When checked, Processing will try to suggest libraries to import when code from that library is detected. -
  • -
  • - Increase maximum available memory
    - Allocates more RAM to Processing sketches when they run. Sketches that use media - files (images, audio, etc.) sometimes require more RAM. Increase the amount of RAM - if a sketch is throwing Out of Memory Errors. -
  • -
  • - Delete previous folder on export
    - When checked (default behavior), Processing deletes the complete export folder - before re-creating it and adding the new media. -
  • -
  • - Check for updates on startup
    - When checked (default behavior), you'll be informed of new Processing software releases - as they become available through a small dialog box that opens as Processing starts. -
  • -
  • - Run sketches on display
    - If more than one monitor is attached, select the monitor on which to display the sketch. -
  • -
- - - - - -
- Top Sketches and Sketchbook -
- -

- All Processing projects are called sketches. Each sketch has its own folder. The main file for each sketch has the same name as the folder and is found inside. For example, if the sketch is named "Sketch_123", the folder for the sketch will be called "Sketch_123" and the main file will be called "Sketch_123.pde". The PDE file extension is an acronym for the Processing Development Environment.

-

- -

- Processing sketches can be stored anywhere on your computer, but by default they are stored in the sketchbook, which will be in different places on your computer or network depending if you use PC, Mac, or Linux and how the preferences are set. To locate this folder, select the "Preferences" option from the File menu (or from the "Processing" menu on the Mac) and look for the "Sketchbook location." -

- -

- A sketch folder sometimes contains other folders for media files and other code. When a font or image is added to a sketch by selecting "Add File..." from the Sketch menu, a "data" folder is created. Files may also be added to your Processing sketch by dragging them into the text editor. Image and sound files dragged into the application window will automatically be added to the current sketch's "data" folder. All images, fonts, sounds, and other data files loaded in the sketch must be in this folder. -

- - - - -
- Top Renderers -
- -

- Processing has four built-in screen renderers. The default renderer is for drawing two-dimensional shapes. P2D is a faster, but less accurate renderer for drawing two-dimensional shapes. P3D is for three-dimensional geometry; it can also control the camera, lighting, and materials. The P2D and P3D renderers are accelerated if your computer has an OpenGL compatible graphics card. The smooth() function affects the amount of antialiasing for each renderer. Check the reference for smooth() for more information. -

- -

- With the release of Processing 3.0, the FX2D renderer is included. Use it for fast 2D graphics on large and high resolution displays for more speed than the default renderer. This renderer is still experimental, but it useful for certain conditions. -

- -

- The renderer used for each sketch is specified through the size() function. If a renderer is not explicitly defined in size(), it uses the default renderer as shown in the following program: -

- -
void setup() {
-  size(200, 200);
-}
-
-void draw() {
-  background(204);
-  line(width/2, height/2, mouseX, mouseY);
-}
-
- -

- To change the renderer, add a third parameter to size(). For example: -

- -
void setup() {
-  size(200, 200, P2D);
-}
-
-void draw() {
-  background(204);
-  line(width/2, height/2, mouseX, mouseY);
-}
-
- -

- A large effort has been made to make Processing code behave similarly across the different renderers, but there are currently some inconsistencies that are explained in the reference. -

- -

For more information, see the size() reference entry. - - - - - -

Top - Coordinates
- -

- Processing uses a Cartesian coordinate system with the origin in the upper-left corner. If your sketch is 320 pixels wide and 240 pixels high, coordinate (0, 0) is the upper-left pixel and coordinate (320, 240) is in the lower-right. The last visible pixel in the lower-right corner of the screen is at position(319, 239) because pixels are drawn to the right and below the coordinate. -

- -

- -

- -

- Using the three-dimension coordinate system of P3D, the z-coordinate is zero at the surface of the image, with negative z-values moving back in space. When drawing in 3D, the camera is positioned in the center of the screen. -

- - - - - -
- Top Tabs, Multiple Files, and Classes -
- -

- It can be inconvenient to write a long program within a single file. When Processing sketches grow to hundreds or thousands of lines, breaking them into modular units helps manage the different parts. Processing manages files with the Sketchbook and each sketch can have multiple files that are managed with tabs. -

- -

- The arrow button to the right of the tabs in the Processing Development Environment is used to manage these files. Click this button to reveal options to create a new tab, rename the current tab, and delete the current tab. Tabs are intended for more advanced users, and for this reason, the menu that controls the tabs is intentionally made less prominent. -

- -

- - - - -
- Advanced
-
- When a program with multiple tabs is run, the code is grouped together and the classes in other tabs become inner classes. Because they're inner classes, they cannot have static variables. Simply place the "static" variable outside the class itself to do the same thing (it need not be explicitly named "static" once you list it in this manner). If you don't want code to be an inner class, you can also create a tab with a ".java" suffix, which means it will be interpreted as straight java code. It is also not possible to use static classes in separate tabs. If you do this, however, you'll need to pass the PApplet object to that object in that tab in order to get PApplet functions like line(), loadStrings() or saveFrame() to work.
-
-

- - - - -
- Top Debug -
- -

- The Processing Debugger is a tool for diagnosing problems with a sketch. Enable it to pause a sketch while running and advance through the code one line at a time. The debugger is enabled through the File menu (Debug > Enable Debugger) or by clicking the Debugger icon, the butterfly in the upper-right corner of the PDE. -

- -

- When the Debugger is enabled, the program runs as normal, but stops at "breakpoints." To create a breakpoint, set the cursor at the line you want to pause the sketch and select Debug > Toggle Breakpoint. The keyboard shortcut is Command-B. To remove the breakpoint, select Toggle Breakpoint again. When a breakpoint is added, the line number is replaced with the symbol: <>. -

- -

- Running the sketch in Debug mode causes the sketch to pause at any breakpoints. When paused, current variable values are visible in a separate pane. You can advance to the next breakpoint by selecting "Continue" or advance line by line through the code with "Step". Stepping only works within the scope of the current function being run. -

- - - - -
- Top Programming Modes -
- -

- Processing has different programming modes to make it possible to deploy sketches on different platforms and program in different ways. The current default programming mode is Java mode. Other programming modes such as Android Mode and Python are added by selecting "Add Mode..." from the menu in the upper-right corner of the PDE. -

- -
Java Mode
- -

- This mode makes it possible to write short programs to draw to the screen, but also enables complex Java programs as well. It can be used simply by beginners, but it scales to professional Java software development. Sketches written in this mode can - be exported as Java Applications to run on Linux, Mac OS X, and Windows operating systems. -

- -

- - - - -
- Advanced
-
- Java files with the extension .java can be included with a Java mode sketch. They may be created directly in the PDE or copied into the sketch folder through the "Add File..." item in the Sketch menu or dragged into the text editor. It's possible to write any Java code in files with the .java extension. In fact, complete Java code can be written from inside the Processing Environment by subclassing PApplet like this: - -
-
-public class MyDemo extends PApplet {
-   	
- - This is for advanced developers only and is not really recommended. Using this technique means that any additional tabs will no longer be inner classes, meaning you'll have to do extra work to make them communicate properly with the host PApplet. It is not necessary to use this technique just to get features of the Java language. Advanced developers can also program with Processing in another Java Editor if higher-level code editing and tools are needed. Processing's core.jar can be used as a part of any Java project. -
-

- - - - - - - - -
- Top Adding Libraries, Tools, and Modes -
- -

- Processing 3.0 includes a set of features to make it easier to install, update, and remove Libraries, Tools, Modes, and Examples. -

- -

- Add a contributed library by selecting "Add Library..." from the "Import Library..." submenu within the Sketch menu. This opens the Library Manager. Next, select a library and then click on Install to download it. -

- -

- Add a contributed tool by selecting "Add Tool..." from the Tools menu, then select a Tool to download from the Tool Manager. -

- -

- Add contributed modes by selecting "Add Mode..." from the Mode menu in the upper-right corner of the PDE, then select a Mode to install. -

- -

- Add contributed Examples by first opening the "Examples..." submenu from the File menu. Click on the Add Examples button to open the Examples Manager. Next, select an examples package and select Install to download. -

- - - - - -
- TopExport -
- -

- The Export information and - Tips page on the Processing Wiki covers the details of exporting Applications from Java mode. -

- - - - - -
- - - - -
- - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/equality.html b/Java/Processing/processing-3.3.6/modes/java/reference/equality.html deleted file mode 100644 index 47b656d..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/equality.html +++ /dev/null @@ -1,168 +0,0 @@ - - - - == (equality) \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

== (equality)

Examples
-int a = 23;
-int b = 23;
-if (a == b) {
-  println("variables a and b are equal");
-}
-
-
Description -Determines if two values are equivalent. The equality operator is different from the assignment operator.
-
-Note that when comparing String objects, you must use the equals() method instead of == to compare their contents. See the reference for String or the troubleshooting note for more explanation. -
Syntax
-value1 == value2
-
Parameters - - - - - - -
value1int, float, char, byte, boolean
value2int, float, char, byte, boolean
Related> (greater than)
-< (less than)
->= (greater than or equal to)
-<= (less than or equal to)
-!= (inequality)
- -Updated on April 30, 2017 02:33:23pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/exit_.html b/Java/Processing/processing-3.3.6/modes/java/reference/exit_.html deleted file mode 100644 index f1d0d63..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/exit_.html +++ /dev/null @@ -1,159 +0,0 @@ - - - - exit() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

exit()

Examples
-void draw() {
-  line(mouseX, mouseY, 50, 50);
-}
-
-void mousePressed() {
-  exit(); 
-}
-
-
Description -Quits/stops/exits the program. Programs without a draw() function stop automatically after the last line has run, but programs with draw() run continuously until the program is manually stopped or exit() is run.
-
-Rather than terminating immediately, exit() will cause the sketch to exit after draw() has completed (or after setup() completes if called during the setup() function).
-
-For Java programmers, this is not the same as System.exit(). Further, System.exit() should not be used because closing out an application while draw() is running may cause a crash (particularly with P3D). -
Syntax
exit()
Returnsvoid
- -Updated on April 30, 2017 02:33:16pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/exp_.html b/Java/Processing/processing-3.3.6/modes/java/reference/exp_.html deleted file mode 100644 index 6ad766c..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/exp_.html +++ /dev/null @@ -1,154 +0,0 @@ - - - - exp() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

exp()

Examples
-float v1 = exp(1.0);
-println(v1);  // Prints "2.7182817"
-
-
-
Description -Returns Euler's number e (2.71828...) raised to the power of the n parameter. -
Syntax
exp(n)
Parameters - - -
nfloat: exponent to raise
Returnsfloat
- -Updated on April 30, 2017 02:33:16pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/expand_.html b/Java/Processing/processing-3.3.6/modes/java/reference/expand_.html deleted file mode 100644 index 2fe6d05..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/expand_.html +++ /dev/null @@ -1,172 +0,0 @@ - - - - expand() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

expand()

Examples
-int[] data = {0, 1, 3, 4};
-println(data.length);  // Prints "4"
-data = expand(data);
-println(data.length);  // Prints "8"
-data = expand(data, 512);
-println(data.length);  // Prints "512"
-
-
-
-
-PImage[] imgs = new PImage[32];
-println(imgs.length);  // Prints "32"
-imgs = (PImage[]) expand(imgs);
-println(imgs.length);  // Prints "64"
-
-
Description -Increases the size of an array. By default, this function doubles the size of the array, but the optional newSize parameter provides precise control over the increase in size. -

-When using an array of objects, the data returned from the function must be cast to the object array's data type. For example: SomeClass[] items = (SomeClass[]) expand(originalArray) -
Syntax
expand(list)
-expand(list, newSize)
Parameters - - - - - - -
listObject, String[], double[], float[], long[], int[], char[], byte[], or boolean[]: the array to expand
newSizeint: new size for the array
Returnsboolean[], byte[], char[], int[], long[], float[], double[], String[], or Object
Relatedshorten()
- -Updated on April 30, 2017 02:33:17pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/extends.html b/Java/Processing/processing-3.3.6/modes/java/reference/extends.html deleted file mode 100644 index b56e43f..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/extends.html +++ /dev/null @@ -1,175 +0,0 @@ - - - - extends \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

extends

Examples
-DrawDot dd1 = new DrawDot(50, 80);
-
-void setup() { 
-  size(200, 200);
-} 
- 
-void draw() {
-  dd1.display();
-} 
- 
-class Dot { 
-  int xpos, ypos;
-} 
-
-class DrawDot extends Dot {
-  DrawDot(int x, int y) {
-    xpos = x;
-    ypos = y;
-  }
-  void display() {
-    ellipse(xpos, ypos, 200, 200);
-  }
-}
-
-
Description -Allows a new class to inherit the methods and data fields (variables and constants) from an existing class. In code, state the name of the new class, followed by the keyword extends and the name of the base class. The concept of inheritance is one of the fundamental principles of object oriented programming.
-
-Note that in Java, and therefore also Processing, you cannot extend a class more than once. Instead, see implements. -
Relatedclass
-super
-implements
- -Updated on April 30, 2017 02:33:22pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/false.html b/Java/Processing/processing-3.3.6/modes/java/reference/false.html deleted file mode 100644 index d564051..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/false.html +++ /dev/null @@ -1,156 +0,0 @@ - - - - false \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

false

Examples
-rect(30, 20, 50, 50);
-boolean b = false;
-if (b == false) {
-  line(20, 10, 90, 80);  // This line is drawn
-} else {
-  line(20, 80, 90, 10);  // This line is not drawn
-}
-
-
Description -Reserved word representing the logical value "false". Only variables of type boolean may be assigned the value false. -
Relatedtrue
-boolean
- -Updated on April 30, 2017 02:33:22pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/fill_.html b/Java/Processing/processing-3.3.6/modes/java/reference/fill_.html deleted file mode 100644 index a185a36..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/fill_.html +++ /dev/null @@ -1,194 +0,0 @@ - - - - fill() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

fill()

Examples
example pic
-fill(153);
-rect(30, 20, 55, 55);
-
- -
example pic
-fill(204, 102, 0);
-rect(30, 20, 55, 55);
-
-
Description -Sets the color used to fill shapes. For example, if you run fill(204, 102, 0), all subsequent shapes will be filled with orange. This color is either specified in terms of the RGB or HSB color depending on the current colorMode(). The default color space is RGB, with each value in the range from 0 to 255. -

-When using hexadecimal notation to specify a color, use "#" or "0x" before the values (e.g., #CCFFAA or 0xFFCCFFAA). The # syntax uses six digits to specify a color (just as colors are typically specified in HTML and CSS). When using the hexadecimal notation starting with "0x", the hexadecimal value must be specified with eight characters; the first two characters define the alpha component, and the remainder define the red, green, and blue components. -

-The value for the "gray" parameter must be less than or equal to the current maximum value as specified by colorMode(). The default maximum value is 255. -

-To change the color of an image or a texture, use tint(). -
Syntax
fill(rgb)
-fill(rgb, alpha)
-fill(gray)
-fill(gray, alpha)
-fill(v1, v2, v3)
-fill(v1, v2, v3, alpha)
Parameters - - - - - - - - - - - - - - - - - - - - - - -
rgbint: color variable or hex value
alphafloat: opacity of the fill
grayfloat: number specifying value between white and black
v1float: red or hue value (depending on current color mode)
v2float: green or saturation value (depending on current color mode)
v3float: blue or brightness value (depending on current color mode)
Returnsvoid
RelatednoFill()
-stroke()
-noStroke()
-tint()
-background()
-colorMode()
- -Updated on April 30, 2017 02:33:18pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/filter_.html b/Java/Processing/processing-3.3.6/modes/java/reference/filter_.html deleted file mode 100644 index 76395c3..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/filter_.html +++ /dev/null @@ -1,249 +0,0 @@ - - - - filter() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

filter()

Examples
example pic
-PImage img;
-img = loadImage("apples.jpg");
-image(img, 0, 0);
-filter(THRESHOLD);
-
- -
example pic
-PImage img;
-img = loadImage("apples.jpg");
-image(img, 0, 0);
-filter(GRAY);
-
- -
example pic
-PImage img;
-img = loadImage("apples.jpg");
-image(img, 0, 0);
-filter(INVERT);
-
- -
example pic
-PImage img;
-img = loadImage("apples.jpg");
-image(img, 0, 0);
-filter(POSTERIZE, 4);
-
- -
example pic
-PImage img;
-img = loadImage("apples.jpg");
-image(img, 0, 0);
-filter(BLUR, 6);
-
- -
example pic
-PImage img;
-img = loadImage("apples.jpg");
-image(img, 0, 0);
-filter(ERODE);
-
- -
example pic
-PImage img;
-img = loadImage("apples.jpg");
-image(img, 0, 0);
-filter(DILATE);
-
- -
example pic
-PShader blur;
-PImage img;
-
-void setup() {
-  size(100, 100, P2D);
-  blur = loadShader("blur.glsl");
-  img = loadImage("apples.jpg");
-  image(img, 0, 0); 
-}
-
-void draw() {
-  filter(blur); // Blurs more each time through draw()
-}
-
-
Description -Filters the display window using a preset filter or with a custom shader. Using a shader with filter() is much faster than without. Shaders require the P2D or P3D renderer in size().
-
-The presets options are:
-
-THRESHOLD
-Converts the image to black and white pixels depending if they are above or below the threshold defined by the level parameter. The parameter must be between 0.0 (black) and 1.0 (white). If no level is specified, 0.5 is used.
-
-GRAY
-Converts any colors in the image to grayscale equivalents. No parameter is used.
-
-OPAQUE
-Sets the alpha channel to entirely opaque. No parameter is used.
-
-INVERT
-Sets each pixel to its inverse value. No parameter is used.
-
-POSTERIZE
-Limits each channel of the image to the number of colors specified as the parameter. The parameter can be set to values between 2 and 255, but results are most noticeable in the lower ranges.
-
-BLUR
-Executes a Guassian blur with the level parameter specifying the extent of the blurring. If no parameter is used, the blur is equivalent to Guassian blur of radius 1. Larger values increase the blur.
-
-ERODE
-Reduces the light areas. No parameter is used.
-
-DILATE
-Increases the light areas. No parameter is used. -
Syntax
filter(shader)
-filter(kind)
-filter(kind, param)
Parameters - - - - - - - - - - -
shaderPShader: the fragment shader to apply
kindint: Either THRESHOLD, GRAY, OPAQUE, INVERT, POSTERIZE, BLUR, ERODE, or DILATE
paramfloat: unique for each, see above
Returnsvoid
- -Updated on April 30, 2017 02:33:19pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/final.html b/Java/Processing/processing-3.3.6/modes/java/reference/final.html deleted file mode 100644 index 5d712a4..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/final.html +++ /dev/null @@ -1,153 +0,0 @@ - - - - final \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

final

Examples
-final float constant = 12.84753;
-println(constant);  // Prints "12.84753" to the console
-constant += 12.84;  // ERROR! It's not possible to change a "final" value
-
-
Description -Keyword used to state that a value, class, or method can't be changed. If the final keyword is used to define a variable, the variable can't be changed within the program. When used to define a class, a final class cannot be subclassed. When used to define a function or method, a final method can't be overridden by subclasses.
-
-This keyword is an essential part of Java programming and is not usually used with Processing. Consult a Java language reference or tutorial for more information. -
- -Updated on April 30, 2017 02:33:23pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/float.html b/Java/Processing/processing-3.3.6/modes/java/reference/float.html deleted file mode 100644 index 0166e75..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/float.html +++ /dev/null @@ -1,184 +0,0 @@ - - - - float \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

float

Examples
-float a;           // Declare variable 'a' of type float
-a = 1.5387;        // Assign 'a' the value 1.5387
-float b = -2.984;  // Declare variable 'b' and assign it the value -2.984
-float c = a + b;   // Declare variable 'c' and assign it the sum of 'a' and 'b'
-
-
-
-float f1 = 0.0;
-for (int i = 0 ; i < 100000; i++) {  
-  f1 = f1 + 0.0001;  // Bad idea! See below.
-}
-println(f1);
-
-float f2 = 0.0;
-for (int i = 0; i < 100000; i++) {
-  // The variable 'f2' will work better here, less affected by rounding
-  f2 = i / 1000.0;  // Count by thousandths
-}
-println(f2);
-
-
Description -Data type for floating-point numbers, e.g. numbers that have a decimal point.
-
-Floats are not precise, so adding small values (such as 0.0001) may not always increment precisely due to rounding errors. If you want to increment a value in small intervals, use an int, and divide by a float value before using it. (See the second example above.)
-
-Floating-point numbers can be as large as 3.40282347E+38 and as low as -3.40282347E+38. They are stored as 32 bits (4 bytes) of information. The float data type is inherited from Java; you can read more about the technical details here and here.
-
-Processing supports the double datatype from Java as well. However, none of the Processing functions use double values, which use more memory and are typically overkill for most work created in Processing. We do not plan to add support for double values, as doing so would require increasing the number of API functions significantly. -
Syntax
-float var
-float var = value
-
Parameters - - - - - - -
varvariable name referencing the float
valueany floating-point value
Relatedint
-double
- -Updated on April 30, 2017 02:33:22pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/floatconvert_.html b/Java/Processing/processing-3.3.6/modes/java/reference/floatconvert_.html deleted file mode 100644 index 2706cbe..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/floatconvert_.html +++ /dev/null @@ -1,153 +0,0 @@ - - - - float() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

float()

Examples
-int i = 65;
-float f = float(i);
-println(i + " : " + f);  // Prints "65 : 65.0"
-
-
Description -Converts an int or String to its floating point representation. An int is easily converted to a float, but the contents of a String must resemble a number, or NaN (not a number) will be returned. For example, float("1234.56") evaluates to 1234.56, but float("giraffe") will return NaN.
-
-When an array of int or String values is passed in, then a floating point array of the same length is returned. -
- -Updated on April 30, 2017 02:33:23pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/floor_.html b/Java/Processing/processing-3.3.6/modes/java/reference/floor_.html deleted file mode 100644 index 57b1d39..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/floor_.html +++ /dev/null @@ -1,154 +0,0 @@ - - - - floor() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

floor()

Examples
-float x = 2.88;  
-int a = floor(x);  // Sets 'a' to 2
-
-
Description -Calculates the closest int value that is less than or equal to the value of the parameter. -
Syntax
floor(n)
Parameters - - -
nfloat: number to round down
Returnsint
Relatedceil()
-round()
- -Updated on April 30, 2017 02:33:16pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/focused.html b/Java/Processing/processing-3.3.6/modes/java/reference/focused.html deleted file mode 100644 index 5602f8f..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/focused.html +++ /dev/null @@ -1,154 +0,0 @@ - - - - focused \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

focused

Examples
-if (focused) {  // or "if (focused == true)"
-  ellipse(25, 25, 50, 50);
-} else {
-  line(0, 0, 100, 100);
-  line(100, 0, 0, 100);
-}
-
-
Description -Confirms if a Processing program is "focused," meaning that it is active and will accept mouse or keyboard input. This variable is "true" if it is focused and "false" if not. -
- -Updated on April 30, 2017 02:33:19pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/for.html b/Java/Processing/processing-3.3.6/modes/java/reference/for.html deleted file mode 100644 index 4c7b624..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/for.html +++ /dev/null @@ -1,230 +0,0 @@ - - - - for \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

for

Examples
example pic
-for (int i = 0; i < 40; i = i+1) {
-  line(30, i, 80, i);
-}
-
- -
example pic
-for (int i = 0; i < 80; i = i+5) {
-  line(30, i, 80, i);
-}
-
- -
example pic
-for (int i = 40; i < 80; i = i+5) {
-  line(30, i, 80, i);
-}
-
- -
example pic
-// Nested for() loops can be used to
-// generate two-dimensional patterns
-for (int i = 30; i < 80; i = i+5) {
-  for (int j = 0; j < 80; j = j+5) {
-    point(i, j);
-  }
-}
-
- -
-// This example has no visual output,
-// but prints values to the console.
-
-int[] nums = { 5, 4, 3, 2, 1 };
-
-for (int i : nums) {
-  println(i); 
-}
-
-
Description -Controls a sequence of repetitions. A basic for structure has three parts: init, test, and update. Each part must be separated by a semicolon (;). The loop continues until the test evaluates to false. When a for structure is executed, the following sequence of events occurs:
-
-1. The init statement is run.
-2. The test is evaluated to be true or false.
-3. If the test is true, jump to step 4. If the test is false, jump to step 6.
-4. Run the statements within the block.
-5. Run the update statement and jump to step 2.
-6. Exit the loop.
-
-In the first example above, the for structure is executed 40 times. In the init statement, the value i is created and set to zero. i is less than 40, so the test evaluates as true. At the end of each loop, i is incremented by one. On the 41st execution, the test is evaluated as false, because i is then equal to 40, so i < 40 is no longer true. Thus, the loop exits.
-
-A second type of for structure makes it easier to iterate over each element of an array. The last example above shows how it works. Within the parentheses, first define the datatype of the array, then define a variable name. This variable name will be assigned to each element of the array in turn as the for moves through the entire array. Finally, after the colon, define the array name to be used. -
Syntax
-for (init; test; update) { 
-  statements
-} 
-
-for (datatype element : array) { 
-  statements
-}
-
Parameters - - - - - - - - - - - - - - - - - - - - - - - - - - -
initstatement executed once when beginning loop
testif the test evaluates to true, the statements execute
updateexecutes at the end of each iteration
statementscollection of statements executed each time through the loop
datatypedatatype of elements in the array
elementtemporary name to use for each element of the array
arrayname of the array to iterate through
Relatedwhile
- -Updated on April 30, 2017 02:33:23pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/frameCount.html b/Java/Processing/processing-3.3.6/modes/java/reference/frameCount.html deleted file mode 100644 index 04c1c28..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/frameCount.html +++ /dev/null @@ -1,157 +0,0 @@ - - - - frameCount \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

frameCount

Examples
-void setup() {
-  frameRate(30);
-}
-
-void draw() {
-  line(0, 0, width, height);
-  println(frameCount);
-}
-
-
Description -The system variable frameCount contains the number of frames that have been displayed since the program started. Inside setup() the value is 0, after the first iteration of draw it is 1, etc. -
RelatedframeRate()
-frameRate
- -Updated on April 30, 2017 02:33:19pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/frameRate.html b/Java/Processing/processing-3.3.6/modes/java/reference/frameRate.html deleted file mode 100644 index 9ebf104..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/frameRate.html +++ /dev/null @@ -1,157 +0,0 @@ - - - - frameRate \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

frameRate

Examples
-void setup() {
-  frameRate(30);
-}
-
-void draw() {
-  line(0, 0, width, height);
-  println(frameRate);
-}
-
-
Description -The system variable frameRate contains the approximate frame rate of a running sketch. The initial value is 10 fps and is updated with each frame. The value is averaged over several frames, and so will only be accurate after the draw function has run 5-10 times. -
RelatedframeRate()
-frameCount
- -Updated on April 30, 2017 02:33:19pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/frameRate_.html b/Java/Processing/processing-3.3.6/modes/java/reference/frameRate_.html deleted file mode 100644 index 82014e4..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/frameRate_.html +++ /dev/null @@ -1,169 +0,0 @@ - - - - frameRate() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

frameRate()

Examples
-void setup() {
-  frameRate(4);
-}
-int pos = 0;
-void draw() {
-  background(204);
-  pos++;
-  line(pos, 20, pos, 80);
-  if (pos > width) {
-    pos = 0;
-  }
-}
-
-
Description -Specifies the number of frames to be displayed every second. For example, the function call frameRate(30) will attempt to refresh 30 times a second. If the processor is not fast enough to maintain the specified rate, the frame rate will not be achieved. Setting the frame rate within setup() is recommended. The default rate is 60 frames per second. -
Syntax
frameRate(fps)
Parameters - - -
fpsfloat: number of desired frames per second
Returnsvoid
RelatedframeRate
-frameCount
-setup()
-draw()
-loop()
-noLoop()
-redraw()
- -Updated on April 30, 2017 02:33:16pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/frustum_.html b/Java/Processing/processing-3.3.6/modes/java/reference/frustum_.html deleted file mode 100644 index e3f554a..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/frustum_.html +++ /dev/null @@ -1,188 +0,0 @@ - - - - frustum() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

frustum()

Examples
example pic
-size(100, 100, P3D);  
-noFill();
-background(204);
-frustum(-10, 0, 0, 10, 10, 200);
-rotateY(PI/6);
-box(45);
-
-
Description -Sets a perspective matrix as defined by the parameters.
-
-A frustum is a geometric form: a pyramid with its top cut off. With the viewer's eye at the imaginary top of the pyramid, the six planes of the frustum act as clipping planes when rendering a 3D view. Thus, any form inside the clipping planes is rendered and visible; anything outside those planes is not visible.
-
-Setting the frustum has the effect of changing the perspective with which the scene is rendered. This can be acheived more simply in many cases by using perspective().
-
-Note that the near value must be greater than zero (as the point of the frustum "pyramid" cannot converge "behind" the viewer). Similarly, the far value must be greater than the near value (as the "far" plane of the frustum must be "farther away" from the viewer than the near plane).
-
-Works like glFrustum, except it wipes out the current perspective matrix rather than multiplying itself with it. -
Syntax
frustum(left, right, bottom, top, near, far)
Parameters - - - - - - - - - - - - - - - - - - - - - - -
leftfloat: left coordinate of the clipping plane
rightfloat: right coordinate of the clipping plane
bottomfloat: bottom coordinate of the clipping plane
topfloat: top coordinate of the clipping plane
nearfloat: near component of the clipping plane; must be greater than zero
farfloat: far component of the clipping plane; must be greater than the near value
Returnsvoid
Relatedcamera()
-beginCamera()
-endCamera()
-perspective()
- -Updated on April 30, 2017 02:33:18pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/fullScreen_.html b/Java/Processing/processing-3.3.6/modes/java/reference/fullScreen_.html deleted file mode 100644 index dd0b720..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/fullScreen_.html +++ /dev/null @@ -1,238 +0,0 @@ - - - - fullScreen() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

fullScreen()

Examples
-// Run the code at the full dimensions of the screen currently
-// selected inside the Preferences window
-
-int x = 0;
-
-void setup() {
-  fullScreen();
-  background(0);
-  noStroke();
-  fill(102);
-}
-
-void draw() {
-  rect(x, height*0.2, 1, height*0.6); 
-  x = x + 2;
-}
-
-
-
-// If more than one screen is attached to the computer, run the 
-// code at the full dimensions on the screen defined by the 
-// parameter to fullScreen()
-
-int x = 0;
-
-void setup() {
-  fullScreen(2);
-  background(0);
-  noStroke();
-  fill(102);
-}
-
-void draw() {
-  rect(x, height*0.2, 1, height*0.6); 
-  x = x + 2;
-}
-
-
-
-// Run full screen using the P2D renderer on screen 2
-
-int x = 0;
-
-void setup() {
-  fullScreen(P2D, 2);
-  background(0);
-  noStroke();
-  fill(102);
-}
-
-void draw() {
-  rect(x, height*0.2, 1, height*0.6); 
-  x = x + 2;
-}
-
-
-
-// If more than one screen is attached to the computer, run the 
-// code at the full dimensions across all of the attached screens
-
-int x = 0;
-
-void setup() {
-  fullScreen(P2D, SPAN);
-  background(0);
-  noStroke();
-  fill(102);
-}
-
-void draw() {
-  rect(x, height*0.2, 1, height*0.6); 
-  x = x + 2;
-}
-
-
Description -This function is new for Processing 3.0. It opens a sketch using the full size of the computer's display. This function must be the first line in setup(). The size() and fullScreen() functions cannot both be used in the same program, just choose one.
-
-When fullScreen() is used without a parameter, it draws the sketch to the screen currently selected inside the Preferences window. When it is used with a single parameter, this number defines the screen to display to program on (e.g. 1, 2, 3...). When used with two parameters, the first defines the renderer to use (e.g. P2D) and the second defines the screen. The SPAN parameter can be used in place of a screen number to draw the sketch as a full-screen window across all of the attached displays if there are more than one.
-
-Prior to Processing 3.0, a full-screen program was defined with size(displayWidth, displayHeight). -
Syntax
fullScreen()
-fullScreen(display)
-fullScreen(renderer)
-fullScreen(renderer, display)
Parameters - - - - - - -
rendererString: the renderer to use, e.g. P2D, P3D, JAVA2D (default)
displayint: the screen to run the sketch on (1, 2, 3, etc. or on multiple screens using SPAN)
Returnsvoid
Relatedsettings()
-setup()
-size()
-smooth()
- -Updated on April 30, 2017 02:33:16pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/get_.html b/Java/Processing/processing-3.3.6/modes/java/reference/get_.html deleted file mode 100644 index 59431aa..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/get_.html +++ /dev/null @@ -1,184 +0,0 @@ - - - - get() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

get()

Examples
example pic
-PImage myImage = loadImage("apples.jpg");
-image(myImage, 0, 0);
-PImage c = get();
-image(c, width/2, 0);
-
- -
example pic
-PImage myImage = loadImage("apples.jpg");
-image(myImage, 0, 0);
-color c = get(25, 25);
-fill(c);
-noStroke();
-rect(25, 25, 50, 50);
-
-
Description -Reads the color of any pixel or grabs a section of an image. If no parameters are specified, the entire image is returned. Use the x and y parameters to get the value of one pixel. Get a section of the display window by specifying additional w and h parameters. When getting an image, the x and y parameters define the coordinates for the upper-left corner of the image, regardless of the current imageMode().
-
-If the pixel requested is outside of the image window, black is returned. The numbers returned are scaled according to the current color ranges, but only RGB values are returned by this function. For example, even though you may have drawn a shape with colorMode(HSB), the numbers returned will be in RGB format. -

-Getting the color of a single pixel with get(x, y) is easy, but not as fast as grabbing the data directly from pixels[]. The equivalent statement to get(x, y) using pixels[] is pixels[y*width+x]. See the reference for pixels[] for more information. -
Syntax
get(x, y)
-get(x, y, w, h)
-get()
Parameters - - - - - - - - - - - - - - -
xint: x-coordinate of the pixel
yint: y-coordinate of the pixel
wint: width of pixel rectangle to get
hint: height of pixel rectangle to get
Returnsint or PImage
Relatedset()
-pixels[]
-copy()
- -Updated on April 30, 2017 02:33:19pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/greaterthan.html b/Java/Processing/processing-3.3.6/modes/java/reference/greaterthan.html deleted file mode 100644 index ca2953e..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/greaterthan.html +++ /dev/null @@ -1,166 +0,0 @@ - - - - > (greater than) \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

> (greater than)

Examples
-int a = 5;
-int b = 13;
-if (b > a) {
-  println("variable b is larger the variable a");
-}
-
-
Description -Tests if the value on the left is larger than the value on the right. -
Syntax
-value1 > value2
-
Parameters - - - - - - -
value1int, float, char, or byte
value2int, float, char, or byte
Related< (less than)
->= (greater than or equal to)
-<= (less than or equal to)
-== (equality)
-!= (inequality)
- -Updated on April 30, 2017 02:33:23pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/greaterthanorequalto.html b/Java/Processing/processing-3.3.6/modes/java/reference/greaterthanorequalto.html deleted file mode 100644 index d54d81c..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/greaterthanorequalto.html +++ /dev/null @@ -1,166 +0,0 @@ - - - - >= (greater than or equal to) \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

>= (greater than or equal to)

Examples
-int a = 23;
-int b = 23;
-if (a >= b) {
-  println("variable a is greater or equal to variable b ")
-}
-
-
Description -Tests if the value on the left is larger than the value on the right or if the values are equivalent. -
Syntax
-value1 >= value2
-
Parameters - - - - - - -
value1int, float, char, or byte
value2int, float, char, or byte
Related> (greater than)
-< (less than)
-<= (less than or equal to)
-== (equality)
-!= (inequality)
- -Updated on April 30, 2017 02:33:23pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/green_.html b/Java/Processing/processing-3.3.6/modes/java/reference/green_.html deleted file mode 100644 index 83fe83f..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/green_.html +++ /dev/null @@ -1,170 +0,0 @@ - - - - green() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

green()

Examples
example pic
-color c = color(20, 75, 200);  // Define color 'c'
-fill(c);  // Use color variable 'c' as fill color
-rect(15, 20, 35, 60);  // Draw left rectangle
-
-float greenValue = green(c);  // Get green in 'c'
-println(greenValue);  // Print "75.0"
-fill(0, greenValue, 0);  // Use 'greenValue' in new fill
-rect(50, 20, 35, 60);  // Draw right rectangle
-
-
Description -Extracts the green value from a color, scaled to match current colorMode(). The value is always returned as a float, so be careful not to assign it to an int value.
-
-The green() function is easy to use and understand, but it is slower than a technique called bit shifting. When working in colorMode(RGB, 255), you can acheive the same results as green() but with greater speed by using the right shift operator (>>) with a bit mask. For example, the following two lines of code are equivalent means of getting the green value of the color value c:
-
-
float r1 = green(c);  // Simpler, but slower to calculate
-float r2 = c >> 8 & 0xFF;  // Very fast to calculate
-
Syntax
green(rgb)
Parameters - - -
rgbint: any value of the color datatype
Returnsfloat
Relatedred()
-blue()
-alpha()
-hue()
-saturation()
-brightness()
->> (right shift)
- -Updated on April 30, 2017 02:33:18pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/height.html b/Java/Processing/processing-3.3.6/modes/java/reference/height.html deleted file mode 100644 index c23192c..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/height.html +++ /dev/null @@ -1,153 +0,0 @@ - - - - height \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

height

Examples
example pic
-noStroke();
-background(0);
-rect(40, 0, 20, height);
-rect(60, 0, 20, height/2);
-
-
Description -System variable that stores the height of the display window. This value is set by the second parameter of the size() function. For example, the function call size(320, 240) sets the height variable to the value 240. The value of height defaults to 100 if size() is not used in a program. -
Relatedwidth
-size()
- -Updated on April 30, 2017 02:33:19pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/hex_.html b/Java/Processing/processing-3.3.6/modes/java/reference/hex_.html deleted file mode 100644 index 2fc093e..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/hex_.html +++ /dev/null @@ -1,171 +0,0 @@ - - - - hex() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

hex()

Examples
-color c = #ffcc00;
-println(c);          // Prints "-13312"
-println(hex(c));     // Prints "FFFFCC00"
-println(hex(c, 6));  // Prints "FFCC00"
-
-
-
-color c = color(255, 204, 0);
-println(c);          // Prints "-13312"
-println(hex(c));     // Prints "FFFFCC00"
-println(hex(c, 6));  // Prints "FFCC00"
-
-
Description -Converts an int, byte, char, or color to a String containing the equivalent hexadecimal notation. For example, the color value produced by color(0, 102, 153) will convert to the String value "FF006699". This function can help make your geeky debugging sessions much happier.
-
-Note that the maximum number of digits is 8, because an int value can only represent up to 32 bits. Specifying more than 8 digits will not increase the length of the String further. -
Syntax
hex(value)
-hex(value, digits)
Parameters - - - - - - -
valueint, char, or byte: the value to convert
digitsint: the number of digits (maximum 8)
ReturnsString
Relatedunhex()
-binary()
-unbinary()
- -Updated on April 30, 2017 02:33:17pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/hour_.html b/Java/Processing/processing-3.3.6/modes/java/reference/hour_.html deleted file mode 100644 index b22ad99..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/hour_.html +++ /dev/null @@ -1,162 +0,0 @@ - - - - hour() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

hour()

Examples
-void draw() {
-  background(204);
-  int s = second();  // Values from 0 - 59
-  int m = minute();  // Values from 0 - 59
-  int h = hour();    // Values from 0 - 23
-  line(s, 0, s, 33);
-  line(m, 33, m, 66);
-  line(h, 66, h, 100);
-}
-
-
Description -Processing communicates with the clock on your computer. The hour() function returns the current hour as a value from 0 - 23. -
Syntax
hour()
Returnsint
Relatedmillis()
-second()
-minute()
-day()
-month()
-year()
- -Updated on April 30, 2017 02:33:16pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/hue_.html b/Java/Processing/processing-3.3.6/modes/java/reference/hue_.html deleted file mode 100644 index af2e3aa..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/hue_.html +++ /dev/null @@ -1,164 +0,0 @@ - - - - hue() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

hue()

Examples
example pic
-noStroke();
-colorMode(HSB, 255);
-color c = color(0, 126, 255);
-fill(c);
-rect(15, 20, 35, 60);
-float value = hue(c);  // Sets 'value' to "0"
-fill(value);
-rect(50, 20, 35, 60);
-
-
Description -Extracts the hue value from a color. -
Syntax
hue(rgb)
Parameters - - -
rgbint: any value of the color datatype
Returnsfloat
Relatedred()
-green()
-blue()
-alpha()
-saturation()
-brightness()
- -Updated on April 30, 2017 02:33:18pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/if.html b/Java/Processing/processing-3.3.6/modes/java/reference/if.html deleted file mode 100644 index c1ad873..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/if.html +++ /dev/null @@ -1,166 +0,0 @@ - - - - if \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

if

Examples
example pic
-for (int i = 5; i < height; i += 5) {
-  stroke(255);   // Set the color to white
-  if (i < 35) {  // When 'i' is less than 35...
-    stroke(0);   //...set the color to black
-  }
-  line(30, i, 80, i);
-}
-
-
Description -Allows the program to make a decision about which code to execute. If the test evaluates to true, the statements enclosed within the block are executed and if the test evaluates to false the statements are not executed. -
Syntax
-if (test) { 
-  statements 
-} 
-
Parameters - - - - - - -
testany valid expression that evaluates to true or false
statementsone or more statements to be executed
Relatedelse
- -Updated on April 30, 2017 02:33:23pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/imageMode_.html b/Java/Processing/processing-3.3.6/modes/java/reference/imageMode_.html deleted file mode 100644 index 00d3403..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/imageMode_.html +++ /dev/null @@ -1,198 +0,0 @@ - - - - imageMode() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

imageMode()

Examples
example pic
-PImage img;
-
-void setup() {
-  img = loadImage("laDefense.jpg");
-}
-
-void draw() {
-  imageMode(CORNER);
-  image(img, 10, 10, 50, 50);  // Draw image using CORNER mode
-}
-
- -
example pic
-PImage img;
-
-void setup() {
-  img = loadImage("laDefense.jpg");
-}
-
-void draw() {
-  imageMode(CORNERS);
-  image(img, 10, 10, 90, 40);  // Draw image using CORNERS mode
-}
-
- -
example pic
-PImage img;
-
-void setup() {
-  img = loadImage("laDefense.jpg");
-}
-
-void draw() {
-  imageMode(CENTER);
-  image(img, 50, 50, 80, 80);  // Draw image using CENTER mode
-}
-
-
Description -Modifies the location from which images are drawn by changing the way in which parameters given to image() are intepreted.
-
-The default mode is imageMode(CORNER), which interprets the second and third parameters of image() as the upper-left corner of the image. If two additional parameters are specified, they are used to set the image's width and height.
-
-imageMode(CORNERS) interprets the second and third parameters of image() as the location of one corner, and the fourth and fifth parameters as the opposite corner.
-
-imageMode(CENTER) interprets the second and third parameters of image() as the image's center point. If two additional parameters are specified, they are used to set the image's width and height.
-
-The parameter must be written in ALL CAPS because Processing is a case-sensitive language. -
Syntax
imageMode(mode)
Parameters - - -
modeint: either CORNER, CORNERS, or CENTER
Returnsvoid
RelatedloadImage()
-PImage
-image()
-background()
- -Updated on April 30, 2017 02:33:18pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/image_.html b/Java/Processing/processing-3.3.6/modes/java/reference/image_.html deleted file mode 100644 index 2fd5ff4..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/image_.html +++ /dev/null @@ -1,201 +0,0 @@ - - - - image() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

image()

Examples
example pic
-PImage img;
-
-void setup() {
-  // Images must be in the "data" directory to load correctly
-  img = loadImage("laDefense.jpg");
-}
-
-void draw() {
-  image(img, 0, 0);
-}
-
- -
example pic
-PImage img;
-
-void setup() {
-  // Images must be in the "data" directory to load correctly
-  img = loadImage("laDefense.jpg");
-}
-
-void draw() {
-  image(img, 0, 0);
-  image(img, 0, 0, width/2, height/2);
-}
-
-
Description -The image() function draws an image to the display window. Images must be in the sketch's "data" directory to load correctly. Select "Add file..." from the "Sketch" menu to add the image to the data directory, or just drag the image file onto the sketch window. Processing currently works with GIF, JPEG, and PNG images.
-
-The img parameter specifies the image to display and by default the a and b parameters define the location of its upper-left corner. The image is displayed at its original size unless the c and d parameters specify a different size. The imageMode() function can be used to change the way these parameters draw the image.
-
-The color of an image may be modified with the tint() function. This function will maintain transparency for GIF and PNG images. -
Syntax
image(img, a, b)
-image(img, a, b, c, d)
Parameters - - - - - - - - - - - - - - - - - - -
imgPImage: the image to display
afloat: x-coordinate of the image by default
bfloat: y-coordinate of the image by default
cfloat: width to display the image by default
dfloat: height to display the image by default
Returnsvoid
RelatedloadImage()
-PImage
-imageMode()
-tint()
-background()
-alpha()
- -Updated on April 30, 2017 02:33:18pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/HALF_PI.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/HALF_PI.png deleted file mode 100644 index 54ced59..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/HALF_PI.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/PFont.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/PFont.png deleted file mode 100644 index 7d0b648..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/PFont.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/PI.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/PI.png deleted file mode 100644 index 54ced59..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/PI.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/PImage.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/PImage.png deleted file mode 100644 index c07a80e..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/PImage.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/PImage_blend_0_add.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/PImage_blend_0_add.png deleted file mode 100644 index 264123a..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/PImage_blend_0_add.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/PImage_blend_1_subtract.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/PImage_blend_1_subtract.png deleted file mode 100644 index e782ea9..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/PImage_blend_1_subtract.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/PImage_blend_2_darkest.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/PImage_blend_2_darkest.png deleted file mode 100644 index a3f1043..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/PImage_blend_2_darkest.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/PImage_blend_3_lightest.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/PImage_blend_3_lightest.png deleted file mode 100644 index 63771ac..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/PImage_blend_3_lightest.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/PImage_copy_.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/PImage_copy_.png deleted file mode 100644 index f610a86..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/PImage_copy_.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/PImage_filter_0_threshold.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/PImage_filter_0_threshold.png deleted file mode 100644 index e7c0191..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/PImage_filter_0_threshold.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/PImage_filter_1_gray.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/PImage_filter_1_gray.png deleted file mode 100644 index 5491c6e..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/PImage_filter_1_gray.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/PImage_filter_2_invert.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/PImage_filter_2_invert.png deleted file mode 100644 index 73416e2..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/PImage_filter_2_invert.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/PImage_filter_3_posterize.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/PImage_filter_3_posterize.png deleted file mode 100644 index 0e2436c..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/PImage_filter_3_posterize.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/PImage_filter_4_blur.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/PImage_filter_4_blur.png deleted file mode 100644 index 48f5edd..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/PImage_filter_4_blur.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/PImage_filter_5_erode.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/PImage_filter_5_erode.png deleted file mode 100644 index 4883221..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/PImage_filter_5_erode.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/PImage_filter_6_dilate.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/PImage_filter_6_dilate.png deleted file mode 100644 index 5d738d4..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/PImage_filter_6_dilate.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/PImage_get_0.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/PImage_get_0.png deleted file mode 100644 index 767a4a7..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/PImage_get_0.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/PImage_get_1.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/PImage_get_1.png deleted file mode 100644 index 148efe4..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/PImage_get_1.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/PImage_height.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/PImage_height.png deleted file mode 100644 index 1aba741..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/PImage_height.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/PImage_loadPixels_.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/PImage_loadPixels_.png deleted file mode 100644 index 2dc86ff..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/PImage_loadPixels_.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/PImage_mask_.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/PImage_mask_.png deleted file mode 100644 index 15a82c1..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/PImage_mask_.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/PImage_pixels.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/PImage_pixels.png deleted file mode 100644 index 4108d8e..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/PImage_pixels.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/PImage_resize_0.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/PImage_resize_0.png deleted file mode 100644 index b1ccc73..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/PImage_resize_0.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/PImage_resize_1.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/PImage_resize_1.png deleted file mode 100644 index dc6fa42..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/PImage_resize_1.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/PImage_set_.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/PImage_set_.png deleted file mode 100644 index cc93b76..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/PImage_set_.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/PImage_updatePixels_.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/PImage_updatePixels_.png deleted file mode 100644 index 2dc86ff..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/PImage_updatePixels_.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/PImage_width.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/PImage_width.png deleted file mode 100644 index 1aba741..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/PImage_width.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/PShape.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/PShape.png deleted file mode 100644 index e5e55c1..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/PShape.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/PShape_disableStyle_.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/PShape_disableStyle_.png deleted file mode 100644 index 367118b..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/PShape_disableStyle_.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/PShape_enableStyle_.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/PShape_enableStyle_.png deleted file mode 100644 index cf39ba3..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/PShape_enableStyle_.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/PShape_getChild_.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/PShape_getChild_.png deleted file mode 100644 index add0d4e..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/PShape_getChild_.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/PShape_isVisible_.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/PShape_isVisible_.png deleted file mode 100644 index ab61b4f..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/PShape_isVisible_.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/PShape_setVisible_.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/PShape_setVisible_.png deleted file mode 100644 index ab61b4f..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/PShape_setVisible_.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/QUARTER_PI.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/QUARTER_PI.png deleted file mode 100644 index 54ced59..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/QUARTER_PI.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/TWO_PI.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/TWO_PI.png deleted file mode 100644 index 54ced59..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/TWO_PI.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/alpha_.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/alpha_.png deleted file mode 100644 index 334dc4b..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/alpha_.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/ambientLight_0.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/ambientLight_0.png deleted file mode 100644 index 66acc8d..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/ambientLight_0.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/ambientLight_1.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/ambientLight_1.png deleted file mode 100644 index 5ad808b..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/ambientLight_1.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/ambient_.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/ambient_.png deleted file mode 100644 index a0378fb..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/ambient_.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/applyMatrix_.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/applyMatrix_.png deleted file mode 100644 index a98b89d..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/applyMatrix_.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/arc_.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/arc_.png deleted file mode 100644 index 851f2e3..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/arc_.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/arc_2.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/arc_2.png deleted file mode 100644 index ca58154..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/arc_2.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/arc_3.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/arc_3.png deleted file mode 100644 index 3cc802f..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/arc_3.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/arc_4.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/arc_4.png deleted file mode 100644 index 03a1b0b..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/arc_4.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/background_0.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/background_0.png deleted file mode 100644 index a957045..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/background_0.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/background_1.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/background_1.png deleted file mode 100644 index 0733d4c..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/background_1.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/background_2.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/background_2.png deleted file mode 100644 index c07a80e..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/background_2.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/beginCamera_.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/beginCamera_.png deleted file mode 100644 index e7525a6..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/beginCamera_.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/beginContour_0.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/beginContour_0.png deleted file mode 100644 index 8727b36..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/beginContour_0.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/beginShape_0.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/beginShape_0.png deleted file mode 100644 index d382e6f..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/beginShape_0.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/beginShape_1.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/beginShape_1.png deleted file mode 100644 index 2a31177..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/beginShape_1.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/beginShape_10.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/beginShape_10.png deleted file mode 100644 index 80004bf..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/beginShape_10.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/beginShape_2.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/beginShape_2.png deleted file mode 100644 index 2b02ad1..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/beginShape_2.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/beginShape_3.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/beginShape_3.png deleted file mode 100644 index 3564341..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/beginShape_3.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/beginShape_4.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/beginShape_4.png deleted file mode 100644 index d3d633f..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/beginShape_4.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/beginShape_5.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/beginShape_5.png deleted file mode 100644 index 4259488..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/beginShape_5.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/beginShape_6.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/beginShape_6.png deleted file mode 100644 index 7f82b99..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/beginShape_6.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/beginShape_7.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/beginShape_7.png deleted file mode 100644 index 69aa20b..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/beginShape_7.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/beginShape_8.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/beginShape_8.png deleted file mode 100644 index 39a96c4..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/beginShape_8.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/beginShape_9.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/beginShape_9.png deleted file mode 100644 index 79ea79c..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/beginShape_9.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/bezierPoint_.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/bezierPoint_.png deleted file mode 100644 index 78b4789..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/bezierPoint_.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/bezierTangent_0.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/bezierTangent_0.png deleted file mode 100644 index c28f7bb..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/bezierTangent_0.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/bezierTangent_1.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/bezierTangent_1.png deleted file mode 100644 index 8db4d54..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/bezierTangent_1.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/bezierVertex_0.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/bezierVertex_0.png deleted file mode 100644 index 84ab7f9..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/bezierVertex_0.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/bezierVertex_1.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/bezierVertex_1.png deleted file mode 100644 index 95d53a3..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/bezierVertex_1.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/bezier_0.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/bezier_0.png deleted file mode 100644 index c154465..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/bezier_0.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/bezier_1.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/bezier_1.png deleted file mode 100644 index ca5d3f0..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/bezier_1.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/blendColor_.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/blendColor_.png deleted file mode 100644 index f3189b3..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/blendColor_.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/blend_0_add.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/blend_0_add.png deleted file mode 100644 index 264123a..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/blend_0_add.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/blend_1_subtract.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/blend_1_subtract.png deleted file mode 100644 index e782ea9..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/blend_1_subtract.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/blend_2_darkest.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/blend_2_darkest.png deleted file mode 100644 index a3f1043..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/blend_2_darkest.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/blend_3_lightest.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/blend_3_lightest.png deleted file mode 100644 index 63771ac..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/blend_3_lightest.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/blue_.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/blue_.png deleted file mode 100644 index ff1a8ff..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/blue_.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/boolean.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/boolean.png deleted file mode 100644 index 6d5e1d0..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/boolean.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/box_0.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/box_0.png deleted file mode 100644 index c2e3933..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/box_0.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/box_1.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/box_1.png deleted file mode 100644 index 4017862..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/box_1.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/brightness_.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/brightness_.png deleted file mode 100644 index 83f5408..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/brightness_.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/camera_.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/camera_.png deleted file mode 100644 index 43418bf..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/camera_.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/color.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/color.png deleted file mode 100644 index 3051953..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/color.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/colorMode_0.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/colorMode_0.png deleted file mode 100644 index d35bef6..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/colorMode_0.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/colorMode_1.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/colorMode_1.png deleted file mode 100644 index 924451b..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/colorMode_1.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/colorMode_2.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/colorMode_2.png deleted file mode 100644 index 102193c..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/colorMode_2.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/color_0.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/color_0.png deleted file mode 100644 index 69275b5..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/color_0.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/color_1.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/color_1.png deleted file mode 100644 index f800277..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/color_1.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/color_2.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/color_2.png deleted file mode 100644 index 6dfc867..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/color_2.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/copy_.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/copy_.png deleted file mode 100644 index 4375795..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/copy_.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/cos_.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/cos_.png deleted file mode 100644 index be32538..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/cos_.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/createImage_0.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/createImage_0.png deleted file mode 100644 index 6905885..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/createImage_0.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/createImage_1.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/createImage_1.png deleted file mode 100644 index 6720927..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/createImage_1.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/curveDetail_.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/curveDetail_.png deleted file mode 100644 index cda89a2..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/curveDetail_.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/curvePoint_.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/curvePoint_.png deleted file mode 100644 index 7af62c0..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/curvePoint_.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/curveTangent_.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/curveTangent_.png deleted file mode 100644 index f9f7dc6..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/curveTangent_.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/curveVertex_.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/curveVertex_.png deleted file mode 100644 index 3b92367..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/curveVertex_.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/curve_.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/curve_.png deleted file mode 100644 index c9c3ebe..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/curve_.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/directionalLight_0.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/directionalLight_0.png deleted file mode 100644 index f2d9a10..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/directionalLight_0.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/directionalLight_1.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/directionalLight_1.png deleted file mode 100644 index 3a96665..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/directionalLight_1.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/ellipseMode_0.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/ellipseMode_0.png deleted file mode 100644 index 3759925..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/ellipseMode_0.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/ellipseMode_1.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/ellipseMode_1.png deleted file mode 100644 index 011b08d..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/ellipseMode_1.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/ellipse_.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/ellipse_.png deleted file mode 100644 index 7bb71fe..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/ellipse_.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/else0.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/else0.png deleted file mode 100644 index 93e0c3f..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/else0.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/else1.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/else1.png deleted file mode 100644 index 257750f..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/else1.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/emissive_.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/emissive_.png deleted file mode 100644 index 4e8b308..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/emissive_.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/endCamera_.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/endCamera_.png deleted file mode 100644 index e7525a6..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/endCamera_.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/endShape_.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/endShape_.png deleted file mode 100644 index 8bb957e..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/endShape_.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/fill_0.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/fill_0.png deleted file mode 100644 index 6030c8a..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/fill_0.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/fill_1.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/fill_1.png deleted file mode 100644 index c3d12da..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/fill_1.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/filter_0_threshold.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/filter_0_threshold.png deleted file mode 100644 index 9010ef9..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/filter_0_threshold.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/filter_1_gray.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/filter_1_gray.png deleted file mode 100644 index 4cf74e2..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/filter_1_gray.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/filter_2_invert.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/filter_2_invert.png deleted file mode 100644 index 8e2102f..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/filter_2_invert.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/filter_3_posterize.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/filter_3_posterize.png deleted file mode 100644 index ce738ff..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/filter_3_posterize.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/filter_4_blur.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/filter_4_blur.png deleted file mode 100644 index a84db8a..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/filter_4_blur.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/filter_5_erode.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/filter_5_erode.png deleted file mode 100644 index 70dd6a5..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/filter_5_erode.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/filter_6_dilate.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/filter_6_dilate.png deleted file mode 100644 index 23ce9bd..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/filter_6_dilate.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/for_0.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/for_0.png deleted file mode 100644 index eac9e1e..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/for_0.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/for_1.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/for_1.png deleted file mode 100644 index 26f8144..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/for_1.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/for_2.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/for_2.png deleted file mode 100644 index 50caf50..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/for_2.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/for_3.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/for_3.png deleted file mode 100644 index 1d5f554..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/for_3.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/frustum_.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/frustum_.png deleted file mode 100644 index efd89bf..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/frustum_.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/get_0.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/get_0.png deleted file mode 100644 index 4c1d286..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/get_0.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/get_1.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/get_1.png deleted file mode 100644 index 2f31ebf..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/get_1.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/green_.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/green_.png deleted file mode 100644 index 026f248..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/green_.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/height.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/height.png deleted file mode 100644 index a9a2fd7..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/height.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/hue_.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/hue_.png deleted file mode 100644 index f2738a2..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/hue_.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/if_.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/if_.png deleted file mode 100644 index c168f4a..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/if_.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/imageMode_0.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/imageMode_0.png deleted file mode 100644 index 25caf97..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/imageMode_0.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/imageMode_1.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/imageMode_1.png deleted file mode 100644 index 93ba43e..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/imageMode_1.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/imageMode_2.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/imageMode_2.png deleted file mode 100644 index 35407aa..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/imageMode_2.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/image_0.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/image_0.png deleted file mode 100644 index c07a80e..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/image_0.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/image_1.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/image_1.png deleted file mode 100644 index 6b91e98..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/image_1.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/lerpColor_.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/lerpColor_.png deleted file mode 100644 index a723f8a..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/lerpColor_.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/lerp_0.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/lerp_0.png deleted file mode 100644 index e5d1282..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/lerp_0.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/lerp_1.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/lerp_1.png deleted file mode 100644 index 98f2c90..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/lerp_1.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/lightFalloff_.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/lightFalloff_.png deleted file mode 100644 index 754ad8b..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/lightFalloff_.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/lightSpecular_.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/lightSpecular_.png deleted file mode 100644 index de585de..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/lightSpecular_.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/lights_0.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/lights_0.png deleted file mode 100644 index d50be44..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/lights_0.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/lights_1.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/lights_1.png deleted file mode 100644 index d50be44..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/lights_1.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/line_0.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/line_0.png deleted file mode 100644 index 5a6340f..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/line_0.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/line_1.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/line_1.png deleted file mode 100644 index f0e6ecb..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/line_1.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/line_2.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/line_2.png deleted file mode 100644 index b101dc7..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/line_2.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/loadFont_.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/loadFont_.png deleted file mode 100644 index 7d0b648..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/loadFont_.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/loadImage_0.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/loadImage_0.png deleted file mode 100644 index c07a80e..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/loadImage_0.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/loadImage_1.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/loadImage_1.png deleted file mode 100644 index c07a80e..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/loadImage_1.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/loadImage_2.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/loadImage_2.png deleted file mode 100644 index 44a2fed..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/loadImage_2.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/loadPixels_.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/loadPixels_.png deleted file mode 100644 index 2dc86ff..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/loadPixels_.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/loadShape_0.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/loadShape_0.png deleted file mode 100644 index e5e55c1..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/loadShape_0.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/loadShape_1.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/loadShape_1.png deleted file mode 100644 index e5e55c1..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/loadShape_1.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/logicalAND.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/logicalAND.png deleted file mode 100644 index 5e5c115..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/logicalAND.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/logicalNOT.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/logicalNOT.png deleted file mode 100644 index 6dbd307..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/logicalNOT.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/logicalNOT_2.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/logicalNOT_2.png deleted file mode 100644 index 20e3a73..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/logicalNOT_2.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/logicalOR.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/logicalOR.png deleted file mode 100644 index e7f4ff7..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/logicalOR.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/mag_.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/mag_.png deleted file mode 100644 index c0b0c75..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/mag_.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/noFill_.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/noFill_.png deleted file mode 100644 index c8e4453..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/noFill_.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/noSmooth_.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/noSmooth_.png deleted file mode 100644 index adf13ba..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/noSmooth_.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/noStroke_.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/noStroke_.png deleted file mode 100644 index fda1662..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/noStroke_.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/noTint_.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/noTint_.png deleted file mode 100644 index c6de4a8..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/noTint_.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/normal_.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/normal_.png deleted file mode 100644 index 628fec3..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/normal_.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/ortho_.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/ortho_.png deleted file mode 100644 index 17d6879..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/ortho_.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/perspective_.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/perspective_.png deleted file mode 100644 index 57eb044..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/perspective_.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/pixels.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/pixels.png deleted file mode 100644 index dfdb2dd..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/pixels.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/pointLight_.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/pointLight_.png deleted file mode 100644 index ad6e090..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/pointLight_.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/point_0.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/point_0.png deleted file mode 100644 index 2a31177..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/point_0.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/point_1.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/point_1.png deleted file mode 100644 index 2d26cbf..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/point_1.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/popMatrix_.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/popMatrix_.png deleted file mode 100644 index e37ed87..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/popMatrix_.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/popStyle_0.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/popStyle_0.png deleted file mode 100644 index 3a5fd0a..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/popStyle_0.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/popStyle_1.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/popStyle_1.png deleted file mode 100644 index be16249..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/popStyle_1.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/pushMatrix_.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/pushMatrix_.png deleted file mode 100644 index e37ed87..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/pushMatrix_.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/pushStyle_0.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/pushStyle_0.png deleted file mode 100644 index 3a5fd0a..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/pushStyle_0.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/pushStyle_1.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/pushStyle_1.png deleted file mode 100644 index be16249..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/pushStyle_1.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/quad_.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/quad_.png deleted file mode 100644 index 42580a3..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/quad_.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/quadraticVertex_0.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/quadraticVertex_0.png deleted file mode 100644 index ad8c860..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/quadraticVertex_0.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/quadraticVertex_1.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/quadraticVertex_1.png deleted file mode 100644 index a317bec..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/quadraticVertex_1.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/randomGaussian_0.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/randomGaussian_0.png deleted file mode 100644 index 70448b9..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/randomGaussian_0.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/randomGaussian_1.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/randomGaussian_1.png deleted file mode 100644 index c648531..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/randomGaussian_1.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/rectMode_0.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/rectMode_0.png deleted file mode 100644 index f8a9692..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/rectMode_0.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/rectMode_1.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/rectMode_1.png deleted file mode 100644 index c25a4ec..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/rectMode_1.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/rect_0.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/rect_0.png deleted file mode 100644 index eefd20a..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/rect_0.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/rect_1.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/rect_1.png deleted file mode 100644 index cd8bf97..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/rect_1.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/rect_2.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/rect_2.png deleted file mode 100644 index 1818541..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/rect_2.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/red_.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/red_.png deleted file mode 100644 index 614a83a..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/red_.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/resetMatrix_.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/resetMatrix_.png deleted file mode 100644 index 688efe4..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/resetMatrix_.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/rotateX_0.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/rotateX_0.png deleted file mode 100644 index 340b55b..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/rotateX_0.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/rotateX_1.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/rotateX_1.png deleted file mode 100644 index 340b55b..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/rotateX_1.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/rotateY_0.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/rotateY_0.png deleted file mode 100644 index 97304e0..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/rotateY_0.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/rotateY_1.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/rotateY_1.png deleted file mode 100644 index 97304e0..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/rotateY_1.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/rotateZ_0.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/rotateZ_0.png deleted file mode 100644 index 0ab0b93..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/rotateZ_0.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/rotateZ_1.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/rotateZ_1.png deleted file mode 100644 index 0ab0b93..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/rotateZ_1.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/rotate_.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/rotate_.png deleted file mode 100644 index cc25f40..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/rotate_.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/saturation_.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/saturation_.png deleted file mode 100644 index eac14cd..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/saturation_.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/scale_0.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/scale_0.png deleted file mode 100644 index 74d5641..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/scale_0.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/scale_1.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/scale_1.png deleted file mode 100644 index f5c474b..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/scale_1.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/scale_2.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/scale_2.png deleted file mode 100644 index 5bae609..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/scale_2.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/select_arrow.gif b/Java/Processing/processing-3.3.6/modes/java/reference/images/select_arrow.gif deleted file mode 100644 index 2b8e614..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/select_arrow.gif and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/set_0.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/set_0.png deleted file mode 100644 index 2a31177..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/set_0.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/set_1.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/set_1.png deleted file mode 100644 index c876f54..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/set_1.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/set_2.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/set_2.png deleted file mode 100644 index ebbba78..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/set_2.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/shapeMode_.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/shapeMode_.png deleted file mode 100644 index 2a1cc78..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/shapeMode_.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/shape_0.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/shape_0.png deleted file mode 100644 index e5e55c1..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/shape_0.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/shape_1.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/shape_1.png deleted file mode 100644 index e5e55c1..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/shape_1.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/shearX_.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/shearX_.png deleted file mode 100644 index 185924a..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/shearX_.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/shearY_.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/shearY_.png deleted file mode 100644 index 8f51601..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/shearY_.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/shininess_.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/shininess_.png deleted file mode 100644 index 263a081..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/shininess_.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/sin_.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/sin_.png deleted file mode 100644 index 3ae917e..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/sin_.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/size_0.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/size_0.png deleted file mode 100644 index d609e2c..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/size_0.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/size_1.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/size_1.png deleted file mode 100644 index f47eeb5..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/size_1.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/size_2.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/size_2.png deleted file mode 100644 index 587e7a4..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/size_2.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/smooth_.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/smooth_.png deleted file mode 100644 index adf13ba..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/smooth_.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/specular_.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/specular_.png deleted file mode 100644 index 9113d41..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/specular_.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/sphere_.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/sphere_.png deleted file mode 100644 index fb89536..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/sphere_.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/spotLight_0.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/spotLight_0.png deleted file mode 100644 index 45e6e71..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/spotLight_0.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/spotLight_1.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/spotLight_1.png deleted file mode 100644 index 65a11dc..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/spotLight_1.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/sq_.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/sq_.png deleted file mode 100644 index e219483..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/sq_.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/sqrt_.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/sqrt_.png deleted file mode 100644 index 7465c8b..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/sqrt_.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/strokeCap_.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/strokeCap_.png deleted file mode 100644 index e4a2e85..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/strokeCap_.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/strokeJoin_0.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/strokeJoin_0.png deleted file mode 100644 index a07b0bd..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/strokeJoin_0.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/strokeJoin_1.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/strokeJoin_1.png deleted file mode 100644 index e2e23d8..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/strokeJoin_1.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/strokeJoin_2.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/strokeJoin_2.png deleted file mode 100644 index 8bfdac1..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/strokeJoin_2.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/strokeWeight_.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/strokeWeight_.png deleted file mode 100644 index 55d8e4a..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/strokeWeight_.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/stroke_0.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/stroke_0.png deleted file mode 100644 index 00527d5..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/stroke_0.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/stroke_1.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/stroke_1.png deleted file mode 100644 index 96ed1b0..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/stroke_1.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/tan_.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/tan_.png deleted file mode 100644 index dc0ddb4..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/tan_.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/textAlign_.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/textAlign_.png deleted file mode 100644 index 60a1a1f..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/textAlign_.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/textAlign_0.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/textAlign_0.png deleted file mode 100644 index 58d9852..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/textAlign_0.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/textAlign_1.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/textAlign_1.png deleted file mode 100644 index ab6dccf..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/textAlign_1.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/textAscent_.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/textAscent_.png deleted file mode 100644 index a856a94..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/textAscent_.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/textDescent_.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/textDescent_.png deleted file mode 100644 index 5cbc852..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/textDescent_.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/textFont_.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/textFont_.png deleted file mode 100644 index 51cd3b1..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/textFont_.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/textLeading_.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/textLeading_.png deleted file mode 100644 index 7382094..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/textLeading_.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/textSize_.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/textSize_.png deleted file mode 100644 index 9c8f558..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/textSize_.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/textWidth_.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/textWidth_.png deleted file mode 100644 index 2d01a98..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/textWidth_.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/text_0.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/text_0.png deleted file mode 100644 index 3e51217..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/text_0.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/text_1.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/text_1.png deleted file mode 100644 index d863381..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/text_1.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/text_2.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/text_2.png deleted file mode 100644 index 4642176..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/text_2.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/textureMode_0.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/textureMode_0.png deleted file mode 100644 index 3b8fdfe..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/textureMode_0.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/textureMode_1.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/textureMode_1.png deleted file mode 100644 index 3b8fdfe..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/textureMode_1.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/texture_.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/texture_.png deleted file mode 100644 index 3b8fdfe..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/texture_.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/tint_0.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/tint_0.png deleted file mode 100644 index 48ec396..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/tint_0.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/tint_1.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/tint_1.png deleted file mode 100644 index 509e8dc..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/tint_1.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/tint_2.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/tint_2.png deleted file mode 100644 index bf8b504..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/tint_2.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/translate_0.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/translate_0.png deleted file mode 100644 index eefd20a..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/translate_0.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/translate_1.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/translate_1.png deleted file mode 100644 index 73eacf6..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/translate_1.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/translate_2.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/translate_2.png deleted file mode 100644 index 3ce3342..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/translate_2.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/triangle_.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/triangle_.png deleted file mode 100644 index 7896a9f..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/triangle_.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/updatePixels_.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/updatePixels_.png deleted file mode 100644 index ebc56b0..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/updatePixels_.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/vertex_0.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/vertex_0.png deleted file mode 100644 index e7e0d33..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/vertex_0.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/vertex_1.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/vertex_1.png deleted file mode 100644 index ec90d29..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/vertex_1.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/vertex_2.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/vertex_2.png deleted file mode 100644 index 3b8fdfe..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/vertex_2.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/while_.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/while_.png deleted file mode 100644 index 26f8144..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/while_.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/images/width.png b/Java/Processing/processing-3.3.6/modes/java/reference/images/width.png deleted file mode 100644 index ca5408a..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/images/width.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/img/favicon.ico b/Java/Processing/processing-3.3.6/modes/java/reference/img/favicon.ico deleted file mode 100644 index ed1fe0a..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/img/favicon.ico and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/img/header.gif b/Java/Processing/processing-3.3.6/modes/java/reference/img/header.gif deleted file mode 100644 index 41ded0c..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/img/header.gif and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/img/processing-logo.png b/Java/Processing/processing-3.3.6/modes/java/reference/img/processing-logo.png deleted file mode 100644 index cc873e6..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/img/processing-logo.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/img/processing-logo.svg b/Java/Processing/processing-3.3.6/modes/java/reference/img/processing-logo.svg deleted file mode 100644 index 6aead8f..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/img/processing-logo.svg +++ /dev/null @@ -1,53 +0,0 @@ - - - - - - - - - - - - - - - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/img/processing-web.png b/Java/Processing/processing-3.3.6/modes/java/reference/img/processing-web.png deleted file mode 100644 index 8646b06..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/img/processing-web.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/img/search.png b/Java/Processing/processing-3.3.6/modes/java/reference/img/search.png deleted file mode 100644 index 69c3312..0000000 Binary files a/Java/Processing/processing-3.3.6/modes/java/reference/img/search.png and /dev/null differ diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/img/search.svg b/Java/Processing/processing-3.3.6/modes/java/reference/img/search.svg deleted file mode 100644 index 3e1a0e7..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/img/search.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/implements.html b/Java/Processing/processing-3.3.6/modes/java/reference/implements.html deleted file mode 100644 index b537741..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/implements.html +++ /dev/null @@ -1,181 +0,0 @@ - - - - implements \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

implements

Examples
-interface Dot {
-  void move();
-  void display();
-}
-
-class CircleDot implements Dot {
-  float x = 50;
-  float y = 50;
-
-  void move() {
-    x = x + random(-1, 1);
-  }
-
-  void display() {
-    ellipse(x, y, 16, 16);
-  }
-}
-
-class SquareDot implements Dot {
-  float x = 50;
-  float y = 50;
-
-
-  void move() {
-    y = y + random(-1, 1);
-  }
-
-  void display() {
-    rect(x, y, 16, 16);
-  }
-}
-
-
Description -Implements an interface or group of interfaces. Interfaces are used to establish a protocol between classes; they establish the form for a class (method names, return types, etc.) but no implementation. After implementation, an interface can be used and extended like any other class.
-
-Because Java doesn't allow extending more than one class at a time, you can create interfaces instead, so specific methods and fields can be found in the class which implements it. A Thread is an example; it implements the "Runnable" interface, which means the class has a method called "public void run()" inside it. -
Relatedextends
- -Updated on April 30, 2017 02:33:22pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/import.html b/Java/Processing/processing-3.3.6/modes/java/reference/import.html deleted file mode 100644 index e20587f..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/import.html +++ /dev/null @@ -1,169 +0,0 @@ - - - - import \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

import

Examples
-import processing.pdf.*;
-
-void setup() {
-  size(1024, 768, PDF);
-}
-
-void draw() {
-  line(0, 0, width, height);
-  line(0, height, width, 0);
-}
-
-
Description -The keyword import is used to load a library into a Processing sketch. -A library is one or more classes that are grouped together to extend the capabilities of Processing. -The * character is often used at the end of the import line (see the code example above) -to load all of the related classes at once, without having to reference them individually.
-
-The import statement will be created for you by selecting a library from the "Import Library..." -item in the Sketch menu. -
Syntax
-import libraryName
-
Parameters - - -
libraryNamethe name of the library to load (e.g. "processing.pdf.*")
- -Updated on April 30, 2017 02:33:23pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/increment.html b/Java/Processing/processing-3.3.6/modes/java/reference/increment.html deleted file mode 100644 index fe2d6ba..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/increment.html +++ /dev/null @@ -1,158 +0,0 @@ - - - - ++ (increment) \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

++ (increment)

Examples
-int a = 1;   // Sets 'a' to 1 
-int b = a++; // Sets 'b' to 1, then increments 'a' to 2
-int c = a;   // Sets 'c' to 2 
-
-
Description -Increases the value of an integer variable by 1. Equivalent to the operation i = i + 1. If the value of the variable i is five, then the expression i++ increases the value of i to 6. -
Syntax
-value++
-
Parameters - - -
valueint
Related+ (add)
-+= (add assign)
--- (decrement)
- -Updated on April 30, 2017 02:33:23pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/index.html b/Java/Processing/processing-3.3.6/modes/java/reference/index.html deleted file mode 100644 index 61ee56d..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/index.html +++ /dev/null @@ -1,999 +0,0 @@ - - - - Language Reference (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - -
- -

Reference. Processing was designed to be a flexible software sketchbook.

- - - -
- - - -
-Data -
Primitive
- -boolean - -byte - -char - -color - -double - -float - -int - -long -
Composite
- -Array - -ArrayList - -FloatDict - -FloatList - -HashMap - -IntDict - -IntList - -JSONArray - -JSONObject - -Object - -String - -StringDict - -StringList - -Table - -TableRow - -XML -
Conversion
- -binary() - -boolean() - -byte() - -char() - -float() - -hex() - -int() - -str() - -unbinary() - -unhex() -
String Functions
- -join() - -match() - -matchAll() - -nf() - -nfc() - -nfp() - -nfs() - -split() - -splitTokens() - -trim() - -
Array Functions
- -append() - -arrayCopy() - -concat() - -expand() - -reverse() - -shorten() - -sort() - -splice() - -subset() - -
-
-Control - -
Relational Operators
- -!= (inequality) - -< (less than) - -<= (less than or equal to) - -== (equality) - -> (greater than) - ->= (greater than or equal to) -
Iteration
- -for - -while -
Conditionals
- -?: (conditional) - -break - -case - -continue - -default - -else - -if - -switch -
Logical Operators
- -! (logical NOT) - -&& (logical AND) - -|| (logical OR) - -
-
- - - - - - - -
- -
-Color - -
Setting
- - -background() - -clear() - -colorMode() - -fill() - -noFill() - -noStroke() - -stroke() - -
Creating & Reading
- -alpha() - -blue() - -brightness() - -color() - -green() - -hue() - -lerpColor() - -red() - -saturation() - -
- -
-Image -

- -createImage() - -PImage -
Loading & Displaying
- -image() - -imageMode() - -loadImage() - -noTint() - -requestImage() - -tint() -
Textures
- -texture() - -textureMode() - -textureWrap() -
Pixels
- -blend() - -copy() - -filter() - -get() - -loadPixels() - -pixels[] - -set() - -updatePixels() - -
-
-Rendering -

- -blendMode() - -clip() - -createGraphics() - -noClip() - -PGraphics -
Shaders
- -loadShader() - -PShader - -resetShader() - -shader() - -
-
-Typography -

- -PFont -
Loading & Displaying
- -createFont() - -loadFont() - -text() - -textFont() -
Attributes
- -textAlign() - -textLeading() - -textMode() - -textSize() - -textWidth() -
Metrics
- -textAscent() - -textDescent() - -
- - - -
-Constants -

- -HALF_PI - -PI - -QUARTER_PI - -TAU - -TWO_PI - -
- - -
- - - - -
- - - - - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/inequality.html b/Java/Processing/processing-3.3.6/modes/java/reference/inequality.html deleted file mode 100644 index 921fb1b..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/inequality.html +++ /dev/null @@ -1,166 +0,0 @@ - - - - != (inequality) \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

!= (inequality)

Examples
-int a = 22;
-int b = 23;
-if (a != b) {
-  println("variable a is not equal to variable b");
-}
-
-
Description -Determines if one expression is not equivalent to another. -
Syntax
-value1 != value2
-
Parameters - - - - - - -
value1int, float, char, byte, boolean
value2int, float, char, byte, boolean
Related> (greater than)
-< (less than)
->= (greater than or equal to)
-<= (less than or equal to)
-== (equality)
- -Updated on April 30, 2017 02:33:22pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/int.html b/Java/Processing/processing-3.3.6/modes/java/reference/int.html deleted file mode 100644 index e946d80..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/int.html +++ /dev/null @@ -1,162 +0,0 @@ - - - - int \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

int

Examples
-int a;          // Declare variable 'a' of type int
-a = 23;         // Assign 'a' the value 23
-int b = -256;   // Declare variable 'b' and assign it the value -256
-int c = a + b;  // Declare variable 'c' and assign it the sum of 'a' and 'b'
-
-
Description -Datatype for integers, numbers without a decimal point. Integers can be as large as 2,147,483,647 and as low as -2,147,483,648. They are stored as 32 bits of information. The first time a variable is written, it must be declared with a statement expressing its datatype. Subsequent uses of this variable must not reference the datatype because Processing will think the variable is being declared again. -
Syntax
-int var
-int var = value
-
Parameters - - - - - - -
varvariable name referencing the value
valueany integer value
Relatedfloat
- -Updated on April 30, 2017 02:33:23pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/intconvert_.html b/Java/Processing/processing-3.3.6/modes/java/reference/intconvert_.html deleted file mode 100644 index a93c8ff..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/intconvert_.html +++ /dev/null @@ -1,157 +0,0 @@ - - - - int() \ Language (API) \ Processing 2+ - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- -

This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.

- - - - - - - - - - - - - - - - - - - - - - - - -
Name

int()

Examples
-float f = 65.0;
-int i = int(f);
-println(f + " : " + i);  // Prints "65.0 : 65"
-
-char c = 'E';
-i = int(c);
-println(c + " : " + i);  // Prints "E : 69"
-
-
Description -Converts any value of a primitive data type (boolean, byte, char, color, float, int, or long) to its integer representation.
-
-When an array of values is passed in, then an int array of the same length is returned. -
- -Updated on April 30, 2017 02:33:23pm EDT

- - - -
- Creative Commons License -
- - -
- - - - -
- - - - diff --git a/Java/Processing/processing-3.3.6/modes/java/reference/javascript/MM_functions.js b/Java/Processing/processing-3.3.6/modes/java/reference/javascript/MM_functions.js deleted file mode 100644 index 29c03b1..0000000 --- a/Java/Processing/processing-3.3.6/modes/java/reference/javascript/MM_functions.js +++ /dev/null @@ -1,33 +0,0 @@ -function MM_swapImgRestore() { //v3.0 - var i,x,a=document.MM_sr; for(i=0;a&&i0&&parent.frames.length) { - d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);} - if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i)[^>]*|#([\w-]*))$/,C=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,k=/^[\],:{}\s]*$/,E=/(?:^|:|,)(?:\s*\[)+/g,S=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,A=/"[^"\\\r\n]*"|true|false|null|-?(?:\d+\.|)\d+(?:[eE][+-]?\d+|)/g,j=/^-ms-/,D=/-([\da-z])/gi,L=function(e,t){return t.toUpperCase()},H=function(e){(o.addEventListener||"load"===e.type||"complete"===o.readyState)&&(q(),b.ready())},q=function(){o.addEventListener?(o.removeEventListener("DOMContentLoaded",H,!1),e.removeEventListener("load",H,!1)):(o.detachEvent("onreadystatechange",H),e.detachEvent("onload",H))};b.fn=b.prototype={jquery:p,constructor:b,init:function(e,n,r){var i,a;if(!e)return this;if("string"==typeof e){if(i="<"===e.charAt(0)&&">"===e.charAt(e.length-1)&&e.length>=3?[null,e,null]:N.exec(e),!i||!i[1]&&n)return!n||n.jquery?(n||r).find(e):this.constructor(n).find(e);if(i[1]){if(n=n instanceof b?n[0]:n,b.merge(this,b.parseHTML(i[1],n&&n.nodeType?n.ownerDocument||n:o,!0)),C.test(i[1])&&b.isPlainObject(n))for(i in n)b.isFunction(this[i])?this[i](n[i]):this.attr(i,n[i]);return this}if(a=o.getElementById(i[2]),a&&a.parentNode){if(a.id!==i[2])return r.find(e);this.length=1,this[0]=a}return this.context=o,this.selector=e,this}return e.nodeType?(this.context=this[0]=e,this.length=1,this):b.isFunction(e)?r.ready(e):(e.selector!==t&&(this.selector=e.selector,this.context=e.context),b.makeArray(e,this))},selector:"",length:0,size:function(){return this.length},toArray:function(){return h.call(this)},get:function(e){return null==e?this.toArray():0>e?this[this.length+e]:this[e]},pushStack:function(e){var t=b.merge(this.constructor(),e);return t.prevObject=this,t.context=this.context,t},each:function(e,t){return b.each(this,e,t)},ready:function(e){return b.ready.promise().done(e),this},slice:function(){return this.pushStack(h.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(0>e?t:0);return this.pushStack(n>=0&&t>n?[this[n]]:[])},map:function(e){return this.pushStack(b.map(this,function(t,n){return e.call(t,n,t)}))},end:function(){return this.prevObject||this.constructor(null)},push:d,sort:[].sort,splice:[].splice},b.fn.init.prototype=b.fn,b.extend=b.fn.extend=function(){var e,n,r,i,o,a,s=arguments[0]||{},u=1,l=arguments.length,c=!1;for("boolean"==typeof s&&(c=s,s=arguments[1]||{},u=2),"object"==typeof s||b.isFunction(s)||(s={}),l===u&&(s=this,--u);l>u;u++)if(null!=(o=arguments[u]))for(i in o)e=s[i],r=o[i],s!==r&&(c&&r&&(b.isPlainObject(r)||(n=b.isArray(r)))?(n?(n=!1,a=e&&b.isArray(e)?e:[]):a=e&&b.isPlainObject(e)?e:{},s[i]=b.extend(c,a,r)):r!==t&&(s[i]=r));return s},b.extend({noConflict:function(t){return e.$===b&&(e.$=u),t&&e.jQuery===b&&(e.jQuery=s),b},isReady:!1,readyWait:1,holdReady:function(e){e?b.readyWait++:b.ready(!0)},ready:function(e){if(e===!0?!--b.readyWait:!b.isReady){if(!o.body)return setTimeout(b.ready);b.isReady=!0,e!==!0&&--b.readyWait>0||(n.resolveWith(o,[b]),b.fn.trigger&&b(o).trigger("ready").off("ready"))}},isFunction:function(e){return"function"===b.type(e)},isArray:Array.isArray||function(e){return"array"===b.type(e)},isWindow:function(e){return null!=e&&e==e.window},isNumeric:function(e){return!isNaN(parseFloat(e))&&isFinite(e)},type:function(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?l[m.call(e)]||"object":typeof e},isPlainObject:function(e){if(!e||"object"!==b.type(e)||e.nodeType||b.isWindow(e))return!1;try{if(e.constructor&&!y.call(e,"constructor")&&!y.call(e.constructor.prototype,"isPrototypeOf"))return!1}catch(n){return!1}var r;for(r in e);return r===t||y.call(e,r)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},error:function(e){throw Error(e)},parseHTML:function(e,t,n){if(!e||"string"!=typeof e)return null;"boolean"==typeof t&&(n=t,t=!1),t=t||o;var r=C.exec(e),i=!n&&[];return r?[t.createElement(r[1])]:(r=b.buildFragment([e],t,i),i&&b(i).remove(),b.merge([],r.childNodes))},parseJSON:function(n){return e.JSON&&e.JSON.parse?e.JSON.parse(n):null===n?n:"string"==typeof n&&(n=b.trim(n),n&&k.test(n.replace(S,"@").replace(A,"]").replace(E,"")))?Function("return "+n)():(b.error("Invalid JSON: "+n),t)},parseXML:function(n){var r,i;if(!n||"string"!=typeof n)return null;try{e.DOMParser?(i=new DOMParser,r=i.parseFromString(n,"text/xml")):(r=new ActiveXObject("Microsoft.XMLDOM"),r.async="false",r.loadXML(n))}catch(o){r=t}return r&&r.documentElement&&!r.getElementsByTagName("parsererror").length||b.error("Invalid XML: "+n),r},noop:function(){},globalEval:function(t){t&&b.trim(t)&&(e.execScript||function(t){e.eval.call(e,t)})(t)},camelCase:function(e){return e.replace(j,"ms-").replace(D,L)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,t,n){var r,i=0,o=e.length,a=M(e);if(n){if(a){for(;o>i;i++)if(r=t.apply(e[i],n),r===!1)break}else for(i in e)if(r=t.apply(e[i],n),r===!1)break}else if(a){for(;o>i;i++)if(r=t.call(e[i],i,e[i]),r===!1)break}else for(i in e)if(r=t.call(e[i],i,e[i]),r===!1)break;return e},trim:v&&!v.call("\ufeff\u00a0")?function(e){return null==e?"":v.call(e)}:function(e){return null==e?"":(e+"").replace(T,"")},makeArray:function(e,t){var n=t||[];return null!=e&&(M(Object(e))?b.merge(n,"string"==typeof e?[e]:e):d.call(n,e)),n},inArray:function(e,t,n){var r;if(t){if(g)return g.call(t,e,n);for(r=t.length,n=n?0>n?Math.max(0,r+n):n:0;r>n;n++)if(n in t&&t[n]===e)return n}return-1},merge:function(e,n){var r=n.length,i=e.length,o=0;if("number"==typeof r)for(;r>o;o++)e[i++]=n[o];else while(n[o]!==t)e[i++]=n[o++];return e.length=i,e},grep:function(e,t,n){var r,i=[],o=0,a=e.length;for(n=!!n;a>o;o++)r=!!t(e[o],o),n!==r&&i.push(e[o]);return i},map:function(e,t,n){var r,i=0,o=e.length,a=M(e),s=[];if(a)for(;o>i;i++)r=t(e[i],i,n),null!=r&&(s[s.length]=r);else for(i in e)r=t(e[i],i,n),null!=r&&(s[s.length]=r);return f.apply([],s)},guid:1,proxy:function(e,n){var r,i,o;return"string"==typeof n&&(o=e[n],n=e,e=o),b.isFunction(e)?(r=h.call(arguments,2),i=function(){return e.apply(n||this,r.concat(h.call(arguments)))},i.guid=e.guid=e.guid||b.guid++,i):t},access:function(e,n,r,i,o,a,s){var u=0,l=e.length,c=null==r;if("object"===b.type(r)){o=!0;for(u in r)b.access(e,n,u,r[u],!0,a,s)}else if(i!==t&&(o=!0,b.isFunction(i)||(s=!0),c&&(s?(n.call(e,i),n=null):(c=n,n=function(e,t,n){return c.call(b(e),n)})),n))for(;l>u;u++)n(e[u],r,s?i:i.call(e[u],u,n(e[u],r)));return o?e:c?n.call(e):l?n(e[0],r):a},now:function(){return(new Date).getTime()}}),b.ready.promise=function(t){if(!n)if(n=b.Deferred(),"complete"===o.readyState)setTimeout(b.ready);else if(o.addEventListener)o.addEventListener("DOMContentLoaded",H,!1),e.addEventListener("load",H,!1);else{o.attachEvent("onreadystatechange",H),e.attachEvent("onload",H);var r=!1;try{r=null==e.frameElement&&o.documentElement}catch(i){}r&&r.doScroll&&function a(){if(!b.isReady){try{r.doScroll("left")}catch(e){return setTimeout(a,50)}q(),b.ready()}}()}return n.promise(t)},b.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(e,t){l["[object "+t+"]"]=t.toLowerCase()});function M(e){var t=e.length,n=b.type(e);return b.isWindow(e)?!1:1===e.nodeType&&t?!0:"array"===n||"function"!==n&&(0===t||"number"==typeof t&&t>0&&t-1 in e)}r=b(o);var _={};function F(e){var t=_[e]={};return b.each(e.match(w)||[],function(e,n){t[n]=!0}),t}b.Callbacks=function(e){e="string"==typeof e?_[e]||F(e):b.extend({},e);var n,r,i,o,a,s,u=[],l=!e.once&&[],c=function(t){for(r=e.memory&&t,i=!0,a=s||0,s=0,o=u.length,n=!0;u&&o>a;a++)if(u[a].apply(t[0],t[1])===!1&&e.stopOnFalse){r=!1;break}n=!1,u&&(l?l.length&&c(l.shift()):r?u=[]:p.disable())},p={add:function(){if(u){var t=u.length;(function i(t){b.each(t,function(t,n){var r=b.type(n);"function"===r?e.unique&&p.has(n)||u.push(n):n&&n.length&&"string"!==r&&i(n)})})(arguments),n?o=u.length:r&&(s=t,c(r))}return this},remove:function(){return u&&b.each(arguments,function(e,t){var r;while((r=b.inArray(t,u,r))>-1)u.splice(r,1),n&&(o>=r&&o--,a>=r&&a--)}),this},has:function(e){return e?b.inArray(e,u)>-1:!(!u||!u.length)},empty:function(){return u=[],this},disable:function(){return u=l=r=t,this},disabled:function(){return!u},lock:function(){return l=t,r||p.disable(),this},locked:function(){return!l},fireWith:function(e,t){return t=t||[],t=[e,t.slice?t.slice():t],!u||i&&!l||(n?l.push(t):c(t)),this},fire:function(){return p.fireWith(this,arguments),this},fired:function(){return!!i}};return p},b.extend({Deferred:function(e){var t=[["resolve","done",b.Callbacks("once memory"),"resolved"],["reject","fail",b.Callbacks("once memory"),"rejected"],["notify","progress",b.Callbacks("memory")]],n="pending",r={state:function(){return n},always:function(){return i.done(arguments).fail(arguments),this},then:function(){var e=arguments;return b.Deferred(function(n){b.each(t,function(t,o){var a=o[0],s=b.isFunction(e[t])&&e[t];i[o[1]](function(){var e=s&&s.apply(this,arguments);e&&b.isFunction(e.promise)?e.promise().done(n.resolve).fail(n.reject).progress(n.notify):n[a+"With"](this===r?n.promise():this,s?[e]:arguments)})}),e=null}).promise()},promise:function(e){return null!=e?b.extend(e,r):r}},i={};return r.pipe=r.then,b.each(t,function(e,o){var a=o[2],s=o[3];r[o[1]]=a.add,s&&a.add(function(){n=s},t[1^e][2].disable,t[2][2].lock),i[o[0]]=function(){return i[o[0]+"With"](this===i?r:this,arguments),this},i[o[0]+"With"]=a.fireWith}),r.promise(i),e&&e.call(i,i),i},when:function(e){var t=0,n=h.call(arguments),r=n.length,i=1!==r||e&&b.isFunction(e.promise)?r:0,o=1===i?e:b.Deferred(),a=function(e,t,n){return function(r){t[e]=this,n[e]=arguments.length>1?h.call(arguments):r,n===s?o.notifyWith(t,n):--i||o.resolveWith(t,n)}},s,u,l;if(r>1)for(s=Array(r),u=Array(r),l=Array(r);r>t;t++)n[t]&&b.isFunction(n[t].promise)?n[t].promise().done(a(t,l,n)).fail(o.reject).progress(a(t,u,s)):--i;return i||o.resolveWith(l,n),o.promise()}}),b.support=function(){var t,n,r,a,s,u,l,c,p,f,d=o.createElement("div");if(d.setAttribute("className","t"),d.innerHTML="
a",n=d.getElementsByTagName("*"),r=d.getElementsByTagName("a")[0],!n||!r||!n.length)return{};s=o.createElement("select"),l=s.appendChild(o.createElement("option")),a=d.getElementsByTagName("input")[0],r.style.cssText="top:1px;float:left;opacity:.5",t={getSetAttribute:"t"!==d.className,leadingWhitespace:3===d.firstChild.nodeType,tbody:!d.getElementsByTagName("tbody").length,htmlSerialize:!!d.getElementsByTagName("link").length,style:/top/.test(r.getAttribute("style")),hrefNormalized:"/a"===r.getAttribute("href"),opacity:/^0.5/.test(r.style.opacity),cssFloat:!!r.style.cssFloat,checkOn:!!a.value,optSelected:l.selected,enctype:!!o.createElement("form").enctype,html5Clone:"<:nav>"!==o.createElement("nav").cloneNode(!0).outerHTML,boxModel:"CSS1Compat"===o.compatMode,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0,boxSizingReliable:!0,pixelPosition:!1},a.checked=!0,t.noCloneChecked=a.cloneNode(!0).checked,s.disabled=!0,t.optDisabled=!l.disabled;try{delete d.test}catch(h){t.deleteExpando=!1}a=o.createElement("input"),a.setAttribute("value",""),t.input=""===a.getAttribute("value"),a.value="t",a.setAttribute("type","radio"),t.radioValue="t"===a.value,a.setAttribute("checked","t"),a.setAttribute("name","t"),u=o.createDocumentFragment(),u.appendChild(a),t.appendChecked=a.checked,t.checkClone=u.cloneNode(!0).cloneNode(!0).lastChild.checked,d.attachEvent&&(d.attachEvent("onclick",function(){t.noCloneEvent=!1}),d.cloneNode(!0).click());for(f in{submit:!0,change:!0,focusin:!0})d.setAttribute(c="on"+f,"t"),t[f+"Bubbles"]=c in e||d.attributes[c].expando===!1;return d.style.backgroundClip="content-box",d.cloneNode(!0).style.backgroundClip="",t.clearCloneStyle="content-box"===d.style.backgroundClip,b(function(){var n,r,a,s="padding:0;margin:0;border:0;display:block;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;",u=o.getElementsByTagName("body")[0];u&&(n=o.createElement("div"),n.style.cssText="border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px",u.appendChild(n).appendChild(d),d.innerHTML="
t
",a=d.getElementsByTagName("td"),a[0].style.cssText="padding:0;margin:0;border:0;display:none",p=0===a[0].offsetHeight,a[0].style.display="",a[1].style.display="none",t.reliableHiddenOffsets=p&&0===a[0].offsetHeight,d.innerHTML="",d.style.cssText="box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;",t.boxSizing=4===d.offsetWidth,t.doesNotIncludeMarginInBodyOffset=1!==u.offsetTop,e.getComputedStyle&&(t.pixelPosition="1%"!==(e.getComputedStyle(d,null)||{}).top,t.boxSizingReliable="4px"===(e.getComputedStyle(d,null)||{width:"4px"}).width,r=d.appendChild(o.createElement("div")),r.style.cssText=d.style.cssText=s,r.style.marginRight=r.style.width="0",d.style.width="1px",t.reliableMarginRight=!parseFloat((e.getComputedStyle(r,null)||{}).marginRight)),typeof d.style.zoom!==i&&(d.innerHTML="",d.style.cssText=s+"width:1px;padding:1px;display:inline;zoom:1",t.inlineBlockNeedsLayout=3===d.offsetWidth,d.style.display="block",d.innerHTML="
",d.firstChild.style.width="5px",t.shrinkWrapBlocks=3!==d.offsetWidth,t.inlineBlockNeedsLayout&&(u.style.zoom=1)),u.removeChild(n),n=d=a=r=null)}),n=s=u=l=r=a=null,t}();var O=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,B=/([A-Z])/g;function P(e,n,r,i){if(b.acceptData(e)){var o,a,s=b.expando,u="string"==typeof n,l=e.nodeType,p=l?b.cache:e,f=l?e[s]:e[s]&&s;if(f&&p[f]&&(i||p[f].data)||!u||r!==t)return f||(l?e[s]=f=c.pop()||b.guid++:f=s),p[f]||(p[f]={},l||(p[f].toJSON=b.noop)),("object"==typeof n||"function"==typeof n)&&(i?p[f]=b.extend(p[f],n):p[f].data=b.extend(p[f].data,n)),o=p[f],i||(o.data||(o.data={}),o=o.data),r!==t&&(o[b.camelCase(n)]=r),u?(a=o[n],null==a&&(a=o[b.camelCase(n)])):a=o,a}}function R(e,t,n){if(b.acceptData(e)){var r,i,o,a=e.nodeType,s=a?b.cache:e,u=a?e[b.expando]:b.expando;if(s[u]){if(t&&(o=n?s[u]:s[u].data)){b.isArray(t)?t=t.concat(b.map(t,b.camelCase)):t in o?t=[t]:(t=b.camelCase(t),t=t in o?[t]:t.split(" "));for(r=0,i=t.length;i>r;r++)delete o[t[r]];if(!(n?$:b.isEmptyObject)(o))return}(n||(delete s[u].data,$(s[u])))&&(a?b.cleanData([e],!0):b.support.deleteExpando||s!=s.window?delete s[u]:s[u]=null)}}}b.extend({cache:{},expando:"jQuery"+(p+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(e){return e=e.nodeType?b.cache[e[b.expando]]:e[b.expando],!!e&&!$(e)},data:function(e,t,n){return P(e,t,n)},removeData:function(e,t){return R(e,t)},_data:function(e,t,n){return P(e,t,n,!0)},_removeData:function(e,t){return R(e,t,!0)},acceptData:function(e){if(e.nodeType&&1!==e.nodeType&&9!==e.nodeType)return!1;var t=e.nodeName&&b.noData[e.nodeName.toLowerCase()];return!t||t!==!0&&e.getAttribute("classid")===t}}),b.fn.extend({data:function(e,n){var r,i,o=this[0],a=0,s=null;if(e===t){if(this.length&&(s=b.data(o),1===o.nodeType&&!b._data(o,"parsedAttrs"))){for(r=o.attributes;r.length>a;a++)i=r[a].name,i.indexOf("data-")||(i=b.camelCase(i.slice(5)),W(o,i,s[i]));b._data(o,"parsedAttrs",!0)}return s}return"object"==typeof e?this.each(function(){b.data(this,e)}):b.access(this,function(n){return n===t?o?W(o,e,b.data(o,e)):null:(this.each(function(){b.data(this,e,n)}),t)},null,n,arguments.length>1,null,!0)},removeData:function(e){return this.each(function(){b.removeData(this,e)})}});function W(e,n,r){if(r===t&&1===e.nodeType){var i="data-"+n.replace(B,"-$1").toLowerCase();if(r=e.getAttribute(i),"string"==typeof r){try{r="true"===r?!0:"false"===r?!1:"null"===r?null:+r+""===r?+r:O.test(r)?b.parseJSON(r):r}catch(o){}b.data(e,n,r)}else r=t}return r}function $(e){var t;for(t in e)if(("data"!==t||!b.isEmptyObject(e[t]))&&"toJSON"!==t)return!1;return!0}b.extend({queue:function(e,n,r){var i;return e?(n=(n||"fx")+"queue",i=b._data(e,n),r&&(!i||b.isArray(r)?i=b._data(e,n,b.makeArray(r)):i.push(r)),i||[]):t},dequeue:function(e,t){t=t||"fx";var n=b.queue(e,t),r=n.length,i=n.shift(),o=b._queueHooks(e,t),a=function(){b.dequeue(e,t)};"inprogress"===i&&(i=n.shift(),r--),o.cur=i,i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,a,o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return b._data(e,n)||b._data(e,n,{empty:b.Callbacks("once memory").add(function(){b._removeData(e,t+"queue"),b._removeData(e,n)})})}}),b.fn.extend({queue:function(e,n){var r=2;return"string"!=typeof e&&(n=e,e="fx",r--),r>arguments.length?b.queue(this[0],e):n===t?this:this.each(function(){var t=b.queue(this,e,n);b._queueHooks(this,e),"fx"===e&&"inprogress"!==t[0]&&b.dequeue(this,e)})},dequeue:function(e){return this.each(function(){b.dequeue(this,e)})},delay:function(e,t){return e=b.fx?b.fx.speeds[e]||e:e,t=t||"fx",this.queue(t,function(t,n){var r=setTimeout(t,e);n.stop=function(){clearTimeout(r)}})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,n){var r,i=1,o=b.Deferred(),a=this,s=this.length,u=function(){--i||o.resolveWith(a,[a])};"string"!=typeof e&&(n=e,e=t),e=e||"fx";while(s--)r=b._data(a[s],e+"queueHooks"),r&&r.empty&&(i++,r.empty.add(u));return u(),o.promise(n)}});var I,z,X=/[\t\r\n]/g,U=/\r/g,V=/^(?:input|select|textarea|button|object)$/i,Y=/^(?:a|area)$/i,J=/^(?:checked|selected|autofocus|autoplay|async|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped)$/i,G=/^(?:checked|selected)$/i,Q=b.support.getSetAttribute,K=b.support.input;b.fn.extend({attr:function(e,t){return b.access(this,b.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){b.removeAttr(this,e)})},prop:function(e,t){return b.access(this,b.prop,e,t,arguments.length>1)},removeProp:function(e){return e=b.propFix[e]||e,this.each(function(){try{this[e]=t,delete this[e]}catch(n){}})},addClass:function(e){var t,n,r,i,o,a=0,s=this.length,u="string"==typeof e&&e;if(b.isFunction(e))return this.each(function(t){b(this).addClass(e.call(this,t,this.className))});if(u)for(t=(e||"").match(w)||[];s>a;a++)if(n=this[a],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(X," "):" ")){o=0;while(i=t[o++])0>r.indexOf(" "+i+" ")&&(r+=i+" ");n.className=b.trim(r)}return this},removeClass:function(e){var t,n,r,i,o,a=0,s=this.length,u=0===arguments.length||"string"==typeof e&&e;if(b.isFunction(e))return this.each(function(t){b(this).removeClass(e.call(this,t,this.className))});if(u)for(t=(e||"").match(w)||[];s>a;a++)if(n=this[a],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(X," "):"")){o=0;while(i=t[o++])while(r.indexOf(" "+i+" ")>=0)r=r.replace(" "+i+" "," ");n.className=e?b.trim(r):""}return this},toggleClass:function(e,t){var n=typeof e,r="boolean"==typeof t;return b.isFunction(e)?this.each(function(n){b(this).toggleClass(e.call(this,n,this.className,t),t)}):this.each(function(){if("string"===n){var o,a=0,s=b(this),u=t,l=e.match(w)||[];while(o=l[a++])u=r?u:!s.hasClass(o),s[u?"addClass":"removeClass"](o)}else(n===i||"boolean"===n)&&(this.className&&b._data(this,"__className__",this.className),this.className=this.className||e===!1?"":b._data(this,"__className__")||"")})},hasClass:function(e){var t=" "+e+" ",n=0,r=this.length;for(;r>n;n++)if(1===this[n].nodeType&&(" "+this[n].className+" ").replace(X," ").indexOf(t)>=0)return!0;return!1},val:function(e){var n,r,i,o=this[0];{if(arguments.length)return i=b.isFunction(e),this.each(function(n){var o,a=b(this);1===this.nodeType&&(o=i?e.call(this,n,a.val()):e,null==o?o="":"number"==typeof o?o+="":b.isArray(o)&&(o=b.map(o,function(e){return null==e?"":e+""})),r=b.valHooks[this.type]||b.valHooks[this.nodeName.toLowerCase()],r&&"set"in r&&r.set(this,o,"value")!==t||(this.value=o))});if(o)return r=b.valHooks[o.type]||b.valHooks[o.nodeName.toLowerCase()],r&&"get"in r&&(n=r.get(o,"value"))!==t?n:(n=o.value,"string"==typeof n?n.replace(U,""):null==n?"":n)}}}),b.extend({valHooks:{option:{get:function(e){var t=e.attributes.value;return!t||t.specified?e.value:e.text}},select:{get:function(e){var t,n,r=e.options,i=e.selectedIndex,o="select-one"===e.type||0>i,a=o?null:[],s=o?i+1:r.length,u=0>i?s:o?i:0;for(;s>u;u++)if(n=r[u],!(!n.selected&&u!==i||(b.support.optDisabled?n.disabled:null!==n.getAttribute("disabled"))||n.parentNode.disabled&&b.nodeName(n.parentNode,"optgroup"))){if(t=b(n).val(),o)return t;a.push(t)}return a},set:function(e,t){var n=b.makeArray(t);return b(e).find("option").each(function(){this.selected=b.inArray(b(this).val(),n)>=0}),n.length||(e.selectedIndex=-1),n}}},attr:function(e,n,r){var o,a,s,u=e.nodeType;if(e&&3!==u&&8!==u&&2!==u)return typeof e.getAttribute===i?b.prop(e,n,r):(a=1!==u||!b.isXMLDoc(e),a&&(n=n.toLowerCase(),o=b.attrHooks[n]||(J.test(n)?z:I)),r===t?o&&a&&"get"in o&&null!==(s=o.get(e,n))?s:(typeof e.getAttribute!==i&&(s=e.getAttribute(n)),null==s?t:s):null!==r?o&&a&&"set"in o&&(s=o.set(e,r,n))!==t?s:(e.setAttribute(n,r+""),r):(b.removeAttr(e,n),t))},removeAttr:function(e,t){var n,r,i=0,o=t&&t.match(w);if(o&&1===e.nodeType)while(n=o[i++])r=b.propFix[n]||n,J.test(n)?!Q&&G.test(n)?e[b.camelCase("default-"+n)]=e[r]=!1:e[r]=!1:b.attr(e,n,""),e.removeAttribute(Q?n:r)},attrHooks:{type:{set:function(e,t){if(!b.support.radioValue&&"radio"===t&&b.nodeName(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(e,n,r){var i,o,a,s=e.nodeType;if(e&&3!==s&&8!==s&&2!==s)return a=1!==s||!b.isXMLDoc(e),a&&(n=b.propFix[n]||n,o=b.propHooks[n]),r!==t?o&&"set"in o&&(i=o.set(e,r,n))!==t?i:e[n]=r:o&&"get"in o&&null!==(i=o.get(e,n))?i:e[n]},propHooks:{tabIndex:{get:function(e){var n=e.getAttributeNode("tabindex");return n&&n.specified?parseInt(n.value,10):V.test(e.nodeName)||Y.test(e.nodeName)&&e.href?0:t}}}}),z={get:function(e,n){var r=b.prop(e,n),i="boolean"==typeof r&&e.getAttribute(n),o="boolean"==typeof r?K&&Q?null!=i:G.test(n)?e[b.camelCase("default-"+n)]:!!i:e.getAttributeNode(n);return o&&o.value!==!1?n.toLowerCase():t},set:function(e,t,n){return t===!1?b.removeAttr(e,n):K&&Q||!G.test(n)?e.setAttribute(!Q&&b.propFix[n]||n,n):e[b.camelCase("default-"+n)]=e[n]=!0,n}},K&&Q||(b.attrHooks.value={get:function(e,n){var r=e.getAttributeNode(n);return b.nodeName(e,"input")?e.defaultValue:r&&r.specified?r.value:t},set:function(e,n,r){return b.nodeName(e,"input")?(e.defaultValue=n,t):I&&I.set(e,n,r)}}),Q||(I=b.valHooks.button={get:function(e,n){var r=e.getAttributeNode(n);return r&&("id"===n||"name"===n||"coords"===n?""!==r.value:r.specified)?r.value:t},set:function(e,n,r){var i=e.getAttributeNode(r);return i||e.setAttributeNode(i=e.ownerDocument.createAttribute(r)),i.value=n+="","value"===r||n===e.getAttribute(r)?n:t}},b.attrHooks.contenteditable={get:I.get,set:function(e,t,n){I.set(e,""===t?!1:t,n)}},b.each(["width","height"],function(e,n){b.attrHooks[n]=b.extend(b.attrHooks[n],{set:function(e,r){return""===r?(e.setAttribute(n,"auto"),r):t}})})),b.support.hrefNormalized||(b.each(["href","src","width","height"],function(e,n){b.attrHooks[n]=b.extend(b.attrHooks[n],{get:function(e){var r=e.getAttribute(n,2);return null==r?t:r}})}),b.each(["href","src"],function(e,t){b.propHooks[t]={get:function(e){return e.getAttribute(t,4)}}})),b.support.style||(b.attrHooks.style={get:function(e){return e.style.cssText||t},set:function(e,t){return e.style.cssText=t+""}}),b.support.optSelected||(b.propHooks.selected=b.extend(b.propHooks.selected,{get:function(e){var t=e.parentNode;return t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex),null}})),b.support.enctype||(b.propFix.enctype="encoding"),b.support.checkOn||b.each(["radio","checkbox"],function(){b.valHooks[this]={get:function(e){return null===e.getAttribute("value")?"on":e.value}}}),b.each(["radio","checkbox"],function(){b.valHooks[this]=b.extend(b.valHooks[this],{set:function(e,n){return b.isArray(n)?e.checked=b.inArray(b(e).val(),n)>=0:t}})});var Z=/^(?:input|select|textarea)$/i,et=/^key/,tt=/^(?:mouse|contextmenu)|click/,nt=/^(?:focusinfocus|focusoutblur)$/,rt=/^([^.]*)(?:\.(.+)|)$/;function it(){return!0}function ot(){return!1}b.event={global:{},add:function(e,n,r,o,a){var s,u,l,c,p,f,d,h,g,m,y,v=b._data(e);if(v){r.handler&&(c=r,r=c.handler,a=c.selector),r.guid||(r.guid=b.guid++),(u=v.events)||(u=v.events={}),(f=v.handle)||(f=v.handle=function(e){return typeof b===i||e&&b.event.triggered===e.type?t:b.event.dispatch.apply(f.elem,arguments)},f.elem=e),n=(n||"").match(w)||[""],l=n.length;while(l--)s=rt.exec(n[l])||[],g=y=s[1],m=(s[2]||"").split(".").sort(),p=b.event.special[g]||{},g=(a?p.delegateType:p.bindType)||g,p=b.event.special[g]||{},d=b.extend({type:g,origType:y,data:o,handler:r,guid:r.guid,selector:a,needsContext:a&&b.expr.match.needsContext.test(a),namespace:m.join(".")},c),(h=u[g])||(h=u[g]=[],h.delegateCount=0,p.setup&&p.setup.call(e,o,m,f)!==!1||(e.addEventListener?e.addEventListener(g,f,!1):e.attachEvent&&e.attachEvent("on"+g,f))),p.add&&(p.add.call(e,d),d.handler.guid||(d.handler.guid=r.guid)),a?h.splice(h.delegateCount++,0,d):h.push(d),b.event.global[g]=!0;e=null}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,p,f,d,h,g,m=b.hasData(e)&&b._data(e);if(m&&(c=m.events)){t=(t||"").match(w)||[""],l=t.length;while(l--)if(s=rt.exec(t[l])||[],d=g=s[1],h=(s[2]||"").split(".").sort(),d){p=b.event.special[d]||{},d=(r?p.delegateType:p.bindType)||d,f=c[d]||[],s=s[2]&&RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),u=o=f.length;while(o--)a=f[o],!i&&g!==a.origType||n&&n.guid!==a.guid||s&&!s.test(a.namespace)||r&&r!==a.selector&&("**"!==r||!a.selector)||(f.splice(o,1),a.selector&&f.delegateCount--,p.remove&&p.remove.call(e,a));u&&!f.length&&(p.teardown&&p.teardown.call(e,h,m.handle)!==!1||b.removeEvent(e,d,m.handle),delete c[d])}else for(d in c)b.event.remove(e,d+t[l],n,r,!0);b.isEmptyObject(c)&&(delete m.handle,b._removeData(e,"events"))}},trigger:function(n,r,i,a){var s,u,l,c,p,f,d,h=[i||o],g=y.call(n,"type")?n.type:n,m=y.call(n,"namespace")?n.namespace.split("."):[];if(l=f=i=i||o,3!==i.nodeType&&8!==i.nodeType&&!nt.test(g+b.event.triggered)&&(g.indexOf(".")>=0&&(m=g.split("."),g=m.shift(),m.sort()),u=0>g.indexOf(":")&&"on"+g,n=n[b.expando]?n:new b.Event(g,"object"==typeof n&&n),n.isTrigger=!0,n.namespace=m.join("."),n.namespace_re=n.namespace?RegExp("(^|\\.)"+m.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,n.result=t,n.target||(n.target=i),r=null==r?[n]:b.makeArray(r,[n]),p=b.event.special[g]||{},a||!p.trigger||p.trigger.apply(i,r)!==!1)){if(!a&&!p.noBubble&&!b.isWindow(i)){for(c=p.delegateType||g,nt.test(c+g)||(l=l.parentNode);l;l=l.parentNode)h.push(l),f=l;f===(i.ownerDocument||o)&&h.push(f.defaultView||f.parentWindow||e)}d=0;while((l=h[d++])&&!n.isPropagationStopped())n.type=d>1?c:p.bindType||g,s=(b._data(l,"events")||{})[n.type]&&b._data(l,"handle"),s&&s.apply(l,r),s=u&&l[u],s&&b.acceptData(l)&&s.apply&&s.apply(l,r)===!1&&n.preventDefault();if(n.type=g,!(a||n.isDefaultPrevented()||p._default&&p._default.apply(i.ownerDocument,r)!==!1||"click"===g&&b.nodeName(i,"a")||!b.acceptData(i)||!u||!i[g]||b.isWindow(i))){f=i[u],f&&(i[u]=null),b.event.triggered=g;try{i[g]()}catch(v){}b.event.triggered=t,f&&(i[u]=f)}return n.result}},dispatch:function(e){e=b.event.fix(e);var n,r,i,o,a,s=[],u=h.call(arguments),l=(b._data(this,"events")||{})[e.type]||[],c=b.event.special[e.type]||{};if(u[0]=e,e.delegateTarget=this,!c.preDispatch||c.preDispatch.call(this,e)!==!1){s=b.event.handlers.call(this,e,l),n=0;while((o=s[n++])&&!e.isPropagationStopped()){e.currentTarget=o.elem,a=0;while((i=o.handlers[a++])&&!e.isImmediatePropagationStopped())(!e.namespace_re||e.namespace_re.test(i.namespace))&&(e.handleObj=i,e.data=i.data,r=((b.event.special[i.origType]||{}).handle||i.handler).apply(o.elem,u),r!==t&&(e.result=r)===!1&&(e.preventDefault(),e.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,e),e.result}},handlers:function(e,n){var r,i,o,a,s=[],u=n.delegateCount,l=e.target;if(u&&l.nodeType&&(!e.button||"click"!==e.type))for(;l!=this;l=l.parentNode||this)if(1===l.nodeType&&(l.disabled!==!0||"click"!==e.type)){for(o=[],a=0;u>a;a++)i=n[a],r=i.selector+" ",o[r]===t&&(o[r]=i.needsContext?b(r,this).index(l)>=0:b.find(r,this,null,[l]).length),o[r]&&o.push(i);o.length&&s.push({elem:l,handlers:o})}return n.length>u&&s.push({elem:this,handlers:n.slice(u)}),s},fix:function(e){if(e[b.expando])return e;var t,n,r,i=e.type,a=e,s=this.fixHooks[i];s||(this.fixHooks[i]=s=tt.test(i)?this.mouseHooks:et.test(i)?this.keyHooks:{}),r=s.props?this.props.concat(s.props):this.props,e=new b.Event(a),t=r.length;while(t--)n=r[t],e[n]=a[n];return e.target||(e.target=a.srcElement||o),3===e.target.nodeType&&(e.target=e.target.parentNode),e.metaKey=!!e.metaKey,s.filter?s.filter(e,a):e},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(e,t){return null==e.which&&(e.which=null!=t.charCode?t.charCode:t.keyCode),e}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(e,n){var r,i,a,s=n.button,u=n.fromElement;return null==e.pageX&&null!=n.clientX&&(i=e.target.ownerDocument||o,a=i.documentElement,r=i.body,e.pageX=n.clientX+(a&&a.scrollLeft||r&&r.scrollLeft||0)-(a&&a.clientLeft||r&&r.clientLeft||0),e.pageY=n.clientY+(a&&a.scrollTop||r&&r.scrollTop||0)-(a&&a.clientTop||r&&r.clientTop||0)),!e.relatedTarget&&u&&(e.relatedTarget=u===e.target?n.toElement:u),e.which||s===t||(e.which=1&s?1:2&s?3:4&s?2:0),e}},special:{load:{noBubble:!0},click:{trigger:function(){return b.nodeName(this,"input")&&"checkbox"===this.type&&this.click?(this.click(),!1):t}},focus:{trigger:function(){if(this!==o.activeElement&&this.focus)try{return this.focus(),!1}catch(e){}},delegateType:"focusin"},blur:{trigger:function(){return this===o.activeElement&&this.blur?(this.blur(),!1):t},delegateType:"focusout"},beforeunload:{postDispatch:function(e){e.result!==t&&(e.originalEvent.returnValue=e.result)}}},simulate:function(e,t,n,r){var i=b.extend(new b.Event,n,{type:e,isSimulated:!0,originalEvent:{}});r?b.event.trigger(i,null,t):b.event.dispatch.call(t,i),i.isDefaultPrevented()&&n.preventDefault()}},b.removeEvent=o.removeEventListener?function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n,!1)}:function(e,t,n){var r="on"+t;e.detachEvent&&(typeof e[r]===i&&(e[r]=null),e.detachEvent(r,n))},b.Event=function(e,n){return this instanceof b.Event?(e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||e.returnValue===!1||e.getPreventDefault&&e.getPreventDefault()?it:ot):this.type=e,n&&b.extend(this,n),this.timeStamp=e&&e.timeStamp||b.now(),this[b.expando]=!0,t):new b.Event(e,n)},b.Event.prototype={isDefaultPrevented:ot,isPropagationStopped:ot,isImmediatePropagationStopped:ot,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=it,e&&(e.preventDefault?e.preventDefault():e.returnValue=!1)},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=it,e&&(e.stopPropagation&&e.stopPropagation(),e.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=it,this.stopPropagation()}},b.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(e,t){b.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=this,i=e.relatedTarget,o=e.handleObj; -return(!i||i!==r&&!b.contains(r,i))&&(e.type=o.origType,n=o.handler.apply(this,arguments),e.type=t),n}}}),b.support.submitBubbles||(b.event.special.submit={setup:function(){return b.nodeName(this,"form")?!1:(b.event.add(this,"click._submit keypress._submit",function(e){var n=e.target,r=b.nodeName(n,"input")||b.nodeName(n,"button")?n.form:t;r&&!b._data(r,"submitBubbles")&&(b.event.add(r,"submit._submit",function(e){e._submit_bubble=!0}),b._data(r,"submitBubbles",!0))}),t)},postDispatch:function(e){e._submit_bubble&&(delete e._submit_bubble,this.parentNode&&!e.isTrigger&&b.event.simulate("submit",this.parentNode,e,!0))},teardown:function(){return b.nodeName(this,"form")?!1:(b.event.remove(this,"._submit"),t)}}),b.support.changeBubbles||(b.event.special.change={setup:function(){return Z.test(this.nodeName)?(("checkbox"===this.type||"radio"===this.type)&&(b.event.add(this,"propertychange._change",function(e){"checked"===e.originalEvent.propertyName&&(this._just_changed=!0)}),b.event.add(this,"click._change",function(e){this._just_changed&&!e.isTrigger&&(this._just_changed=!1),b.event.simulate("change",this,e,!0)})),!1):(b.event.add(this,"beforeactivate._change",function(e){var t=e.target;Z.test(t.nodeName)&&!b._data(t,"changeBubbles")&&(b.event.add(t,"change._change",function(e){!this.parentNode||e.isSimulated||e.isTrigger||b.event.simulate("change",this.parentNode,e,!0)}),b._data(t,"changeBubbles",!0))}),t)},handle:function(e){var n=e.target;return this!==n||e.isSimulated||e.isTrigger||"radio"!==n.type&&"checkbox"!==n.type?e.handleObj.handler.apply(this,arguments):t},teardown:function(){return b.event.remove(this,"._change"),!Z.test(this.nodeName)}}),b.support.focusinBubbles||b.each({focus:"focusin",blur:"focusout"},function(e,t){var n=0,r=function(e){b.event.simulate(t,e.target,b.event.fix(e),!0)};b.event.special[t]={setup:function(){0===n++&&o.addEventListener(e,r,!0)},teardown:function(){0===--n&&o.removeEventListener(e,r,!0)}}}),b.fn.extend({on:function(e,n,r,i,o){var a,s;if("object"==typeof e){"string"!=typeof n&&(r=r||n,n=t);for(a in e)this.on(a,n,r,e[a],o);return this}if(null==r&&null==i?(i=n,r=n=t):null==i&&("string"==typeof n?(i=r,r=t):(i=r,r=n,n=t)),i===!1)i=ot;else if(!i)return this;return 1===o&&(s=i,i=function(e){return b().off(e),s.apply(this,arguments)},i.guid=s.guid||(s.guid=b.guid++)),this.each(function(){b.event.add(this,e,i,r,n)})},one:function(e,t,n,r){return this.on(e,t,n,r,1)},off:function(e,n,r){var i,o;if(e&&e.preventDefault&&e.handleObj)return i=e.handleObj,b(e.delegateTarget).off(i.namespace?i.origType+"."+i.namespace:i.origType,i.selector,i.handler),this;if("object"==typeof e){for(o in e)this.off(o,n,e[o]);return this}return(n===!1||"function"==typeof n)&&(r=n,n=t),r===!1&&(r=ot),this.each(function(){b.event.remove(this,e,r,n)})},bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},trigger:function(e,t){return this.each(function(){b.event.trigger(e,t,this)})},triggerHandler:function(e,n){var r=this[0];return r?b.event.trigger(e,n,r,!0):t}}),function(e,t){var n,r,i,o,a,s,u,l,c,p,f,d,h,g,m,y,v,x="sizzle"+-new Date,w=e.document,T={},N=0,C=0,k=it(),E=it(),S=it(),A=typeof t,j=1<<31,D=[],L=D.pop,H=D.push,q=D.slice,M=D.indexOf||function(e){var t=0,n=this.length;for(;n>t;t++)if(this[t]===e)return t;return-1},_="[\\x20\\t\\r\\n\\f]",F="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",O=F.replace("w","w#"),B="([*^$|!~]?=)",P="\\["+_+"*("+F+")"+_+"*(?:"+B+_+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+O+")|)|)"+_+"*\\]",R=":("+F+")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|"+P.replace(3,8)+")*)|.*)\\)|)",W=RegExp("^"+_+"+|((?:^|[^\\\\])(?:\\\\.)*)"+_+"+$","g"),$=RegExp("^"+_+"*,"+_+"*"),I=RegExp("^"+_+"*([\\x20\\t\\r\\n\\f>+~])"+_+"*"),z=RegExp(R),X=RegExp("^"+O+"$"),U={ID:RegExp("^#("+F+")"),CLASS:RegExp("^\\.("+F+")"),NAME:RegExp("^\\[name=['\"]?("+F+")['\"]?\\]"),TAG:RegExp("^("+F.replace("w","w*")+")"),ATTR:RegExp("^"+P),PSEUDO:RegExp("^"+R),CHILD:RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+_+"*(even|odd|(([+-]|)(\\d*)n|)"+_+"*(?:([+-]|)"+_+"*(\\d+)|))"+_+"*\\)|)","i"),needsContext:RegExp("^"+_+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+_+"*((?:-\\d)?\\d*)"+_+"*\\)|)(?=[^-]|$)","i")},V=/[\x20\t\r\n\f]*[+~]/,Y=/^[^{]+\{\s*\[native code/,J=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,G=/^(?:input|select|textarea|button)$/i,Q=/^h\d$/i,K=/'|\\/g,Z=/\=[\x20\t\r\n\f]*([^'"\]]*)[\x20\t\r\n\f]*\]/g,et=/\\([\da-fA-F]{1,6}[\x20\t\r\n\f]?|.)/g,tt=function(e,t){var n="0x"+t-65536;return n!==n?t:0>n?String.fromCharCode(n+65536):String.fromCharCode(55296|n>>10,56320|1023&n)};try{q.call(w.documentElement.childNodes,0)[0].nodeType}catch(nt){q=function(e){var t,n=[];while(t=this[e++])n.push(t);return n}}function rt(e){return Y.test(e+"")}function it(){var e,t=[];return e=function(n,r){return t.push(n+=" ")>i.cacheLength&&delete e[t.shift()],e[n]=r}}function ot(e){return e[x]=!0,e}function at(e){var t=p.createElement("div");try{return e(t)}catch(n){return!1}finally{t=null}}function st(e,t,n,r){var i,o,a,s,u,l,f,g,m,v;if((t?t.ownerDocument||t:w)!==p&&c(t),t=t||p,n=n||[],!e||"string"!=typeof e)return n;if(1!==(s=t.nodeType)&&9!==s)return[];if(!d&&!r){if(i=J.exec(e))if(a=i[1]){if(9===s){if(o=t.getElementById(a),!o||!o.parentNode)return n;if(o.id===a)return n.push(o),n}else if(t.ownerDocument&&(o=t.ownerDocument.getElementById(a))&&y(t,o)&&o.id===a)return n.push(o),n}else{if(i[2])return H.apply(n,q.call(t.getElementsByTagName(e),0)),n;if((a=i[3])&&T.getByClassName&&t.getElementsByClassName)return H.apply(n,q.call(t.getElementsByClassName(a),0)),n}if(T.qsa&&!h.test(e)){if(f=!0,g=x,m=t,v=9===s&&e,1===s&&"object"!==t.nodeName.toLowerCase()){l=ft(e),(f=t.getAttribute("id"))?g=f.replace(K,"\\$&"):t.setAttribute("id",g),g="[id='"+g+"'] ",u=l.length;while(u--)l[u]=g+dt(l[u]);m=V.test(e)&&t.parentNode||t,v=l.join(",")}if(v)try{return H.apply(n,q.call(m.querySelectorAll(v),0)),n}catch(b){}finally{f||t.removeAttribute("id")}}}return wt(e.replace(W,"$1"),t,n,r)}a=st.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return t?"HTML"!==t.nodeName:!1},c=st.setDocument=function(e){var n=e?e.ownerDocument||e:w;return n!==p&&9===n.nodeType&&n.documentElement?(p=n,f=n.documentElement,d=a(n),T.tagNameNoComments=at(function(e){return e.appendChild(n.createComment("")),!e.getElementsByTagName("*").length}),T.attributes=at(function(e){e.innerHTML="";var t=typeof e.lastChild.getAttribute("multiple");return"boolean"!==t&&"string"!==t}),T.getByClassName=at(function(e){return e.innerHTML="",e.getElementsByClassName&&e.getElementsByClassName("e").length?(e.lastChild.className="e",2===e.getElementsByClassName("e").length):!1}),T.getByName=at(function(e){e.id=x+0,e.innerHTML="
",f.insertBefore(e,f.firstChild);var t=n.getElementsByName&&n.getElementsByName(x).length===2+n.getElementsByName(x+0).length;return T.getIdNotName=!n.getElementById(x),f.removeChild(e),t}),i.attrHandle=at(function(e){return e.innerHTML="",e.firstChild&&typeof e.firstChild.getAttribute!==A&&"#"===e.firstChild.getAttribute("href")})?{}:{href:function(e){return e.getAttribute("href",2)},type:function(e){return e.getAttribute("type")}},T.getIdNotName?(i.find.ID=function(e,t){if(typeof t.getElementById!==A&&!d){var n=t.getElementById(e);return n&&n.parentNode?[n]:[]}},i.filter.ID=function(e){var t=e.replace(et,tt);return function(e){return e.getAttribute("id")===t}}):(i.find.ID=function(e,n){if(typeof n.getElementById!==A&&!d){var r=n.getElementById(e);return r?r.id===e||typeof r.getAttributeNode!==A&&r.getAttributeNode("id").value===e?[r]:t:[]}},i.filter.ID=function(e){var t=e.replace(et,tt);return function(e){var n=typeof e.getAttributeNode!==A&&e.getAttributeNode("id");return n&&n.value===t}}),i.find.TAG=T.tagNameNoComments?function(e,n){return typeof n.getElementsByTagName!==A?n.getElementsByTagName(e):t}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},i.find.NAME=T.getByName&&function(e,n){return typeof n.getElementsByName!==A?n.getElementsByName(name):t},i.find.CLASS=T.getByClassName&&function(e,n){return typeof n.getElementsByClassName===A||d?t:n.getElementsByClassName(e)},g=[],h=[":focus"],(T.qsa=rt(n.querySelectorAll))&&(at(function(e){e.innerHTML="",e.querySelectorAll("[selected]").length||h.push("\\["+_+"*(?:checked|disabled|ismap|multiple|readonly|selected|value)"),e.querySelectorAll(":checked").length||h.push(":checked")}),at(function(e){e.innerHTML="",e.querySelectorAll("[i^='']").length&&h.push("[*^$]="+_+"*(?:\"\"|'')"),e.querySelectorAll(":enabled").length||h.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),h.push(",.*:")})),(T.matchesSelector=rt(m=f.matchesSelector||f.mozMatchesSelector||f.webkitMatchesSelector||f.oMatchesSelector||f.msMatchesSelector))&&at(function(e){T.disconnectedMatch=m.call(e,"div"),m.call(e,"[s!='']:x"),g.push("!=",R)}),h=RegExp(h.join("|")),g=RegExp(g.join("|")),y=rt(f.contains)||f.compareDocumentPosition?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},v=f.compareDocumentPosition?function(e,t){var r;return e===t?(u=!0,0):(r=t.compareDocumentPosition&&e.compareDocumentPosition&&e.compareDocumentPosition(t))?1&r||e.parentNode&&11===e.parentNode.nodeType?e===n||y(w,e)?-1:t===n||y(w,t)?1:0:4&r?-1:1:e.compareDocumentPosition?-1:1}:function(e,t){var r,i=0,o=e.parentNode,a=t.parentNode,s=[e],l=[t];if(e===t)return u=!0,0;if(!o||!a)return e===n?-1:t===n?1:o?-1:a?1:0;if(o===a)return ut(e,t);r=e;while(r=r.parentNode)s.unshift(r);r=t;while(r=r.parentNode)l.unshift(r);while(s[i]===l[i])i++;return i?ut(s[i],l[i]):s[i]===w?-1:l[i]===w?1:0},u=!1,[0,0].sort(v),T.detectDuplicates=u,p):p},st.matches=function(e,t){return st(e,null,null,t)},st.matchesSelector=function(e,t){if((e.ownerDocument||e)!==p&&c(e),t=t.replace(Z,"='$1']"),!(!T.matchesSelector||d||g&&g.test(t)||h.test(t)))try{var n=m.call(e,t);if(n||T.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(r){}return st(t,p,null,[e]).length>0},st.contains=function(e,t){return(e.ownerDocument||e)!==p&&c(e),y(e,t)},st.attr=function(e,t){var n;return(e.ownerDocument||e)!==p&&c(e),d||(t=t.toLowerCase()),(n=i.attrHandle[t])?n(e):d||T.attributes?e.getAttribute(t):((n=e.getAttributeNode(t))||e.getAttribute(t))&&e[t]===!0?t:n&&n.specified?n.value:null},st.error=function(e){throw Error("Syntax error, unrecognized expression: "+e)},st.uniqueSort=function(e){var t,n=[],r=1,i=0;if(u=!T.detectDuplicates,e.sort(v),u){for(;t=e[r];r++)t===e[r-1]&&(i=n.push(r));while(i--)e.splice(n[i],1)}return e};function ut(e,t){var n=t&&e,r=n&&(~t.sourceIndex||j)-(~e.sourceIndex||j);if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function lt(e){return function(t){var n=t.nodeName.toLowerCase();return"input"===n&&t.type===e}}function ct(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function pt(e){return ot(function(t){return t=+t,ot(function(n,r){var i,o=e([],n.length,t),a=o.length;while(a--)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))})})}o=st.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=o(e)}else if(3===i||4===i)return e.nodeValue}else for(;t=e[r];r++)n+=o(t);return n},i=st.selectors={cacheLength:50,createPseudo:ot,match:U,find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(et,tt),e[3]=(e[4]||e[5]||"").replace(et,tt),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||st.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&st.error(e[0]),e},PSEUDO:function(e){var t,n=!e[5]&&e[2];return U.CHILD.test(e[0])?null:(e[4]?e[2]=e[4]:n&&z.test(n)&&(t=ft(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){return"*"===e?function(){return!0}:(e=e.replace(et,tt).toLowerCase(),function(t){return t.nodeName&&t.nodeName.toLowerCase()===e})},CLASS:function(e){var t=k[e+" "];return t||(t=RegExp("(^|"+_+")"+e+"("+_+"|$)"))&&k(e,function(e){return t.test(e.className||typeof e.getAttribute!==A&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r){var i=st.attr(r,e);return null==i?"!="===t:t?(i+="","="===t?i===n:"!="===t?i!==n:"^="===t?n&&0===i.indexOf(n):"*="===t?n&&i.indexOf(n)>-1:"$="===t?n&&i.slice(-n.length)===n:"~="===t?(" "+i+" ").indexOf(n)>-1:"|="===t?i===n||i.slice(0,n.length+1)===n+"-":!1):!0}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),a="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,u){var l,c,p,f,d,h,g=o!==a?"nextSibling":"previousSibling",m=t.parentNode,y=s&&t.nodeName.toLowerCase(),v=!u&&!s;if(m){if(o){while(g){p=t;while(p=p[g])if(s?p.nodeName.toLowerCase()===y:1===p.nodeType)return!1;h=g="only"===e&&!h&&"nextSibling"}return!0}if(h=[a?m.firstChild:m.lastChild],a&&v){c=m[x]||(m[x]={}),l=c[e]||[],d=l[0]===N&&l[1],f=l[0]===N&&l[2],p=d&&m.childNodes[d];while(p=++d&&p&&p[g]||(f=d=0)||h.pop())if(1===p.nodeType&&++f&&p===t){c[e]=[N,d,f];break}}else if(v&&(l=(t[x]||(t[x]={}))[e])&&l[0]===N)f=l[1];else while(p=++d&&p&&p[g]||(f=d=0)||h.pop())if((s?p.nodeName.toLowerCase()===y:1===p.nodeType)&&++f&&(v&&((p[x]||(p[x]={}))[e]=[N,f]),p===t))break;return f-=i,f===r||0===f%r&&f/r>=0}}},PSEUDO:function(e,t){var n,r=i.pseudos[e]||i.setFilters[e.toLowerCase()]||st.error("unsupported pseudo: "+e);return r[x]?r(t):r.length>1?(n=[e,e,"",t],i.setFilters.hasOwnProperty(e.toLowerCase())?ot(function(e,n){var i,o=r(e,t),a=o.length;while(a--)i=M.call(e,o[a]),e[i]=!(n[i]=o[a])}):function(e){return r(e,0,n)}):r}},pseudos:{not:ot(function(e){var t=[],n=[],r=s(e.replace(W,"$1"));return r[x]?ot(function(e,t,n,i){var o,a=r(e,null,i,[]),s=e.length;while(s--)(o=a[s])&&(e[s]=!(t[s]=o))}):function(e,i,o){return t[0]=e,r(t,null,o,n),!n.pop()}}),has:ot(function(e){return function(t){return st(e,t).length>0}}),contains:ot(function(e){return function(t){return(t.textContent||t.innerText||o(t)).indexOf(e)>-1}}),lang:ot(function(e){return X.test(e||"")||st.error("unsupported lang: "+e),e=e.replace(et,tt).toLowerCase(),function(t){var n;do if(n=d?t.getAttribute("xml:lang")||t.getAttribute("lang"):t.lang)return n=n.toLowerCase(),n===e||0===n.indexOf(e+"-");while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===f},focus:function(e){return e===p.activeElement&&(!p.hasFocus||p.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:function(e){return e.disabled===!1},disabled:function(e){return e.disabled===!0},checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeName>"@"||3===e.nodeType||4===e.nodeType)return!1;return!0},parent:function(e){return!i.pseudos.empty(e)},header:function(e){return Q.test(e.nodeName)},input:function(e){return G.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||t.toLowerCase()===e.type)},first:pt(function(){return[0]}),last:pt(function(e,t){return[t-1]}),eq:pt(function(e,t,n){return[0>n?n+t:n]}),even:pt(function(e,t){var n=0;for(;t>n;n+=2)e.push(n);return e}),odd:pt(function(e,t){var n=1;for(;t>n;n+=2)e.push(n);return e}),lt:pt(function(e,t,n){var r=0>n?n+t:n;for(;--r>=0;)e.push(r);return e}),gt:pt(function(e,t,n){var r=0>n?n+t:n;for(;t>++r;)e.push(r);return e})}};for(n in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})i.pseudos[n]=lt(n);for(n in{submit:!0,reset:!0})i.pseudos[n]=ct(n);function ft(e,t){var n,r,o,a,s,u,l,c=E[e+" "];if(c)return t?0:c.slice(0);s=e,u=[],l=i.preFilter;while(s){(!n||(r=$.exec(s)))&&(r&&(s=s.slice(r[0].length)||s),u.push(o=[])),n=!1,(r=I.exec(s))&&(n=r.shift(),o.push({value:n,type:r[0].replace(W," ")}),s=s.slice(n.length));for(a in i.filter)!(r=U[a].exec(s))||l[a]&&!(r=l[a](r))||(n=r.shift(),o.push({value:n,type:a,matches:r}),s=s.slice(n.length));if(!n)break}return t?s.length:s?st.error(e):E(e,u).slice(0)}function dt(e){var t=0,n=e.length,r="";for(;n>t;t++)r+=e[t].value;return r}function ht(e,t,n){var i=t.dir,o=n&&"parentNode"===i,a=C++;return t.first?function(t,n,r){while(t=t[i])if(1===t.nodeType||o)return e(t,n,r)}:function(t,n,s){var u,l,c,p=N+" "+a;if(s){while(t=t[i])if((1===t.nodeType||o)&&e(t,n,s))return!0}else while(t=t[i])if(1===t.nodeType||o)if(c=t[x]||(t[x]={}),(l=c[i])&&l[0]===p){if((u=l[1])===!0||u===r)return u===!0}else if(l=c[i]=[p],l[1]=e(t,n,s)||r,l[1]===!0)return!0}}function gt(e){return e.length>1?function(t,n,r){var i=e.length;while(i--)if(!e[i](t,n,r))return!1;return!0}:e[0]}function mt(e,t,n,r,i){var o,a=[],s=0,u=e.length,l=null!=t;for(;u>s;s++)(o=e[s])&&(!n||n(o,r,i))&&(a.push(o),l&&t.push(s));return a}function yt(e,t,n,r,i,o){return r&&!r[x]&&(r=yt(r)),i&&!i[x]&&(i=yt(i,o)),ot(function(o,a,s,u){var l,c,p,f=[],d=[],h=a.length,g=o||xt(t||"*",s.nodeType?[s]:s,[]),m=!e||!o&&t?g:mt(g,f,e,s,u),y=n?i||(o?e:h||r)?[]:a:m;if(n&&n(m,y,s,u),r){l=mt(y,d),r(l,[],s,u),c=l.length;while(c--)(p=l[c])&&(y[d[c]]=!(m[d[c]]=p))}if(o){if(i||e){if(i){l=[],c=y.length;while(c--)(p=y[c])&&l.push(m[c]=p);i(null,y=[],l,u)}c=y.length;while(c--)(p=y[c])&&(l=i?M.call(o,p):f[c])>-1&&(o[l]=!(a[l]=p))}}else y=mt(y===a?y.splice(h,y.length):y),i?i(null,a,y,u):H.apply(a,y)})}function vt(e){var t,n,r,o=e.length,a=i.relative[e[0].type],s=a||i.relative[" "],u=a?1:0,c=ht(function(e){return e===t},s,!0),p=ht(function(e){return M.call(t,e)>-1},s,!0),f=[function(e,n,r){return!a&&(r||n!==l)||((t=n).nodeType?c(e,n,r):p(e,n,r))}];for(;o>u;u++)if(n=i.relative[e[u].type])f=[ht(gt(f),n)];else{if(n=i.filter[e[u].type].apply(null,e[u].matches),n[x]){for(r=++u;o>r;r++)if(i.relative[e[r].type])break;return yt(u>1&>(f),u>1&&dt(e.slice(0,u-1)).replace(W,"$1"),n,r>u&&vt(e.slice(u,r)),o>r&&vt(e=e.slice(r)),o>r&&dt(e))}f.push(n)}return gt(f)}function bt(e,t){var n=0,o=t.length>0,a=e.length>0,s=function(s,u,c,f,d){var h,g,m,y=[],v=0,b="0",x=s&&[],w=null!=d,T=l,C=s||a&&i.find.TAG("*",d&&u.parentNode||u),k=N+=null==T?1:Math.random()||.1;for(w&&(l=u!==p&&u,r=n);null!=(h=C[b]);b++){if(a&&h){g=0;while(m=e[g++])if(m(h,u,c)){f.push(h);break}w&&(N=k,r=++n)}o&&((h=!m&&h)&&v--,s&&x.push(h))}if(v+=b,o&&b!==v){g=0;while(m=t[g++])m(x,y,u,c);if(s){if(v>0)while(b--)x[b]||y[b]||(y[b]=L.call(f));y=mt(y)}H.apply(f,y),w&&!s&&y.length>0&&v+t.length>1&&st.uniqueSort(f)}return w&&(N=k,l=T),x};return o?ot(s):s}s=st.compile=function(e,t){var n,r=[],i=[],o=S[e+" "];if(!o){t||(t=ft(e)),n=t.length;while(n--)o=vt(t[n]),o[x]?r.push(o):i.push(o);o=S(e,bt(i,r))}return o};function xt(e,t,n){var r=0,i=t.length;for(;i>r;r++)st(e,t[r],n);return n}function wt(e,t,n,r){var o,a,u,l,c,p=ft(e);if(!r&&1===p.length){if(a=p[0]=p[0].slice(0),a.length>2&&"ID"===(u=a[0]).type&&9===t.nodeType&&!d&&i.relative[a[1].type]){if(t=i.find.ID(u.matches[0].replace(et,tt),t)[0],!t)return n;e=e.slice(a.shift().value.length)}o=U.needsContext.test(e)?0:a.length;while(o--){if(u=a[o],i.relative[l=u.type])break;if((c=i.find[l])&&(r=c(u.matches[0].replace(et,tt),V.test(a[0].type)&&t.parentNode||t))){if(a.splice(o,1),e=r.length&&dt(a),!e)return H.apply(n,q.call(r,0)),n;break}}}return s(e,p)(r,t,d,n,V.test(e)),n}i.pseudos.nth=i.pseudos.eq;function Tt(){}i.filters=Tt.prototype=i.pseudos,i.setFilters=new Tt,c(),st.attr=b.attr,b.find=st,b.expr=st.selectors,b.expr[":"]=b.expr.pseudos,b.unique=st.uniqueSort,b.text=st.getText,b.isXMLDoc=st.isXML,b.contains=st.contains}(e);var at=/Until$/,st=/^(?:parents|prev(?:Until|All))/,ut=/^.[^:#\[\.,]*$/,lt=b.expr.match.needsContext,ct={children:!0,contents:!0,next:!0,prev:!0};b.fn.extend({find:function(e){var t,n,r,i=this.length;if("string"!=typeof e)return r=this,this.pushStack(b(e).filter(function(){for(t=0;i>t;t++)if(b.contains(r[t],this))return!0}));for(n=[],t=0;i>t;t++)b.find(e,this[t],n);return n=this.pushStack(i>1?b.unique(n):n),n.selector=(this.selector?this.selector+" ":"")+e,n},has:function(e){var t,n=b(e,this),r=n.length;return this.filter(function(){for(t=0;r>t;t++)if(b.contains(this,n[t]))return!0})},not:function(e){return this.pushStack(ft(this,e,!1))},filter:function(e){return this.pushStack(ft(this,e,!0))},is:function(e){return!!e&&("string"==typeof e?lt.test(e)?b(e,this.context).index(this[0])>=0:b.filter(e,this).length>0:this.filter(e).length>0)},closest:function(e,t){var n,r=0,i=this.length,o=[],a=lt.test(e)||"string"!=typeof e?b(e,t||this.context):0;for(;i>r;r++){n=this[r];while(n&&n.ownerDocument&&n!==t&&11!==n.nodeType){if(a?a.index(n)>-1:b.find.matchesSelector(n,e)){o.push(n);break}n=n.parentNode}}return this.pushStack(o.length>1?b.unique(o):o)},index:function(e){return e?"string"==typeof e?b.inArray(this[0],b(e)):b.inArray(e.jquery?e[0]:e,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){var n="string"==typeof e?b(e,t):b.makeArray(e&&e.nodeType?[e]:e),r=b.merge(this.get(),n);return this.pushStack(b.unique(r))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),b.fn.andSelf=b.fn.addBack;function pt(e,t){do e=e[t];while(e&&1!==e.nodeType);return e}b.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return b.dir(e,"parentNode")},parentsUntil:function(e,t,n){return b.dir(e,"parentNode",n)},next:function(e){return pt(e,"nextSibling")},prev:function(e){return pt(e,"previousSibling")},nextAll:function(e){return b.dir(e,"nextSibling")},prevAll:function(e){return b.dir(e,"previousSibling")},nextUntil:function(e,t,n){return b.dir(e,"nextSibling",n)},prevUntil:function(e,t,n){return b.dir(e,"previousSibling",n)},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.merge([],e.childNodes)}},function(e,t){b.fn[e]=function(n,r){var i=b.map(this,t,n);return at.test(e)||(r=n),r&&"string"==typeof r&&(i=b.filter(r,i)),i=this.length>1&&!ct[e]?b.unique(i):i,this.length>1&&st.test(e)&&(i=i.reverse()),this.pushStack(i)}}),b.extend({filter:function(e,t,n){return n&&(e=":not("+e+")"),1===t.length?b.find.matchesSelector(t[0],e)?[t[0]]:[]:b.find.matches(e,t)},dir:function(e,n,r){var i=[],o=e[n];while(o&&9!==o.nodeType&&(r===t||1!==o.nodeType||!b(o).is(r)))1===o.nodeType&&i.push(o),o=o[n];return i},sibling:function(e,t){var n=[];for(;e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n}});function ft(e,t,n){if(t=t||0,b.isFunction(t))return b.grep(e,function(e,r){var i=!!t.call(e,r,e);return i===n});if(t.nodeType)return b.grep(e,function(e){return e===t===n});if("string"==typeof t){var r=b.grep(e,function(e){return 1===e.nodeType});if(ut.test(t))return b.filter(t,r,!n);t=b.filter(t,r)}return b.grep(e,function(e){return b.inArray(e,t)>=0===n})}function dt(e){var t=ht.split("|"),n=e.createDocumentFragment();if(n.createElement)while(t.length)n.createElement(t.pop());return n}var ht="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",gt=/ jQuery\d+="(?:null|\d+)"/g,mt=RegExp("<(?:"+ht+")[\\s/>]","i"),yt=/^\s+/,vt=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,bt=/<([\w:]+)/,xt=/\s*$/g,At={option:[1,""],legend:[1,"
","
"],area:[1,"",""],param:[1,"",""],thead:[1,"","
"],tr:[2,"","
"],col:[2,"","
"],td:[3,"","
"],_default:b.support.htmlSerialize?[0,"",""]:[1,"X
","
"]},jt=dt(o),Dt=jt.appendChild(o.createElement("div"));At.optgroup=At.option,At.tbody=At.tfoot=At.colgroup=At.caption=At.thead,At.th=At.td,b.fn.extend({text:function(e){return b.access(this,function(e){return e===t?b.text(this):this.empty().append((this[0]&&this[0].ownerDocument||o).createTextNode(e))},null,e,arguments.length)},wrapAll:function(e){if(b.isFunction(e))return this.each(function(t){b(this).wrapAll(e.call(this,t))});if(this[0]){var t=b(e,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstChild&&1===e.firstChild.nodeType)e=e.firstChild;return e}).append(this)}return this},wrapInner:function(e){return b.isFunction(e)?this.each(function(t){b(this).wrapInner(e.call(this,t))}):this.each(function(){var t=b(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=b.isFunction(e);return this.each(function(n){b(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(){return this.parent().each(function(){b.nodeName(this,"body")||b(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(e){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&this.appendChild(e)})},prepend:function(){return this.domManip(arguments,!0,function(e){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&this.insertBefore(e,this.firstChild)})},before:function(){return this.domManip(arguments,!1,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return this.domManip(arguments,!1,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},remove:function(e,t){var n,r=0;for(;null!=(n=this[r]);r++)(!e||b.filter(e,[n]).length>0)&&(t||1!==n.nodeType||b.cleanData(Ot(n)),n.parentNode&&(t&&b.contains(n.ownerDocument,n)&&Mt(Ot(n,"script")),n.parentNode.removeChild(n)));return this},empty:function(){var e,t=0;for(;null!=(e=this[t]);t++){1===e.nodeType&&b.cleanData(Ot(e,!1));while(e.firstChild)e.removeChild(e.firstChild);e.options&&b.nodeName(e,"select")&&(e.options.length=0)}return this},clone:function(e,t){return e=null==e?!1:e,t=null==t?e:t,this.map(function(){return b.clone(this,e,t)})},html:function(e){return b.access(this,function(e){var n=this[0]||{},r=0,i=this.length;if(e===t)return 1===n.nodeType?n.innerHTML.replace(gt,""):t;if(!("string"!=typeof e||Tt.test(e)||!b.support.htmlSerialize&&mt.test(e)||!b.support.leadingWhitespace&&yt.test(e)||At[(bt.exec(e)||["",""])[1].toLowerCase()])){e=e.replace(vt,"<$1>");try{for(;i>r;r++)n=this[r]||{},1===n.nodeType&&(b.cleanData(Ot(n,!1)),n.innerHTML=e);n=0}catch(o){}}n&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(e){var t=b.isFunction(e);return t||"string"==typeof e||(e=b(e).not(this).detach()),this.domManip([e],!0,function(e){var t=this.nextSibling,n=this.parentNode;n&&(b(this).remove(),n.insertBefore(e,t))})},detach:function(e){return this.remove(e,!0)},domManip:function(e,n,r){e=f.apply([],e);var i,o,a,s,u,l,c=0,p=this.length,d=this,h=p-1,g=e[0],m=b.isFunction(g);if(m||!(1>=p||"string"!=typeof g||b.support.checkClone)&&Ct.test(g))return this.each(function(i){var o=d.eq(i);m&&(e[0]=g.call(this,i,n?o.html():t)),o.domManip(e,n,r)});if(p&&(l=b.buildFragment(e,this[0].ownerDocument,!1,this),i=l.firstChild,1===l.childNodes.length&&(l=i),i)){for(n=n&&b.nodeName(i,"tr"),s=b.map(Ot(l,"script"),Ht),a=s.length;p>c;c++)o=l,c!==h&&(o=b.clone(o,!0,!0),a&&b.merge(s,Ot(o,"script"))),r.call(n&&b.nodeName(this[c],"table")?Lt(this[c],"tbody"):this[c],o,c);if(a)for(u=s[s.length-1].ownerDocument,b.map(s,qt),c=0;a>c;c++)o=s[c],kt.test(o.type||"")&&!b._data(o,"globalEval")&&b.contains(u,o)&&(o.src?b.ajax({url:o.src,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0}):b.globalEval((o.text||o.textContent||o.innerHTML||"").replace(St,"")));l=i=null}return this}});function Lt(e,t){return e.getElementsByTagName(t)[0]||e.appendChild(e.ownerDocument.createElement(t))}function Ht(e){var t=e.getAttributeNode("type");return e.type=(t&&t.specified)+"/"+e.type,e}function qt(e){var t=Et.exec(e.type);return t?e.type=t[1]:e.removeAttribute("type"),e}function Mt(e,t){var n,r=0;for(;null!=(n=e[r]);r++)b._data(n,"globalEval",!t||b._data(t[r],"globalEval"))}function _t(e,t){if(1===t.nodeType&&b.hasData(e)){var n,r,i,o=b._data(e),a=b._data(t,o),s=o.events;if(s){delete a.handle,a.events={};for(n in s)for(r=0,i=s[n].length;i>r;r++)b.event.add(t,n,s[n][r])}a.data&&(a.data=b.extend({},a.data))}}function Ft(e,t){var n,r,i;if(1===t.nodeType){if(n=t.nodeName.toLowerCase(),!b.support.noCloneEvent&&t[b.expando]){i=b._data(t);for(r in i.events)b.removeEvent(t,r,i.handle);t.removeAttribute(b.expando)}"script"===n&&t.text!==e.text?(Ht(t).text=e.text,qt(t)):"object"===n?(t.parentNode&&(t.outerHTML=e.outerHTML),b.support.html5Clone&&e.innerHTML&&!b.trim(t.innerHTML)&&(t.innerHTML=e.innerHTML)):"input"===n&&Nt.test(e.type)?(t.defaultChecked=t.checked=e.checked,t.value!==e.value&&(t.value=e.value)):"option"===n?t.defaultSelected=t.selected=e.defaultSelected:("input"===n||"textarea"===n)&&(t.defaultValue=e.defaultValue)}}b.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){b.fn[e]=function(e){var n,r=0,i=[],o=b(e),a=o.length-1;for(;a>=r;r++)n=r===a?this:this.clone(!0),b(o[r])[t](n),d.apply(i,n.get());return this.pushStack(i)}});function Ot(e,n){var r,o,a=0,s=typeof e.getElementsByTagName!==i?e.getElementsByTagName(n||"*"):typeof e.querySelectorAll!==i?e.querySelectorAll(n||"*"):t;if(!s)for(s=[],r=e.childNodes||e;null!=(o=r[a]);a++)!n||b.nodeName(o,n)?s.push(o):b.merge(s,Ot(o,n));return n===t||n&&b.nodeName(e,n)?b.merge([e],s):s}function Bt(e){Nt.test(e.type)&&(e.defaultChecked=e.checked)}b.extend({clone:function(e,t,n){var r,i,o,a,s,u=b.contains(e.ownerDocument,e);if(b.support.html5Clone||b.isXMLDoc(e)||!mt.test("<"+e.nodeName+">")?o=e.cloneNode(!0):(Dt.innerHTML=e.outerHTML,Dt.removeChild(o=Dt.firstChild)),!(b.support.noCloneEvent&&b.support.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||b.isXMLDoc(e)))for(r=Ot(o),s=Ot(e),a=0;null!=(i=s[a]);++a)r[a]&&Ft(i,r[a]);if(t)if(n)for(s=s||Ot(e),r=r||Ot(o),a=0;null!=(i=s[a]);a++)_t(i,r[a]);else _t(e,o);return r=Ot(o,"script"),r.length>0&&Mt(r,!u&&Ot(e,"script")),r=s=i=null,o},buildFragment:function(e,t,n,r){var i,o,a,s,u,l,c,p=e.length,f=dt(t),d=[],h=0;for(;p>h;h++)if(o=e[h],o||0===o)if("object"===b.type(o))b.merge(d,o.nodeType?[o]:o);else if(wt.test(o)){s=s||f.appendChild(t.createElement("div")),u=(bt.exec(o)||["",""])[1].toLowerCase(),c=At[u]||At._default,s.innerHTML=c[1]+o.replace(vt,"<$1>")+c[2],i=c[0];while(i--)s=s.lastChild;if(!b.support.leadingWhitespace&&yt.test(o)&&d.push(t.createTextNode(yt.exec(o)[0])),!b.support.tbody){o="table"!==u||xt.test(o)?""!==c[1]||xt.test(o)?0:s:s.firstChild,i=o&&o.childNodes.length;while(i--)b.nodeName(l=o.childNodes[i],"tbody")&&!l.childNodes.length&&o.removeChild(l) -}b.merge(d,s.childNodes),s.textContent="";while(s.firstChild)s.removeChild(s.firstChild);s=f.lastChild}else d.push(t.createTextNode(o));s&&f.removeChild(s),b.support.appendChecked||b.grep(Ot(d,"input"),Bt),h=0;while(o=d[h++])if((!r||-1===b.inArray(o,r))&&(a=b.contains(o.ownerDocument,o),s=Ot(f.appendChild(o),"script"),a&&Mt(s),n)){i=0;while(o=s[i++])kt.test(o.type||"")&&n.push(o)}return s=null,f},cleanData:function(e,t){var n,r,o,a,s=0,u=b.expando,l=b.cache,p=b.support.deleteExpando,f=b.event.special;for(;null!=(n=e[s]);s++)if((t||b.acceptData(n))&&(o=n[u],a=o&&l[o])){if(a.events)for(r in a.events)f[r]?b.event.remove(n,r):b.removeEvent(n,r,a.handle);l[o]&&(delete l[o],p?delete n[u]:typeof n.removeAttribute!==i?n.removeAttribute(u):n[u]=null,c.push(o))}}});var Pt,Rt,Wt,$t=/alpha\([^)]*\)/i,It=/opacity\s*=\s*([^)]*)/,zt=/^(top|right|bottom|left)$/,Xt=/^(none|table(?!-c[ea]).+)/,Ut=/^margin/,Vt=RegExp("^("+x+")(.*)$","i"),Yt=RegExp("^("+x+")(?!px)[a-z%]+$","i"),Jt=RegExp("^([+-])=("+x+")","i"),Gt={BODY:"block"},Qt={position:"absolute",visibility:"hidden",display:"block"},Kt={letterSpacing:0,fontWeight:400},Zt=["Top","Right","Bottom","Left"],en=["Webkit","O","Moz","ms"];function tn(e,t){if(t in e)return t;var n=t.charAt(0).toUpperCase()+t.slice(1),r=t,i=en.length;while(i--)if(t=en[i]+n,t in e)return t;return r}function nn(e,t){return e=t||e,"none"===b.css(e,"display")||!b.contains(e.ownerDocument,e)}function rn(e,t){var n,r,i,o=[],a=0,s=e.length;for(;s>a;a++)r=e[a],r.style&&(o[a]=b._data(r,"olddisplay"),n=r.style.display,t?(o[a]||"none"!==n||(r.style.display=""),""===r.style.display&&nn(r)&&(o[a]=b._data(r,"olddisplay",un(r.nodeName)))):o[a]||(i=nn(r),(n&&"none"!==n||!i)&&b._data(r,"olddisplay",i?n:b.css(r,"display"))));for(a=0;s>a;a++)r=e[a],r.style&&(t&&"none"!==r.style.display&&""!==r.style.display||(r.style.display=t?o[a]||"":"none"));return e}b.fn.extend({css:function(e,n){return b.access(this,function(e,n,r){var i,o,a={},s=0;if(b.isArray(n)){for(o=Rt(e),i=n.length;i>s;s++)a[n[s]]=b.css(e,n[s],!1,o);return a}return r!==t?b.style(e,n,r):b.css(e,n)},e,n,arguments.length>1)},show:function(){return rn(this,!0)},hide:function(){return rn(this)},toggle:function(e){var t="boolean"==typeof e;return this.each(function(){(t?e:nn(this))?b(this).show():b(this).hide()})}}),b.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Wt(e,"opacity");return""===n?"1":n}}}},cssNumber:{columnCount:!0,fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":b.support.cssFloat?"cssFloat":"styleFloat"},style:function(e,n,r,i){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var o,a,s,u=b.camelCase(n),l=e.style;if(n=b.cssProps[u]||(b.cssProps[u]=tn(l,u)),s=b.cssHooks[n]||b.cssHooks[u],r===t)return s&&"get"in s&&(o=s.get(e,!1,i))!==t?o:l[n];if(a=typeof r,"string"===a&&(o=Jt.exec(r))&&(r=(o[1]+1)*o[2]+parseFloat(b.css(e,n)),a="number"),!(null==r||"number"===a&&isNaN(r)||("number"!==a||b.cssNumber[u]||(r+="px"),b.support.clearCloneStyle||""!==r||0!==n.indexOf("background")||(l[n]="inherit"),s&&"set"in s&&(r=s.set(e,r,i))===t)))try{l[n]=r}catch(c){}}},css:function(e,n,r,i){var o,a,s,u=b.camelCase(n);return n=b.cssProps[u]||(b.cssProps[u]=tn(e.style,u)),s=b.cssHooks[n]||b.cssHooks[u],s&&"get"in s&&(a=s.get(e,!0,r)),a===t&&(a=Wt(e,n,i)),"normal"===a&&n in Kt&&(a=Kt[n]),""===r||r?(o=parseFloat(a),r===!0||b.isNumeric(o)?o||0:a):a},swap:function(e,t,n,r){var i,o,a={};for(o in t)a[o]=e.style[o],e.style[o]=t[o];i=n.apply(e,r||[]);for(o in t)e.style[o]=a[o];return i}}),e.getComputedStyle?(Rt=function(t){return e.getComputedStyle(t,null)},Wt=function(e,n,r){var i,o,a,s=r||Rt(e),u=s?s.getPropertyValue(n)||s[n]:t,l=e.style;return s&&(""!==u||b.contains(e.ownerDocument,e)||(u=b.style(e,n)),Yt.test(u)&&Ut.test(n)&&(i=l.width,o=l.minWidth,a=l.maxWidth,l.minWidth=l.maxWidth=l.width=u,u=s.width,l.width=i,l.minWidth=o,l.maxWidth=a)),u}):o.documentElement.currentStyle&&(Rt=function(e){return e.currentStyle},Wt=function(e,n,r){var i,o,a,s=r||Rt(e),u=s?s[n]:t,l=e.style;return null==u&&l&&l[n]&&(u=l[n]),Yt.test(u)&&!zt.test(n)&&(i=l.left,o=e.runtimeStyle,a=o&&o.left,a&&(o.left=e.currentStyle.left),l.left="fontSize"===n?"1em":u,u=l.pixelLeft+"px",l.left=i,a&&(o.left=a)),""===u?"auto":u});function on(e,t,n){var r=Vt.exec(t);return r?Math.max(0,r[1]-(n||0))+(r[2]||"px"):t}function an(e,t,n,r,i){var o=n===(r?"border":"content")?4:"width"===t?1:0,a=0;for(;4>o;o+=2)"margin"===n&&(a+=b.css(e,n+Zt[o],!0,i)),r?("content"===n&&(a-=b.css(e,"padding"+Zt[o],!0,i)),"margin"!==n&&(a-=b.css(e,"border"+Zt[o]+"Width",!0,i))):(a+=b.css(e,"padding"+Zt[o],!0,i),"padding"!==n&&(a+=b.css(e,"border"+Zt[o]+"Width",!0,i)));return a}function sn(e,t,n){var r=!0,i="width"===t?e.offsetWidth:e.offsetHeight,o=Rt(e),a=b.support.boxSizing&&"border-box"===b.css(e,"boxSizing",!1,o);if(0>=i||null==i){if(i=Wt(e,t,o),(0>i||null==i)&&(i=e.style[t]),Yt.test(i))return i;r=a&&(b.support.boxSizingReliable||i===e.style[t]),i=parseFloat(i)||0}return i+an(e,t,n||(a?"border":"content"),r,o)+"px"}function un(e){var t=o,n=Gt[e];return n||(n=ln(e,t),"none"!==n&&n||(Pt=(Pt||b("