├── .gitattributes ├── .gitignore ├── Log.md ├── README.md ├── Wish_List.md ├── experiments ├── Notes.md ├── README.md ├── blender │ ├── Blender_Image_Sequence.gif │ ├── Object_Tracer.py │ ├── README.md │ ├── Screenshot_02172018_024856AM.png │ ├── Screenshot_02172018_031541AM.png │ ├── Screenshot_02172018_031924AM.png │ ├── cell_slice_086.jpg │ └── organelle_mcell.gif ├── codeblocks │ ├── OpenGLTest.exe │ ├── OpenGLTest.png │ ├── README.md │ └── sha1sum ├── data │ ├── Transforms │ │ ├── Cube_Ideal.1 │ │ ├── Cube_Ideal.10 │ │ ├── Cube_Ideal.11 │ │ ├── Cube_Ideal.12 │ │ ├── Cube_Ideal.13 │ │ ├── Cube_Ideal.14 │ │ ├── Cube_Ideal.15 │ │ ├── Cube_Ideal.16 │ │ ├── Cube_Ideal.2 │ │ ├── Cube_Ideal.3 │ │ ├── Cube_Ideal.4 │ │ ├── Cube_Ideal.5 │ │ ├── Cube_Ideal.6 │ │ ├── Cube_Ideal.7 │ │ ├── Cube_Ideal.8 │ │ ├── Cube_Ideal.9 │ │ ├── Cube_Ideal.ser │ │ ├── Cube_Slices.1 │ │ ├── Cube_Slices.10 │ │ ├── Cube_Slices.11 │ │ ├── Cube_Slices.12 │ │ ├── Cube_Slices.13 │ │ ├── Cube_Slices.14 │ │ ├── Cube_Slices.15 │ │ ├── Cube_Slices.16 │ │ ├── Cube_Slices.2 │ │ ├── Cube_Slices.3 │ │ ├── Cube_Slices.4 │ │ ├── Cube_Slices.5 │ │ ├── Cube_Slices.6 │ │ ├── Cube_Slices.7 │ │ ├── Cube_Slices.8 │ │ ├── Cube_Slices.9 │ │ ├── Cube_Slices.ser │ │ ├── cube_slice_00.jpg │ │ ├── cube_slice_00.png │ │ ├── cube_slice_01.jpg │ │ ├── cube_slice_01.png │ │ ├── cube_slice_02.jpg │ │ ├── cube_slice_02.png │ │ ├── cube_slice_03.jpg │ │ ├── cube_slice_03.png │ │ ├── cube_slice_04.jpg │ │ ├── cube_slice_04.png │ │ ├── cube_slice_05.jpg │ │ ├── cube_slice_05.png │ │ ├── cube_slice_06.jpg │ │ ├── cube_slice_06.png │ │ ├── cube_slice_07.jpg │ │ ├── cube_slice_07.png │ │ ├── cube_slice_08.jpg │ │ ├── cube_slice_08.png │ │ ├── cube_slice_09.jpg │ │ ├── cube_slice_09.png │ │ ├── cube_slice_10.jpg │ │ ├── cube_slice_10.png │ │ ├── cube_slice_11.jpg │ │ ├── cube_slice_11.png │ │ ├── cube_slice_12.jpg │ │ ├── cube_slice_12.png │ │ ├── cube_slice_13.jpg │ │ ├── cube_slice_13.png │ │ ├── cube_slice_14.jpg │ │ ├── cube_slice_14.png │ │ ├── cube_slice_15.jpg │ │ └── cube_slice_15.png │ ├── organelle_images │ │ ├── cell_slice_014.jpg │ │ ├── cell_slice_020.jpg │ │ ├── cell_slice_026.jpg │ │ ├── cell_slice_032.jpg │ │ ├── cell_slice_032_round.jpg │ │ ├── cell_slice_038.jpg │ │ ├── cell_slice_044.jpg │ │ ├── cell_slice_050.jpg │ │ ├── cell_slice_056.jpg │ │ ├── cell_slice_062.jpg │ │ ├── cell_slice_068.jpg │ │ ├── cell_slice_074.jpg │ │ ├── cell_slice_080.jpg │ │ ├── cell_slice_086.jpg │ │ ├── cell_slice_092.jpg │ │ ├── cell_slice_098.jpg │ │ ├── cell_slice_104.jpg │ │ ├── cell_slice_110.jpg │ │ ├── cell_slice_116.jpg │ │ ├── cell_slice_122.jpg │ │ ├── cell_slice_128.jpg │ │ ├── cell_slice_134.jpg │ │ ├── cell_slice_140.jpg │ │ ├── cell_slice_146.jpg │ │ ├── cell_slice_152.jpg │ │ └── cell_slice_156.jpg │ └── organelle_series │ │ ├── calibrated_organelle.1 │ │ ├── calibrated_organelle.10 │ │ ├── calibrated_organelle.11 │ │ ├── calibrated_organelle.12 │ │ ├── calibrated_organelle.13 │ │ ├── calibrated_organelle.14 │ │ ├── calibrated_organelle.15 │ │ ├── calibrated_organelle.16 │ │ ├── calibrated_organelle.17 │ │ ├── calibrated_organelle.18 │ │ ├── calibrated_organelle.19 │ │ ├── calibrated_organelle.1x │ │ ├── calibrated_organelle.2 │ │ ├── calibrated_organelle.20 │ │ ├── calibrated_organelle.21 │ │ ├── calibrated_organelle.22 │ │ ├── calibrated_organelle.23 │ │ ├── calibrated_organelle.24 │ │ ├── calibrated_organelle.25 │ │ ├── calibrated_organelle.3 │ │ ├── calibrated_organelle.4 │ │ ├── calibrated_organelle.5 │ │ ├── calibrated_organelle.6 │ │ ├── calibrated_organelle.7 │ │ ├── calibrated_organelle.8 │ │ ├── calibrated_organelle.9 │ │ ├── calibrated_organelle.one │ │ ├── calibrated_organelle.ser │ │ ├── calibrated_organelle.x │ │ ├── calibrated_organelle.x.123 │ │ └── calibrated_organelle.x1 ├── documents │ ├── bit_of_git │ │ └── README.md │ └── github │ │ ├── README.md │ │ ├── brainto3d.jpg │ │ ├── reconstructlogo.gif │ │ └── watch_settings.png ├── java │ └── README.md ├── py3_gobj │ ├── Reconstruct.py │ └── app_window.py ├── python3_gtk │ └── Reconstruct.py └── python_gtk │ ├── Reconstruct.py │ ├── app_window.py │ └── test.png └── source ├── ExLarge.ico ├── LICENSE ├── Loop.ico ├── Makefile.win ├── README.md ├── Reconstruct.dev ├── Reconstruct.exe ├── Reconstruct.layout ├── Reconstruct_1100.exe ├── Reconstruct_private.h ├── Reconstruct_private.rc ├── Scene.ico ├── adib.cpp ├── arrow.bmp ├── boissonnat.cpp ├── classes.h ├── constants.h ├── contour.cpp ├── cultiline.bmp ├── cultiline.cur ├── distance.ico ├── domain.bmp ├── domain.cur ├── domain.ico ├── domain_menu.cpp ├── ellipse.bmp ├── ellipse.cur ├── end.cpp ├── exclamation.ico ├── gbm.h ├── gbm.lib ├── gbm ├── _gbmerr.c ├── _gbmtrun.c ├── dos32 │ ├── jmorecfg.h │ ├── makefile │ └── makeijgo ├── gbm.a ├── gbm.c ├── gbm.h ├── gbm.htm ├── gbm.top ├── gbmbmp.c ├── gbmbmp.h ├── gbmbpp.c ├── gbmcpal.c ├── gbmcvp.c ├── gbmcvp.h ├── gbmerr.c ├── gbmerr.h ├── gbmgamma.c ├── gbmgem.c ├── gbmgem.h ├── gbmgif.c ├── gbmgif.h ├── gbmhdr.c ├── gbmhelp.c ├── gbmhelp.h ├── gbmhist.c ├── gbmhist.h ├── gbmht.c ├── gbmht.h ├── gbmiax.c ├── gbmiax.h ├── gbmjpg.c ├── gbmjpg.h ├── gbmkps.c ├── gbmkps.h ├── gbmlbm.c ├── gbmlbm.h ├── gbmmcut.c ├── gbmmcut.h ├── gbmmir.c ├── gbmmir.h ├── gbmos2.upl ├── gbmpcx.c ├── gbmpcx.h ├── gbmpgm.c ├── gbmpgm.h ├── gbmppm.c ├── gbmppm.h ├── gbmpsg.c ├── gbmpsg.h ├── gbmrect.c ├── gbmrect.h ├── gbmref.c ├── gbmscale.c ├── gbmscale.h ├── gbmsize.c ├── gbmspr.c ├── gbmspr.h ├── gbmsrc.upl ├── gbmsub.c ├── gbmtga.c ├── gbmtga.h ├── gbmtif.c ├── gbmtif.h ├── gbmtifh.c ├── gbmtifh.h ├── gbmtrunc.c ├── gbmtrunc.h ├── gbmvid.c ├── gbmvid.h ├── gbmxbm.c ├── gbmxbm.h ├── jmorecfg.h ├── jpeg-6a │ ├── Thumbs.db │ ├── ansi2knr.1 │ ├── ansi2knr.c │ ├── cderror.h │ ├── cdjpeg.c │ ├── cdjpeg.h │ ├── change.log │ ├── cjpeg.1 │ ├── cjpeg.c │ ├── ckconfig.c │ ├── coderule.doc │ ├── configur │ ├── djpeg.1 │ ├── djpeg.c │ ├── example.c │ ├── filelist.doc │ ├── install.doc │ ├── jcapimin.c │ ├── jcapistd.c │ ├── jccoefct.c │ ├── jccolor.c │ ├── jcdctmgr.c │ ├── jchuff.c │ ├── jchuff.h │ ├── jcinit.c │ ├── jcmainct.c │ ├── jcmarker.c │ ├── jcmaster.c │ ├── jcomapi.c │ ├── jconfig.bcc │ ├── jconfig.cfg │ ├── jconfig.dj │ ├── jconfig.doc │ ├── jconfig.h │ ├── jconfig.man │ ├── jconfig.mc6 │ ├── jconfig.sas │ ├── jconfig.st │ ├── jconfig.vms │ ├── jconfig.wat │ ├── jcparam.c │ ├── jcphuff.c │ ├── jcprepct.c │ ├── jcsample.c │ ├── jctrans.c │ ├── jdapimin.c │ ├── jdapistd.c │ ├── jdatadst.c │ ├── jdatasrc.c │ ├── jdcoefct.c │ ├── jdcolor.c │ ├── jdct.h │ ├── jddctmgr.c │ ├── jdhuff.c │ ├── jdhuff.h │ ├── jdinput.c │ ├── jdmainct.c │ ├── jdmarker.c │ ├── jdmaster.c │ ├── jdmerge.c │ ├── jdosaobj.doc │ ├── jdphuff.c │ ├── jdpostct.c │ ├── jdsample.c │ ├── jdtrans.c │ ├── jerror.c │ ├── jerror.h │ ├── jfdctflt.c │ ├── jfdctfst.c │ ├── jfdctint.c │ ├── jidctflt.c │ ├── jidctfst.c │ ├── jidctint.c │ ├── jidctred.c │ ├── jinclude.h │ ├── jmemansi.c │ ├── jmemdos.c │ ├── jmemdosa.asm │ ├── jmemmac.c │ ├── jmemmgr.c │ ├── jmemname.c │ ├── jmemnobs.c │ ├── jmemsys.h │ ├── jmorecfg.h │ ├── jpegint.h │ ├── jpeglib.h │ ├── jpegtran.1 │ ├── jpegtran.c │ ├── jquant1.c │ ├── jquant2.c │ ├── jutils.c │ ├── jversion.h │ ├── libjpeg.doc │ ├── makcjpeg.st │ ├── makdjpeg.st │ ├── makefile.ans │ ├── makefile.bcc │ ├── makefile.cfg │ ├── makefile.dj │ ├── makefile.man │ ├── makefile.mc6 │ ├── makefile.mms │ ├── makefile.sas │ ├── makefile.uni │ ├── makefile.vms │ ├── makefile.wat │ ├── makeijgo │ ├── makljpeg.st │ ├── maktjpeg.st │ ├── makvms.opt │ ├── rdbmp.c │ ├── rdcolmap.c │ ├── rdgif.c │ ├── rdjpgcom.1 │ ├── rdjpgcom.c │ ├── rdppm.c │ ├── rdrle.c │ ├── rdswitch.c │ ├── rdtarga.c │ ├── readme │ ├── readme.dos │ ├── structur.doc │ ├── testimg.gif │ ├── testimg.jpg │ ├── testimg.ppm │ ├── testimgp.jpg │ ├── testorig.jpg │ ├── testprog.jpg │ ├── usage.doc │ ├── wizard.doc │ ├── wrbmp.c │ ├── wrgif.c │ ├── wrjpgcom.1 │ ├── wrjpgcom.c │ ├── wrppm.c │ ├── wrrle.c │ └── wrtarga.c ├── makefile ├── makefile_mingw ├── makefile_original ├── makeijgo ├── os2 │ ├── gbm.def │ ├── jmorecfg.h │ ├── makefile │ └── makeijgo ├── test │ ├── rainbow_fish.tif │ └── test.sh ├── unix │ ├── jmorecfg.h │ ├── makefile │ └── makeijgo └── win32 │ ├── jmorecfg.h │ ├── makefile │ ├── makefile.lcc │ └── makeijgo ├── globals.cpp ├── globals.h ├── gpl.txt ├── grid.bmp ├── grid.cur ├── hdomain.ico ├── help_menu.cpp ├── hidden.ico ├── histogram.cpp ├── htmlhelp.lib ├── image.cpp ├── init.cpp ├── keyboard.cpp ├── keycmds.chm ├── kube-gustavson-fft.cpp ├── kube-gustavson-fft.h ├── large.ico ├── license.txt ├── line.bmp ├── line.cur ├── list.hpp ├── lock.bmp ├── lock.ico ├── magnify.bmp ├── magnify.cur ├── makefile ├── makefile_borland ├── makefile_mingw ├── manual.chm ├── mouse.cpp ├── mousecmds.chm ├── multiline.bmp ├── multiline.cur ├── nform.cpp ├── ngbm.lib ├── nmakefile ├── object.ico ├── objects_menu.cpp ├── oloop.ICO ├── open.ICO ├── opengl.cpp ├── operations.h ├── outfire.cur ├── palette.cpp ├── pencil.bmp ├── pencil.cur ├── precision.cur ├── program_menu.cpp ├── readme.txt ├── recon1100src.zip ├── reconstruct.bmp ├── reconstruct.cpp ├── reconstruct.h ├── reconstruct.rc ├── reconstruct.res ├── reconstruct_old.rc ├── rectangle.bmp ├── rectangle.cur ├── resource.rc ├── rotate.cur ├── scalpel.bmp ├── scalpel.cur ├── scissor.bmp ├── scissor.cur ├── section.cpp ├── section.dtd ├── section_menu.cpp ├── sectionsinfo.cpp ├── series.cpp ├── series.dtd ├── series_menu.cpp ├── sha1sum.txt ├── small.ico ├── stamp.bmp ├── stipple.bmp ├── tformslifo.cpp ├── threads.cpp ├── thumbnails.cpp ├── tools.cpp ├── trace.ico ├── trace_menu.cpp ├── unlock.bmp ├── unlock.ico ├── utility.cpp ├── viewport.cpp ├── vrmlobject.cpp ├── vrmlobjects.cpp ├── vrmlscene.cpp ├── wait.ani ├── wildfire.bmp ├── wildfire.cur ├── xmldata.cpp ├── xy.cur ├── xyzoom.bmp ├── zline.bmp ├── zline.cur ├── zline.ico ├── zoom.cur └── zscene.ico /.gitattributes: -------------------------------------------------------------------------------- 1 | # Set default behavior as git deciding what to do 2 | 3 | * text=auto 4 | 5 | # Define binary file patterns 6 | 7 | *.exe binary 8 | *.ico binary 9 | *.ICO binary 10 | *.cur binary 11 | *.bmp binary 12 | *.ani binary 13 | *.lib binary 14 | *.zip binary 15 | *.o binary 16 | *.chm binary 17 | *.res binary 18 | *.gif binary 19 | *.jpg binary 20 | *.jpeg binary 21 | *.png binary 22 | *.tif binary 23 | *.tiff binary 24 | *.jar binary 25 | *.class binary 26 | 27 | # Define text file patterns 28 | 29 | *.dev text 30 | *.layout text 31 | 32 | *.c text 33 | *.h text 34 | *.cpp text 35 | *.hpp text 36 | *.txt text 37 | *.md text 38 | *.rc text 39 | *.py text 40 | *.java text 41 | 42 | # Define explicit text files 43 | 44 | LICENSE text 45 | makefile text 46 | Makefile.win text 47 | makefile_borland text 48 | makefile_mingw text 49 | nmakefile text 50 | 51 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.o 2 | *.class 3 | *.jpeg 4 | *.jpg 5 | *.png 6 | *.pyc 7 | 8 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Reconstruct 2 | 3 | ![Reconstruct Logo](experiments/documents/github/brainto3d.jpg?raw=true "Reconstruct Logo") 4 | 5 | Here at GitHub is the original Source code for Reconstruct - which was last compiled in 2007 and the 6 | Executible is available at: https://sites.cns.utexas.edu/synapseweb/software-0 7 | 8 | # Software 9 | 10 | ## Reconstruct Downloads for Windows and other Platforms 11 | 12 | * **[Reconstruct 1.1.0.0 (32-bit Windows)](https://sites.cns.utexas.edu/sites/default/files/synapseweb/files/recon1100ex.exe)** 13 | 14 | * **[Reconstruct 1.1.0.1 (64-bit Windows)](https://sites.cns.utexas.edu/sites/default/files/synapseweb/files/recon1101win64.exe)** 15 | 16 | * **[Development Version (64-bit Windows)](https://github.com/SynapseWeb/Reconstruct/blob/master/source/Reconstruct.exe)** ([SHA1 sum](https://github.com/SynapseWeb/Reconstruct/blob/master/source/sha1sum.txt)) 17 | 18 | * **[Java Version (All Platforms)](https://github.com/SynapseWeb/Reconstruct-Java)** 19 | 20 | with Help Manual and example.ser (7.38MB) 21 | [Version 1.1.0.0 August 20, 2007] 22 | 23 | 24 | ### System Requirements: 25 | * Microsoft Windows (XP/Vista/7/8) 26 | * Pentium processor 27 | * 10 Mb of disk space for program files 28 | * at least 128 Mb of RAM 29 | 30 | ### Further reading: 31 | * Quick Start -- to get started using the software (User Manual Ch 1). 32 | * [Intro for Beginners](https://sites.cns.utexas.edu/sites/default/files/synapseweb/files/reconstruct_intro_for_beginners_parker_2017.pdf) and [Reconstruct Basics](https://sites.cns.utexas.edu/sites/default/files/synapseweb/files/reconstruct_basics_parker_2017.pdf) -- quick intros to the basic elements of Reconstruct. 33 | * [User Manual](https://sites.cns.utexas.edu/sites/default/files/synapseweb/files/reconstructusermanualv1.1.0.0.pdf) -- revised by Dr. Karin Sorra and Dr. Kristen Harris (2009). 34 | * [Fiala JC (2005) Reconstruct](https://sites.cns.utexas.edu/sites/default/files/synapseweb/files/2005_j_microscopy_fiala_reconstruct.pdf): A free editor for serial section microscopy. J Microscopy. 35 | * [Fiala JC, Harris KM (2001) Cylindrical diameters method](https://sites.cns.utexas.edu/sites/default/files/synapseweb/files/2001_j_microscopy_fiala_harris_cylindrical_diameters_method.pdf) for calibrating section thickness in serial electron microscopy. J Microscopy. 36 | * Harris KM, Spacek J, Bell ME, Parker PH, Lindsey LF, Baden AD, Vogelstein JT, Burns R (2015) A resource from 3D electron microscopy of hippocampal neuropil for user training and tool development. Sci Data Sep 1;2:150046. PMCID: PMC4555877. ([PDF](https://sites.cns.utexas.edu/sites/default/files/synapseweb/files/2015_sci_data_harris_burns_a_resource_from_3dem.pdf); [Tables](http://www.nature.com/articles/sdata201546/fig_tab)) 37 | 38 | Reconstruct was written by John C. Fiala, Ph.D. 39 | 40 | For more info go to [Reconstruct History](https://sites.cns.utexas.edu/synapseweb/reconstruct-history) and [Citations](https://sites.cns.utexas.edu/synapseweb/citations). 41 | For help with specific questions, contact the [Reconstruct Yahoo User's Group](https://groups.yahoo.com/neo/groups/reconstruct_users/info). 42 | 43 | Reconstruct was created with funding, in part, from the National Institutes of Health and the Human Brain Project under grants (P30 HD18655, R01 MH/DA 57351, and R01 EB 002170). 44 | 45 | Permission to use, copy, and redistribute Reconstruct is granted without fee under the terms of the GNU General Public License version 2 as published by the [Free Software Foundation](http://www.gnu.org/). 46 | 47 | (This software is distributed in the hope that it will be useful, but without any warranty, including the implied warranty of merchantibility or fitness for any particular purpose. For details read the terms of the GNU General Public License when installing the software.) 48 | 49 | * **[Java Version](https://github.com/SynapseWeb/Reconstruct-Java)** 50 | 51 | * **[CodeBlocks C++ Experiments](experiments/codeblocks)** 52 | * **[Blender Experiments](experiments/blender)** 53 | * **[GitHub Notes](experiments/documents/github)** 54 | -------------------------------------------------------------------------------- /experiments/Notes.md: -------------------------------------------------------------------------------- 1 | # Reconstruct Notes 2 | ## This document is intended to collect notes on the reconstruction of Reconstruct. 3 | 4 | Early tests indicate that the Java implementation can handle the loading, zooming, and panning of large images very well! 5 | 6 | Work is still progressing on the CodeBlocks compiled version. Parts of the Generalized Bitmap library have been compiled with CodeBlocks, but the rest of Reconstruct has not. 7 | 8 | The Blender version requires TKinter for its GUI. TKinter may not be in all unbundled versions of Blender. 9 | 10 | # GitHub Workflow Notes 11 | 12 | GitHub will display any "MarkDown" documents that end with ".md". 13 | -------------------------------------------------------------------------------- /experiments/README.md: -------------------------------------------------------------------------------- 1 | # Reconstruct Experiments 2 | ## Repository for developing experimental versions of Reconstruct. 3 | 4 | This shows an early CellBlender demonstration based on the TKinter GUI: 5 | 6 | ![Early Blender Demo](blender/Screenshot_02172018_024856AM.png?raw=true "Early Blender Demo") 7 | 8 | Simple native Windows demonstration using the CodeBlocks development system: 9 | 10 | ![Early CodeBlocks Demo](codeblocks/OpenGLTest.png?raw=true "Early CodeBlocks Demo") 11 | 12 | Note that the Java version has been moved to its own repository at https://github.com/SynapseWeb/Reconstruct-Java. 13 | -------------------------------------------------------------------------------- /experiments/blender/Blender_Image_Sequence.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/experiments/blender/Blender_Image_Sequence.gif -------------------------------------------------------------------------------- /experiments/blender/README.md: -------------------------------------------------------------------------------- 1 | # Blender Implementations 2 | ## 3 | Animation of Blender's Bezier Curves and Grease Pencil on top of a Background Image: 4 | 5 | ![BezierGrease](Blender_Image_Sequence.gif?raw=true "Bezier Curve / Grease Pencil") 6 | 7 | ## 8 | 9 | The initial Blender implementation was written as a TKinter external application 10 | to eventually duplicate the 2016 Workshop demostration used by CellBlender: 11 | 12 | ![CellBlenderModel](organelle_mcell.gif?raw=true "CellBlender Model") 13 | 14 | That model was simulated with a series of fabricated "slices": 15 | 16 | ![SimulatedSlice](cell_slice_086.jpg?raw=true "Simulated Slice") 17 | 18 | The slices were then (quickly) traced in Reconstruct to produce a 3D model: 19 | 20 | ![Reconstructed](Screenshot_02172018_031541AM.png?raw=true "Reconstructed") 21 | 22 | The model was exported from Reconstruct as VRML 2.0 and imported into Blender: 23 | 24 | ![BlenderModel](Screenshot_02172018_031924AM.png?raw=true "Blender Model") 25 | 26 | The "Image Tracer" Blender addon displays one slice for tracing to eventually 27 | build a full 3D model in Blender: 28 | 29 | ![ImageTracer](Screenshot_02172018_024856AM.png?raw=true "Image Tracer") 30 | 31 | -------------------------------------------------------------------------------- /experiments/blender/Screenshot_02172018_024856AM.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/experiments/blender/Screenshot_02172018_024856AM.png -------------------------------------------------------------------------------- /experiments/blender/Screenshot_02172018_031541AM.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/experiments/blender/Screenshot_02172018_031541AM.png -------------------------------------------------------------------------------- /experiments/blender/Screenshot_02172018_031924AM.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/experiments/blender/Screenshot_02172018_031924AM.png -------------------------------------------------------------------------------- /experiments/blender/cell_slice_086.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/experiments/blender/cell_slice_086.jpg -------------------------------------------------------------------------------- /experiments/blender/organelle_mcell.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/experiments/blender/organelle_mcell.gif -------------------------------------------------------------------------------- /experiments/codeblocks/OpenGLTest.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/experiments/codeblocks/OpenGLTest.exe -------------------------------------------------------------------------------- /experiments/codeblocks/OpenGLTest.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/experiments/codeblocks/OpenGLTest.png -------------------------------------------------------------------------------- /experiments/codeblocks/README.md: -------------------------------------------------------------------------------- 1 | # CodeBlocks Testing 2 | 3 | When run, the OpenGLTest.exe program should generate a spinning triangle: 4 | 5 | ![OpenGLTest](OpenGLTest.png?raw=true "OpenGLTest") 6 | 7 | -------------------------------------------------------------------------------- /experiments/codeblocks/sha1sum: -------------------------------------------------------------------------------- 1 | 0aa811aebf86f86dad4471f7091d449cf3f70e36 OpenGLTest.exe 2 | -------------------------------------------------------------------------------- /experiments/data/Transforms/Cube_Ideal.1: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |
5 | 8 | 10 | 17 | 18 | 21 | 41 | 42 |
-------------------------------------------------------------------------------- /experiments/data/Transforms/Cube_Ideal.10: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |
5 | 8 | 10 | 17 | 18 | 21 | 38 | 39 |
-------------------------------------------------------------------------------- /experiments/data/Transforms/Cube_Ideal.11: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |
5 | 8 | 10 | 17 | 18 | 21 | 43 | 44 |
-------------------------------------------------------------------------------- /experiments/data/Transforms/Cube_Ideal.12: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |
5 | 8 | 10 | 17 | 18 | 21 | 37 | 38 |
-------------------------------------------------------------------------------- /experiments/data/Transforms/Cube_Ideal.13: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |
5 | 8 | 10 | 17 | 18 | 21 | 42 | 43 |
-------------------------------------------------------------------------------- /experiments/data/Transforms/Cube_Ideal.14: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |
5 | 8 | 10 | 17 | 18 | 21 | 43 | 44 |
-------------------------------------------------------------------------------- /experiments/data/Transforms/Cube_Ideal.15: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |
5 | 8 | 10 | 17 | 18 | 21 | 53 | 54 |
-------------------------------------------------------------------------------- /experiments/data/Transforms/Cube_Ideal.16: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |
5 | 8 | 10 | 17 | 18 | 21 | 43 | 44 |
-------------------------------------------------------------------------------- /experiments/data/Transforms/Cube_Ideal.2: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |
5 | 8 | 10 | 17 | 18 | 21 | 39 | 40 |
-------------------------------------------------------------------------------- /experiments/data/Transforms/Cube_Ideal.3: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |
5 | 8 | 10 | 17 | 18 | 21 | 41 | 42 |
-------------------------------------------------------------------------------- /experiments/data/Transforms/Cube_Ideal.4: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |
5 | 8 | 10 | 17 | 18 | 21 | 40 | 41 |
-------------------------------------------------------------------------------- /experiments/data/Transforms/Cube_Ideal.5: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |
5 | 8 | 10 | 17 | 18 | 21 | 40 | 41 |
-------------------------------------------------------------------------------- /experiments/data/Transforms/Cube_Ideal.6: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |
5 | 8 | 10 | 17 | 18 | 21 | 37 | 38 |
-------------------------------------------------------------------------------- /experiments/data/Transforms/Cube_Ideal.7: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |
5 | 8 | 10 | 17 | 18 | 21 | 40 | 41 |
-------------------------------------------------------------------------------- /experiments/data/Transforms/Cube_Ideal.8: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |
5 | 8 | 10 | 17 | 18 | 21 | 41 | 42 |
-------------------------------------------------------------------------------- /experiments/data/Transforms/Cube_Ideal.9: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |
5 | 8 | 10 | 17 | 18 | 21 | 41 | 42 |
-------------------------------------------------------------------------------- /experiments/data/Transforms/Cube_Slices.1: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |
5 | 8 | 10 | 17 | 18 |
-------------------------------------------------------------------------------- /experiments/data/Transforms/Cube_Slices.10: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |
5 | 8 | 10 | 17 | 18 |
-------------------------------------------------------------------------------- /experiments/data/Transforms/Cube_Slices.11: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |
5 | 8 | 10 | 17 | 18 |
-------------------------------------------------------------------------------- /experiments/data/Transforms/Cube_Slices.12: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |
5 | 8 | 10 | 17 | 18 |
-------------------------------------------------------------------------------- /experiments/data/Transforms/Cube_Slices.13: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |
5 | 8 | 10 | 17 | 18 |
-------------------------------------------------------------------------------- /experiments/data/Transforms/Cube_Slices.14: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |
5 | 8 | 10 | 17 | 18 |
-------------------------------------------------------------------------------- /experiments/data/Transforms/Cube_Slices.15: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |
5 | 8 | 10 | 17 | 18 |
-------------------------------------------------------------------------------- /experiments/data/Transforms/Cube_Slices.16: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |
5 | 8 | 10 | 17 | 18 |
-------------------------------------------------------------------------------- /experiments/data/Transforms/Cube_Slices.2: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |
5 | 8 | 10 | 17 | 18 |
-------------------------------------------------------------------------------- /experiments/data/Transforms/Cube_Slices.3: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |
5 | 8 | 10 | 17 | 18 |
-------------------------------------------------------------------------------- /experiments/data/Transforms/Cube_Slices.4: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |
5 | 8 | 10 | 17 | 18 |
-------------------------------------------------------------------------------- /experiments/data/Transforms/Cube_Slices.5: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |
5 | 8 | 10 | 17 | 18 |
-------------------------------------------------------------------------------- /experiments/data/Transforms/Cube_Slices.6: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |
5 | 8 | 10 | 17 | 18 |
-------------------------------------------------------------------------------- /experiments/data/Transforms/Cube_Slices.7: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |
5 | 8 | 10 | 17 | 18 |
-------------------------------------------------------------------------------- /experiments/data/Transforms/Cube_Slices.8: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |
5 | 8 | 10 | 17 | 18 |
-------------------------------------------------------------------------------- /experiments/data/Transforms/Cube_Slices.9: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |
5 | 8 | 10 | 17 | 18 |
-------------------------------------------------------------------------------- /experiments/data/Transforms/cube_slice_00.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/experiments/data/Transforms/cube_slice_00.jpg -------------------------------------------------------------------------------- /experiments/data/Transforms/cube_slice_00.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/experiments/data/Transforms/cube_slice_00.png -------------------------------------------------------------------------------- /experiments/data/Transforms/cube_slice_01.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/experiments/data/Transforms/cube_slice_01.jpg -------------------------------------------------------------------------------- /experiments/data/Transforms/cube_slice_01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/experiments/data/Transforms/cube_slice_01.png -------------------------------------------------------------------------------- /experiments/data/Transforms/cube_slice_02.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/experiments/data/Transforms/cube_slice_02.jpg -------------------------------------------------------------------------------- /experiments/data/Transforms/cube_slice_02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/experiments/data/Transforms/cube_slice_02.png -------------------------------------------------------------------------------- /experiments/data/Transforms/cube_slice_03.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/experiments/data/Transforms/cube_slice_03.jpg -------------------------------------------------------------------------------- /experiments/data/Transforms/cube_slice_03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/experiments/data/Transforms/cube_slice_03.png -------------------------------------------------------------------------------- /experiments/data/Transforms/cube_slice_04.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/experiments/data/Transforms/cube_slice_04.jpg -------------------------------------------------------------------------------- /experiments/data/Transforms/cube_slice_04.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/experiments/data/Transforms/cube_slice_04.png -------------------------------------------------------------------------------- /experiments/data/Transforms/cube_slice_05.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/experiments/data/Transforms/cube_slice_05.jpg -------------------------------------------------------------------------------- /experiments/data/Transforms/cube_slice_05.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/experiments/data/Transforms/cube_slice_05.png -------------------------------------------------------------------------------- /experiments/data/Transforms/cube_slice_06.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/experiments/data/Transforms/cube_slice_06.jpg -------------------------------------------------------------------------------- /experiments/data/Transforms/cube_slice_06.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/experiments/data/Transforms/cube_slice_06.png -------------------------------------------------------------------------------- /experiments/data/Transforms/cube_slice_07.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/experiments/data/Transforms/cube_slice_07.jpg -------------------------------------------------------------------------------- /experiments/data/Transforms/cube_slice_07.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/experiments/data/Transforms/cube_slice_07.png -------------------------------------------------------------------------------- /experiments/data/Transforms/cube_slice_08.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/experiments/data/Transforms/cube_slice_08.jpg -------------------------------------------------------------------------------- /experiments/data/Transforms/cube_slice_08.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/experiments/data/Transforms/cube_slice_08.png -------------------------------------------------------------------------------- /experiments/data/Transforms/cube_slice_09.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/experiments/data/Transforms/cube_slice_09.jpg -------------------------------------------------------------------------------- /experiments/data/Transforms/cube_slice_09.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/experiments/data/Transforms/cube_slice_09.png -------------------------------------------------------------------------------- /experiments/data/Transforms/cube_slice_10.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/experiments/data/Transforms/cube_slice_10.jpg -------------------------------------------------------------------------------- /experiments/data/Transforms/cube_slice_10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/experiments/data/Transforms/cube_slice_10.png -------------------------------------------------------------------------------- /experiments/data/Transforms/cube_slice_11.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/experiments/data/Transforms/cube_slice_11.jpg -------------------------------------------------------------------------------- /experiments/data/Transforms/cube_slice_11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/experiments/data/Transforms/cube_slice_11.png -------------------------------------------------------------------------------- /experiments/data/Transforms/cube_slice_12.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/experiments/data/Transforms/cube_slice_12.jpg -------------------------------------------------------------------------------- /experiments/data/Transforms/cube_slice_12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/experiments/data/Transforms/cube_slice_12.png -------------------------------------------------------------------------------- /experiments/data/Transforms/cube_slice_13.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/experiments/data/Transforms/cube_slice_13.jpg -------------------------------------------------------------------------------- /experiments/data/Transforms/cube_slice_13.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/experiments/data/Transforms/cube_slice_13.png -------------------------------------------------------------------------------- /experiments/data/Transforms/cube_slice_14.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/experiments/data/Transforms/cube_slice_14.jpg -------------------------------------------------------------------------------- /experiments/data/Transforms/cube_slice_14.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/experiments/data/Transforms/cube_slice_14.png -------------------------------------------------------------------------------- /experiments/data/Transforms/cube_slice_15.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/experiments/data/Transforms/cube_slice_15.jpg -------------------------------------------------------------------------------- /experiments/data/Transforms/cube_slice_15.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/experiments/data/Transforms/cube_slice_15.png -------------------------------------------------------------------------------- /experiments/data/organelle_images/cell_slice_014.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/experiments/data/organelle_images/cell_slice_014.jpg -------------------------------------------------------------------------------- /experiments/data/organelle_images/cell_slice_020.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/experiments/data/organelle_images/cell_slice_020.jpg -------------------------------------------------------------------------------- /experiments/data/organelle_images/cell_slice_026.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/experiments/data/organelle_images/cell_slice_026.jpg -------------------------------------------------------------------------------- /experiments/data/organelle_images/cell_slice_032.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/experiments/data/organelle_images/cell_slice_032.jpg -------------------------------------------------------------------------------- /experiments/data/organelle_images/cell_slice_032_round.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/experiments/data/organelle_images/cell_slice_032_round.jpg -------------------------------------------------------------------------------- /experiments/data/organelle_images/cell_slice_038.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/experiments/data/organelle_images/cell_slice_038.jpg -------------------------------------------------------------------------------- /experiments/data/organelle_images/cell_slice_044.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/experiments/data/organelle_images/cell_slice_044.jpg -------------------------------------------------------------------------------- /experiments/data/organelle_images/cell_slice_050.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/experiments/data/organelle_images/cell_slice_050.jpg -------------------------------------------------------------------------------- /experiments/data/organelle_images/cell_slice_056.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/experiments/data/organelle_images/cell_slice_056.jpg -------------------------------------------------------------------------------- /experiments/data/organelle_images/cell_slice_062.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/experiments/data/organelle_images/cell_slice_062.jpg -------------------------------------------------------------------------------- /experiments/data/organelle_images/cell_slice_068.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/experiments/data/organelle_images/cell_slice_068.jpg -------------------------------------------------------------------------------- /experiments/data/organelle_images/cell_slice_074.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/experiments/data/organelle_images/cell_slice_074.jpg -------------------------------------------------------------------------------- /experiments/data/organelle_images/cell_slice_080.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/experiments/data/organelle_images/cell_slice_080.jpg -------------------------------------------------------------------------------- /experiments/data/organelle_images/cell_slice_086.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/experiments/data/organelle_images/cell_slice_086.jpg -------------------------------------------------------------------------------- /experiments/data/organelle_images/cell_slice_092.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/experiments/data/organelle_images/cell_slice_092.jpg -------------------------------------------------------------------------------- /experiments/data/organelle_images/cell_slice_098.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/experiments/data/organelle_images/cell_slice_098.jpg -------------------------------------------------------------------------------- /experiments/data/organelle_images/cell_slice_104.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/experiments/data/organelle_images/cell_slice_104.jpg -------------------------------------------------------------------------------- /experiments/data/organelle_images/cell_slice_110.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/experiments/data/organelle_images/cell_slice_110.jpg -------------------------------------------------------------------------------- /experiments/data/organelle_images/cell_slice_116.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/experiments/data/organelle_images/cell_slice_116.jpg -------------------------------------------------------------------------------- /experiments/data/organelle_images/cell_slice_122.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/experiments/data/organelle_images/cell_slice_122.jpg -------------------------------------------------------------------------------- /experiments/data/organelle_images/cell_slice_128.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/experiments/data/organelle_images/cell_slice_128.jpg -------------------------------------------------------------------------------- /experiments/data/organelle_images/cell_slice_134.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/experiments/data/organelle_images/cell_slice_134.jpg -------------------------------------------------------------------------------- /experiments/data/organelle_images/cell_slice_140.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/experiments/data/organelle_images/cell_slice_140.jpg -------------------------------------------------------------------------------- /experiments/data/organelle_images/cell_slice_146.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/experiments/data/organelle_images/cell_slice_146.jpg -------------------------------------------------------------------------------- /experiments/data/organelle_images/cell_slice_152.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/experiments/data/organelle_images/cell_slice_152.jpg -------------------------------------------------------------------------------- /experiments/data/organelle_images/cell_slice_156.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/experiments/data/organelle_images/cell_slice_156.jpg -------------------------------------------------------------------------------- /experiments/data/organelle_series/calibrated_organelle.1: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |
5 | 8 | 10 | 17 | 18 | 21 | 39 | 40 |
-------------------------------------------------------------------------------- /experiments/data/organelle_series/calibrated_organelle.1x: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |
5 | 8 | 10 | 17 | 18 | 21 | 39 | 40 |
41 | -------------------------------------------------------------------------------- /experiments/data/organelle_series/calibrated_organelle.2: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |
5 | 8 | 10 | 17 | 18 | 21 | 68 | 69 |
-------------------------------------------------------------------------------- /experiments/data/organelle_series/calibrated_organelle.20: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |
5 | 8 | 10 | 17 | 18 | 21 | 107 | 108 | 111 | 167 | 168 |
-------------------------------------------------------------------------------- /experiments/data/organelle_series/calibrated_organelle.21: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |
5 | 8 | 10 | 17 | 18 | 21 | 99 | 100 |
-------------------------------------------------------------------------------- /experiments/data/organelle_series/calibrated_organelle.22: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |
5 | 8 | 10 | 17 | 18 | 21 | 91 | 92 |
-------------------------------------------------------------------------------- /experiments/data/organelle_series/calibrated_organelle.23: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |
5 | 8 | 10 | 17 | 18 | 21 | 83 | 84 |
-------------------------------------------------------------------------------- /experiments/data/organelle_series/calibrated_organelle.24: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |
5 | 8 | 10 | 17 | 18 | 21 | 66 | 67 |
-------------------------------------------------------------------------------- /experiments/data/organelle_series/calibrated_organelle.25: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |
5 | 8 | 10 | 17 | 18 | 21 | 40 | 41 |
-------------------------------------------------------------------------------- /experiments/data/organelle_series/calibrated_organelle.3: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |
5 | 8 | 10 | 17 | 18 | 21 | 89 | 90 |
-------------------------------------------------------------------------------- /experiments/data/organelle_series/calibrated_organelle.4: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |
5 | 8 | 10 | 17 | 18 | 21 | 88 | 89 |
-------------------------------------------------------------------------------- /experiments/data/organelle_series/calibrated_organelle.5: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |
5 | 8 | 10 | 17 | 18 | 21 | 110 | 111 |
-------------------------------------------------------------------------------- /experiments/data/organelle_series/calibrated_organelle.6: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |
5 | 8 | 10 | 17 | 18 | 21 | 122 | 123 |
-------------------------------------------------------------------------------- /experiments/data/organelle_series/calibrated_organelle.7: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |
5 | 8 | 10 | 17 | 18 | 21 | 128 | 129 |
-------------------------------------------------------------------------------- /experiments/data/organelle_series/calibrated_organelle.8: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |
5 | 8 | 10 | 17 | 18 | 21 | 113 | 114 | 117 | 161 | 162 |
-------------------------------------------------------------------------------- /experiments/data/organelle_series/calibrated_organelle.one: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |
5 | 8 | 10 | 17 | 18 | 21 | 39 | 40 |
41 | -------------------------------------------------------------------------------- /experiments/data/organelle_series/calibrated_organelle.x: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |
5 | 8 | 10 | 17 | 18 | 21 | 39 | 40 |
41 | -------------------------------------------------------------------------------- /experiments/data/organelle_series/calibrated_organelle.x.123: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |
5 | 8 | 10 | 17 | 18 | 21 | 39 | 40 |
41 | -------------------------------------------------------------------------------- /experiments/data/organelle_series/calibrated_organelle.x1: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |
5 | 8 | 10 | 17 | 18 | 21 | 39 | 40 |
41 | -------------------------------------------------------------------------------- /experiments/documents/github/README.md: -------------------------------------------------------------------------------- 1 | # GitHub Notes 2 | 3 | 4 | ### Notification Settings - to get email on changes 5 | 6 | ![Watch Settings](watch_settings.png?raw=true "Watch Settings") 7 | 8 | -------------------------------------------------------------------------------- /experiments/documents/github/brainto3d.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/experiments/documents/github/brainto3d.jpg -------------------------------------------------------------------------------- /experiments/documents/github/reconstructlogo.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/experiments/documents/github/reconstructlogo.gif -------------------------------------------------------------------------------- /experiments/documents/github/watch_settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/experiments/documents/github/watch_settings.png -------------------------------------------------------------------------------- /experiments/java/README.md: -------------------------------------------------------------------------------- 1 | # Reconstruct Java Experiments 2 | 3 | This project has been moved to its own repository at https://github.com/SynapseWeb/Reconstruct-Java 4 | -------------------------------------------------------------------------------- /experiments/python_gtk/test.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/experiments/python_gtk/test.png -------------------------------------------------------------------------------- /source/ExLarge.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/source/ExLarge.ico -------------------------------------------------------------------------------- /source/Loop.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/source/Loop.ico -------------------------------------------------------------------------------- /source/Reconstruct.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/source/Reconstruct.exe -------------------------------------------------------------------------------- /source/Reconstruct.layout: -------------------------------------------------------------------------------- 1 | [Editors] 2 | Order=43 3 | Focused=-1 4 | [Editor_0] 5 | CursorCol=11 6 | CursorRow=216 7 | TopLine=192 8 | LeftChar=1 9 | [Editor_8] 10 | CursorCol=21 11 | CursorRow=805 12 | TopLine=40 13 | LeftChar=1 14 | [Editor_9] 15 | CursorCol=1 16 | CursorRow=1 17 | TopLine=19 18 | LeftChar=1 19 | [Editor_6] 20 | CursorCol=1 21 | CursorRow=27 22 | TopLine=14 23 | LeftChar=1 24 | [Editor_10] 25 | CursorCol=1 26 | CursorRow=1 27 | TopLine=16 28 | LeftChar=1 29 | [Editor_11] 30 | CursorCol=1 31 | CursorRow=1 32 | TopLine=16 33 | LeftChar=1 34 | [Editor_14] 35 | CursorCol=4 36 | CursorRow=93 37 | TopLine=107 38 | LeftChar=1 39 | [Editor_43] 40 | CursorCol=1 41 | CursorRow=115 42 | TopLine=74 43 | LeftChar=1 44 | -------------------------------------------------------------------------------- /source/Reconstruct_1100.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/source/Reconstruct_1100.exe -------------------------------------------------------------------------------- /source/Reconstruct_private.h: -------------------------------------------------------------------------------- 1 | /* THIS FILE WILL BE OVERWRITTEN BY DEV-C++ */ 2 | /* DO NOT EDIT ! */ 3 | 4 | #ifndef RECONSTRUCT_PRIVATE_H 5 | #define RECONSTRUCT_PRIVATE_H 6 | 7 | /* VERSION DEFINITIONS */ 8 | #define VER_STRING "1.0.0.0" 9 | #define VER_MAJOR 1 10 | #define VER_MINOR 0 11 | #define VER_RELEASE 0 12 | #define VER_BUILD 0 13 | #define COMPANY_NAME "" 14 | #define FILE_VERSION "1.0.0.0" 15 | #define FILE_DESCRIPTION "Developed using the Dev-C++ IDE" 16 | #define INTERNAL_NAME "" 17 | #define LEGAL_COPYRIGHT "" 18 | #define LEGAL_TRADEMARKS "" 19 | #define ORIGINAL_FILENAME "" 20 | #define PRODUCT_NAME "" 21 | #define PRODUCT_VERSION "1.0.0.0" 22 | 23 | #endif /*RECONSTRUCT_PRIVATE_H*/ 24 | -------------------------------------------------------------------------------- /source/Reconstruct_private.rc: -------------------------------------------------------------------------------- 1 | /* THIS FILE WILL BE OVERWRITTEN BY DEV-C++ */ 2 | /* DO NOT EDIT! */ 3 | 4 | #include "reconstruct.rc" 5 | -------------------------------------------------------------------------------- /source/Scene.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/source/Scene.ico -------------------------------------------------------------------------------- /source/arrow.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/source/arrow.bmp -------------------------------------------------------------------------------- /source/cultiline.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/source/cultiline.bmp -------------------------------------------------------------------------------- /source/cultiline.cur: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/source/cultiline.cur -------------------------------------------------------------------------------- /source/distance.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/source/distance.ico -------------------------------------------------------------------------------- /source/domain.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/source/domain.bmp -------------------------------------------------------------------------------- /source/domain.cur: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/source/domain.cur -------------------------------------------------------------------------------- /source/domain.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/source/domain.ico -------------------------------------------------------------------------------- /source/ellipse.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/source/ellipse.bmp -------------------------------------------------------------------------------- /source/ellipse.cur: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/source/ellipse.cur -------------------------------------------------------------------------------- /source/end.cpp: -------------------------------------------------------------------------------- 1 | ///////////////////////////////////////////////////////////////////////////// 2 | // This file contains the routines for closing the application 3 | // 4 | // Copyright (C) 1999-2006 John Fiala (fiala@bu.edu) 5 | // 6 | // This is free software created with funding from the NIH. You may 7 | // redistribute it and/or modify it under the terms of the GNU General 8 | // Public License published by the Free Software Foundation (www.gnu.org). 9 | // 10 | // This program is distributed in the hope that it will be useful, 11 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | // GNU General Public License version 2 for more details. 14 | // 15 | // 16 | // modified 6/14/06 by JCF (fiala@bu.edu) 17 | // -+- change: moved child window destructions into a separate routine so can call elsewhere. 18 | // 19 | 20 | #include "reconstruct.h" 21 | 22 | bool SaveSeriesObjects( void ) 23 | { // make sure everything is saved 24 | if ( PrevSection ) 25 | if ( !PrevSection->SaveIfNeeded() ) return false; 26 | if ( CurrSection ) 27 | if ( !CurrSection->SaveIfNeeded() ) return false; 28 | if ( CurrSeries ) // save series before deleting 29 | CurrSeries->SaveIfNeeded(); 30 | return true; 31 | } 32 | 33 | void CloseAllChildWindows( void ) // destroy all subordinate windows 34 | { 35 | if ( IsWindow( distanceWindow ) ) DestroyWindow( distanceWindow ); 36 | distanceWindow = NULL; 37 | if ( IsWindow( thumbnailWindow ) ) DestroyWindow( thumbnailWindow ); 38 | thumbnailWindow = NULL; 39 | if ( IsWindow( objectWindow ) ) DestroyWindow( objectWindow ); 40 | objectWindow = NULL; 41 | if ( IsWindow( openGLWindow ) ) DestroyWindow( openGLWindow ); 42 | openGLWindow = NULL; 43 | if ( IsWindow( sectionWindow ) ) DestroyWindow( sectionWindow ); 44 | sectionWindow = NULL; 45 | if ( IsWindow( domainWindow ) ) DestroyWindow( domainWindow ); 46 | domainWindow = NULL; 47 | if ( IsWindow( traceWindow ) ) DestroyWindow( traceWindow ); 48 | traceWindow = NULL; 49 | if ( IsWindow( paletteWindow ) ) DestroyWindow( paletteWindow ); 50 | paletteWindow = NULL; 51 | if ( IsWindow( zTraceWindow ) ) DestroyWindow( zTraceWindow ); 52 | zTraceWindow = NULL; 53 | } 54 | 55 | void FreeSeriesObjects( void ) // clean up when closing series 56 | { 57 | DWORD status; 58 | 59 | if ( hRenderThread ) AbortRender = true; // abort threads if active 60 | if ( hDistanceListThread ) AbortDistances = true; 61 | 62 | CloseAllChildWindows(); // close windows that contain series data 63 | 64 | // free viewports and NULL viewport ptrs 65 | if ( PrevView ) delete PrevView; 66 | PrevView = NULL; 67 | if ( CurrView ) delete CurrView; 68 | CurrView = NULL; 69 | if ( BlendView ) CmBlend(); 70 | BlendView = NULL; 71 | if ( DomainView ) delete DomainView; 72 | DomainView = NULL; 73 | FrontView = NULL; 74 | BackView = NULL; 75 | // free section data and NULL section ptrs 76 | if ( DomainSection ) delete DomainSection; 77 | DomainSection = NULL; 78 | if ( PrevSection ) delete PrevSection; 79 | PrevSection = NULL; 80 | if ( CurrSection ) delete CurrSection; 81 | CurrSection = NULL; 82 | 83 | CurrContour = NULL; // clear other ptrs to deleted objects 84 | 85 | if ( CurrSectionsInfo ) // delete list of sections of series 86 | { 87 | delete CurrSectionsInfo; 88 | CurrSectionsInfo = NULL; 89 | } 90 | if ( CurrSeries ) // finally delete and clear series 91 | { 92 | delete CurrSeries; 93 | CurrSeries = NULL; 94 | } 95 | if ( CurrObjects ) // clear all objects 96 | { 97 | delete CurrObjects; 98 | CurrObjects = NULL; 99 | } 100 | } 101 | 102 | void FreeProgramObjects( void ) // free memory objects on program exit 103 | { 104 | if ( debugLogFile != INVALID_HANDLE_VALUE ) CloseHandle( debugLogFile ); 105 | 106 | DestroyCursor( StampCursor ); // destroy dynamically created cursor 107 | DeleteObject( lockBitmap ); // delete loaded bitmaps 108 | DeleteObject( unlockBitmap ); 109 | // close any help files 110 | WinHelp(appWnd,NULL,HELP_QUIT,0L); 111 | } 112 | -------------------------------------------------------------------------------- /source/exclamation.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/source/exclamation.ico -------------------------------------------------------------------------------- /source/gbm.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/source/gbm.lib -------------------------------------------------------------------------------- /source/gbm/_gbmerr.c: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | _gbmerr.c - Calculate the quick 'closest-colour' lookup table for gbmerr.c 4 | 5 | */ 6 | 7 | #include 8 | #include "gbm.h" 9 | 10 | /*...sVGA palette:0:*/ 11 | static GBMRGB gbmrgb_vga[] = 12 | { 13 | 0, 0, 0, 14 | 128, 0, 0, 15 | 0,128, 0, 16 | 128,128, 0, 17 | 0, 0,128, 18 | 128, 0,128, 19 | 0,128,128, 20 | 128,128,128, 21 | 204,204,204, 22 | 255, 0, 0, 23 | 0,255, 0, 24 | 255,255, 0, 25 | 0, 0,255, 26 | 255, 0,255, 27 | 0,255,255, 28 | 255,255,255, 29 | }; 30 | /*...e*/ 31 | /*...scalc_nearest:0:*/ 32 | /* 33 | This function, when given am RGB colour, finds the VGA palette entry closest 34 | to it. We deliberately bias away from the two grey palette entries. 35 | */ 36 | 37 | static byte calc_nearest(byte r, byte g, byte b) 38 | { 39 | long min_dist = 3L * 256L * 256L * 10L; 40 | byte bi, bi_min; 41 | 42 | for ( bi = 0; bi < 0x10; bi++ ) 43 | { 44 | long b_dist = ((long) b - (long) gbmrgb_vga[bi].b); 45 | long g_dist = ((long) g - (long) gbmrgb_vga[bi].g); 46 | long r_dist = ((long) r - (long) gbmrgb_vga[bi].r); 47 | long dist = r_dist * r_dist + g_dist * g_dist + b_dist * b_dist; 48 | 49 | if ( bi == 7 || bi == 8 ) 50 | /* Bias away from this colour */ 51 | dist <<= 3; 52 | 53 | if ( dist < min_dist ) 54 | { 55 | min_dist = dist; 56 | bi_min = bi; 57 | } 58 | } 59 | return ( bi_min ); 60 | } 61 | /*...e*/ 62 | 63 | static char *dw_casings[] = 64 | { 65 | "\t%d,", "%d,", "%d,", "%d,", "%d,", "%d,", "%d,", "%d,", 66 | "%d,", "%d,", "%d,", "%d,", "%d,", "%d,", "%d,", "%d,\n", 67 | }; 68 | 69 | int main(void) 70 | { 71 | byte r, r0, r1, g, g0, g1, b, b0, b1, i = 0; 72 | 73 | printf("static byte quick_tab[16][16][16] =\n\t{\n"); 74 | 75 | for ( r = 0, r0 = 0, r1 = 15; r < 16; r++, r0 += 16, r1 += 16 ) 76 | for ( g = 0, g0 = 0, g1 = 15; g < 16; g++, g0 += 16, g1 += 16 ) 77 | for ( b = 0, b0 = 0, b1 = 15; b < 16; b++, b0 += 16, b1 += 16 ) 78 | /*...sanalyse cube:32:*/ 79 | { 80 | byte n = calc_nearest(r0, g0, b0); 81 | byte inx; 82 | 83 | if ( n == calc_nearest(r0, g0, b1) && 84 | n == calc_nearest(r0, g1, b0) && 85 | n == calc_nearest(r0, g1, b1) && 86 | n == calc_nearest(r1, g0, b0) && 87 | n == calc_nearest(r1, g0, b1) && 88 | n == calc_nearest(r1, g1, b0) && 89 | n == calc_nearest(r1, g1, b1) ) 90 | inx = n; 91 | else 92 | inx = (byte) 0xff; 93 | printf(dw_casings[i++ & 15], (int) inx); 94 | } 95 | /*...e*/ 96 | 97 | printf("\t};\n"); 98 | return 0; 99 | } 100 | -------------------------------------------------------------------------------- /source/gbm/_gbmtrun.c: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | _gbmtrun.c - Calculate the quick 'closest-colour' lookup table for gbmtrunc.c 4 | 5 | */ 6 | 7 | #include 8 | #include "gbm.h" 9 | 10 | /*...sVGA palette:0:*/ 11 | static GBMRGB gbmrgb_vga[] = 12 | { 13 | 0, 0, 0, 14 | 128, 0, 0, 15 | 0,128, 0, 16 | 128,128, 0, 17 | 0, 0,128, 18 | 128, 0,128, 19 | 0,128,128, 20 | 128,128,128, 21 | 204,204,204, 22 | 255, 0, 0, 23 | 0,255, 0, 24 | 255,255, 0, 25 | 0, 0,255, 26 | 255, 0,255, 27 | 0,255,255, 28 | 255,255,255, 29 | }; 30 | /*...e*/ 31 | /*...scalc_nearest:0:*/ 32 | /* 33 | This function, when given am RGB colour, finds the VGA palette entry closest 34 | to it. We deliberately bias away from the two grey palette entries. 35 | */ 36 | 37 | static byte calc_nearest(byte r, byte g, byte b) 38 | { 39 | long min_dist = 3L * 256L * 256L * 10L; 40 | byte bi, bi_min; 41 | 42 | for ( bi = 0; bi < 0x10; bi++ ) 43 | { 44 | long b_dist = ((long) b - (long) gbmrgb_vga[bi].b); 45 | long g_dist = ((long) g - (long) gbmrgb_vga[bi].g); 46 | long r_dist = ((long) r - (long) gbmrgb_vga[bi].r); 47 | long dist = r_dist * r_dist + g_dist * g_dist + b_dist * b_dist; 48 | 49 | if ( dist < min_dist ) 50 | { 51 | min_dist = dist; 52 | bi_min = bi; 53 | } 54 | } 55 | return ( bi_min ); 56 | } 57 | /*...e*/ 58 | 59 | static char *dw_casings[] = 60 | { 61 | "\t%d,", "%d,", "%d,", "%d,", "%d,", "%d,", "%d,", "%d,", 62 | "%d,", "%d,", "%d,", "%d,", "%d,", "%d,", "%d,", "%d,\n", 63 | }; 64 | 65 | int main(void) 66 | { 67 | byte r, r0, r1, g, g0, g1, b, b0, b1, i = 0; 68 | 69 | printf("static byte quick_tab[16][16][16] =\n\t{\n"); 70 | 71 | for ( r = 0, r0 = 0, r1 = 15; r < 16; r++, r0 += 16, r1 += 16 ) 72 | for ( g = 0, g0 = 0, g1 = 15; g < 16; g++, g0 += 16, g1 += 16 ) 73 | for ( b = 0, b0 = 0, b1 = 15; b < 16; b++, b0 += 16, b1 += 16 ) 74 | /*...sanalyse cube:32:*/ 75 | { 76 | byte n = calc_nearest(r0, g0, b0); 77 | byte inx; 78 | 79 | if ( n == calc_nearest(r0, g0, b1) && 80 | n == calc_nearest(r0, g1, b0) && 81 | n == calc_nearest(r0, g1, b1) && 82 | n == calc_nearest(r1, g0, b0) && 83 | n == calc_nearest(r1, g0, b1) && 84 | n == calc_nearest(r1, g1, b0) && 85 | n == calc_nearest(r1, g1, b1) ) 86 | inx = n; 87 | else 88 | inx = (byte) 0xff; 89 | printf(dw_casings[i++ & 15], (int) inx); 90 | } 91 | /*...e*/ 92 | 93 | printf("\t};\n"); 94 | return 0; 95 | } 96 | -------------------------------------------------------------------------------- /source/gbm/gbm.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/source/gbm/gbm.a -------------------------------------------------------------------------------- /source/gbm/gbmbmp.h: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | gbmbmp.h - OS/2 1.1, 1.2, 2.0 and Windows 3.0 support 4 | 5 | */ 6 | 7 | extern GBM_ERR bmp_qft(GBMFT *gbmft); 8 | extern GBM_ERR bmp_rhdr(const char *fn, int fd, GBM *gbm, const char *opt); 9 | extern GBM_ERR bmp_rpal(int fd, GBM *gbm, GBMRGB *gbmrgb); 10 | extern GBM_ERR bmp_rdata(int fd, GBM *gbm, gbm_u8 *data); 11 | extern GBM_ERR bmp_w(const char *fn, int fd, const GBM *gbm, const GBMRGB *gbmrgb, const gbm_u8 *data, const char *opt); 12 | extern const char *bmp_err(GBM_ERR rc); 13 | -------------------------------------------------------------------------------- /source/gbm/gbmcvp.c: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | gbmcvp.c - Portrait 4 | 5 | */ 6 | 7 | /*...sincludes:0:*/ 8 | #include 9 | #include 10 | #include 11 | #include 12 | #include 13 | #include "gbm.h" 14 | #include "gbmhelp.h" 15 | 16 | /*...vgbm\46\h:0:*/ 17 | /*...vgbmhelp\46\h:0:*/ 18 | /*...e*/ 19 | 20 | static GBMFT cvp_gbmft = 21 | { 22 | "Portrait", 23 | "Portrait", 24 | "CVP", 25 | GBM_FT_R24| 26 | GBM_FT_W24, 27 | }; 28 | 29 | #define GBM_ERR_CVP_FSIZE ((GBM_ERR) 1800) 30 | #define GBM_ERR_CVP_SIZE ((GBM_ERR) 1801) 31 | 32 | /*...scvp_qft:0:*/ 33 | GBM_ERR cvp_qft(GBMFT *gbmft) 34 | { 35 | *gbmft = cvp_gbmft; 36 | return GBM_ERR_OK; 37 | } 38 | /*...e*/ 39 | /*...scvp_rhdr:0:*/ 40 | GBM_ERR cvp_rhdr(const char *fn, int fd, GBM *gbm, const char *opt) 41 | { 42 | long length; 43 | 44 | fn=fn; fd=fd; opt=opt; /* Suppress 'unref arg' compiler warnings */ 45 | 46 | length = gbm_file_lseek(fd, 0L, SEEK_END); 47 | gbm_file_lseek(fd, 0L, SEEK_SET); 48 | 49 | if ( length != 512*512*3 ) 50 | return GBM_ERR_CVP_FSIZE; 51 | 52 | gbm->w = 512; 53 | gbm->h = 512; 54 | gbm->bpp = 24; 55 | 56 | return GBM_ERR_OK; 57 | } 58 | /*...e*/ 59 | /*...scvp_rpal:0:*/ 60 | GBM_ERR cvp_rpal(int fd, GBM *gbm, GBMRGB *gbmrgb) 61 | { 62 | fd=fd; gbm=gbm; gbmrgb=gbmrgb; /* Suppress 'unref arg' compiler warnings */ 63 | 64 | return GBM_ERR_OK; 65 | } 66 | /*...e*/ 67 | /*...scvp_rdata:0:*/ 68 | GBM_ERR cvp_rdata(int fd, GBM *gbm, gbm_u8 *data) 69 | { 70 | int p, stride = ((gbm->w*3+3)&~3); 71 | gbm_u8 *line; 72 | if ( (line = malloc((size_t) gbm->w)) == NULL ) 73 | return GBM_ERR_MEM; 74 | for ( p = 2; p >= 0; p-- ) 75 | { 76 | int y; 77 | gbm_u8 *ptr = data + ( (stride * (gbm->h-1)) + p ); 78 | for ( y = 0; y < gbm->h; y++, ptr-=stride ) 79 | { 80 | int x; 81 | if ( gbm_file_read(fd, line, gbm->w) != gbm->w ) 82 | { 83 | free(line); 84 | return GBM_ERR_READ; 85 | } 86 | for ( x = 0; x < gbm->w; x++ ) 87 | ptr[x*3] = line[gbm->w-1-x]; 88 | } 89 | } 90 | free(line); 91 | return GBM_ERR_OK; 92 | } 93 | /*...e*/ 94 | /*...scvp_w:0:*/ 95 | GBM_ERR cvp_w(const char *fn, int fd, const GBM *gbm, const GBMRGB *gbmrgb, const gbm_u8 *data, const char *opt) 96 | { 97 | int p, stride = ((gbm->w*3+3)&~3); 98 | gbm_u8 *line; 99 | 100 | fn=fn; gbmrgb=gbmrgb; opt=opt; /* Suppress 'unref arg' compiler warning */ 101 | 102 | if ( gbm->bpp != 24 ) 103 | return GBM_ERR_NOT_SUPP; 104 | 105 | if ( gbm->w != 512 || gbm->h != 512 ) 106 | return GBM_ERR_CVP_SIZE; 107 | 108 | if ( (line = malloc((size_t) gbm->w)) == NULL ) 109 | return GBM_ERR_MEM; 110 | 111 | for ( p = 2; p >= 0; p-- ) 112 | { 113 | int y; 114 | const gbm_u8 *ptr = data + ( (stride * (gbm->h-1)) + p ); 115 | for ( y = 0; y < gbm->h; y++, ptr-=stride ) 116 | { 117 | int x; 118 | for ( x = 0; x < gbm->w; x++ ) 119 | line[gbm->w-1-x] = ptr[x*3]; 120 | if ( gbm_file_write(fd, line, gbm->w) != gbm->w ) 121 | { 122 | free(line); 123 | return GBM_ERR_WRITE; 124 | } 125 | } 126 | } 127 | free(line); 128 | return GBM_ERR_OK; 129 | } 130 | /*...e*/ 131 | /*...scvp_err:0:*/ 132 | const char *cvp_err(GBM_ERR rc) 133 | { 134 | switch ( (int) rc ) 135 | { 136 | case GBM_ERR_CVP_FSIZE: 137 | return "file is not correct size"; 138 | case GBM_ERR_CVP_SIZE: 139 | return "portrait files can only hold 512x512 images"; 140 | } 141 | return NULL; 142 | } 143 | /*...e*/ 144 | -------------------------------------------------------------------------------- /source/gbm/gbmcvp.h: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | gbmcvp.h - IBM Image Access eXecutive support 4 | 5 | */ 6 | 7 | extern GBM_ERR cvp_qft(GBMFT *gbmft); 8 | extern GBM_ERR cvp_rhdr(const char *fn, int fd, GBM *gbm, const char *opt); 9 | extern GBM_ERR cvp_rpal(int fd, GBM *gbm, GBMRGB *gbmrgb); 10 | extern GBM_ERR cvp_rdata(int fd, GBM *gbm, gbm_u8 *data); 11 | extern GBM_ERR cvp_w(const char *fn, int fd, const GBM *gbm, const GBMRGB *gbmrgb, const gbm_u8 *data, const char *opt); 12 | extern const char *cvp_err(GBM_ERR rc); 13 | -------------------------------------------------------------------------------- /source/gbm/gbmerr.h: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | gbmerr.h Interface to error diffusion module 4 | 5 | */ 6 | 7 | #ifndef GBMERR_H 8 | #define GBMERR_H 9 | 10 | extern void gbm_errdiff_line_24(const gbm_u8 *src, gbm_u8 *dest, short *errs, int cx, gbm_u8 rm, gbm_u8 gm, gbm_u8 bm); 11 | extern gbm_boolean gbm_errdiff_24(const GBM *gbm, gbm_u8 *data24, gbm_u8 *data24a, gbm_u8 rm, gbm_u8 gm, gbm_u8 bm); 12 | 13 | extern void gbm_errdiff_pal_6R6G6B(GBMRGB *gbmrgb); 14 | extern void gbm_errdiff_line_6R6G6B(const gbm_u8 *src, gbm_u8 *dest, short *errs, int cx); 15 | extern gbm_boolean gbm_errdiff_6R6G6B(const GBM *gbm, const gbm_u8 *data24, gbm_u8 *data8); 16 | 17 | extern void gbm_errdiff_pal_7R8G4B(GBMRGB *gbmrgb); 18 | extern void gbm_errdiff_line_7R8G4B(const gbm_u8 *src, gbm_u8 *dest, short *errs, int cx); 19 | extern gbm_boolean gbm_errdiff_7R8G4B(const GBM *gbm, const gbm_u8 *data24, gbm_u8 *data8); 20 | 21 | extern void gbm_errdiff_pal_4R4G4B(GBMRGB *gbmrgb); 22 | extern void gbm_errdiff_line_4R4G4B(const gbm_u8 *src, gbm_u8 *dest, short *errs, int cx); 23 | extern gbm_boolean gbm_errdiff_4R4G4B(const GBM *gbm, const gbm_u8 *data24, gbm_u8 *data8); 24 | 25 | extern void gbm_errdiff_pal_VGA(GBMRGB *gbmrgb); 26 | extern void gbm_errdiff_line_VGA(const gbm_u8 *src, gbm_u8 *dest, short *errs, int cx); 27 | extern gbm_boolean gbm_errdiff_VGA(const GBM *gbm, const gbm_u8 *data24, gbm_u8 *data4); 28 | 29 | extern void gbm_errdiff_pal_8(GBMRGB *gbmrgb); 30 | extern void gbm_errdiff_line_8(const gbm_u8 *src, gbm_u8 *dest, short *errs, int cx); 31 | extern gbm_boolean gbm_errdiff_8(const GBM *gbm, const gbm_u8 *data24, gbm_u8 *data4); 32 | 33 | extern void gbm_errdiff_pal_4G(GBMRGB *gbmrgb); 34 | extern void gbm_errdiff_line_4G(gbm_u8 *src, gbm_u8 *dest, short *errs, int cx); 35 | extern gbm_boolean gbm_errdiff_4G(GBM *gbm, gbm_u8 *data24, gbm_u8 *data4); 36 | 37 | extern void gbm_errdiff_pal_BW(GBMRGB *gbmrgb); 38 | extern void gbm_errdiff_line_BW(gbm_u8 *src, gbm_u8 *dest, short *errs, int cx); 39 | extern gbm_boolean gbm_errdiff_BW(GBM *gbm, gbm_u8 *data24, gbm_u8 *data1); 40 | 41 | #endif 42 | -------------------------------------------------------------------------------- /source/gbm/gbmgem.h: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | gbmgem.h - GEM Raster support 4 | 5 | */ 6 | 7 | extern GBM_ERR gem_qft(GBMFT *gbmft); 8 | extern GBM_ERR gem_rhdr(const char *fn, int fd, GBM *gbm, const char *opt); 9 | extern GBM_ERR gem_rpal(int fd, GBM *gbm, GBMRGB *gbmrgb); 10 | extern GBM_ERR gem_rdata(int fd, GBM *gbm, gbm_u8 *data); 11 | extern GBM_ERR gem_w(const char *fn, int fd, const GBM *gbm, const GBMRGB *gbmrgb, const gbm_u8 *data, const char *opt); 12 | extern const char *gem_err(GBM_ERR rc); 13 | -------------------------------------------------------------------------------- /source/gbm/gbmgif.h: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | gbmgif.h - Graphics Interchange Format support 4 | 5 | */ 6 | 7 | extern GBM_ERR gif_qft(GBMFT *gbmft); 8 | extern GBM_ERR gif_rhdr(const char *fn, int fd, GBM *gbm, const char *opt); 9 | extern GBM_ERR gif_rpal(int fd, GBM *gbm, GBMRGB *gbmrgb); 10 | extern GBM_ERR gif_rdata(int fd, GBM *gbm, gbm_u8 *data); 11 | extern GBM_ERR gif_w(const char *fn, int fd, const GBM *gbm, const GBMRGB *gbmrgb, const gbm_u8 *data, const char *opt); 12 | extern const char *gif_err(GBM_ERR rc); 13 | -------------------------------------------------------------------------------- /source/gbm/gbmhelp.h: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | gbmhelp.h - Internal helpers for GBM file I/O stuff 4 | 5 | */ 6 | 7 | #ifndef GBMHELP_H 8 | #define GBMHELP_H 9 | 10 | /*...sincludes:0:*/ 11 | #if defined(AIX) || defined(LINUX) || defined(SUN) || defined(MACOSX) || defined(IPHONE) 12 | #include 13 | #else 14 | #include 15 | #endif 16 | #include 17 | #ifdef MAC 18 | #include 19 | #include 20 | #else 21 | #include 22 | #include 23 | #endif 24 | /*...e*/ 25 | 26 | extern gbm_boolean gbm_same(const char *s1, const char *s2, int n); 27 | extern const char *gbm_find_word(const char *str, const char *substr); 28 | extern const char *gbm_find_word_prefix(const char *str, const char *substr); 29 | 30 | extern int (*gbm_file_open )(const char *fn, int mode); 31 | extern int (*gbm_file_create)(const char *fn, int mode); 32 | extern void (*gbm_file_close )(int fd); 33 | extern long (*gbm_file_lseek )(int fd, long pos, int whence); 34 | extern int (*gbm_file_read )(int fd, void *buf, int len); 35 | extern int (*gbm_file_write )(int fd, const void *buf, int len); 36 | 37 | typedef void AHEAD; 38 | extern AHEAD *gbm_create_ahead(int fd); 39 | extern void gbm_destroy_ahead(AHEAD *ahead); 40 | extern int gbm_read_ahead(AHEAD *ahead); 41 | 42 | #endif 43 | -------------------------------------------------------------------------------- /source/gbm/gbmhist.h: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | gbmhist.h - Interface to Histogram/Frequency-of-use method of colour reduction 4 | 5 | This code has been changed to expose the various steps in performing a 6 | mapping to a frequency-of-use based palette. This is to allow people to write 7 | code that computes a frequency-of-use based palette from a set of bitmaps, 8 | and then map them all to this palette. This original gbm_hist function, 9 | which works on one bitmap, has been rewritten in terms of the lower-level 10 | functions for ease of compatibility. 11 | 12 | */ 13 | 14 | #ifndef GBMHIST_H 15 | #define GBMHIST_H 16 | 17 | typedef void GBMHIST; 18 | 19 | extern GBMHIST *gbm_create_hist( 20 | gbm_u8 rm, gbm_u8 gm, gbm_u8 bm 21 | ); 22 | 23 | extern void gbm_delete_hist(GBMHIST *hist); 24 | 25 | extern gbm_boolean gbm_add_to_hist( 26 | GBMHIST *hist, 27 | const GBM *gbm, const gbm_u8 *data24 28 | ); 29 | 30 | extern void gbm_pal_hist( 31 | GBMHIST *hist, 32 | GBMRGB gbmrgb[], 33 | int n_cols_wanted 34 | ); 35 | 36 | extern void gbm_map_hist( 37 | GBMHIST *hist, 38 | const GBM *gbm, const gbm_u8 *data24, gbm_u8 *data8 39 | ); 40 | 41 | extern gbm_boolean gbm_hist( 42 | const GBM *gbm, const gbm_u8 *data24, 43 | GBMRGB gbmrgb[], 44 | gbm_u8 *data8, 45 | int n_cols_wanted, 46 | gbm_u8 rm, gbm_u8 gm, gbm_u8 bm 47 | ); 48 | 49 | #endif 50 | -------------------------------------------------------------------------------- /source/gbm/gbmht.h: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | gbmht.h - Interface to Halftoner 4 | 5 | */ 6 | 7 | #ifndef GBMHT_H 8 | #define GBMHT_H 9 | 10 | extern void gbm_ht_24_2x2(const GBM *gbm, const gbm_u8 *data24, gbm_u8 *data24a, gbm_u8 rm, gbm_u8 gm, gbm_u8 bm); 11 | extern void gbm_ht_24_3x3(const GBM *gbm, const gbm_u8 *data24, gbm_u8 *data24a, gbm_u8 rm, gbm_u8 gm, gbm_u8 bm); 12 | 13 | extern void gbm_ht_pal_6R6G6B(GBMRGB *gbmrgb); 14 | extern void gbm_ht_6R6G6B_2x2(const GBM *gbm, const gbm_u8 *data24, gbm_u8 *data8); 15 | 16 | extern void gbm_ht_pal_7R8G4B(GBMRGB *gbmrgb); 17 | extern void gbm_ht_7R8G4B_2x2(const GBM *gbm, const gbm_u8 *data24, gbm_u8 *data8); 18 | 19 | extern void gbm_ht_pal_4R4G4B(GBMRGB *gbmrgb); 20 | extern void gbm_ht_4R4G4B_2x2(const GBM *gbm, const gbm_u8 *data24, gbm_u8 *data8); 21 | 22 | extern void gbm_ht_pal_VGA(GBMRGB *gbmrgb); 23 | extern void gbm_ht_VGA_2x2(const GBM *gbm, const gbm_u8 *src24, gbm_u8 *dest4); 24 | extern void gbm_ht_VGA_3x3(const GBM *gbm, const gbm_u8 *src24, gbm_u8 *dest4); 25 | 26 | extern void gbm_ht_pal_8(GBMRGB *gbmrgb); 27 | extern void gbm_ht_8_2x2(const GBM *gbm, const gbm_u8 *src24, gbm_u8 *dest4); 28 | extern void gbm_ht_8_3x3(const GBM *gbm, const gbm_u8 *src24, gbm_u8 *dest4); 29 | 30 | #endif 31 | -------------------------------------------------------------------------------- /source/gbm/gbmiax.h: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | gbmiax.h - IBM Image Access eXecutive support 4 | 5 | */ 6 | 7 | extern GBM_ERR iax_qft(GBMFT *gbmft); 8 | extern GBM_ERR iax_rhdr(const char *fn, int fd, GBM *gbm, const char *opt); 9 | extern GBM_ERR iax_rpal(int fd, GBM *gbm, GBMRGB *gbmrgb); 10 | extern GBM_ERR iax_rdata(int fd, GBM *gbm, gbm_u8 *data); 11 | extern GBM_ERR iax_w(const char *fn, int fd, const GBM *gbm, const GBMRGB *gbmrgb, const gbm_u8 *data, const char *opt); 12 | extern const char *iax_err(GBM_ERR rc); 13 | -------------------------------------------------------------------------------- /source/gbm/gbmjpg.h: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | gbmjpg.h - JPEG format 4 | 5 | */ 6 | 7 | #ifdef IJG 8 | 9 | extern GBM_ERR jpg_qft(GBMFT *gbmft); 10 | extern GBM_ERR jpg_rhdr(const char *fn, int fd, GBM *gbm, const char *opt); 11 | extern GBM_ERR jpg_rpal(int fd, GBM *gbm, GBMRGB *gbmrgb); 12 | extern GBM_ERR jpg_rdata(int fd, GBM *gbm, gbm_u8 *data); 13 | extern GBM_ERR jpg_w(const char *fn, int fd, const GBM *gbm, const GBMRGB *gbmrgb, const gbm_u8 *data, const char *opt); 14 | extern const char *jpg_err(GBM_ERR rc); 15 | 16 | #endif 17 | -------------------------------------------------------------------------------- /source/gbm/gbmkps.h: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | gbmkps.h - IBM KIPS support 4 | 5 | */ 6 | 7 | extern GBM_ERR kps_qft(GBMFT *gbmft); 8 | extern GBM_ERR kps_rhdr(const char *fn, int fd, GBM *gbm, const char *opt); 9 | extern GBM_ERR kps_rpal(int fd, GBM *gbm, GBMRGB *gbmrgb); 10 | extern GBM_ERR kps_rdata(int fd, GBM *gbm, gbm_u8 *data); 11 | extern GBM_ERR kps_w(const char *fn, int fd, const GBM *gbm, const GBMRGB *gbmrgb, const gbm_u8 *data, const char *opt); 12 | extern const char *kps_err(GBM_ERR rc); 13 | -------------------------------------------------------------------------------- /source/gbm/gbmlbm.h: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | gbmlbm.c - Amiga IFF / ILBM file format 4 | 5 | */ 6 | 7 | extern GBM_ERR lbm_qft(GBMFT *gbmft); 8 | extern GBM_ERR lbm_rhdr(const char *fn, int fd, GBM *gbm, const char *opt); 9 | extern GBM_ERR lbm_rpal(int fd, GBM *gbm, GBMRGB *gbmrgb); 10 | extern GBM_ERR lbm_rdata(int fd, GBM *gbm, gbm_u8 *data); 11 | extern GBM_ERR lbm_w(const char *fn, int fd, const GBM *gbm, const GBMRGB *gbmrgb, const gbm_u8 *data, const char *opt); 12 | extern const char *lbm_err(GBM_ERR rc); 13 | -------------------------------------------------------------------------------- /source/gbm/gbmmcut.h: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | gbmmcut.h - Interface to Median Cut colour reduction 4 | 5 | This code is arranged to allow generation of a palette from a set of input 6 | images. Quantisation is fixed at 5 bits each for red, green and blue. This 7 | is finer than most implementations, but costly on memory. 8 | 9 | */ 10 | 11 | #ifndef GBMMCUT_H 12 | #define GBMMCUT_H 13 | 14 | typedef void GBMMCUT; 15 | 16 | extern GBMMCUT *gbm_create_mcut(void); 17 | 18 | extern void gbm_delete_mcut(GBMMCUT *mcut); 19 | 20 | extern void gbm_add_to_mcut( 21 | GBMMCUT *mcut, 22 | const GBM *gbm, const gbm_u8 *data24 23 | ); 24 | 25 | extern void gbm_pal_mcut( 26 | GBMMCUT *mcut, 27 | GBMRGB gbmrgb[], 28 | int n_cols_wanted 29 | ); 30 | 31 | extern void gbm_map_mcut( 32 | GBMMCUT *mcut, 33 | const GBM *gbm, const gbm_u8 *data24, gbm_u8 *data8 34 | ); 35 | 36 | extern gbm_boolean gbm_mcut( 37 | const GBM *gbm, const gbm_u8 *data24, 38 | GBMRGB gbmrgb[], 39 | gbm_u8 *data8, 40 | int n_cols_wanted 41 | ); 42 | 43 | #endif 44 | -------------------------------------------------------------------------------- /source/gbm/gbmmir.h: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | gbmmir.h - Interface to Mirror Image of General Bitmap 4 | 5 | */ 6 | 7 | #ifndef GBMMIR_H 8 | #define GBMMIR_H 9 | 10 | extern gbm_boolean gbm_ref_vert(const GBM *gbm, gbm_u8 *data); 11 | extern gbm_boolean gbm_ref_horz(const GBM *gbm, gbm_u8 *data); 12 | extern void gbm_transpose(const GBM *gbm, const gbm_u8 *data, gbm_u8 *data_t); 13 | 14 | #endif 15 | -------------------------------------------------------------------------------- /source/gbm/gbmos2.upl: -------------------------------------------------------------------------------- 1 | Upload Information Template for Hobbes.nmsu.edu 2 | =============================================== 3 | 4 | Archive Filename: gbmos2.zip 5 | Short Description: Generalised Bitmap Module, OS/2 command line .exe's 6 | Long Description: Generalised Bitmap Module, OS/2 command line .exe's 7 | 8 | Proposed directory 9 | for placement: pub/os2/apps/graphics/ 10 | 11 | Your name: Andy Key 12 | Email address: andy.z.key@googlemail.com 13 | Program contact name: Andy Key 14 | Program contact email: andy.z.key@googlemail.com 15 | Program URL: http://www.nyangau.org/ 16 | 17 | Would you like the 18 | contact email address 19 | included in listings? yes 20 | 21 | Operating System/Version: 32 bit OS/2 22 | Additional requirements: 23 | 24 | Replaces: pub/os2/apps/graphics/gbmos2.zip 25 | -------------------------------------------------------------------------------- /source/gbm/gbmpcx.h: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | gbmpcx.h - ZSoft PC Paintbrush support 4 | 5 | */ 6 | 7 | extern GBM_ERR pcx_qft(GBMFT *gbmft); 8 | extern GBM_ERR pcx_rhdr(const char *fn, int fd, GBM *gbm, const char *opt); 9 | extern GBM_ERR pcx_rpal(int fd, GBM *gbm, GBMRGB *gbmrgb); 10 | extern GBM_ERR pcx_rdata(int fd, GBM *gbm, gbm_u8 *data); 11 | extern GBM_ERR pcx_w(const char *fn, int fd, const GBM *gbm, const GBMRGB *gbmrgb, const gbm_u8 *data, const char *opt); 12 | extern const char *pcx_err(GBM_ERR rc); 13 | -------------------------------------------------------------------------------- /source/gbm/gbmpgm.h: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | gbmpgm.h - Poskancers PGM format 4 | 5 | */ 6 | 7 | extern GBM_ERR pgm_qft(GBMFT *gbmft); 8 | extern GBM_ERR pgm_rhdr(const char *fn, int fd, GBM *gbm, const char *opt); 9 | extern GBM_ERR pgm_rpal(int fd, GBM *gbm, GBMRGB *gbmrgb); 10 | extern GBM_ERR pgm_rdata(int fd, GBM *gbm, gbm_u8 *data); 11 | extern GBM_ERR pgm_w(const char *fn, int fd, const GBM *gbm, const GBMRGB *gbmrgb, const gbm_u8 *data, const char *opt); 12 | extern const char *pgm_err(GBM_ERR rc); 13 | -------------------------------------------------------------------------------- /source/gbm/gbmppm.h: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | gbmppm.h - Poskancers PPM format 4 | 5 | Reads and writes 24 bit RGB. 6 | 7 | */ 8 | 9 | extern GBM_ERR ppm_qft(GBMFT *gbmft); 10 | extern GBM_ERR ppm_rhdr(const char *fn, int fd, GBM *gbm, const char *opt); 11 | extern GBM_ERR ppm_rpal(int fd, GBM *gbm, GBMRGB *gbmrgb); 12 | extern GBM_ERR ppm_rdata(int fd, GBM *gbm, gbm_u8 *data); 13 | extern GBM_ERR ppm_w(const char *fn, int fd, const GBM *gbm, const GBMRGB *gbmrgb, const gbm_u8 *data, const char *opt); 14 | extern const char *ppm_err(GBM_ERR rc); 15 | -------------------------------------------------------------------------------- /source/gbm/gbmpsg.h: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | gbmpsg.h - PSEG support 4 | 5 | */ 6 | 7 | extern GBM_ERR psg_qft(GBMFT *gbmft); 8 | extern GBM_ERR psg_rhdr(const char *fn, int fd, GBM *gbm, const char *opt); 9 | extern GBM_ERR psg_rpal(int fd, GBM *gbm, GBMRGB *gbmrgb); 10 | extern GBM_ERR psg_rdata(int fd, GBM *gbm, gbm_u8 *data); 11 | extern GBM_ERR psg_w(const char *fn, int fd, const GBM *gbm, const GBMRGB *gbmrgb, const gbm_u8 *data, const char *opt); 12 | extern const char *psg_err(GBM_ERR rc); 13 | -------------------------------------------------------------------------------- /source/gbm/gbmrect.h: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | gbmrect.c - Subrectangle Transfer 4 | 5 | */ 6 | 7 | #ifndef GBMRECT_H 8 | #define GBMRECT_H 9 | 10 | extern void gbm_subrectangle( 11 | const GBM *gbm, 12 | int x, int y, int w, int h, 13 | const gbm_u8 *data_src, gbm_u8 *data_dst 14 | ); 15 | 16 | extern void gbm_blit( 17 | const gbm_u8 *s, int sw, int sx, int sy, 18 | gbm_u8 *d, int dw, int dx, int dy, 19 | int w, int h, 20 | int bpp 21 | ); 22 | 23 | #endif 24 | -------------------------------------------------------------------------------- /source/gbm/gbmscale.h: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | gbmscale.h - Interface to scaling code 4 | 5 | */ 6 | 7 | #ifndef GBMSCALE_H 8 | #define GBMSCALE_H 9 | 10 | extern GBM_ERR gbm_simple_scale( 11 | const gbm_u8 *s, int sw, int sh, 12 | gbm_u8 *d, int dw, int dh, 13 | int bpp 14 | ); 15 | 16 | #endif 17 | -------------------------------------------------------------------------------- /source/gbm/gbmspr.h: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | gbmspr.h - Archimedes Sprite from RiscOS Format support 4 | 5 | */ 6 | 7 | extern GBM_ERR spr_qft(GBMFT *gbmft); 8 | extern GBM_ERR spr_rhdr(const char *fn, int fd, GBM *gbm, const char *opt); 9 | extern GBM_ERR spr_rpal(int fd, GBM *gbm, GBMRGB *gbmrgb); 10 | extern GBM_ERR spr_rdata(int fd, GBM *gbm, gbm_u8 *data); 11 | extern GBM_ERR spr_w(const char *fn, int fd, const GBM *gbm, const GBMRGB *gbmrgb, const gbm_u8 *data, const char *opt); 12 | extern const char *spr_err(GBM_ERR rc); 13 | -------------------------------------------------------------------------------- /source/gbm/gbmsrc.upl: -------------------------------------------------------------------------------- 1 | Upload Information Template for Hobbes.nmsu.edu 2 | =============================================== 3 | 4 | Archive Filename: gbmsrc.zip 5 | Short Description: Generalised Bitmap Module, source 6 | Long Description: Generalised Bitmap Module, source 7 | 8 | Proposed directory 9 | for placement: pub/os2/apps/graphics/ 10 | 11 | Your name: Andy Key 12 | Email address: andy.z.key@googlemail.com 13 | Program contact name: Andy Key 14 | Program contact email: andy.z.key@googlemail.com 15 | Program URL: http://www.nyangau.org/ 16 | 17 | Would you like the 18 | contact email address 19 | included in listings? yes 20 | 21 | Operating System/Version: 32 bit OS/2, Win32, 32 bit DOS, Linux, AIX, etc. 22 | Additional requirements: 23 | 24 | Replaces: pub/os2/apps/graphics/gbmsrc.zip 25 | -------------------------------------------------------------------------------- /source/gbm/gbmtga.h: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | gbmtga.h - Truevision Targa/Vista support 4 | 5 | */ 6 | 7 | extern GBM_ERR tga_qft(GBMFT *gbmft); 8 | extern GBM_ERR tga_rhdr(const char *fn, int fd, GBM *gbm, const char *opt); 9 | extern GBM_ERR tga_rpal(int fd, GBM *gbm, GBMRGB *gbmrgb); 10 | extern GBM_ERR tga_rdata(int fd, GBM *gbm, gbm_u8 *data); 11 | extern GBM_ERR tga_w(const char *fn, int fd, const GBM *gbm, const GBMRGB *gbmrgb, const gbm_u8 *data, const char *opt); 12 | extern const char *tga_err(GBM_ERR rc); 13 | -------------------------------------------------------------------------------- /source/gbm/gbmtif.h: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | gbmtif.c - Microsoft/Aldus Tagged Image File Format support 4 | 5 | */ 6 | 7 | extern GBM_ERR tif_qft(GBMFT *gbmft); 8 | extern GBM_ERR tif_rhdr(const char *fn, int fd, GBM *gbm, const char *opt); 9 | extern GBM_ERR tif_rpal(int fd, GBM *gbm, GBMRGB *gbmrgb); 10 | extern GBM_ERR tif_rdata(int fd, GBM *gbm, gbm_u8 *data); 11 | extern GBM_ERR tif_w(const char *fn, int fd, const GBM *gbm, const GBMRGB *gbmrgb, const gbm_u8 *data, const char *opt); 12 | extern const char *tif_err(GBM_ERR rc); 13 | -------------------------------------------------------------------------------- /source/gbm/gbmtrunc.h: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | gbmtrunc.h - Interface to code to truncate to a palette 4 | 5 | */ 6 | 7 | #ifndef GBMTRUNC_H 8 | #define GBMTRUNC_H 9 | 10 | extern void gbm_trunc_line_24(const gbm_u8 *src, gbm_u8 *dest, int cx, gbm_u8 rm, gbm_u8 gm, gbm_u8 bm); 11 | extern void gbm_trunc_24(const GBM *gbm, const gbm_u8 *data24, gbm_u8 *data24a, gbm_u8 rm, gbm_u8 gm, gbm_u8 bm); 12 | 13 | extern void gbm_trunc_pal_6R6G6B(GBMRGB *gbmrgb); 14 | extern void gbm_trunc_line_6R6G6B(const gbm_u8 *src, gbm_u8 *dest, int cx); 15 | extern void gbm_trunc_6R6G6B(const GBM *gbm, const gbm_u8 *data24, gbm_u8 *data8); 16 | 17 | extern void gbm_trunc_pal_7R8G4B(GBMRGB *gbmrgb); 18 | extern void gbm_trunc_line_7R8G4B(const gbm_u8 *src, gbm_u8 *dest, int cx); 19 | extern void gbm_trunc_7R8G4B(const GBM *gbm, const gbm_u8 *data24, gbm_u8 *data8); 20 | 21 | extern void gbm_trunc_pal_4R4G4B(GBMRGB *gbmrgb); 22 | extern void gbm_trunc_line_4R4G4B(const gbm_u8 *src, gbm_u8 *dest, int cx); 23 | extern void gbm_trunc_4R4G4B(const GBM *gbm, const gbm_u8 *data24, gbm_u8 *data8); 24 | 25 | extern void gbm_trunc_pal_VGA(GBMRGB *gbmrgb); 26 | extern void gbm_trunc_line_VGA(const gbm_u8 *src, gbm_u8 *dest, int cx); 27 | extern void gbm_trunc_VGA(const GBM *gbm, const gbm_u8 *data24, gbm_u8 *data4); 28 | 29 | extern void gbm_trunc_pal_8(GBMRGB *gbmrgb); 30 | extern void gbm_trunc_line_8(const gbm_u8 *src, gbm_u8 *dest, int cx); 31 | extern void gbm_trunc_8(const GBM *gbm, const gbm_u8 *data24, gbm_u8 *data4); 32 | 33 | extern void gbm_trunc_pal_4G(GBMRGB *gbmrgb); 34 | extern void gbm_trunc_line_4G(const gbm_u8 *src, gbm_u8 *dest, int cx); 35 | extern void gbm_trunc_4G(const GBM *gbm, const gbm_u8 *data24, gbm_u8 *data4); 36 | 37 | extern void gbm_trunc_pal_BW(GBMRGB *gbmrgb); 38 | extern void gbm_trunc_line_BW(const gbm_u8 *src, gbm_u8 *dest, int cx); 39 | extern void gbm_trunc_BW(const GBM *gbm, const gbm_u8 *data24, gbm_u8 *data1); 40 | 41 | /* Map to user specified palette. 42 | Input bitmap data is 24bpp, output is sized as specified. */ 43 | extern void gbm_trunc_1bpp( 44 | const GBM *gbm, const gbm_u8 *data24, gbm_u8 *data1, 45 | GBMRGB *gbmrgb, int n_gbmrgb 46 | ); 47 | extern void gbm_trunc_4bpp( 48 | const GBM *gbm, const gbm_u8 *data24, gbm_u8 *data4, 49 | GBMRGB *gbmrgb, int n_gbmrgb 50 | ); 51 | extern void gbm_trunc_8bpp( 52 | const GBM *gbm, const gbm_u8 *data24, gbm_u8 *data8, 53 | GBMRGB *gbmrgb, int n_gbmrgb 54 | ); 55 | 56 | #endif 57 | -------------------------------------------------------------------------------- /source/gbm/gbmvid.h: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | gbmvid.h - YUV12C M-Motion Video Frame Buffer format 4 | 5 | */ 6 | 7 | extern GBM_ERR vid_qft(GBMFT *gbmft); 8 | extern GBM_ERR vid_rhdr(const char *fn, int fd, GBM *gbm, const char *opt); 9 | extern GBM_ERR vid_rpal(int fd, GBM *gbm, GBMRGB *gbmrgb); 10 | extern GBM_ERR vid_rdata(int fd, GBM *gbm, gbm_u8 *data); 11 | extern GBM_ERR vid_w(const char *fn, int fd, const GBM *gbm, const GBMRGB *gbmrgb, const gbm_u8 *data, const char *opt); 12 | extern const char *vid_err(GBM_ERR rc); 13 | -------------------------------------------------------------------------------- /source/gbm/gbmxbm.h: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | gbmxbm.h - X Windows bitmap support 4 | 5 | */ 6 | 7 | extern GBM_ERR xbm_qft(GBMFT *gbmft); 8 | extern GBM_ERR xbm_rhdr(const char *fn, int fd, GBM *gbm, const char *opt); 9 | extern GBM_ERR xbm_rpal(int fd, GBM *gbm, GBMRGB *gbmrgb); 10 | extern GBM_ERR xbm_rdata(int fd, GBM *gbm, gbm_u8 *data); 11 | extern GBM_ERR xbm_w(const char *fn, int fd, const GBM *gbm, const GBMRGB *gbmrgb, const gbm_u8 *data, const char *opt); 12 | extern const char *xbm_err(GBM_ERR rc); 13 | -------------------------------------------------------------------------------- /source/gbm/jpeg-6a/Thumbs.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/source/gbm/jpeg-6a/Thumbs.db -------------------------------------------------------------------------------- /source/gbm/jpeg-6a/ansi2knr.1: -------------------------------------------------------------------------------- 1 | .TH ANSI2KNR 1 "19 Jan 1996" 2 | .SH NAME 3 | ansi2knr \- convert ANSI C to Kernighan & Ritchie C 4 | .SH SYNOPSIS 5 | .I ansi2knr 6 | [--varargs] input_file [output_file] 7 | .SH DESCRIPTION 8 | If no output_file is supplied, output goes to stdout. 9 | .br 10 | There are no error messages. 11 | .sp 12 | .I ansi2knr 13 | recognizes function definitions by seeing a non-keyword identifier at the left 14 | margin, followed by a left parenthesis, with a right parenthesis as the last 15 | character on the line, and with a left brace as the first token on the 16 | following line (ignoring possible intervening comments). It will recognize a 17 | multi-line header provided that no intervening line ends with a left or right 18 | brace or a semicolon. These algorithms ignore whitespace and comments, except 19 | that the function name must be the first thing on the line. 20 | .sp 21 | The following constructs will confuse it: 22 | .br 23 | - Any other construct that starts at the left margin and follows the 24 | above syntax (such as a macro or function call). 25 | .br 26 | - Some macros that tinker with the syntax of the function header. 27 | .sp 28 | The --varargs switch is obsolete, and is recognized only for 29 | backwards compatibility. The present version of 30 | .I ansi2knr 31 | will always attempt to convert a ... argument to va_alist and va_dcl. 32 | .SH AUTHOR 33 | L. Peter Deutsch wrote the original ansi2knr and 34 | continues to maintain the current version; most of the code in the current 35 | version is his work. ansi2knr also includes contributions by Francois 36 | Pinard and Jim Avera . 37 | -------------------------------------------------------------------------------- /source/gbm/jpeg-6a/jchuff.h: -------------------------------------------------------------------------------- 1 | /* 2 | * jchuff.h 3 | * 4 | * Copyright (C) 1991-1996, Thomas G. Lane. 5 | * This file is part of the Independent JPEG Group's software. 6 | * For conditions of distribution and use, see the accompanying README file. 7 | * 8 | * This file contains declarations for Huffman entropy encoding routines 9 | * that are shared between the sequential encoder (jchuff.c) and the 10 | * progressive encoder (jcphuff.c). No other modules need to see these. 11 | */ 12 | 13 | /* Derived data constructed for each Huffman table */ 14 | 15 | typedef struct { 16 | unsigned int ehufco[256]; /* code for each symbol */ 17 | char ehufsi[256]; /* length of code for each symbol */ 18 | /* If no code has been allocated for a symbol S, ehufsi[S] contains 0 */ 19 | } c_derived_tbl; 20 | 21 | /* Short forms of external names for systems with brain-damaged linkers. */ 22 | 23 | #ifdef NEED_SHORT_EXTERNAL_NAMES 24 | #define jpeg_make_c_derived_tbl jMkCDerived 25 | #define jpeg_gen_optimal_table jGenOptTbl 26 | #endif /* NEED_SHORT_EXTERNAL_NAMES */ 27 | 28 | /* Expand a Huffman table definition into the derived format */ 29 | EXTERN(void) jpeg_make_c_derived_tbl 30 | JPP((j_compress_ptr cinfo, JHUFF_TBL * htbl, c_derived_tbl ** pdtbl)); 31 | 32 | /* Generate an optimal table definition given the specified counts */ 33 | EXTERN(void) jpeg_gen_optimal_table 34 | JPP((j_compress_ptr cinfo, JHUFF_TBL * htbl, long freq[])); 35 | -------------------------------------------------------------------------------- /source/gbm/jpeg-6a/jcinit.c: -------------------------------------------------------------------------------- 1 | /* 2 | * jcinit.c 3 | * 4 | * Copyright (C) 1991-1996, Thomas G. Lane. 5 | * This file is part of the Independent JPEG Group's software. 6 | * For conditions of distribution and use, see the accompanying README file. 7 | * 8 | * This file contains initialization logic for the JPEG compressor. 9 | * This routine is in charge of selecting the modules to be executed and 10 | * making an initialization call to each one. 11 | * 12 | * Logically, this code belongs in jcmaster.c. It's split out because 13 | * linking this routine implies linking the entire compression library. 14 | * For a transcoding-only application, we want to be able to use jcmaster.c 15 | * without linking in the whole library. 16 | */ 17 | 18 | #define JPEG_INTERNALS 19 | #include "jinclude.h" 20 | #include "jpeglib.h" 21 | 22 | 23 | /* 24 | * Master selection of compression modules. 25 | * This is done once at the start of processing an image. We determine 26 | * which modules will be used and give them appropriate initialization calls. 27 | */ 28 | 29 | GLOBAL(void) 30 | jinit_compress_master (j_compress_ptr cinfo) 31 | { 32 | /* Initialize master control (includes parameter checking/processing) */ 33 | jinit_c_master_control(cinfo, FALSE /* full compression */); 34 | 35 | /* Preprocessing */ 36 | if (! cinfo->raw_data_in) { 37 | jinit_color_converter(cinfo); 38 | jinit_downsampler(cinfo); 39 | jinit_c_prep_controller(cinfo, FALSE /* never need full buffer here */); 40 | } 41 | /* Forward DCT */ 42 | jinit_forward_dct(cinfo); 43 | /* Entropy encoding: either Huffman or arithmetic coding. */ 44 | if (cinfo->arith_code) { 45 | ERREXIT(cinfo, JERR_ARITH_NOTIMPL); 46 | } else { 47 | if (cinfo->progressive_mode) { 48 | #ifdef C_PROGRESSIVE_SUPPORTED 49 | jinit_phuff_encoder(cinfo); 50 | #else 51 | ERREXIT(cinfo, JERR_NOT_COMPILED); 52 | #endif 53 | } else 54 | jinit_huff_encoder(cinfo); 55 | } 56 | 57 | /* Need a full-image coefficient buffer in any multi-pass mode. */ 58 | jinit_c_coef_controller(cinfo, 59 | (cinfo->num_scans > 1 || cinfo->optimize_coding)); 60 | jinit_c_main_controller(cinfo, FALSE /* never need full buffer here */); 61 | 62 | jinit_marker_writer(cinfo); 63 | 64 | /* We can now tell the memory manager to allocate virtual arrays. */ 65 | (*cinfo->mem->realize_virt_arrays) ((j_common_ptr) cinfo); 66 | 67 | /* Write the datastream header (SOI) immediately. 68 | * Frame and scan headers are postponed till later. 69 | * This lets application insert special markers after the SOI. 70 | */ 71 | (*cinfo->marker->write_file_header) (cinfo); 72 | } 73 | -------------------------------------------------------------------------------- /source/gbm/jpeg-6a/jcomapi.c: -------------------------------------------------------------------------------- 1 | /* 2 | * jcomapi.c 3 | * 4 | * Copyright (C) 1994-1996, Thomas G. Lane. 5 | * This file is part of the Independent JPEG Group's software. 6 | * For conditions of distribution and use, see the accompanying README file. 7 | * 8 | * This file contains application interface routines that are used for both 9 | * compression and decompression. 10 | */ 11 | 12 | #define JPEG_INTERNALS 13 | #include "jinclude.h" 14 | #include "jpeglib.h" 15 | 16 | 17 | /* 18 | * Abort processing of a JPEG compression or decompression operation, 19 | * but don't destroy the object itself. 20 | * 21 | * For this, we merely clean up all the nonpermanent memory pools. 22 | * Note that temp files (virtual arrays) are not allowed to belong to 23 | * the permanent pool, so we will be able to close all temp files here. 24 | * Closing a data source or destination, if necessary, is the application's 25 | * responsibility. 26 | */ 27 | 28 | GLOBAL(void) 29 | jpeg_abort (j_common_ptr cinfo) 30 | { 31 | int pool; 32 | 33 | /* Releasing pools in reverse order might help avoid fragmentation 34 | * with some (brain-damaged) malloc libraries. 35 | */ 36 | for (pool = JPOOL_NUMPOOLS-1; pool > JPOOL_PERMANENT; pool--) { 37 | (*cinfo->mem->free_pool) (cinfo, pool); 38 | } 39 | 40 | /* Reset overall state for possible reuse of object */ 41 | cinfo->global_state = (cinfo->is_decompressor ? DSTATE_START : CSTATE_START); 42 | } 43 | 44 | 45 | /* 46 | * Destruction of a JPEG object. 47 | * 48 | * Everything gets deallocated except the master jpeg_compress_struct itself 49 | * and the error manager struct. Both of these are supplied by the application 50 | * and must be freed, if necessary, by the application. (Often they are on 51 | * the stack and so don't need to be freed anyway.) 52 | * Closing a data source or destination, if necessary, is the application's 53 | * responsibility. 54 | */ 55 | 56 | GLOBAL(void) 57 | jpeg_destroy (j_common_ptr cinfo) 58 | { 59 | /* We need only tell the memory manager to release everything. */ 60 | /* NB: mem pointer is NULL if memory mgr failed to initialize. */ 61 | if (cinfo->mem != NULL) 62 | (*cinfo->mem->self_destruct) (cinfo); 63 | cinfo->mem = NULL; /* be safe if jpeg_destroy is called twice */ 64 | cinfo->global_state = 0; /* mark it destroyed */ 65 | } 66 | 67 | 68 | /* 69 | * Convenience routines for allocating quantization and Huffman tables. 70 | * (Would jutils.c be a more reasonable place to put these?) 71 | */ 72 | 73 | GLOBAL(JQUANT_TBL *) 74 | jpeg_alloc_quant_table (j_common_ptr cinfo) 75 | { 76 | JQUANT_TBL *tbl; 77 | 78 | tbl = (JQUANT_TBL *) 79 | (*cinfo->mem->alloc_small) (cinfo, JPOOL_PERMANENT, SIZEOF(JQUANT_TBL)); 80 | tbl->sent_table = FALSE; /* make sure this is false in any new table */ 81 | return tbl; 82 | } 83 | 84 | 85 | GLOBAL(JHUFF_TBL *) 86 | jpeg_alloc_huff_table (j_common_ptr cinfo) 87 | { 88 | JHUFF_TBL *tbl; 89 | 90 | tbl = (JHUFF_TBL *) 91 | (*cinfo->mem->alloc_small) (cinfo, JPOOL_PERMANENT, SIZEOF(JHUFF_TBL)); 92 | tbl->sent_table = FALSE; /* make sure this is false in any new table */ 93 | return tbl; 94 | } 95 | -------------------------------------------------------------------------------- /source/gbm/jpeg-6a/jconfig.bcc: -------------------------------------------------------------------------------- 1 | /* jconfig.bcc --- jconfig.h for Borland C (Turbo C) on MS-DOS or OS/2. */ 2 | /* see jconfig.doc for explanations */ 3 | 4 | #define HAVE_PROTOTYPES 5 | #define HAVE_UNSIGNED_CHAR 6 | #define HAVE_UNSIGNED_SHORT 7 | /* #define void char */ 8 | /* #define const */ 9 | #undef CHAR_IS_UNSIGNED 10 | #define HAVE_STDDEF_H 11 | #define HAVE_STDLIB_H 12 | #undef NEED_BSD_STRINGS 13 | #undef NEED_SYS_TYPES_H 14 | #ifdef __MSDOS__ 15 | #define NEED_FAR_POINTERS /* for small or medium memory model */ 16 | #endif 17 | #undef NEED_SHORT_EXTERNAL_NAMES 18 | #undef INCOMPLETE_TYPES_BROKEN /* this assumes you have -w-stu in CFLAGS */ 19 | 20 | #ifdef JPEG_INTERNALS 21 | 22 | #undef RIGHT_SHIFT_IS_UNSIGNED 23 | 24 | #ifdef __MSDOS__ 25 | #define USE_MSDOS_MEMMGR /* Define this if you use jmemdos.c */ 26 | #define MAX_ALLOC_CHUNK 65520L /* Maximum request to malloc() */ 27 | #define USE_FMEM /* Borland has _fmemcpy() and _fmemset() */ 28 | #endif 29 | 30 | #endif /* JPEG_INTERNALS */ 31 | 32 | #ifdef JPEG_CJPEG_DJPEG 33 | 34 | #define BMP_SUPPORTED /* BMP image file format */ 35 | #define GIF_SUPPORTED /* GIF image file format */ 36 | #define PPM_SUPPORTED /* PBMPLUS PPM/PGM image file format */ 37 | #undef RLE_SUPPORTED /* Utah RLE image file format */ 38 | #define TARGA_SUPPORTED /* Targa image file format */ 39 | 40 | #define TWO_FILE_COMMANDLINE 41 | #define USE_SETMODE /* Borland has setmode() */ 42 | #ifdef __MSDOS__ 43 | #define NEED_SIGNAL_CATCHER /* Define this if you use jmemdos.c */ 44 | #endif 45 | #undef DONT_USE_B_MODE 46 | #undef PROGRESS_REPORT /* optional */ 47 | 48 | #endif /* JPEG_CJPEG_DJPEG */ 49 | -------------------------------------------------------------------------------- /source/gbm/jpeg-6a/jconfig.cfg: -------------------------------------------------------------------------------- 1 | /* jconfig.cfg --- source file edited by configure script */ 2 | /* see jconfig.doc for explanations */ 3 | 4 | #undef HAVE_PROTOTYPES 5 | #undef HAVE_UNSIGNED_CHAR 6 | #undef HAVE_UNSIGNED_SHORT 7 | #undef void 8 | #undef const 9 | #undef CHAR_IS_UNSIGNED 10 | #undef HAVE_STDDEF_H 11 | #undef HAVE_STDLIB_H 12 | #undef NEED_BSD_STRINGS 13 | #undef NEED_SYS_TYPES_H 14 | #undef NEED_FAR_POINTERS 15 | #undef NEED_SHORT_EXTERNAL_NAMES 16 | /* Define this if you get warnings about undefined structures. */ 17 | #undef INCOMPLETE_TYPES_BROKEN 18 | 19 | #ifdef JPEG_INTERNALS 20 | 21 | #undef RIGHT_SHIFT_IS_UNSIGNED 22 | #undef INLINE 23 | /* These are for configuring the JPEG memory manager. */ 24 | #undef DEFAULT_MAX_MEM 25 | #undef NO_MKTEMP 26 | 27 | #endif /* JPEG_INTERNALS */ 28 | 29 | #ifdef JPEG_CJPEG_DJPEG 30 | 31 | #define BMP_SUPPORTED /* BMP image file format */ 32 | #define GIF_SUPPORTED /* GIF image file format */ 33 | #define PPM_SUPPORTED /* PBMPLUS PPM/PGM image file format */ 34 | #undef RLE_SUPPORTED /* Utah RLE image file format */ 35 | #define TARGA_SUPPORTED /* Targa image file format */ 36 | 37 | #undef TWO_FILE_COMMANDLINE 38 | #undef NEED_SIGNAL_CATCHER 39 | #undef DONT_USE_B_MODE 40 | 41 | /* Define this if you want percent-done progress reports from cjpeg/djpeg. */ 42 | #undef PROGRESS_REPORT 43 | 44 | #endif /* JPEG_CJPEG_DJPEG */ 45 | -------------------------------------------------------------------------------- /source/gbm/jpeg-6a/jconfig.dj: -------------------------------------------------------------------------------- 1 | /* jconfig.dj --- jconfig.h for DJGPP (Delorie's GNU C port) on MS-DOS. */ 2 | /* see jconfig.doc for explanations */ 3 | 4 | #define HAVE_PROTOTYPES 5 | #define HAVE_UNSIGNED_CHAR 6 | #define HAVE_UNSIGNED_SHORT 7 | /* #define void char */ 8 | /* #define const */ 9 | #undef CHAR_IS_UNSIGNED 10 | #define HAVE_STDDEF_H 11 | #define HAVE_STDLIB_H 12 | #undef NEED_BSD_STRINGS 13 | #undef NEED_SYS_TYPES_H 14 | #undef NEED_FAR_POINTERS /* DJGPP uses flat 32-bit addressing */ 15 | #undef NEED_SHORT_EXTERNAL_NAMES 16 | #undef INCOMPLETE_TYPES_BROKEN 17 | 18 | #ifdef JPEG_INTERNALS 19 | 20 | #undef RIGHT_SHIFT_IS_UNSIGNED 21 | 22 | #endif /* JPEG_INTERNALS */ 23 | 24 | #ifdef JPEG_CJPEG_DJPEG 25 | 26 | #define BMP_SUPPORTED /* BMP image file format */ 27 | #define GIF_SUPPORTED /* GIF image file format */ 28 | #define PPM_SUPPORTED /* PBMPLUS PPM/PGM image file format */ 29 | #undef RLE_SUPPORTED /* Utah RLE image file format */ 30 | #define TARGA_SUPPORTED /* Targa image file format */ 31 | 32 | #undef TWO_FILE_COMMANDLINE /* optional */ 33 | #define USE_SETMODE /* Needed to make one-file style work in DJGPP */ 34 | #undef NEED_SIGNAL_CATCHER /* Define this if you use jmemname.c */ 35 | #undef DONT_USE_B_MODE 36 | #undef PROGRESS_REPORT /* optional */ 37 | 38 | #endif /* JPEG_CJPEG_DJPEG */ 39 | -------------------------------------------------------------------------------- /source/gbm/jpeg-6a/jconfig.man: -------------------------------------------------------------------------------- 1 | /* jconfig.manx --- jconfig.h for Amiga systems using Manx Aztec C ver 5.x. */ 2 | /* see jconfig.doc for explanations */ 3 | 4 | #define HAVE_PROTOTYPES 5 | #define HAVE_UNSIGNED_CHAR 6 | #define HAVE_UNSIGNED_SHORT 7 | /* #define void char */ 8 | /* #define const */ 9 | #undef CHAR_IS_UNSIGNED 10 | #define HAVE_STDDEF_H 11 | #define HAVE_STDLIB_H 12 | #undef NEED_BSD_STRINGS 13 | #undef NEED_SYS_TYPES_H 14 | #undef NEED_FAR_POINTERS 15 | #undef NEED_SHORT_EXTERNAL_NAMES 16 | #undef INCOMPLETE_TYPES_BROKEN 17 | 18 | #ifdef JPEG_INTERNALS 19 | 20 | #undef RIGHT_SHIFT_IS_UNSIGNED 21 | 22 | #define TEMP_DIRECTORY "JPEGTMP:" /* recommended setting for Amiga */ 23 | 24 | #define SHORTxSHORT_32 /* produces better DCT code with Aztec C */ 25 | 26 | #endif /* JPEG_INTERNALS */ 27 | 28 | #ifdef JPEG_CJPEG_DJPEG 29 | 30 | #define BMP_SUPPORTED /* BMP image file format */ 31 | #define GIF_SUPPORTED /* GIF image file format */ 32 | #define PPM_SUPPORTED /* PBMPLUS PPM/PGM image file format */ 33 | #undef RLE_SUPPORTED /* Utah RLE image file format */ 34 | #define TARGA_SUPPORTED /* Targa image file format */ 35 | 36 | #define TWO_FILE_COMMANDLINE 37 | #define NEED_SIGNAL_CATCHER 38 | #undef DONT_USE_B_MODE 39 | #undef PROGRESS_REPORT /* optional */ 40 | 41 | #define signal_catcher _abort /* hack for Aztec C naming requirements */ 42 | 43 | #endif /* JPEG_CJPEG_DJPEG */ 44 | -------------------------------------------------------------------------------- /source/gbm/jpeg-6a/jconfig.mc6: -------------------------------------------------------------------------------- 1 | /* jconfig.mc6 --- jconfig.h for Microsoft C on MS-DOS, version 6.00A & up. */ 2 | /* see jconfig.doc for explanations */ 3 | 4 | #define HAVE_PROTOTYPES 5 | #define HAVE_UNSIGNED_CHAR 6 | #define HAVE_UNSIGNED_SHORT 7 | /* #define void char */ 8 | /* #define const */ 9 | #undef CHAR_IS_UNSIGNED 10 | #define HAVE_STDDEF_H 11 | #define HAVE_STDLIB_H 12 | #undef NEED_BSD_STRINGS 13 | #undef NEED_SYS_TYPES_H 14 | #define NEED_FAR_POINTERS /* for small or medium memory model */ 15 | #undef NEED_SHORT_EXTERNAL_NAMES 16 | #undef INCOMPLETE_TYPES_BROKEN 17 | 18 | #ifdef JPEG_INTERNALS 19 | 20 | #undef RIGHT_SHIFT_IS_UNSIGNED 21 | 22 | #define USE_MSDOS_MEMMGR /* Define this if you use jmemdos.c */ 23 | 24 | #define MAX_ALLOC_CHUNK 65520L /* Maximum request to malloc() */ 25 | 26 | #define USE_FMEM /* Microsoft has _fmemcpy() and _fmemset() */ 27 | 28 | #define NEED_FHEAPMIN /* far heap management routines are broken */ 29 | 30 | #define SHORTxLCONST_32 /* enable compiler-specific DCT optimization */ 31 | /* Note: the above define is known to improve the code with Microsoft C 6.00A. 32 | * I do not know whether it is good for later compiler versions. 33 | * Please report any info on this point to jpeg-info@uunet.uu.net. 34 | */ 35 | 36 | #endif /* JPEG_INTERNALS */ 37 | 38 | #ifdef JPEG_CJPEG_DJPEG 39 | 40 | #define BMP_SUPPORTED /* BMP image file format */ 41 | #define GIF_SUPPORTED /* GIF image file format */ 42 | #define PPM_SUPPORTED /* PBMPLUS PPM/PGM image file format */ 43 | #undef RLE_SUPPORTED /* Utah RLE image file format */ 44 | #define TARGA_SUPPORTED /* Targa image file format */ 45 | 46 | #define TWO_FILE_COMMANDLINE 47 | #define USE_SETMODE /* Microsoft has setmode() */ 48 | #define NEED_SIGNAL_CATCHER /* Define this if you use jmemdos.c */ 49 | #undef DONT_USE_B_MODE 50 | #undef PROGRESS_REPORT /* optional */ 51 | 52 | #endif /* JPEG_CJPEG_DJPEG */ 53 | -------------------------------------------------------------------------------- /source/gbm/jpeg-6a/jconfig.sas: -------------------------------------------------------------------------------- 1 | /* jconfig.sas --- jconfig.h for Amiga systems using SAS C 6.0 and up. */ 2 | /* see jconfig.doc for explanations */ 3 | 4 | #define HAVE_PROTOTYPES 5 | #define HAVE_UNSIGNED_CHAR 6 | #define HAVE_UNSIGNED_SHORT 7 | /* #define void char */ 8 | /* #define const */ 9 | #undef CHAR_IS_UNSIGNED 10 | #define HAVE_STDDEF_H 11 | #define HAVE_STDLIB_H 12 | #undef NEED_BSD_STRINGS 13 | #undef NEED_SYS_TYPES_H 14 | #undef NEED_FAR_POINTERS 15 | #undef NEED_SHORT_EXTERNAL_NAMES 16 | #undef INCOMPLETE_TYPES_BROKEN 17 | 18 | #ifdef JPEG_INTERNALS 19 | 20 | #undef RIGHT_SHIFT_IS_UNSIGNED 21 | 22 | #define TEMP_DIRECTORY "JPEGTMP:" /* recommended setting for Amiga */ 23 | 24 | #define NO_MKTEMP /* SAS C doesn't have mktemp() */ 25 | 26 | #define SHORTxSHORT_32 /* produces better DCT code with SAS C */ 27 | 28 | #endif /* JPEG_INTERNALS */ 29 | 30 | #ifdef JPEG_CJPEG_DJPEG 31 | 32 | #define BMP_SUPPORTED /* BMP image file format */ 33 | #define GIF_SUPPORTED /* GIF image file format */ 34 | #define PPM_SUPPORTED /* PBMPLUS PPM/PGM image file format */ 35 | #undef RLE_SUPPORTED /* Utah RLE image file format */ 36 | #define TARGA_SUPPORTED /* Targa image file format */ 37 | 38 | #define TWO_FILE_COMMANDLINE 39 | #define NEED_SIGNAL_CATCHER 40 | #undef DONT_USE_B_MODE 41 | #undef PROGRESS_REPORT /* optional */ 42 | 43 | #endif /* JPEG_CJPEG_DJPEG */ 44 | -------------------------------------------------------------------------------- /source/gbm/jpeg-6a/jconfig.st: -------------------------------------------------------------------------------- 1 | /* jconfig.st --- jconfig.h for Atari ST/STE/TT using Pure C or Turbo C. */ 2 | /* see jconfig.doc for explanations */ 3 | 4 | #define HAVE_PROTOTYPES 5 | #define HAVE_UNSIGNED_CHAR 6 | #define HAVE_UNSIGNED_SHORT 7 | /* #define void char */ 8 | /* #define const */ 9 | #undef CHAR_IS_UNSIGNED 10 | #define HAVE_STDDEF_H 11 | #define HAVE_STDLIB_H 12 | #undef NEED_BSD_STRINGS 13 | #undef NEED_SYS_TYPES_H 14 | #undef NEED_FAR_POINTERS 15 | #undef NEED_SHORT_EXTERNAL_NAMES 16 | #define INCOMPLETE_TYPES_BROKEN /* suppress undefined-structure warnings */ 17 | 18 | #ifdef JPEG_INTERNALS 19 | 20 | #undef RIGHT_SHIFT_IS_UNSIGNED 21 | 22 | #define ALIGN_TYPE long /* apparently double is a weird size? */ 23 | 24 | #endif /* JPEG_INTERNALS */ 25 | 26 | #ifdef JPEG_CJPEG_DJPEG 27 | 28 | #define BMP_SUPPORTED /* BMP image file format */ 29 | #define GIF_SUPPORTED /* GIF image file format */ 30 | #define PPM_SUPPORTED /* PBMPLUS PPM/PGM image file format */ 31 | #undef RLE_SUPPORTED /* Utah RLE image file format */ 32 | #define TARGA_SUPPORTED /* Targa image file format */ 33 | 34 | #define TWO_FILE_COMMANDLINE /* optional -- undef if you like Unix style */ 35 | /* Note: if you undef TWO_FILE_COMMANDLINE, you may need to define 36 | * USE_SETMODE. Some Atari compilers require it, some do not. 37 | */ 38 | #define NEED_SIGNAL_CATCHER /* needed if you use jmemname.c */ 39 | #undef DONT_USE_B_MODE 40 | #undef PROGRESS_REPORT /* optional */ 41 | 42 | #endif /* JPEG_CJPEG_DJPEG */ 43 | -------------------------------------------------------------------------------- /source/gbm/jpeg-6a/jconfig.vms: -------------------------------------------------------------------------------- 1 | /* jconfig.vms --- jconfig.h for use on Digital VMS. */ 2 | /* see jconfig.doc for explanations */ 3 | 4 | #define HAVE_PROTOTYPES 5 | #define HAVE_UNSIGNED_CHAR 6 | #define HAVE_UNSIGNED_SHORT 7 | /* #define void char */ 8 | /* #define const */ 9 | #undef CHAR_IS_UNSIGNED 10 | #define HAVE_STDDEF_H 11 | #define HAVE_STDLIB_H 12 | #undef NEED_BSD_STRINGS 13 | #undef NEED_SYS_TYPES_H 14 | #undef NEED_FAR_POINTERS 15 | #undef NEED_SHORT_EXTERNAL_NAMES 16 | #undef INCOMPLETE_TYPES_BROKEN 17 | 18 | #ifdef JPEG_INTERNALS 19 | 20 | #undef RIGHT_SHIFT_IS_UNSIGNED 21 | 22 | #endif /* JPEG_INTERNALS */ 23 | 24 | #ifdef JPEG_CJPEG_DJPEG 25 | 26 | #define BMP_SUPPORTED /* BMP image file format */ 27 | #define GIF_SUPPORTED /* GIF image file format */ 28 | #define PPM_SUPPORTED /* PBMPLUS PPM/PGM image file format */ 29 | #undef RLE_SUPPORTED /* Utah RLE image file format */ 30 | #define TARGA_SUPPORTED /* Targa image file format */ 31 | 32 | #define TWO_FILE_COMMANDLINE /* Needed on VMS */ 33 | #undef NEED_SIGNAL_CATCHER 34 | #undef DONT_USE_B_MODE 35 | #undef PROGRESS_REPORT /* optional */ 36 | 37 | #endif /* JPEG_CJPEG_DJPEG */ 38 | -------------------------------------------------------------------------------- /source/gbm/jpeg-6a/jconfig.wat: -------------------------------------------------------------------------------- 1 | /* jconfig.wat --- jconfig.h for Watcom C/C++ on MS-DOS or OS/2. */ 2 | /* see jconfig.doc for explanations */ 3 | 4 | #define HAVE_PROTOTYPES 5 | #define HAVE_UNSIGNED_CHAR 6 | #define HAVE_UNSIGNED_SHORT 7 | /* #define void char */ 8 | /* #define const */ 9 | #define CHAR_IS_UNSIGNED 10 | #define HAVE_STDDEF_H 11 | #define HAVE_STDLIB_H 12 | #undef NEED_BSD_STRINGS 13 | #undef NEED_SYS_TYPES_H 14 | #undef NEED_FAR_POINTERS /* Watcom uses flat 32-bit addressing */ 15 | #undef NEED_SHORT_EXTERNAL_NAMES 16 | #undef INCOMPLETE_TYPES_BROKEN 17 | 18 | #ifdef JPEG_INTERNALS 19 | 20 | #undef RIGHT_SHIFT_IS_UNSIGNED 21 | 22 | #endif /* JPEG_INTERNALS */ 23 | 24 | #ifdef JPEG_CJPEG_DJPEG 25 | 26 | #define BMP_SUPPORTED /* BMP image file format */ 27 | #define GIF_SUPPORTED /* GIF image file format */ 28 | #define PPM_SUPPORTED /* PBMPLUS PPM/PGM image file format */ 29 | #undef RLE_SUPPORTED /* Utah RLE image file format */ 30 | #define TARGA_SUPPORTED /* Targa image file format */ 31 | 32 | #undef TWO_FILE_COMMANDLINE /* optional */ 33 | #define USE_SETMODE /* Needed to make one-file style work in Watcom */ 34 | #undef NEED_SIGNAL_CATCHER /* Define this if you use jmemname.c */ 35 | #undef DONT_USE_B_MODE 36 | #undef PROGRESS_REPORT /* optional */ 37 | 38 | #endif /* JPEG_CJPEG_DJPEG */ 39 | -------------------------------------------------------------------------------- /source/gbm/jpeg-6a/jdosaobj.doc: -------------------------------------------------------------------------------- 1 | This archive contains already-assembled object files for JMEMDOSA.ASM 2 | of the Independent JPEG Group's JPEG package. These files will be helpful 3 | if you want to compile the IJG code for DOS, but don't have an assembler. 4 | 5 | These files were prepared from the 3/13/1992 version of JMEMDOSA.ASM, 6 | which is still unchanged as of mid-1994. You can use these files with 7 | releases 3 through 5 of the IJG code, and probably future releases too. 8 | 9 | To use these files, copy the proper version to JMEMDOSA.OBJ. Make sure 10 | this file has a newer date than JMEMDOSA.ASM. Then compile the code as 11 | usual. 12 | 13 | Object files included: 14 | 15 | JDOSAMSC.OBJ For Microsoft C version 5 or later. 16 | JDOSABCC.OBJ For Borland C version 3.0 or later. 17 | -------------------------------------------------------------------------------- /source/gbm/jpeg-6a/jinclude.h: -------------------------------------------------------------------------------- 1 | /* 2 | * jinclude.h 3 | * 4 | * Copyright (C) 1991-1994, Thomas G. Lane. 5 | * This file is part of the Independent JPEG Group's software. 6 | * For conditions of distribution and use, see the accompanying README file. 7 | * 8 | * This file exists to provide a single place to fix any problems with 9 | * including the wrong system include files. (Common problems are taken 10 | * care of by the standard jconfig symbols, but on really weird systems 11 | * you may have to edit this file.) 12 | * 13 | * NOTE: this file is NOT intended to be included by applications using the 14 | * JPEG library. Most applications need only include jpeglib.h. 15 | */ 16 | 17 | 18 | /* Include auto-config file to find out which system include files we need. */ 19 | 20 | #include "jconfig.h" /* auto configuration options */ 21 | #define JCONFIG_INCLUDED /* so that jpeglib.h doesn't do it again */ 22 | 23 | /* 24 | * We need the NULL macro and size_t typedef. 25 | * On an ANSI-conforming system it is sufficient to include . 26 | * Otherwise, we get them from or ; we may have to 27 | * pull in as well. 28 | * Note that the core JPEG library does not require ; 29 | * only the default error handler and data source/destination modules do. 30 | * But we must pull it in because of the references to FILE in jpeglib.h. 31 | * You can remove those references if you want to compile without . 32 | */ 33 | 34 | #ifdef HAVE_STDDEF_H 35 | #include 36 | #endif 37 | 38 | #ifdef HAVE_STDLIB_H 39 | #include 40 | #endif 41 | 42 | #ifdef NEED_SYS_TYPES_H 43 | #include 44 | #endif 45 | 46 | #include 47 | 48 | /* 49 | * We need memory copying and zeroing functions, plus strncpy(). 50 | * ANSI and System V implementations declare these in . 51 | * BSD doesn't have the mem() functions, but it does have bcopy()/bzero(). 52 | * Some systems may declare memset and memcpy in . 53 | * 54 | * NOTE: we assume the size parameters to these functions are of type size_t. 55 | * Change the casts in these macros if not! 56 | */ 57 | 58 | #ifdef NEED_BSD_STRINGS 59 | 60 | #include 61 | #define MEMZERO(target,size) bzero((void *)(target), (size_t)(size)) 62 | #define MEMCOPY(dest,src,size) bcopy((const void *)(src), (void *)(dest), (size_t)(size)) 63 | 64 | #else /* not BSD, assume ANSI/SysV string lib */ 65 | 66 | #include 67 | #define MEMZERO(target,size) memset((void *)(target), 0, (size_t)(size)) 68 | #define MEMCOPY(dest,src,size) memcpy((void *)(dest), (const void *)(src), (size_t)(size)) 69 | 70 | #endif 71 | 72 | /* 73 | * In ANSI C, and indeed any rational implementation, size_t is also the 74 | * type returned by sizeof(). However, it seems there are some irrational 75 | * implementations out there, in which sizeof() returns an int even though 76 | * size_t is defined as long or unsigned long. To ensure consistent results 77 | * we always use this SIZEOF() macro in place of using sizeof() directly. 78 | */ 79 | 80 | #define SIZEOF(object) ((size_t) sizeof(object)) 81 | 82 | /* 83 | * The modules that use fread() and fwrite() always invoke them through 84 | * these macros. On some systems you may need to twiddle the argument casts. 85 | * CAUTION: argument order is different from underlying functions! 86 | */ 87 | 88 | #define JFREAD(file,buf,sizeofbuf) \ 89 | ((size_t) fread((void *) (buf), (size_t) 1, (size_t) (sizeofbuf), (file))) 90 | #define JFWRITE(file,buf,sizeofbuf) \ 91 | ((size_t) fwrite((const void *) (buf), (size_t) 1, (size_t) (sizeofbuf), (file))) 92 | -------------------------------------------------------------------------------- /source/gbm/jpeg-6a/jmemnobs.c: -------------------------------------------------------------------------------- 1 | /* 2 | * jmemnobs.c 3 | * 4 | * Copyright (C) 1992-1996, Thomas G. Lane. 5 | * This file is part of the Independent JPEG Group's software. 6 | * For conditions of distribution and use, see the accompanying README file. 7 | * 8 | * This file provides a really simple implementation of the system- 9 | * dependent portion of the JPEG memory manager. This implementation 10 | * assumes that no backing-store files are needed: all required space 11 | * can be obtained from malloc(). 12 | * This is very portable in the sense that it'll compile on almost anything, 13 | * but you'd better have lots of main memory (or virtual memory) if you want 14 | * to process big images. 15 | * Note that the max_memory_to_use option is ignored by this implementation. 16 | */ 17 | 18 | #define JPEG_INTERNALS 19 | #include "jinclude.h" 20 | #include "jpeglib.h" 21 | #include "jmemsys.h" /* import the system-dependent declarations */ 22 | 23 | #ifndef HAVE_STDLIB_H /* should declare malloc(),free() */ 24 | extern void * malloc JPP((size_t size)); 25 | extern void free JPP((void *ptr)); 26 | #endif 27 | 28 | 29 | /* 30 | * Memory allocation and freeing are controlled by the regular library 31 | * routines malloc() and free(). 32 | */ 33 | 34 | GLOBAL(void *) 35 | jpeg_get_small (j_common_ptr cinfo, size_t sizeofobject) 36 | { 37 | return (void *) malloc(sizeofobject); 38 | } 39 | 40 | GLOBAL(void) 41 | jpeg_free_small (j_common_ptr cinfo, void * object, size_t sizeofobject) 42 | { 43 | free(object); 44 | } 45 | 46 | 47 | /* 48 | * "Large" objects are treated the same as "small" ones. 49 | * NB: although we include FAR keywords in the routine declarations, 50 | * this file won't actually work in 80x86 small/medium model; at least, 51 | * you probably won't be able to process useful-size images in only 64KB. 52 | */ 53 | 54 | GLOBAL(void FAR *) 55 | jpeg_get_large (j_common_ptr cinfo, size_t sizeofobject) 56 | { 57 | return (void FAR *) malloc(sizeofobject); 58 | } 59 | 60 | GLOBAL(void) 61 | jpeg_free_large (j_common_ptr cinfo, void FAR * object, size_t sizeofobject) 62 | { 63 | free(object); 64 | } 65 | 66 | 67 | /* 68 | * This routine computes the total memory space available for allocation. 69 | * Here we always say, "we got all you want bud!" 70 | */ 71 | 72 | GLOBAL(long) 73 | jpeg_mem_available (j_common_ptr cinfo, long min_bytes_needed, 74 | long max_bytes_needed, long already_allocated) 75 | { 76 | return max_bytes_needed; 77 | } 78 | 79 | 80 | /* 81 | * Backing store (temporary file) management. 82 | * Since jpeg_mem_available always promised the moon, 83 | * this should never be called and we can just error out. 84 | */ 85 | 86 | GLOBAL(void) 87 | jpeg_open_backing_store (j_common_ptr cinfo, backing_store_ptr info, 88 | long total_bytes_needed) 89 | { 90 | ERREXIT(cinfo, JERR_NO_BACKING_STORE); 91 | } 92 | 93 | 94 | /* 95 | * These routines take care of any system-dependent initialization and 96 | * cleanup required. Here, there isn't any. 97 | */ 98 | 99 | GLOBAL(long) 100 | jpeg_mem_init (j_common_ptr cinfo) 101 | { 102 | return 0; /* just set max_memory_to_use to 0 */ 103 | } 104 | 105 | GLOBAL(void) 106 | jpeg_mem_term (j_common_ptr cinfo) 107 | { 108 | /* no work */ 109 | } 110 | -------------------------------------------------------------------------------- /source/gbm/jpeg-6a/jversion.h: -------------------------------------------------------------------------------- 1 | /* 2 | * jversion.h 3 | * 4 | * Copyright (C) 1991-1996, Thomas G. Lane. 5 | * This file is part of the Independent JPEG Group's software. 6 | * For conditions of distribution and use, see the accompanying README file. 7 | * 8 | * This file contains software version identification. 9 | */ 10 | 11 | 12 | #define JVERSION "6a 7-Feb-96" 13 | 14 | #define JCOPYRIGHT "Copyright (C) 1996, Thomas G. Lane" 15 | -------------------------------------------------------------------------------- /source/gbm/jpeg-6a/makcjpeg.st: -------------------------------------------------------------------------------- 1 | ; Project file for Independent JPEG Group's software 2 | ; 3 | ; This project file is for Atari ST/STE/TT systems using Pure C or Turbo C. 4 | ; Thanks to Frank Moehle (Frank.Moehle@arbi.informatik.uni-oldenburg.de) 5 | ; and to Dr. B. Setzepfandt (bernd@gina.uni-muenster.de). 6 | ; 7 | ; To use this file, rename it to CJPEG.PRJ. 8 | ; If you are using Turbo C, change filenames beginning with "PC..." to "TC..." 9 | ; Read installation instructions before trying to make the program! 10 | ; 11 | ; 12 | ; * * * Output file * * * 13 | cjpeg.ttp 14 | ; 15 | ; * * * COMPILER OPTIONS * * * 16 | .C[-P] ; absolute calls 17 | .C[-M] ; and no string merging, folks 18 | .C[-w-cln] ; no "constant is long" warnings 19 | .C[-w-par] ; no "parameter xxxx unused" 20 | .C[-w-rch] ; no "unreachable code" 21 | .C[-wsig] ; warn if significant digits may be lost 22 | = 23 | ; * * * * List of modules * * * * 24 | PCSTART.O 25 | cjpeg.c (cdjpeg.h,jinclude.h,jconfig.h,jpeglib.h,jmorecfg.h,jerror.h,cderror.h,jversion.h) 26 | cdjpeg.c (cdjpeg.h,jinclude.h,jconfig.h,jpeglib.h,jmorecfg.h,jerror.h,cderror.h) 27 | rdswitch.c (cdjpeg.h,jinclude.h,jconfig.h,jpeglib.h,jmorecfg.h,jerror.h,cderror.h) 28 | rdppm.c (cdjpeg.h,jinclude.h,jconfig.h,jpeglib.h,jmorecfg.h,jerror.h,cderror.h) 29 | rdgif.c (cdjpeg.h,jinclude.h,jconfig.h,jpeglib.h,jmorecfg.h,jerror.h,cderror.h) 30 | rdtarga.c (cdjpeg.h,jinclude.h,jconfig.h,jpeglib.h,jmorecfg.h,jerror.h,cderror.h) 31 | rdbmp.c (cdjpeg.h,jinclude.h,jconfig.h,jpeglib.h,jmorecfg.h,jerror.h,cderror.h) 32 | rdrle.c (cdjpeg.h,jinclude.h,jconfig.h,jpeglib.h,jmorecfg.h,jerror.h,cderror.h) 33 | LIBJPEG.LIB ; built by LIBJPEG.PRJ 34 | PCFLTLIB.LIB ; floating point library 35 | ; the float library can be omitted if you've turned off DCT_FLOAT_SUPPORTED 36 | PCSTDLIB.LIB ; standard library 37 | PCEXTLIB.LIB ; extended library 38 | -------------------------------------------------------------------------------- /source/gbm/jpeg-6a/makdjpeg.st: -------------------------------------------------------------------------------- 1 | ; Project file for Independent JPEG Group's software 2 | ; 3 | ; This project file is for Atari ST/STE/TT systems using Pure C or Turbo C. 4 | ; Thanks to Frank Moehle (Frank.Moehle@arbi.informatik.uni-oldenburg.de) 5 | ; and to Dr. B. Setzepfandt (bernd@gina.uni-muenster.de). 6 | ; 7 | ; To use this file, rename it to DJPEG.PRJ. 8 | ; If you are using Turbo C, change filenames beginning with "PC..." to "TC..." 9 | ; Read installation instructions before trying to make the program! 10 | ; 11 | ; 12 | ; * * * Output file * * * 13 | djpeg.ttp 14 | ; 15 | ; * * * COMPILER OPTIONS * * * 16 | .C[-P] ; absolute calls 17 | .C[-M] ; and no string merging, folks 18 | .C[-w-cln] ; no "constant is long" warnings 19 | .C[-w-par] ; no "parameter xxxx unused" 20 | .C[-w-rch] ; no "unreachable code" 21 | .C[-wsig] ; warn if significant digits may be lost 22 | = 23 | ; * * * * List of modules * * * * 24 | PCSTART.O 25 | djpeg.c (cdjpeg.h,jinclude.h,jconfig.h,jpeglib.h,jmorecfg.h,jerror.h,cderror.h,jversion.h) 26 | cdjpeg.c (cdjpeg.h,jinclude.h,jconfig.h,jpeglib.h,jmorecfg.h,jerror.h,cderror.h) 27 | rdcolmap.c (cdjpeg.h,jinclude.h,jconfig.h,jpeglib.h,jmorecfg.h,jerror.h,cderror.h) 28 | wrppm.c (cdjpeg.h,jinclude.h,jconfig.h,jpeglib.h,jmorecfg.h,jerror.h,cderror.h) 29 | wrgif.c (cdjpeg.h,jinclude.h,jconfig.h,jpeglib.h,jmorecfg.h,jerror.h,cderror.h) 30 | wrtarga.c (cdjpeg.h,jinclude.h,jconfig.h,jpeglib.h,jmorecfg.h,jerror.h,cderror.h) 31 | wrbmp.c (cdjpeg.h,jinclude.h,jconfig.h,jpeglib.h,jmorecfg.h,jerror.h,cderror.h) 32 | wrrle.c (cdjpeg.h,jinclude.h,jconfig.h,jpeglib.h,jmorecfg.h,jerror.h,cderror.h) 33 | LIBJPEG.LIB ; built by LIBJPEG.PRJ 34 | PCFLTLIB.LIB ; floating point library 35 | ; the float library can be omitted if you've turned off DCT_FLOAT_SUPPORTED 36 | PCSTDLIB.LIB ; standard library 37 | PCEXTLIB.LIB ; extended library 38 | -------------------------------------------------------------------------------- /source/gbm/jpeg-6a/maktjpeg.st: -------------------------------------------------------------------------------- 1 | ; Project file for Independent JPEG Group's software 2 | ; 3 | ; This project file is for Atari ST/STE/TT systems using Pure C or Turbo C. 4 | ; Thanks to Frank Moehle (Frank.Moehle@arbi.informatik.uni-oldenburg.de) 5 | ; and to Dr. B. Setzepfandt (bernd@gina.uni-muenster.de). 6 | ; 7 | ; To use this file, rename it to JPEGTRAN.PRJ. 8 | ; If you are using Turbo C, change filenames beginning with "PC..." to "TC..." 9 | ; Read installation instructions before trying to make the program! 10 | ; 11 | ; 12 | ; * * * Output file * * * 13 | jpegtran.ttp 14 | ; 15 | ; * * * COMPILER OPTIONS * * * 16 | .C[-P] ; absolute calls 17 | .C[-M] ; and no string merging, folks 18 | .C[-w-cln] ; no "constant is long" warnings 19 | .C[-w-par] ; no "parameter xxxx unused" 20 | .C[-w-rch] ; no "unreachable code" 21 | .C[-wsig] ; warn if significant digits may be lost 22 | = 23 | ; * * * * List of modules * * * * 24 | PCSTART.O 25 | jpegtran.c (cdjpeg.h,jinclude.h,jconfig.h,jpeglib.h,jmorecfg.h,jerror.h,cderror.h,jversion.h) 26 | cdjpeg.c (cdjpeg.h,jinclude.h,jconfig.h,jpeglib.h,jmorecfg.h,jerror.h,cderror.h) 27 | rdswitch.c (cdjpeg.h,jinclude.h,jconfig.h,jpeglib.h,jmorecfg.h,jerror.h,cderror.h) 28 | LIBJPEG.LIB ; built by LIBJPEG.PRJ 29 | PCSTDLIB.LIB ; standard library 30 | PCEXTLIB.LIB ; extended library 31 | -------------------------------------------------------------------------------- /source/gbm/jpeg-6a/makvms.opt: -------------------------------------------------------------------------------- 1 | ! A pointer to the VAX/VMS C Run-Time Shareable Library. 2 | ! This file is needed by makefile.mms and makefile.vms, 3 | ! but only for the older VAX C compiler. DEC C does not need it. 4 | Sys$Library:VAXCRTL.EXE /Share 5 | -------------------------------------------------------------------------------- /source/gbm/jpeg-6a/rdjpgcom.1: -------------------------------------------------------------------------------- 1 | .TH RDJPGCOM 1 "15 June 1995" 2 | .SH NAME 3 | rdjpgcom \- display text comments from a JPEG file 4 | .SH SYNOPSIS 5 | .B rdjpgcom 6 | [ 7 | .B \-verbose 8 | ] 9 | [ 10 | .I filename 11 | ] 12 | .LP 13 | .SH DESCRIPTION 14 | .LP 15 | .B rdjpgcom 16 | reads the named JPEG/JFIF file, or the standard input if no file is named, 17 | and prints any text comments found in the file on the standard output. 18 | .PP 19 | The JPEG standard allows "comment" (COM) blocks to occur within a JPEG file. 20 | Although the standard doesn't actually define what COM blocks are for, they 21 | are widely used to hold user-supplied text strings. This lets you add 22 | annotations, titles, index terms, etc to your JPEG files, and later retrieve 23 | them as text. COM blocks do not interfere with the image stored in the JPEG 24 | file. The maximum size of a COM block is 64K, but you can have as many of 25 | them as you like in one JPEG file. 26 | .SH OPTIONS 27 | .TP 28 | .B \-verbose 29 | Causes 30 | .B rdjpgcom 31 | to also display the JPEG image dimensions. 32 | .PP 33 | Switch names may be abbreviated, and are not case sensitive. 34 | .SH HINTS 35 | .B rdjpgcom 36 | does not depend on the IJG JPEG library. Its source code is intended as an 37 | illustration of the minimum amount of code required to parse a JPEG file 38 | header correctly. 39 | .SH SEE ALSO 40 | .BR cjpeg (1), 41 | .BR djpeg (1), 42 | .BR jpegtran (1), 43 | .BR wrjpgcom (1) 44 | .SH AUTHOR 45 | Independent JPEG Group 46 | -------------------------------------------------------------------------------- /source/gbm/jpeg-6a/rdswitch.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/source/gbm/jpeg-6a/rdswitch.c -------------------------------------------------------------------------------- /source/gbm/jpeg-6a/readme.dos: -------------------------------------------------------------------------------- 1 | This archive contains a DOS-friendly version of the Independent JPEG Group's 2 | source code. It differs from the normal distribution in that: 3 | 4 | 1. The archive format is zip rather than tar+gzip. You should be able to 5 | unpack it with PKUNZIP (2.04g or later) or Info-Zip's unzip. 6 | 7 | 2. File names have been truncated to DOS-compatible 8+3 characters. 8 | 9 | 3. Newlines have been converted from Unix (LF) to DOS (CR/LF) style in all 10 | text files, but not in the binary files (test*.*). 11 | 12 | 4. Object files have been included for jmemdosa.asm. See jdosaobj.doc. 13 | 14 | Please see the main README file for the primary documentation. 15 | 16 | If you'd rather have a non-DOSified archive, see the ARCHIVE LOCATIONS section 17 | of README. 18 | -------------------------------------------------------------------------------- /source/gbm/jpeg-6a/testimg.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/source/gbm/jpeg-6a/testimg.gif -------------------------------------------------------------------------------- /source/gbm/jpeg-6a/testimg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/source/gbm/jpeg-6a/testimg.jpg -------------------------------------------------------------------------------- /source/gbm/jpeg-6a/testimg.ppm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/source/gbm/jpeg-6a/testimg.ppm -------------------------------------------------------------------------------- /source/gbm/jpeg-6a/testimgp.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/source/gbm/jpeg-6a/testimgp.jpg -------------------------------------------------------------------------------- /source/gbm/jpeg-6a/testorig.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/source/gbm/jpeg-6a/testorig.jpg -------------------------------------------------------------------------------- /source/gbm/jpeg-6a/testprog.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/source/gbm/jpeg-6a/testprog.jpg -------------------------------------------------------------------------------- /source/gbm/jpeg-6a/wrjpgcom.1: -------------------------------------------------------------------------------- 1 | .TH WRJPGCOM 1 "15 June 1995" 2 | .SH NAME 3 | wrjpgcom \- insert text comments into a JPEG file 4 | .SH SYNOPSIS 5 | .B wrjpgcom 6 | [ 7 | .B \-replace 8 | ] 9 | [ 10 | .BI \-comment " text" 11 | ] 12 | [ 13 | .BI \-cfile " name" 14 | ] 15 | [ 16 | .I filename 17 | ] 18 | .LP 19 | .SH DESCRIPTION 20 | .LP 21 | .B wrjpgcom 22 | reads the named JPEG/JFIF file, or the standard input if no file is named, 23 | and generates a new JPEG/JFIF file on standard output. A comment block is 24 | added to the file. 25 | .PP 26 | The JPEG standard allows "comment" (COM) blocks to occur within a JPEG file. 27 | Although the standard doesn't actually define what COM blocks are for, they 28 | are widely used to hold user-supplied text strings. This lets you add 29 | annotations, titles, index terms, etc to your JPEG files, and later retrieve 30 | them as text. COM blocks do not interfere with the image stored in the JPEG 31 | file. The maximum size of a COM block is 64K, but you can have as many of 32 | them as you like in one JPEG file. 33 | .PP 34 | .B wrjpgcom 35 | adds a COM block, containing text you provide, to a JPEG file. 36 | Ordinarily, the COM block is added after any existing COM blocks; but you 37 | can delete the old COM blocks if you wish. 38 | .SH OPTIONS 39 | Switch names may be abbreviated, and are not case sensitive. 40 | .TP 41 | .B \-replace 42 | Delete any existing COM blocks from the file. 43 | .TP 44 | .BI \-comment " text" 45 | Supply text for new COM block on command line. 46 | .TP 47 | .BI \-cfile " name" 48 | Read text for new COM block from named file. 49 | .PP 50 | If you have only one line of comment text to add, you can provide it on the 51 | command line with 52 | .BR \-comment . 53 | The comment text must be surrounded with quotes so that it is treated as a 54 | single argument. Longer comments can be read from a text file. 55 | .PP 56 | If you give neither 57 | .B \-comment 58 | nor 59 | .BR \-cfile , 60 | then 61 | .B wrjpgcom 62 | will read the comment text from standard input. (In this case an input image 63 | file name MUST be supplied, so that the source JPEG file comes from somewhere 64 | else.) You can enter multiple lines, up to 64KB worth. Type an end-of-file 65 | indicator (usually control-D) to terminate the comment text entry. 66 | .PP 67 | .B wrjpgcom 68 | will not add a COM block if the provided comment string is empty. Therefore 69 | \fB\-replace \-comment ""\fR can be used to delete all COM blocks from a file. 70 | .SH EXAMPLES 71 | .LP 72 | Add a short comment to in.jpg, producing out.jpg: 73 | .IP 74 | .B wrjpgcom \-c 75 | \fI"View of my back yard" in.jpg 76 | .B > 77 | .I out.jpg 78 | .PP 79 | Attach a long comment previously stored in comment.txt: 80 | .IP 81 | .B wrjpgcom 82 | .I in.jpg 83 | .B < 84 | .I comment.txt 85 | .B > 86 | .I out.jpg 87 | .PP 88 | or equivalently 89 | .IP 90 | .B wrjpgcom 91 | .B -cfile 92 | .I comment.txt 93 | .B < 94 | .I in.jpg 95 | .B > 96 | .I out.jpg 97 | .SH SEE ALSO 98 | .BR cjpeg (1), 99 | .BR djpeg (1), 100 | .BR jpegtran (1), 101 | .BR rdjpgcom (1) 102 | .SH AUTHOR 103 | Independent JPEG Group 104 | -------------------------------------------------------------------------------- /source/gbm/os2/gbm.def: -------------------------------------------------------------------------------- 1 | LIBRARY GBM INITINSTANCE TERMINSTANCE 2 | 3 | DATA MULTIPLE NONSHARED READWRITE 4 | 5 | CODE PRELOAD EXECUTEREAD 6 | 7 | EXPORTS 8 | gbm_init 9 | gbm_deinit 10 | gbm_io_setup 11 | gbm_io_open 12 | gbm_io_create 13 | gbm_io_close 14 | gbm_io_lseek 15 | gbm_io_read 16 | gbm_io_write 17 | gbm_query_n_filetypes 18 | gbm_query_filetype 19 | gbm_guess_filetype 20 | gbm_read_header 21 | gbm_read_palette 22 | gbm_read_data 23 | gbm_write 24 | gbm_err 25 | gbm_version 26 | Gbm_init 27 | Gbm_deinit 28 | Gbm_io_open 29 | Gbm_io_create 30 | Gbm_io_close 31 | Gbm_io_lseek 32 | Gbm_io_read 33 | Gbm_io_write 34 | Gbm_query_n_filetypes 35 | Gbm_query_filetype 36 | Gbm_guess_filetype 37 | Gbm_read_header 38 | Gbm_read_palette 39 | Gbm_read_data 40 | Gbm_write 41 | Gbm_err 42 | Gbm_version 43 | -------------------------------------------------------------------------------- /source/gbm/test/rainbow_fish.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/source/gbm/test/rainbow_fish.tif -------------------------------------------------------------------------------- /source/gbm/test/test.sh: -------------------------------------------------------------------------------- 1 | #!/bin/ksh 2 | 3 | outfn() 4 | { 5 | print -n $1 | tr , _ | tr : _ 6 | } 7 | 8 | mkdir -p tmp 9 | 10 | # Output formats 11 | 12 | test_output() 13 | { 14 | fmt24s="jpg bmp pcx tif tif,lzw tga tga,ydown tga,16 tga,32 lbm lbm,ham6 vid img" 15 | for fmt24 in $fmt24s ; do 16 | gbmref rainbow_fish.tif tmp/24_`outfn $fmt24`.$fmt24 17 | xgbmv tmp/24_`outfn $fmt24`.${fmt24%%,*} 18 | done 19 | 20 | fmt8s="bmp pcx tif tif,lzw gif gif,ilace pcx tga tga,ydown lbm pgm kps iax iax,r iax,g iax,b spr img img,pal" 21 | for fmt8 in $fmt8s ; do 22 | gbmbpp -m 7x8x4 rainbow_fish.tif tmp/8_`outfn $fmt8`.$fmt8 23 | xgbmv tmp/8_`outfn $fmt8`.${fmt8%%,*} 24 | done 25 | 26 | fmt4s="bmp pcx tif tif,lzw gif gif,ilace pcx lbm spr img img,grey img,pal" 27 | for fmt4 in $fmt4s ; do 28 | gbmbpp -m vga rainbow_fish.tif tmp/4_`outfn $fmt4`.$fmt4 29 | xgbmv tmp/4_`outfn $fmt4`.${fmt4%%,*} 30 | done 31 | 32 | fmt1s="bmp pcx tif tif,lzw gif gif,ilace pcx lbm xbm spr pseg img" 33 | for fmt1 in $fmt1s ; do 34 | gbmbpp -m bw rainbow_fish.tif tmp/1_`outfn $fmt1`.$fmt1 35 | xgbmv tmp/1_`outfn $fmt1`.${fmt1%%,*} 36 | done 37 | } 38 | 39 | # Mappings 40 | 41 | test_mappings() 42 | { 43 | for map in \ 44 | 6:6:6 4:4:4 2:2:2 \ 45 | mcut256 mcut128 mcut64 mcut32 \ 46 | freq6:6:6:256 freq6:6:6:128 freq6:6:6:64 freq6:6:6:32 \ 47 | tripel 8g 4x4x4 6x6x6 7x8x4 \ 48 | 4g 8 vga bw \ 49 | ; do 50 | gbmbpp -m $map rainbow_fish.tif tmp/map_`outfn $map`.tif,lzw 51 | xgbmv tmp/map_`outfn $map`.tif 52 | done 53 | } 54 | 55 | test_output 56 | test_mappings 57 | 58 | print -n "Enter to remove temporary files..." 59 | read 60 | rm -rf tmp 61 | -------------------------------------------------------------------------------- /source/grid.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/source/grid.bmp -------------------------------------------------------------------------------- /source/grid.cur: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/source/grid.cur -------------------------------------------------------------------------------- /source/hdomain.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/source/hdomain.ico -------------------------------------------------------------------------------- /source/hidden.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/source/hidden.ico -------------------------------------------------------------------------------- /source/htmlhelp.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/source/htmlhelp.lib -------------------------------------------------------------------------------- /source/keycmds.chm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/source/keycmds.chm -------------------------------------------------------------------------------- /source/kube-gustavson-fft.h: -------------------------------------------------------------------------------- 1 | /************************************************************** 2 | * kube_fft.h 3 | * 4 | * Forward and inverse discrete 2D Fourier transforms. 5 | * 6 | * This software is in the public domain. 7 | * 8 | **************************************************************/ 9 | 10 | typedef struct fcomplex {float re; float im;} COMPLEX; 11 | typedef struct dcomplex {double re; double im;} DCOMPLEX; 12 | 13 | #ifndef ERROR 14 | #define ERROR -1 15 | #define NO_ERROR 0 16 | #endif 17 | 18 | #define FFT_FORWARD 0 19 | #define FFT_INVERSE 1 20 | 21 | #ifndef PI 22 | #define PI 3.1415926535897932 23 | #endif 24 | 25 | #define TWOPI 6.2831853071795865 /* 2.0 * PI */ 26 | #define HALFPI 1.5707963267948966 /* PI / 2.0 */ 27 | #define PI8 0.392699081698724 /* PI / 8.0 */ 28 | #define RT2 1.4142135623731 /* sqrt(2.0) */ 29 | #define IRT2 0.707106781186548 /* 1.0/sqrt(2.0) */ 30 | 31 | /* Perform forward 2D transform on a COMPLEX array. */ 32 | int forward_fft2f(COMPLEX *array, int rows, int cols); 33 | 34 | /* Perform inverse 2D transform on a COMPLEX array. */ 35 | int inverse_fft2f(COMPLEX *array, int rows, int cols); 36 | 37 | /* Perform forward 2D transform on a DCOMPLEX array. */ 38 | int forward_fft2d(DCOMPLEX *array, int rows, int cols); 39 | 40 | /* Perform inverse 2D transform on a DCOMPLEX array. */ 41 | int inverse_fft2d(DCOMPLEX *array, int rows, int cols); 42 | -------------------------------------------------------------------------------- /source/large.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/source/large.ico -------------------------------------------------------------------------------- /source/line.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/source/line.bmp -------------------------------------------------------------------------------- /source/line.cur: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/source/line.cur -------------------------------------------------------------------------------- /source/lock.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/source/lock.bmp -------------------------------------------------------------------------------- /source/lock.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/source/lock.ico -------------------------------------------------------------------------------- /source/magnify.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/source/magnify.bmp -------------------------------------------------------------------------------- /source/magnify.cur: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/source/magnify.cur -------------------------------------------------------------------------------- /source/manual.chm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/source/manual.chm -------------------------------------------------------------------------------- /source/mousecmds.chm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/source/mousecmds.chm -------------------------------------------------------------------------------- /source/multiline.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/source/multiline.bmp -------------------------------------------------------------------------------- /source/multiline.cur: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/source/multiline.cur -------------------------------------------------------------------------------- /source/ngbm.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/source/ngbm.lib -------------------------------------------------------------------------------- /source/nmakefile: -------------------------------------------------------------------------------- 1 | # makefile (Visual C++ 2005 Express Edition NMAKE utility) for Reconstruct applications 2 | 3 | EXEFILE = reconstruct.exe 4 | HDRFILES = constants.h gbm.h classes.h operations.h globals.h reconstruct.h kube-gustavson-fft.h 5 | SRCFILES = contour.cpp nform.cpp adib.cpp image.cpp xmldata.cpp viewport.cpp section.cpp series.cpp kube-gustavson-fft.cpp\ 6 | vrmlobject.cpp vrmlobjects.cpp vrmlscene.cpp boissonnat.cpp sectionsinfo.cpp tformslifo.cpp threads.cpp palette.cpp\ 7 | program_menu.cpp series_menu.cpp section_menu.cpp domain_menu.cpp trace_menu.cpp objects_menu.cpp help_menu.cpp\ 8 | init.cpp end.cpp utility.cpp tools.cpp thumbnails.cpp keyboard.cpp mouse.cpp opengl.cpp globals.cpp reconstruct.cpp histogram.cpp 9 | OBJFILES = contour.obj nform.obj adib.obj image.obj xmldata.obj viewport.obj section.obj series.obj kube-gustavson-fft.obj\ 10 | vrmlobject.obj vrmlobjects.obj vrmlscene.obj boissonnat.obj sectionsinfo.obj tformslifo.obj threads.obj palette.obj\ 11 | program_menu.obj series_menu.obj section_menu.obj domain_menu.obj trace_menu.obj objects_menu.obj help_menu.obj\ 12 | init.obj end.obj utility.obj tools.obj thumbnails.obj keyboard.obj mouse.obj opengl.obj globals.obj reconstruct.obj histogram.obj 13 | RCFILES = reconstruct.rc 14 | RESFILES = reconstruct.res 15 | 16 | # Use the GBM library compiled for MS VC tools. Also explicitly list all SDK .lib files used... 17 | LIBFILES = ngbm.lib user32.lib gdi32.lib opengl32.lib comdlg32.lib comctl32.lib version.lib htmlhelp.lib AdvAPI32.lib 18 | 19 | # the following definitions serve only to document all of files used by the application 20 | ICONS = large.ico section.ico small.ico 21 | CURSORS = cultiline.cur domain.cur ellipse.cur eraser.cur line.cur magnify.cur multiline.cur pencil.cur point.cur\ 22 | rectangle.cur xy.cur zoom.cur 23 | BITMAPS = arrow.bmp cultiline.bmp domain.bmp ellipse.bmp exclamation.bmp line.bmp magnify.bmp multiline.bmp pencil.bmp point.bmp\ 24 | reconstruct.bmp rectangle.bmp xyzoom.bmp 25 | 26 | # Define environment variables RECONSTRUCT_COMPILER, RECONSTRUCT_LINKER, RECONSTRUCT_RC, RECONSTRUCT_LIB, RECONSTRUCT_INCLUDE 27 | # to specify the location on your system of these files (as a quoted string), 28 | # e.g. set RECONSTRUCT_COMPILER="C:\Program Files\Microsoft Visual Studio 8\VC\bin\cl" 29 | # via Control Panel->System->Advanced->Environment Variables on a Windows XP machine 30 | # (You may need to logout before your environment variables will take effect.) 31 | # Additionally, define the path to the Windows Platform SDK in the environment variables INCLUDE and LIB 32 | # e.g. set INCLUDE="C:\Program Files\Microsoft Platform SDK\Include" 33 | # and set LIB="C:\Program Files\Microsoft Platform SDK\Lib" 34 | 35 | CFLAGS = -c -O2 -MT -GA -I$(RECONSTRUCT_INCLUDE) -D_CRT_SECURE_NO_DEPRECATE -DWINVER=0x0400 -D_WIN32_WINNT=0x0400 36 | # -c compile only, do not link 37 | # -MT multithreading 38 | # -GA Windows application 39 | # -Od no optimizations for debug, but in final use -O2 40 | # -I location of include files 41 | # -D override value in Windows API include files to make compatible with NT 4.0 and disable deprecation warnings 42 | 43 | LFLAGS = -OUT:$(EXEFILE) -INCREMENTAL:NO -LIBPATH:$(RECONSTRUCT_LIB) -LIBPATH:$(LIB) 44 | # disable incremental linking 45 | 46 | RFLAGS = -I$(INCLUDE) 47 | # need to uncomment the include statement in reconstruct.rc for MS RC to recognize VK_F1, etc. 48 | 49 | # primary target is linking .exe application, dependent on .obj and .res 50 | $(EXEFILE) : $(OBJFILES) $(RESFILES) 51 | $(RECONSTRUCT_LINKER) $(LFLAGS) $(OBJFILES) $(LIBFILES) $(RESFILES) 52 | 53 | # if any source files are newer than header files, recompile all sources 54 | $(OBJFILES) : $(HDRFILES) 55 | $(RECONSTRUCT_COMPILER) $(CFLAGS) $(SRCFILES) 56 | 57 | # if any source file is newer than its object file, recompile just that one source 58 | .cpp.obj : 59 | $(RECONSTRUCT_COMPILER) $(CFLAGS) $(SRCFILES) 60 | 61 | # if any .rc or header files are newer than .res files, recompile resources 62 | $(RESFILES) : $(RCFILES) $(HDRFILES) 63 | $(RECONSTRUCT_RC) $(RFLAGS) $(RCFILES) 64 | 65 | clean : 66 | del *.obj *.res *.bak 67 | 68 | -------------------------------------------------------------------------------- /source/object.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/source/object.ico -------------------------------------------------------------------------------- /source/oloop.ICO: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/source/oloop.ICO -------------------------------------------------------------------------------- /source/open.ICO: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/source/open.ICO -------------------------------------------------------------------------------- /source/outfire.cur: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/source/outfire.cur -------------------------------------------------------------------------------- /source/pencil.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/source/pencil.bmp -------------------------------------------------------------------------------- /source/pencil.cur: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/source/pencil.cur -------------------------------------------------------------------------------- /source/precision.cur: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/source/precision.cur -------------------------------------------------------------------------------- /source/recon1100src.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/source/recon1100src.zip -------------------------------------------------------------------------------- /source/reconstruct.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/source/reconstruct.bmp -------------------------------------------------------------------------------- /source/reconstruct.res: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/source/reconstruct.res -------------------------------------------------------------------------------- /source/rectangle.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/source/rectangle.bmp -------------------------------------------------------------------------------- /source/rectangle.cur: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/source/rectangle.cur -------------------------------------------------------------------------------- /source/resource.rc: -------------------------------------------------------------------------------- 1 | BALLBMP BITMAP "ball.bmp" // can be found in the Templates folder, please copy to the project folder 2 | MASKBMP BITMAP "ballmask.bmp" // as above 3 | -------------------------------------------------------------------------------- /source/rotate.cur: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/source/rotate.cur -------------------------------------------------------------------------------- /source/scalpel.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/source/scalpel.bmp -------------------------------------------------------------------------------- /source/scalpel.cur: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/source/scalpel.cur -------------------------------------------------------------------------------- /source/scissor.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/source/scissor.bmp -------------------------------------------------------------------------------- /source/scissor.cur: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/source/scissor.cur -------------------------------------------------------------------------------- /source/sha1sum.txt: -------------------------------------------------------------------------------- 1 | bb49c3e7df4dcdba8cd965fd95bd5b9e4c4950c1 *Reconstruct.exe 2 | -------------------------------------------------------------------------------- /source/small.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/source/small.ico -------------------------------------------------------------------------------- /source/stamp.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/source/stamp.bmp -------------------------------------------------------------------------------- /source/stipple.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/source/stipple.bmp -------------------------------------------------------------------------------- /source/tformslifo.cpp: -------------------------------------------------------------------------------- 1 | /////////////////////////////////////////////////////////////////////////////// 2 | // This file contains the methods for the undo LIFOs on Transforms lists 3 | // 4 | // Copyright (C) 2003-2004 John Fiala (fiala@bu.edu) 5 | // 6 | // This is free software created with funding from the NIH. You may 7 | // redistribute it and/or modify it under the terms of the GNU General 8 | // Public License published by the Free Software Foundation (www.gnu.org). 9 | // 10 | // This program is distributed in the hope that it will be useful, 11 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | // GNU General Public License version 2 for more details. 14 | // 15 | // 16 | // modified xx/xx/xx by _______________________ 17 | // -+- change: 18 | // 19 | 20 | #include "reconstruct.h" 21 | 22 | TformsLIFO::TformsLIFO() // initial the index and lifo array to NULLs 23 | { 24 | last = -1; 25 | for ( int i=0; i= MAX_UNDOS ) last = 1; // wrap around if lifo full, but dont overwrite 0 46 | if ( lifo[last] ) delete lifo[last]; // clear (second) oldest lifo entry 47 | lifo[last] = new Transforms( *transforms ); // put copy of trnasforms into LIFO 48 | } 49 | 50 | Transforms * TformsLIFO::Pop( void ) // recall last lifo entry 51 | { 52 | Transforms *tmp; 53 | if ( last < 0 ) return( NULL ); // return NULL if lifo is empty 54 | 55 | tmp = lifo[last]; // get item to return 56 | lifo[last] = NULL; // clear it from LIFO (but dont delete becuz will use it) 57 | last--; // backup one LIFO item 58 | if ( last >= 0 ) // still have entries in lifo? 59 | { 60 | if ( last == 0 ) last = MAX_UNDOS-1; // test wrapping around lifo 61 | if ( lifo[last] == NULL ) last = 0; // if no items remain, go to first entry 62 | } 63 | return( tmp ); 64 | } 65 | 66 | void TformsLIFO::Clear( void ) // clear all lifo entries and reset index 67 | { 68 | last = -1; 69 | for (int i=0; iClear(); // delete all other lifo entries 82 | return( tmp ); 83 | } 84 | 85 | Transforms * TformsLIFO::First( void ) // return the first lifo entry but don't remove anything 86 | { 87 | return( lifo[0] ); 88 | } 89 | -------------------------------------------------------------------------------- /source/trace.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/source/trace.ico -------------------------------------------------------------------------------- /source/unlock.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/source/unlock.bmp -------------------------------------------------------------------------------- /source/unlock.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/source/unlock.ico -------------------------------------------------------------------------------- /source/vrmlobjects.cpp: -------------------------------------------------------------------------------- 1 | ///////////////////////////////////////////////////////////////////////////// 2 | // This file contains the additional methods of the VRMLObject list class 3 | // 4 | // Copyright (C) 2003-2004 John Fiala (fiala@bu.edu) 5 | // 6 | // This is free software created with funding from the NIH. You may 7 | // redistribute it and/or modify it under the terms of the GNU General 8 | // Public License published by the Free Software Foundation (www.gnu.org). 9 | // 10 | // This program is distributed in the hope that it will be useful, 11 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | // GNU General Public License version 2 for more details. 14 | // 15 | // 16 | // modified xx/xx/xx by _______________________ 17 | // -+- change: 18 | // 19 | 20 | #include "reconstruct.h" 21 | 22 | VRMLObject * VRMLObjects::Match( char * name ) 23 | { 24 | VRMLObject *object; 25 | 26 | object = this->first; 27 | while ( object ) 28 | { 29 | if ( (strcmp( object->name, name ) == 0) ) break; 30 | object = object->next; 31 | } 32 | 33 | return object; 34 | } 35 | 36 | -------------------------------------------------------------------------------- /source/wait.ani: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/source/wait.ani -------------------------------------------------------------------------------- /source/wildfire.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/source/wildfire.bmp -------------------------------------------------------------------------------- /source/wildfire.cur: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/source/wildfire.cur -------------------------------------------------------------------------------- /source/xy.cur: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/source/xy.cur -------------------------------------------------------------------------------- /source/xyzoom.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/source/xyzoom.bmp -------------------------------------------------------------------------------- /source/zline.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/source/zline.bmp -------------------------------------------------------------------------------- /source/zline.cur: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/source/zline.cur -------------------------------------------------------------------------------- /source/zline.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/source/zline.ico -------------------------------------------------------------------------------- /source/zoom.cur: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/source/zoom.cur -------------------------------------------------------------------------------- /source/zscene.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SynapseWeb/Reconstruct/6fb2bc01231700288c18221d88b7c9b1c2815e64/source/zscene.ico --------------------------------------------------------------------------------