summaryrefslogtreecommitdiff
path: root/demos/java
Commit message (Collapse)AuthorAgeFilesLines
* Further updated build scriptsEthan Vrhel2022-01-118-70/+34
| | | | | | | | | Removed install_* scripts in gsviewer and mtdemo and put them into their respective build_* scripts. Updated the README to reflect this change. Also increased the number of threads being tested in mtdemo from 2 to 10.
* Update build scripts for all platformsEthan Vrhel2022-01-069-14/+36
|
* Fixed multithreading issues on LinuxEthan Vrhel2022-01-061-2/+0
|
* Fixed an init_with_args issue in JavaEthan Vrhel2021-12-035-12/+30
|
* Multithreading for gs_jni is now enabled by defaultEthan Vrhel2021-12-032-6/+6
|
* Fixed Linux install and build scriptsEthan Vrhel2021-11-204-11/+43
|
* Fixed darwin build scriptsEthan Vrhel2021-11-2015-6/+12
|
* Updated some Linux build scriptsEthan Vrhel2021-11-202-4/+4
|
* Fixed some darwin build scripts and filesEthan Vrhel2021-11-204-6/+10
|
* Updated READMEs and added install scriptsEthan Vrhel2021-11-157-23/+91
|
* Fixed an assertion failure in display callbacksEthan Vrhel2021-11-125-12/+89
|
* Updated mtdemo READMEEthan Vrhel2021-10-311-1/+1
|
* Added mtdemo Linux/Darwin build scriptsEthan Vrhel2021-10-314-0/+20
|
* Removed warnings in gs_jni and addition mtdemo documentationEthan Vrhel2021-10-319-26/+77
|
* Added documentation for Java multithreading demoEthan Vrhel2021-10-305-30/+60
|
* Fixed multi threading issues in gs_jniEthan Vrhel2021-10-3015-177/+240
|
* Crude fix to demos/java/mtdemo to avoid a crashEthan Vrhel2021-10-297-10/+54
| | | | | | Crash caused by improper handling of multiple threads in gs_jni modules. Added a way to enable multithreading support in the project via preprocessor macros, but it currently does not work.
* Updating gs_jni to support multithreadingEthan Vrhel2021-10-297-115/+233
|
* Making gsjava work with multiple Ghostscript instancesEthan Vrhel2021-10-296-150/+363
|
* Fixed a possible issue with build_win32.bat for gsjavaEthan Vrhel2021-10-171-2/+0
|
* Updated how native libraries loadEthan Vrhel2021-08-302-22/+38
| | | | | | Fixed compiler errors in GSAPI.java and NativePointer.java Fixed whitespace issues
* Fixes minor typos in the java gsviewer READMEJamie Lemon2021-08-251-7/+7
|
* Fixes and improvements to Java build scriptsEthan Vrhel2021-08-186-12/+21
| | | | | | | | Fixed on Windows, Linux, and Mac where the build scripts would use the wrong manifest file. The Windows build script for gsviewer now builds and copies gsjava. Updated READMEs to reflect these changes.
* Bug 703841: Fix incorrect disabling of anti-aliasing in java bindings.Julian Smith2021-08-181-2/+2
| | | | | To turn off aniti-aliasing need to set TextAlphaBits and GraphicsAlphaBits to one, not zero.
* Bug 703688: Fixed minor typos in Java code.Julian Smith2021-08-181-4/+4
|
* Fixes spelling of "Ghostscript" as well as some other small typosJamie Lemon2021-08-182-17/+17
|
* Updated READMEsEthan Vrhel2021-08-174-16/+44
|
* Added install.sh for gs_jni projectEthan Vrhel2021-08-1718-22/+47
| | | | | | | | | | | | | | | | | | | | This script installs the required libraries in /usr/lib so projects using it can be run. Fixed build scripts on Mac Added install_darwin.sh and fixed start_darwin.sh allowing Mac instances of the viewer to run correctFixed build scripts on Mac Renamed Manifest.txt files to have .md extension This will be to allow newline characters at en of line, and to match the internal extension of Java JAR manifest files. Updated names of build scripts Done to improve clarity of which scripts are used for which operating system.
* Added build scripts for Mac OS XEthan Vrhel2021-08-177-3/+169
| | | | | The build scripts are named the same as the Linux build scripts except they are suffixed with "_darwin".
* Fixed an issue regarding a variadic functionEthan Vrhel2021-08-171-1/+12
| | | | | | in callbacks.cpp, a JNI function was being called requiring variadic arguments. The function was passed a non-primitive type (a Reference object). Fixed by calling its object() member function.
* Squashed commit, all changes belowEthan Vrhel2021-08-0622-2080/+507
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Added make.sh for building and fixed some files Added build script for gsjava project Uses javac and jar commands which come with the JDK. Added batch script for building on Windows Added README.txt to describe how to build gs_jni Describes which headers are needed and how to get them. Updated include paths in gs_jni.sln and in make.sh. Added build scripts for gsviewer on Linux Updated README.txt in gsviewer to include more information regarding how to run gsviewer. Updated build script for gs_jni. Added gsviewer build script for Windows and README update Added make.sh for building and fixed some files Added build script for gsjava project Uses javac and jar commands which come with the JDK. Added batch script for building on Windows Added README.txt to describe how to build gs_jni Describes which headers are needed and how to get them. Updated include paths in gs_jni.sln and in make.sh. Added build scripts for gsviewer on Linux Updated README.txt in gsviewer to include more information regarding how to run gsviewer. Updated build script for gs_jni. Updates to the Linux java application The viewer should now be started using start.sh and built with build.sh. gsviewer's build.sh now also references gsjava's build.sh and copies the result file, so there is no need to execute two separate scripts. Progress on getting gs_gni to correctly link Several changes related to linking and building Fixed warnings in gs_jni Fixed linking errors in link.sh Updated install script in gsviewer Updated start script in gsviewer Linux Java viewer and API now works correctly Updated multiple READMEs Updated READMEs and some build scripts
* Prep work for Linux Java demoevrhel2021-06-3012-8034/+60
|
* Fix include patch glitch in gs_jni VS project.Robin Watts2021-06-081-5/+5
|
* Squashed commit of the java-demo branch:evrhel2020-09-2487-0/+19340
commit 385a750c39e3112f4b640f8dbfea28fbad9885a2 Author: evrhel <ethanvrhel@gmail.com> Date: Sun Sep 13 14:42:08 2020 -0700 Added several devices, updated documentation, and README.txt. commit 64fad0d5035ccf7394c1863e369b108ca471b5fb Author: Ethan Vrhel <ethanvrhel@gmail.com> Date: Wed Sep 9 15:30:58 2020 -0700 Worked on PDFPostscriptDeviceFamily implementation Added all of the parameter types specified in https://ghostscript.com/doc/current/VectorDevices.htm for PDF/Postscript devices. Added several devices, updated documentation, and README.txt. commit fc6593654f7d1e114d8fd0a8b2da89224e193c92 Author: evrhel <ethanvrhel@gmail.com> Date: Wed Sep 9 14:19:25 2020 -0700 Added missing Settings class to viewer commit ea92fe4f172911dfe79e8423bd7b98d14d585393 Author: evrhel <ethanvrhel@gmail.com> Date: Wed Sep 9 14:19:25 2020 -0700 Added missing Settings class to viewer commit 792ddf8525e903e55bf668b41b84f002ef4757cb Author: evrhel <ethanvrhel@gmail.com> Date: Sat Sep 5 14:04:44 2020 -0700 Added more implementations of Device class commit 4f2056eafb633f5e4aa9f6ac3bed99247110f556 Author: evrhel <ethanvrhel@gmail.com> Date: Sun Aug 30 16:11:20 2020 -0700 Added device classes to allow easy device manipulation New abstract classes Device and FileDevice and several subclasses to allow easy modification and output to devices. commit ea360f254e7638b37529b8db105f0a2b9b7e722f Author: Ethan Vrhel <ethanvrhel@gmail.com> Date: Mon Aug 24 21:16:56 2020 -0700 Updated to newer Ghostscript version and fixed a bug Updated to the newest Ghostscript version and fixed an ArrayIndexOutOfBoundsException bug when unloading zoomed pages. commit 34c47909939b4e85f18e2fc03088203c51bba292 Author: Ethan Vrhel <ethanvrhel@gmail.com> Date: Sun Aug 23 15:58:44 2020 -0700 Added better documentation commit eda31b70496337caefd0dc912c5a0850de769147 Author: Ethan Vrhel <ethanvrhel@gmail.com> Date: Thu Aug 20 14:36:48 2020 -0700 Updated how zooming is handled Zooming is now done through the SmartLoader and is no longer a separate operation. Fixed an issue when the SmartLoader could become out of date due to the condition variable being signaled before the SmartLoader had finished. commit 5b08d9eadfe64d87cf26869c47a2a5f78755dd4b Author: Ethan Vrhel <ethanvrhel@gmail.com> Date: Wed Aug 19 17:38:34 2020 -0700 Implemented distilling documents Users now have the option to distill a document if the desired input is not a PDF. commit 4a78a968777521f23fefaeb277d378b9dc08b555 Author: Ethan Vrhel <ethanvrhel@gmail.com> Date: Tue Aug 18 15:04:09 2020 -0700 Fixed zooming and some other bugs in the viewer Zooming in on documents in the viewer no longer causes a crash. Fixed a bug where documents would not display after being loaded. Fixed a bug where closing a document when none was loaded would crash. Fixed a bug where gsapi_delete_instance would cause a crash. commit 9c9190192c1acdafbf4e9f277dba9e2079046cc7 Author: Ethan Vrhel <ethanvrhel@gmail.com> Date: Sun Aug 16 16:28:44 2020 -0700 Fixed JNI bugs and began updating viewer to use one GS instance Fixed JNI crashes when Ghostscript calls were made from different threads. Migrated loading low res and high res images from using multiple instances to using one global instance. commit fbe9a961e7fef31c79cfd8ed857643ad00798af8 Author: Ethan Vrhel <ethanvrhel@gmail.com> Date: Sat Aug 15 14:36:34 2020 -0700 Added init_with_args to the test code in Main.java commit 96ede7306ce8d71be3016e7d708c801c5718fdfe Author: Ethan Vrhel <ethanvrhel@gmail.com> Date: Sat Aug 15 14:33:40 2020 -0700 Fixed a small error in test code in Main.java commit dcb1141da6901f0c42336861428cf13f6cc9b202 Author: Ethan Vrhel <ethanvrhel@gmail.com> Date: Sat Aug 15 14:13:23 2020 -0700 Finished updating to newer Ghostscript functions Replaced all Reference objects in Ghostcript calls in Java and JNI to Reference<T>. Iteration over parameters now must be done through GSInstance instead of creating an explicit iterator. commit aa9288fa60aa6030b88f909ac494b388737e1748 Author: Ethan Vrhel <ethanvrhel@gmail.com> Date: Thu Aug 13 16:00:51 2020 -0700 Finished implementing the rest of Ghostscript functions in Java All GS functions are now able to be called through GSAPI. Fixed a possible memory leak related to exception checking in C++. commit b02df334fdbc14fb1ed4d75bcaddcf7091391ee7 Author: Ethan Vrhel <ethanvrhel@gmail.com> Date: Thu Aug 13 12:49:33 2020 -0700 Got gsapi_enumerate_params working in Java Got gsapi_enumerate_params working and added a utility class to do the same work as gsapi_enumerate_params with a Java iterator. commit 502baba9568406ce923944f693728af30c81473e Author: Ethan Vrhel <ethanvrhel@gmail.com> Date: Wed Aug 12 16:25:54 2020 -0700 Got gsapi_set_param working Renamed java function to gsapi_set_param_once to distinguish from the actual Ghostscript call. This method does the call to gsapi_set_param twice in native code and is used to make it easier to use the function in Java. commit 614c55f1989d04178c916db56cfc38753918097e Author: Ethan Vrhel <ethanvrhel@gmail.com> Date: Wed Aug 12 13:30:07 2020 -0700 Worked on implementing new Ghoscript methods in Java Wrote out all native method signatures in Java and C++. Workekd on gsapi_add_control_path and associated helper methods. commit 08cd824e589cf9cdd4848b9b3606898ac7141c9f Author: Ethan Vrhel <ethanvrhel@gmail.com> Date: Tue Aug 11 16:32:08 2020 -0700 Worked on improving References in C++ code commit de7f2303372bed8b19ca401392151cba7f2ab013 Author: Ethan Vrhel <ethanvrhel@gmail.com> Date: Tue Aug 11 13:58:54 2020 -0700 Progress on updating Java bindings to newest version. Added some of the new methods, but currently none work. commit bcf2db77c8c106b1b3d80d647b0fe04201d9c645 Author: Ethan Vrhel <ethanvrhel@gmail.com> Date: Mon Aug 10 14:08:42 2020 -0700 Fixed some errors related to loading pages too fast An error would occasionally be thrown in the SmartLoader having to do with the Document being modified while in the SmartLoader, causing an error. Reconfigured how the SmartLoader handles documents and is started and stopped. commit cb2be4f3b0635efd4616f567389b19a7351d078b Author: Ethan Vrhel <ethanvrhel@gmail.com> Date: Mon Aug 3 15:41:20 2020 -0700 Added thread safety to the viewer. The viewer now ensures that no more than one ghostscript call is happening at the same time and has multiple options for controlling the behavior if multiple operations are attempting to be called. Also began work on a utility class to make Ghostscript calls easier by having a class carry around a instance and a caller handle. commit f81dfc177f71d0d12b38371fae54b45e158833ce Author: Ethan Vrhel <ethanvrhel@gmail.com> Date: Sat Aug 1 17:16:43 2020 -0700 Progress on improving concurrency Added better exception handling. Began progress on handling concurrent operations better. commit e0f4af0e59580dabca01cb9b932185475d4032a8 Author: Ethan Vrhel <ethanvrhel@gmail.com> Date: Sat Aug 1 14:48:37 2020 -0700 Viewer now will load a higher resolution image on zoom. The high resolution image loads correctly, but the viewer does not correctly load the right page when in a zoom other than 1x. commit 843914f25b1a58841bac94e5df8cded8b47dd948 Author: Ethan Vrhel <ethanvrhel@gmail.com> Date: Wed Jul 29 15:40:14 2020 -0700 Optimizations to page loader Page loader now only loads around where the use is viewing and does not load pages unless the user actually navigates to those pages. commit 458f93f005920b9ca58bed67178dba26cd6d8a18 Author: Ethan Vrhel <ethanvrhel@gmail.com> Date: Wed Jul 29 14:13:44 2020 -0700 Progress on viewer Optimizations and easier user interface as well as basic zooming implemented. commit ab65f0672d2be5f5c312b229af66d8d028661d08 Author: Ethan Vrhel <ethanvrhel@gmail.com> Date: Mon Jul 27 15:12:45 2020 -0700 Various bug fixes in viewer Added utility methods in ViewerWindow.java to help with changing pages and zoom levels. Added framework for zooming pages. commit e3e7dbac2b5b271a4d4225ebae34d36f603b8a07 Author: evrhel <ethanvrhel@gmail.com> Date: Fri Jul 24 14:03:54 2020 -0700 Got viewer working Viewer now works and can open files. Still does not "smartly" target pages which the use is directly viewing or take advantage of file-specific properties. It instead loads all the pages' high-resolution images in order. commit f1441ed36302f75d94cf4aa4a8047150bf5b7585 Author: evrhel <ethanvrhel@gmail.com> Date: Thu Jul 23 18:57:52 2020 -0700 Basic viewer working The viewer has basic capabilities, but still lacks loading high resolution images, spacing components, and resizing correctly. commit ea3eecbc30b1a4a4747dfd2818262c2f6eea112c Author: evrhel <ethanvrhel@gmail.com> Date: Thu Jul 23 16:13:13 2020 -0700 Worked on creating GUI Added GUI (generated using NetBeans). Added support for callbacks into the GUI specifically related to the wanted viewer operations. commit cb15f051db01135cf1eef8df6a8cfb53cb5ff840 Author: evrhel <ethanvrhel@gmail.com> Date: Wed Jul 22 16:24:13 2020 -0700 Progress on Document class for handling a documentLoader Document class is a list of Pages which stores a low-resolution image and a high-resolution image. The low-resolution image should always be loaded while the high-resolution can be unloaded to save memory usage. commit 99fa4ae3667cd58d6f2a72f01d1b9410929f4847 Author: evrhel <ethanvrhel@gmail.com> Date: Tue Jul 21 15:19:10 2020 -0700 Converted original Java project to be used as a JAR library The original project should be compiled as a JAR library and where needed, should be placed alongside the required native libraries to run. The executable Java project has been moved to the gsviewer project. commit 80dd426da705c160b79a57a161c5d95c3a57aca6 Author: evrhel <ethanvrhel@gmail.com> Date: Tue Jul 21 15:01:18 2020 -0700 Colors now being displayed correctly after getting image Fixed drawing colors coming from ghostscript. Next: need to migrate the current project into a jar file instead of a runnable application. The viewer will use the Java library. commit 06a50542391c3f0ad64f20a0ae6a1f63d9aa61e0 Author: evrhel <ethanvrhel@gmail.com> Date: Mon Jul 20 17:10:36 2020 -0700 Fixes to display callback and C++ and added window to display images Fixed Java methods not being found in C++ and added a window class to start displaying images. commit 4b0e69075619f7c4ef8df850d0e85d125e2b67da Author: evrhel <ethanvrhel@gmail.com> Date: Fri Jul 17 16:02:37 2020 -0700 Implemented NativePointer methods in C++ and updated onDisplayPage onDisplayPage now uses a BytePointer object for the pimage parameter to interface into native memory. commit 0d24844082f6c566af417ad35b394e3fd591c38e Author: evrhel <ethanvrhel@gmail.com> Date: Fri Jul 17 15:03:06 2020 -0700 Added new Java class allowing native access to memory blocks Added NativePointer and NativeArray as two base classes for low-level memory-access alongside other classes to assist with this. commit 9643091f698293181dcb484e04e96d19df12950a Author: Ethan Vrhel <ethanvrhel@gmail.com> Date: Thu Jul 16 17:01:53 2020 -0700 Security improvements in native code Fixed multiple points where the program could crash and instead returned NULL and/or threw a (safer) Java exception. commit fdade3eedc6469edd3da510bd648a39fdb9f9a93 Author: evrhel <ethanvrhel@gmail.com> Date: Tue Jul 14 15:52:22 2020 -0700 Fixed how display_callback was being passed to Ghostscript The display_callback device did not have the correct values regarding its size, major version, and minor version. Furthermore, the display_device structure was not being dynamically allocated and ended up being freed too early. commit 5a3e822ca0e076708bed843a2578a18eebb37f3d Author: evrhel <ethanvrhel@gmail.com> Date: Sun Jul 12 15:17:16 2020 -0700 Fixed some bugs related to stdio Fixed stdio bugs and added some more utility methods to make calling ghostscript functions easier in Java. commit 88fad771fcd4024a538f4bf6f6819d62d8180440 Author: evrhel <ethanvrhel@gmail.com> Date: Sat Jul 11 14:29:58 2020 -0700 Completed JNI bindings to Ghostscript Added implementations for StdIO and display callback, and added some testing in main(). commit bb197f9ae65b39bf55ae6fd932203e514472ff8f Author: evrhel <ethanvrhel@gmail.com> Date: Fri Jul 10 14:06:07 2020 -0700 Finished writing JNI bindings. Finished writing JNI bindings and added more utility methods to help with setting Reference objects in Java. commit 8a0074ea3624921cd8ff98684e5efa2fc0b4d5ce Author: evrhel <ethanvrhel@gmail.com> Date: Thu Jul 9 18:27:52 2020 -0700 Progress on linking Ghostscript functions to Java Added support for more functions and finished implementing display callback functions. commit 32fee0e8ea1d82897ff4d2a3ce4b9ba92a680cd3 Author: evrhel <ethanvrhel@gmail.com> Date: Wed Jul 8 19:39:27 2020 -0700 Worked on implementing display_callback in Java Added utility methods in C++ code to help with calling functions, setting fields, and creating objects. Started to implement the functions defined in display_callback. commit fe751db5f899c3e59c961d65ec013f307adef8f9 Author: evrhel <ethanvrhel@gmail.com> Date: Tue Jul 7 17:31:18 2020 -0700 Implemented Ghostscript functions in Java in the C++ project Created a new C++ project which allows for Java calls into Ghostscript. Current working functions are gsapi_revision, gsapi_new_instance, and gsapi_delete_instance. gsapi_set_stdio_with_handle and gsapi_set_stdio are untested. commit 4c2bf73539f440bf8f6b45d85820cc84df2e6b28 Author: evrhel <ethanvrhel@gmail.com> Date: Tue Jul 7 14:52:47 2020 -0700 Finished writing ghostscript api signatures in GSAPI.java commit 4850223d252d6e245104c42fafc0190b91177be2 Author: evrhel <ethanvrhel@gmail.com> Date: Mon Jul 6 18:16:15 2020 -0700 Progress on creating the JNI bindings to Ghostscript. Started GSAPI class to store exported Ghostscript functions. Added error constants and declared gsapi_revision, gsapi_new_instance, gsapi_delete_instance, gsapi_set_stdio_with_handle, gsapi_set_stdio, gsapi_set_poll_with_handle, gsapi_set_poll, and gsapi_set_display_callback bindings. Added multiple callback interfaces and a Java representation of struct display_callback_s. commit 8da16a603b124c15ce4dc7c7fccc97f711d75fb2 Author: evrhel <ethanvrhel@gmail.com> Date: Mon Jul 6 15:18:32 2020 -0700 Java demo: Initial commit with README