├── NEWS ├── po ├── LINGUAS ├── missing ├── ChangeLog ├── POTFILES.skip ├── en_GB.gmo ├── messages └── malkovich.gmo ├── src ├── dummy.c ├── nip2-icon.rc ├── BITMAPS │ ├── kill.xbm │ ├── mag_msk.xbm │ ├── watch_1.xbm │ ├── watch_2.xbm │ ├── watch_3.xbm │ ├── watch_4.xbm │ ├── watch_5.xbm │ ├── watch_6.xbm │ ├── watch_7.xbm │ ├── watch_8.xbm │ ├── magin_src.xbm │ ├── magout_src.xbm │ ├── dropper_msk.xbm │ ├── dropper_src.xbm │ ├── watch_msk.xbm │ ├── separator.xpm │ ├── book_open.xpm │ ├── mini_page.xpm │ ├── tools.xpm │ ├── col.xpm │ ├── book_closed.xpm │ ├── pan.xpm │ ├── floppy.xpm │ ├── toolbox_closed.xpm │ ├── magin.xpm │ ├── paint.xpm │ ├── toolbox_open.xpm │ ├── dropper.xpm │ ├── magout.xpm │ ├── select.xpm │ ├── Makefile.am │ ├── change.xbm │ ├── convol.xbm │ ├── morph.xbm │ ├── slider.xbm │ ├── image.xbm │ ├── program.xbm │ ├── automatic.xbm │ ├── automatic1.xbm │ ├── automatic2.xbm │ ├── automatic3.xbm │ ├── automatic.xpm │ ├── automatic1.xpm │ ├── automatic2.xpm │ └── automatic3.xpm ├── secret.h ├── action.h ├── makehelpindex.pl ├── cache.h ├── vipsobject.h ├── doubleclick.h ├── nipmarshal.list ├── nipmarshal.h ├── predicate.h ├── vector.h ├── real.h ├── group.h ├── istring.h ├── number.h ├── fontname.h ├── pathname.h ├── numberview.h ├── stringview.h ├── error.h ├── spin.h ├── itextview.h ├── iregionview.h ├── valueview.h ├── slider.h ├── toggleview.h ├── builtin.h ├── toolview.h ├── colourview.h ├── sliderview.h ├── plotview.h ├── pathnameview.h ├── fontnameview.h ├── toggle.h ├── value.h ├── preview.h ├── dump.h ├── expressionview.h ├── floatwindow.h ├── graphicview.h ├── toolkitview.h ├── panechild.h ├── path.h ├── popupbutton.h └── expression.h ├── man ├── Makefile.am └── man1 │ └── Makefile.am ├── share ├── Makefile.am └── nip2 │ ├── Makefile.am │ ├── data │ ├── cmyk.icm │ ├── sRGB.icm │ ├── nip2-icon.ico │ ├── vips-128.png │ ├── AdobeRGB1998.icc │ ├── old-vips-128.png │ ├── nip-slider-16.png │ ├── padlock-closed.png │ ├── stock-alert-22.png │ ├── stock-led-blue-18.png │ ├── stock-led-cyan-18.png │ ├── stock-led-off-18.png │ ├── stock-led-red-18.png │ ├── stock-tool-ink-22.png │ ├── rachel.con │ ├── stock-led-green-18.png │ ├── stock-led-yellow-18.png │ ├── stock-tool-move-22.png │ ├── stock-tool-path-22.png │ ├── stock-tool-select-22.png │ ├── stock-tool-smudge-22.png │ ├── stock-tool-text-22.png │ ├── alert-icon-red-150x150.png │ ├── examples │ │ ├── print_test_image.v │ │ ├── 1_point_mosaic │ │ │ ├── cd1.1.jpg │ │ │ ├── cd1.2.jpg │ │ │ ├── cd2.1.jpg │ │ │ ├── cd2.2.jpg │ │ │ ├── cd3.1.jpg │ │ │ ├── cd3.2.jpg │ │ │ ├── cd4.1.jpg │ │ │ └── cd4.2.jpg │ │ ├── clone │ │ │ ├── example_im_01.png │ │ │ └── example_im_02.png │ │ ├── framing │ │ │ ├── framing_complex.png │ │ │ ├── framing_corner.png │ │ │ ├── framing_picture.jpg │ │ │ └── framing_distorted_frame.png │ │ ├── manual_balance │ │ │ ├── mask_01.png │ │ │ ├── mask_02.png │ │ │ ├── mask_03.png │ │ │ ├── simp_base.png │ │ │ └── mask_control.png │ │ ├── 2_point_mosaic │ │ │ ├── full_image.jpg │ │ │ ├── example_im_01.jpg │ │ │ ├── example_im_02.jpg │ │ │ ├── example_im_03.jpg │ │ │ ├── example_im_04.jpg │ │ │ ├── example_im_05.jpg │ │ │ └── example_im_06.jpg │ │ ├── registering │ │ │ ├── example_im_1.jpg │ │ │ ├── example_im_2.jpg │ │ │ ├── example_im_3.jpg │ │ │ └── example_im_4.jpg │ │ ├── businesscard │ │ │ └── slanted_oval_vase2.jpg │ │ └── overlays_and_blending │ │ │ ├── blend_example_ir.jpg │ │ │ ├── blend_example_vis.jpg │ │ │ └── blend_example_xray.jpg │ ├── stock-padlock-closed-22.png │ ├── stock-tool-bucket-fill-22.png │ ├── stock-tool-rect-select-22.png │ ├── macbeth_lab_d50.mat │ ├── macbeth_lab_d65.mat │ └── Makefile.am │ ├── rc │ └── Makefile.am │ ├── compat │ ├── Makefile.am │ ├── 7.10 │ │ ├── Makefile.am │ │ ├── Widgets.def │ │ └── Format.def │ ├── 7.12 │ │ ├── Makefile.am │ │ └── Widgets.def │ ├── 7.24 │ │ ├── Makefile.am │ │ ├── Object.def │ │ └── Widgets.def │ ├── 7.26 │ │ ├── Makefile.am │ │ ├── Object.def │ │ └── Widgets.def │ ├── 7.28 │ │ ├── Makefile.am │ │ ├── Object.def │ │ └── Widgets.def │ ├── 7.38 │ │ ├── Makefile.am │ │ ├── Object.def │ │ └── Widgets.def │ ├── 7.14 │ │ ├── Makefile.am │ │ ├── Object.def │ │ └── Widgets.def │ ├── 7.16 │ │ ├── Makefile.am │ │ ├── Object.def │ │ └── Widgets.def │ ├── 8.6 │ │ ├── Makefile.am │ │ ├── Object.def │ │ └── Widgets.def │ ├── 7.40 │ │ ├── Makefile.am │ │ ├── Object.def │ │ └── Widgets.def │ ├── 8.2 │ │ ├── Makefile.am │ │ ├── Object.def │ │ └── Widgets.def │ ├── 8.3 │ │ ├── Makefile.am │ │ ├── Object.def │ │ └── Widgets.def │ ├── 8.4 │ │ ├── Makefile.am │ │ ├── Object.def │ │ └── Widgets.def │ ├── 8.5 │ │ ├── Makefile.am │ │ ├── Object.def │ │ └── Widgets.def │ ├── 7.8 │ │ ├── Makefile.am │ │ ├── _errors.def │ │ └── Histogram.def │ └── 7.9 │ │ ├── Makefile.am │ │ ├── _errors.def │ │ └── Histogram.def │ └── start │ ├── Makefile.am │ ├── Object.def │ └── Widgets.def ├── proj ├── src │ ├── nip.rc │ └── nip.ico └── README ├── doc ├── src │ ├── figs │ │ ├── ir2.jpg │ │ ├── ir3.jpg │ │ ├── ir4.jpg │ │ ├── ir5.jpg │ │ ├── ir7.jpg │ │ ├── ir8a.jpg │ │ ├── snap1.jpg │ │ ├── snap2.jpg │ │ ├── snap3.jpg │ │ ├── snap4.jpg │ │ ├── snap5.jpg │ │ ├── snap6.jpg │ │ ├── snap7.jpg │ │ ├── snap8.jpg │ │ ├── snap9.jpg │ │ ├── scr21a.png │ │ ├── snap10.jpg │ │ ├── snap11.jpg │ │ ├── snap12.jpg │ │ ├── snap13.jpg │ │ ├── snap14.jpg │ │ ├── snap15.jpg │ │ ├── snap16.jpg │ │ ├── snap7a.jpg │ │ ├── toolkit.jpg │ │ ├── toolkit2.jpg │ │ └── toolkit3.jpg │ ├── Example.def │ ├── html.cfg │ ├── Makefile │ ├── intro.tex │ └── nipguide.tex ├── doc-programmer │ ├── makeindex.pl │ ├── imageview │ └── regionview ├── Makefile └── README ├── test ├── extras │ └── test-5x5.v ├── workspaces │ ├── gold_sample.v │ └── test_fail.ws ├── images │ └── slanted_oval_vase2.jpg ├── Makefile.am └── test_all.sh.in ├── AUTHORS ├── THANKS ├── nip2.desktop.in ├── nip2.xml ├── .gitignore ├── nip2.appdata.xml ├── Makefile.am └── autogen.sh /NEWS: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /po/LINGUAS: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /po/missing: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/dummy.c: -------------------------------------------------------------------------------- 1 | int poop () {} 2 | -------------------------------------------------------------------------------- /man/Makefile.am: -------------------------------------------------------------------------------- 1 | SUBDIRS = man1 2 | -------------------------------------------------------------------------------- /po/ChangeLog: -------------------------------------------------------------------------------- 1 | + en_UK translation 2 | -------------------------------------------------------------------------------- /share/Makefile.am: -------------------------------------------------------------------------------- 1 | SUBDIRS = nip2 2 | -------------------------------------------------------------------------------- /proj/src/nip.rc: -------------------------------------------------------------------------------- 1 | nip ICON "nip.ico" 2 | -------------------------------------------------------------------------------- /src/nip2-icon.rc: -------------------------------------------------------------------------------- 1 | 1 ICON "nip2-icon.ico" 2 | -------------------------------------------------------------------------------- /po/POTFILES.skip: -------------------------------------------------------------------------------- 1 | src/parse.c 2 | src/lex.c 3 | -------------------------------------------------------------------------------- /share/nip2/Makefile.am: -------------------------------------------------------------------------------- 1 | SUBDIRS = rc data start compat 2 | -------------------------------------------------------------------------------- /po/en_GB.gmo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libvips/nip2/HEAD/po/en_GB.gmo -------------------------------------------------------------------------------- /po/messages: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libvips/nip2/HEAD/po/messages -------------------------------------------------------------------------------- /man/man1/Makefile.am: -------------------------------------------------------------------------------- 1 | man_MANS = nip2.1 2 | 3 | EXTRA_DIST = ${man_MANS} 4 | -------------------------------------------------------------------------------- /po/malkovich.gmo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libvips/nip2/HEAD/po/malkovich.gmo -------------------------------------------------------------------------------- /proj/src/nip.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libvips/nip2/HEAD/proj/src/nip.ico -------------------------------------------------------------------------------- /doc/src/figs/ir2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libvips/nip2/HEAD/doc/src/figs/ir2.jpg -------------------------------------------------------------------------------- /doc/src/figs/ir3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libvips/nip2/HEAD/doc/src/figs/ir3.jpg -------------------------------------------------------------------------------- /doc/src/figs/ir4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libvips/nip2/HEAD/doc/src/figs/ir4.jpg -------------------------------------------------------------------------------- /doc/src/figs/ir5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libvips/nip2/HEAD/doc/src/figs/ir5.jpg -------------------------------------------------------------------------------- /doc/src/figs/ir7.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libvips/nip2/HEAD/doc/src/figs/ir7.jpg -------------------------------------------------------------------------------- /doc/src/figs/ir8a.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libvips/nip2/HEAD/doc/src/figs/ir8a.jpg -------------------------------------------------------------------------------- /doc/src/figs/snap1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libvips/nip2/HEAD/doc/src/figs/snap1.jpg -------------------------------------------------------------------------------- /doc/src/figs/snap2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libvips/nip2/HEAD/doc/src/figs/snap2.jpg -------------------------------------------------------------------------------- /doc/src/figs/snap3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libvips/nip2/HEAD/doc/src/figs/snap3.jpg -------------------------------------------------------------------------------- /doc/src/figs/snap4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libvips/nip2/HEAD/doc/src/figs/snap4.jpg -------------------------------------------------------------------------------- /doc/src/figs/snap5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libvips/nip2/HEAD/doc/src/figs/snap5.jpg -------------------------------------------------------------------------------- /doc/src/figs/snap6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libvips/nip2/HEAD/doc/src/figs/snap6.jpg -------------------------------------------------------------------------------- /doc/src/figs/snap7.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libvips/nip2/HEAD/doc/src/figs/snap7.jpg -------------------------------------------------------------------------------- /doc/src/figs/snap8.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libvips/nip2/HEAD/doc/src/figs/snap8.jpg -------------------------------------------------------------------------------- /doc/src/figs/snap9.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libvips/nip2/HEAD/doc/src/figs/snap9.jpg -------------------------------------------------------------------------------- /test/extras/test-5x5.v: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libvips/nip2/HEAD/test/extras/test-5x5.v -------------------------------------------------------------------------------- /doc/src/figs/scr21a.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libvips/nip2/HEAD/doc/src/figs/scr21a.png -------------------------------------------------------------------------------- /doc/src/figs/snap10.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libvips/nip2/HEAD/doc/src/figs/snap10.jpg -------------------------------------------------------------------------------- /doc/src/figs/snap11.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libvips/nip2/HEAD/doc/src/figs/snap11.jpg -------------------------------------------------------------------------------- /doc/src/figs/snap12.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libvips/nip2/HEAD/doc/src/figs/snap12.jpg -------------------------------------------------------------------------------- /doc/src/figs/snap13.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libvips/nip2/HEAD/doc/src/figs/snap13.jpg -------------------------------------------------------------------------------- /doc/src/figs/snap14.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libvips/nip2/HEAD/doc/src/figs/snap14.jpg -------------------------------------------------------------------------------- /doc/src/figs/snap15.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libvips/nip2/HEAD/doc/src/figs/snap15.jpg -------------------------------------------------------------------------------- /doc/src/figs/snap16.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libvips/nip2/HEAD/doc/src/figs/snap16.jpg -------------------------------------------------------------------------------- /doc/src/figs/snap7a.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libvips/nip2/HEAD/doc/src/figs/snap7a.jpg -------------------------------------------------------------------------------- /doc/src/figs/toolkit.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libvips/nip2/HEAD/doc/src/figs/toolkit.jpg -------------------------------------------------------------------------------- /doc/src/figs/toolkit2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libvips/nip2/HEAD/doc/src/figs/toolkit2.jpg -------------------------------------------------------------------------------- /doc/src/figs/toolkit3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libvips/nip2/HEAD/doc/src/figs/toolkit3.jpg -------------------------------------------------------------------------------- /share/nip2/data/cmyk.icm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libvips/nip2/HEAD/share/nip2/data/cmyk.icm -------------------------------------------------------------------------------- /share/nip2/data/sRGB.icm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libvips/nip2/HEAD/share/nip2/data/sRGB.icm -------------------------------------------------------------------------------- /share/nip2/data/nip2-icon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libvips/nip2/HEAD/share/nip2/data/nip2-icon.ico -------------------------------------------------------------------------------- /share/nip2/data/vips-128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libvips/nip2/HEAD/share/nip2/data/vips-128.png -------------------------------------------------------------------------------- /test/workspaces/gold_sample.v: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libvips/nip2/HEAD/test/workspaces/gold_sample.v -------------------------------------------------------------------------------- /share/nip2/data/AdobeRGB1998.icc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libvips/nip2/HEAD/share/nip2/data/AdobeRGB1998.icc -------------------------------------------------------------------------------- /share/nip2/data/old-vips-128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libvips/nip2/HEAD/share/nip2/data/old-vips-128.png -------------------------------------------------------------------------------- /proj/README: -------------------------------------------------------------------------------- 1 | sample config and makefiles for building with the MSC toolchain 2 | 3 | experts only, no support! 4 | -------------------------------------------------------------------------------- /share/nip2/data/nip-slider-16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libvips/nip2/HEAD/share/nip2/data/nip-slider-16.png -------------------------------------------------------------------------------- /share/nip2/data/padlock-closed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libvips/nip2/HEAD/share/nip2/data/padlock-closed.png -------------------------------------------------------------------------------- /share/nip2/data/stock-alert-22.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libvips/nip2/HEAD/share/nip2/data/stock-alert-22.png -------------------------------------------------------------------------------- /share/nip2/rc/Makefile.am: -------------------------------------------------------------------------------- 1 | rcdir = $(pkgdatadir)/rc 2 | 3 | rc_DATA = ipgtkrc 4 | 5 | EXTRA_DIST = $(rc_DATA) 6 | -------------------------------------------------------------------------------- /test/images/slanted_oval_vase2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libvips/nip2/HEAD/test/images/slanted_oval_vase2.jpg -------------------------------------------------------------------------------- /share/nip2/data/stock-led-blue-18.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libvips/nip2/HEAD/share/nip2/data/stock-led-blue-18.png -------------------------------------------------------------------------------- /share/nip2/data/stock-led-cyan-18.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libvips/nip2/HEAD/share/nip2/data/stock-led-cyan-18.png -------------------------------------------------------------------------------- /share/nip2/data/stock-led-off-18.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libvips/nip2/HEAD/share/nip2/data/stock-led-off-18.png -------------------------------------------------------------------------------- /share/nip2/data/stock-led-red-18.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libvips/nip2/HEAD/share/nip2/data/stock-led-red-18.png -------------------------------------------------------------------------------- /share/nip2/data/stock-tool-ink-22.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libvips/nip2/HEAD/share/nip2/data/stock-tool-ink-22.png -------------------------------------------------------------------------------- /share/nip2/compat/Makefile.am: -------------------------------------------------------------------------------- 1 | SUBDIRS = 7.8 7.9 7.10 7.12 7.14 7.16 7.24 7.26 7.28 7.38 7.40 8.2 8.3 \ 2 | 8.4 8.5 8.6 3 | -------------------------------------------------------------------------------- /share/nip2/data/rachel.con: -------------------------------------------------------------------------------- 1 | 5 5 21 0 2 | 1 -4 -4 -4 1 3 | -4 6 8 6 -4 4 | -4 8 9 8 -4 5 | -4 6 8 6 -4 6 | 1 -4 -4 -4 1 7 | -------------------------------------------------------------------------------- /share/nip2/data/stock-led-green-18.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libvips/nip2/HEAD/share/nip2/data/stock-led-green-18.png -------------------------------------------------------------------------------- /share/nip2/data/stock-led-yellow-18.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libvips/nip2/HEAD/share/nip2/data/stock-led-yellow-18.png -------------------------------------------------------------------------------- /share/nip2/data/stock-tool-move-22.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libvips/nip2/HEAD/share/nip2/data/stock-tool-move-22.png -------------------------------------------------------------------------------- /share/nip2/data/stock-tool-path-22.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libvips/nip2/HEAD/share/nip2/data/stock-tool-path-22.png -------------------------------------------------------------------------------- /share/nip2/data/stock-tool-select-22.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libvips/nip2/HEAD/share/nip2/data/stock-tool-select-22.png -------------------------------------------------------------------------------- /share/nip2/data/stock-tool-smudge-22.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libvips/nip2/HEAD/share/nip2/data/stock-tool-smudge-22.png -------------------------------------------------------------------------------- /share/nip2/data/stock-tool-text-22.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libvips/nip2/HEAD/share/nip2/data/stock-tool-text-22.png -------------------------------------------------------------------------------- /share/nip2/data/alert-icon-red-150x150.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libvips/nip2/HEAD/share/nip2/data/alert-icon-red-150x150.png -------------------------------------------------------------------------------- /share/nip2/data/examples/print_test_image.v: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libvips/nip2/HEAD/share/nip2/data/examples/print_test_image.v -------------------------------------------------------------------------------- /share/nip2/data/stock-padlock-closed-22.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libvips/nip2/HEAD/share/nip2/data/stock-padlock-closed-22.png -------------------------------------------------------------------------------- /share/nip2/data/stock-tool-bucket-fill-22.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libvips/nip2/HEAD/share/nip2/data/stock-tool-bucket-fill-22.png -------------------------------------------------------------------------------- /share/nip2/data/stock-tool-rect-select-22.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libvips/nip2/HEAD/share/nip2/data/stock-tool-rect-select-22.png -------------------------------------------------------------------------------- /test/Makefile.am: -------------------------------------------------------------------------------- 1 | 2 | EXTRA_DIST = \ 3 | workspaces \ 4 | extras \ 5 | images 6 | 7 | TESTS = \ 8 | test_all.sh 9 | 10 | -------------------------------------------------------------------------------- /share/nip2/data/examples/1_point_mosaic/cd1.1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libvips/nip2/HEAD/share/nip2/data/examples/1_point_mosaic/cd1.1.jpg -------------------------------------------------------------------------------- /share/nip2/data/examples/1_point_mosaic/cd1.2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libvips/nip2/HEAD/share/nip2/data/examples/1_point_mosaic/cd1.2.jpg -------------------------------------------------------------------------------- /share/nip2/data/examples/1_point_mosaic/cd2.1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libvips/nip2/HEAD/share/nip2/data/examples/1_point_mosaic/cd2.1.jpg -------------------------------------------------------------------------------- /share/nip2/data/examples/1_point_mosaic/cd2.2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libvips/nip2/HEAD/share/nip2/data/examples/1_point_mosaic/cd2.2.jpg -------------------------------------------------------------------------------- /share/nip2/data/examples/1_point_mosaic/cd3.1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libvips/nip2/HEAD/share/nip2/data/examples/1_point_mosaic/cd3.1.jpg -------------------------------------------------------------------------------- /share/nip2/data/examples/1_point_mosaic/cd3.2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libvips/nip2/HEAD/share/nip2/data/examples/1_point_mosaic/cd3.2.jpg -------------------------------------------------------------------------------- /share/nip2/data/examples/1_point_mosaic/cd4.1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libvips/nip2/HEAD/share/nip2/data/examples/1_point_mosaic/cd4.1.jpg -------------------------------------------------------------------------------- /share/nip2/data/examples/1_point_mosaic/cd4.2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libvips/nip2/HEAD/share/nip2/data/examples/1_point_mosaic/cd4.2.jpg -------------------------------------------------------------------------------- /share/nip2/data/examples/clone/example_im_01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libvips/nip2/HEAD/share/nip2/data/examples/clone/example_im_01.png -------------------------------------------------------------------------------- /share/nip2/data/examples/clone/example_im_02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libvips/nip2/HEAD/share/nip2/data/examples/clone/example_im_02.png -------------------------------------------------------------------------------- /share/nip2/data/examples/framing/framing_complex.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libvips/nip2/HEAD/share/nip2/data/examples/framing/framing_complex.png -------------------------------------------------------------------------------- /share/nip2/data/examples/framing/framing_corner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libvips/nip2/HEAD/share/nip2/data/examples/framing/framing_corner.png -------------------------------------------------------------------------------- /share/nip2/data/examples/framing/framing_picture.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libvips/nip2/HEAD/share/nip2/data/examples/framing/framing_picture.jpg -------------------------------------------------------------------------------- /share/nip2/data/examples/manual_balance/mask_01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libvips/nip2/HEAD/share/nip2/data/examples/manual_balance/mask_01.png -------------------------------------------------------------------------------- /share/nip2/data/examples/manual_balance/mask_02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libvips/nip2/HEAD/share/nip2/data/examples/manual_balance/mask_02.png -------------------------------------------------------------------------------- /share/nip2/data/examples/manual_balance/mask_03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libvips/nip2/HEAD/share/nip2/data/examples/manual_balance/mask_03.png -------------------------------------------------------------------------------- /share/nip2/data/examples/2_point_mosaic/full_image.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libvips/nip2/HEAD/share/nip2/data/examples/2_point_mosaic/full_image.jpg -------------------------------------------------------------------------------- /share/nip2/data/examples/manual_balance/simp_base.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libvips/nip2/HEAD/share/nip2/data/examples/manual_balance/simp_base.png -------------------------------------------------------------------------------- /share/nip2/data/examples/registering/example_im_1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libvips/nip2/HEAD/share/nip2/data/examples/registering/example_im_1.jpg -------------------------------------------------------------------------------- /share/nip2/data/examples/registering/example_im_2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libvips/nip2/HEAD/share/nip2/data/examples/registering/example_im_2.jpg -------------------------------------------------------------------------------- /share/nip2/data/examples/registering/example_im_3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libvips/nip2/HEAD/share/nip2/data/examples/registering/example_im_3.jpg -------------------------------------------------------------------------------- /share/nip2/data/examples/registering/example_im_4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libvips/nip2/HEAD/share/nip2/data/examples/registering/example_im_4.jpg -------------------------------------------------------------------------------- /share/nip2/data/examples/2_point_mosaic/example_im_01.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libvips/nip2/HEAD/share/nip2/data/examples/2_point_mosaic/example_im_01.jpg -------------------------------------------------------------------------------- /share/nip2/data/examples/2_point_mosaic/example_im_02.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libvips/nip2/HEAD/share/nip2/data/examples/2_point_mosaic/example_im_02.jpg -------------------------------------------------------------------------------- /share/nip2/data/examples/2_point_mosaic/example_im_03.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libvips/nip2/HEAD/share/nip2/data/examples/2_point_mosaic/example_im_03.jpg -------------------------------------------------------------------------------- /share/nip2/data/examples/2_point_mosaic/example_im_04.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libvips/nip2/HEAD/share/nip2/data/examples/2_point_mosaic/example_im_04.jpg -------------------------------------------------------------------------------- /share/nip2/data/examples/2_point_mosaic/example_im_05.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libvips/nip2/HEAD/share/nip2/data/examples/2_point_mosaic/example_im_05.jpg -------------------------------------------------------------------------------- /share/nip2/data/examples/2_point_mosaic/example_im_06.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libvips/nip2/HEAD/share/nip2/data/examples/2_point_mosaic/example_im_06.jpg -------------------------------------------------------------------------------- /share/nip2/data/examples/manual_balance/mask_control.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libvips/nip2/HEAD/share/nip2/data/examples/manual_balance/mask_control.png -------------------------------------------------------------------------------- /share/nip2/data/examples/businesscard/slanted_oval_vase2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libvips/nip2/HEAD/share/nip2/data/examples/businesscard/slanted_oval_vase2.jpg -------------------------------------------------------------------------------- /share/nip2/data/examples/framing/framing_distorted_frame.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libvips/nip2/HEAD/share/nip2/data/examples/framing/framing_distorted_frame.png -------------------------------------------------------------------------------- /share/nip2/data/examples/overlays_and_blending/blend_example_ir.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libvips/nip2/HEAD/share/nip2/data/examples/overlays_and_blending/blend_example_ir.jpg -------------------------------------------------------------------------------- /share/nip2/data/examples/overlays_and_blending/blend_example_vis.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libvips/nip2/HEAD/share/nip2/data/examples/overlays_and_blending/blend_example_vis.jpg -------------------------------------------------------------------------------- /share/nip2/data/examples/overlays_and_blending/blend_example_xray.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libvips/nip2/HEAD/share/nip2/data/examples/overlays_and_blending/blend_example_xray.jpg -------------------------------------------------------------------------------- /AUTHORS: -------------------------------------------------------------------------------- 1 | Authors of nip2 2 | 3 | John Cupitt 4 | Joe Padfield 5 | Hans Breuer 6 | Rich Lott 7 | Leo Davidson 8 | 9 | Plus helpful comments and suggestions from many others. 10 | -------------------------------------------------------------------------------- /THANKS: -------------------------------------------------------------------------------- 1 | nip THANKS file 2 | 3 | nip is a rewrite of ip, so see the THANKS file for that package. 4 | 5 | We've had very helpful funding from the European Commission and from 6 | Hewlett-Packard. 7 | -------------------------------------------------------------------------------- /doc/doc-programmer/makeindex.pl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/perl 2 | 3 | # my labels = `grep ' 2 | 3 | 4 | VIPS image 5 | VIPS image 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /share/nip2/compat/7.12/Makefile.am: -------------------------------------------------------------------------------- 1 | startdir = $(pkgdatadir)/compat/7.12 2 | 3 | start_DATA = \ 4 | Math.def \ 5 | Image.def \ 6 | Colour.def \ 7 | Tasks.def \ 8 | Format.def \ 9 | Filter.def \ 10 | Matrix.def \ 11 | Widgets.def \ 12 | Histogram.def \ 13 | Preferences.ws \ 14 | _joe_extra.def \ 15 | _joe_utilities.def \ 16 | _convert.def \ 17 | _generate.def \ 18 | _list.def \ 19 | _predicate.def \ 20 | _stdenv.def \ 21 | _types.def 22 | 23 | EXTRA_DIST = $(start_DATA) 24 | 25 | -------------------------------------------------------------------------------- /share/nip2/compat/7.24/Makefile.am: -------------------------------------------------------------------------------- 1 | startdir = $(pkgdatadir)/compat/7.24 2 | 3 | start_DATA = \ 4 | Math.def \ 5 | Image.def \ 6 | Colour.def \ 7 | Tasks.def \ 8 | Object.def \ 9 | Filter.def \ 10 | Matrix.def \ 11 | Widgets.def \ 12 | Histogram.def \ 13 | _joe_extra.def \ 14 | _joe_utilities.def \ 15 | _convert.def \ 16 | _generate.def \ 17 | _list.def \ 18 | _predicate.def \ 19 | _stdenv.def \ 20 | _Object.def \ 21 | _types.def 22 | 23 | EXTRA_DIST = $(start_DATA) 24 | 25 | -------------------------------------------------------------------------------- /share/nip2/compat/7.26/Makefile.am: -------------------------------------------------------------------------------- 1 | startdir = $(pkgdatadir)/compat/7.26 2 | 3 | start_DATA = \ 4 | Math.def \ 5 | Image.def \ 6 | Colour.def \ 7 | Tasks.def \ 8 | Object.def \ 9 | Filter.def \ 10 | Matrix.def \ 11 | Widgets.def \ 12 | Histogram.def \ 13 | _joe_extra.def \ 14 | _joe_utilities.def \ 15 | _convert.def \ 16 | _generate.def \ 17 | _list.def \ 18 | _predicate.def \ 19 | _stdenv.def \ 20 | _Object.def \ 21 | _types.def 22 | 23 | EXTRA_DIST = $(start_DATA) 24 | 25 | -------------------------------------------------------------------------------- /share/nip2/compat/7.28/Makefile.am: -------------------------------------------------------------------------------- 1 | startdir = $(pkgdatadir)/compat/7.28 2 | 3 | start_DATA = \ 4 | Math.def \ 5 | Image.def \ 6 | Colour.def \ 7 | Tasks.def \ 8 | Object.def \ 9 | Filter.def \ 10 | Matrix.def \ 11 | Widgets.def \ 12 | Histogram.def \ 13 | _joe_extra.def \ 14 | _joe_utilities.def \ 15 | _convert.def \ 16 | _generate.def \ 17 | _list.def \ 18 | _predicate.def \ 19 | _stdenv.def \ 20 | _Object.def \ 21 | _types.def 22 | 23 | EXTRA_DIST = $(start_DATA) 24 | 25 | -------------------------------------------------------------------------------- /share/nip2/compat/7.38/Makefile.am: -------------------------------------------------------------------------------- 1 | startdir = $(pkgdatadir)/compat/7.38 2 | 3 | start_DATA = \ 4 | Math.def \ 5 | Image.def \ 6 | Colour.def \ 7 | Tasks.def \ 8 | Object.def \ 9 | Filter.def \ 10 | Matrix.def \ 11 | Widgets.def \ 12 | Histogram.def \ 13 | _joe_extra.def \ 14 | _joe_utilities.def \ 15 | _convert.def \ 16 | _generate.def \ 17 | _list.def \ 18 | _predicate.def \ 19 | _stdenv.def \ 20 | _Object.def \ 21 | _types.def 22 | 23 | EXTRA_DIST = $(start_DATA) 24 | 25 | -------------------------------------------------------------------------------- /share/nip2/compat/7.14/Makefile.am: -------------------------------------------------------------------------------- 1 | startdir = $(pkgdatadir)/compat/7.14 2 | 3 | start_DATA = \ 4 | Math.def \ 5 | Image.def \ 6 | Colour.def \ 7 | Tasks.def \ 8 | Object.def \ 9 | Filter.def \ 10 | Matrix.def \ 11 | Widgets.def \ 12 | Histogram.def \ 13 | Preferences.ws \ 14 | _joe_extra.def \ 15 | _joe_utilities.def \ 16 | _convert.def \ 17 | _generate.def \ 18 | _list.def \ 19 | _predicate.def \ 20 | _stdenv.def \ 21 | _Object.def \ 22 | _types.def 23 | 24 | EXTRA_DIST = $(start_DATA) 25 | 26 | -------------------------------------------------------------------------------- /share/nip2/compat/7.16/Makefile.am: -------------------------------------------------------------------------------- 1 | startdir = $(pkgdatadir)/compat/7.16 2 | 3 | start_DATA = \ 4 | Math.def \ 5 | Image.def \ 6 | Colour.def \ 7 | Tasks.def \ 8 | Object.def \ 9 | Filter.def \ 10 | Matrix.def \ 11 | Widgets.def \ 12 | Histogram.def \ 13 | Preferences.ws \ 14 | _joe_extra.def \ 15 | _joe_utilities.def \ 16 | _convert.def \ 17 | _generate.def \ 18 | _list.def \ 19 | _predicate.def \ 20 | _stdenv.def \ 21 | _Object.def \ 22 | _types.def 23 | 24 | EXTRA_DIST = $(start_DATA) 25 | 26 | -------------------------------------------------------------------------------- /share/nip2/compat/8.6/Makefile.am: -------------------------------------------------------------------------------- 1 | startdir = $(pkgdatadir)/compat/8.6 2 | 3 | start_DATA = \ 4 | Colour.def \ 5 | _convert.def \ 6 | Filter.def \ 7 | _generate.def \ 8 | Histogram.def \ 9 | Image.def \ 10 | _joe_extra.def \ 11 | _joe_utilities.def \ 12 | _list.def \ 13 | _magick.def \ 14 | Magick.def \ 15 | Math.def \ 16 | Matrix.def \ 17 | _Object.def \ 18 | Object.def \ 19 | _predicate.def \ 20 | _stdenv.def \ 21 | Tasks.def \ 22 | _types.def \ 23 | Widgets.def 24 | 25 | EXTRA_DIST = $(start_DATA) 26 | 27 | -------------------------------------------------------------------------------- /doc/src/html.cfg: -------------------------------------------------------------------------------- 1 | % configuration file for output of nipguide as html 2 | \Preamble{html} 3 | \begin{document} 4 | 5 | % stop the mono font shrinkage we do for paper output 6 | \renewenvironment{ctd}{\begin{quote}\tt}{\end{quote}} 7 | 8 | % make a label 9 | % in html, write an extra label which we can link to nip's help system 10 | \renewcommand{\mylabel}[1]{ 11 | \label{#1} 12 | \HCode{} 13 | } 14 | 15 | % supress " on page xx" if we're making HTML 16 | \renewcommand{\onpage}[1]{} 17 | \EndPreamble 18 | -------------------------------------------------------------------------------- /share/nip2/start/Makefile.am: -------------------------------------------------------------------------------- 1 | startdir = $(pkgdatadir)/start 2 | 3 | start_DATA = \ 4 | Math.def \ 5 | Image.def \ 6 | Magick.def \ 7 | Colour.def \ 8 | Tasks.def \ 9 | Object.def \ 10 | Filter.def \ 11 | Matrix.def \ 12 | Widgets.def \ 13 | Histogram.def \ 14 | Preferences.ws \ 15 | _joe_extra.def \ 16 | _joe_utilities.def \ 17 | _convert.def \ 18 | _generate.def \ 19 | _list.def \ 20 | _predicate.def \ 21 | _stdenv.def \ 22 | _Object.def \ 23 | _magick.def \ 24 | _types.def 25 | 26 | EXTRA_DIST = $(start_DATA) 27 | 28 | -------------------------------------------------------------------------------- /doc/README: -------------------------------------------------------------------------------- 1 | nip documentation 2 | 3 | Type "make install" to rebuild html/ and ps/ directories with formatted 4 | docuimentation. You'll need latex and tex4ht. 5 | 6 | The Makefile.am in nip2-x.x copies the contents of the html/ and ps/ to 7 | $prefix/share/doc/nip2 during the main nip2 install process. 8 | 9 | Once you have the docs installed, rebuild nip2's help index with: 10 | 11 | cd nip2-x.x/src 12 | make helpindex.h 13 | 14 | to index the HTML docs and link the HELP buttons in nip to the correct place 15 | in the formatted pages. 16 | -------------------------------------------------------------------------------- /share/nip2/compat/7.40/Makefile.am: -------------------------------------------------------------------------------- 1 | startdir = $(pkgdatadir)/compat/7.40 2 | 3 | start_DATA = \ 4 | Math.def \ 5 | Image.def \ 6 | Magick.def \ 7 | Colour.def \ 8 | Tasks.def \ 9 | Object.def \ 10 | Filter.def \ 11 | Matrix.def \ 12 | Widgets.def \ 13 | Histogram.def \ 14 | Preferences.ws \ 15 | _joe_extra.def \ 16 | _joe_utilities.def \ 17 | _convert.def \ 18 | _generate.def \ 19 | _list.def \ 20 | _predicate.def \ 21 | _stdenv.def \ 22 | _Object.def \ 23 | _magick.def \ 24 | _types.def 25 | 26 | EXTRA_DIST = $(start_DATA) 27 | 28 | -------------------------------------------------------------------------------- /share/nip2/compat/8.2/Makefile.am: -------------------------------------------------------------------------------- 1 | startdir = $(pkgdatadir)/compat/8.2 2 | 3 | start_DATA = \ 4 | Colour.def \ 5 | _convert.def \ 6 | Filter.def \ 7 | _generate.def \ 8 | Histogram.def \ 9 | Image.def \ 10 | _joe_extra.def \ 11 | _joe_utilities.def \ 12 | _list.def \ 13 | _magick.def \ 14 | Magick.def \ 15 | Math.def \ 16 | Matrix.def \ 17 | _Object.def \ 18 | Object.def \ 19 | _predicate.def \ 20 | Preferences.ws \ 21 | _stdenv.def \ 22 | Tasks.def \ 23 | _types.def \ 24 | Widgets.def 25 | 26 | EXTRA_DIST = $(start_DATA) 27 | 28 | -------------------------------------------------------------------------------- /share/nip2/compat/8.3/Makefile.am: -------------------------------------------------------------------------------- 1 | startdir = $(pkgdatadir)/compat/8.3 2 | 3 | start_DATA = \ 4 | Colour.def \ 5 | _convert.def \ 6 | Filter.def \ 7 | _generate.def \ 8 | Histogram.def \ 9 | Image.def \ 10 | _joe_extra.def \ 11 | _joe_utilities.def \ 12 | _list.def \ 13 | _magick.def \ 14 | Magick.def \ 15 | Math.def \ 16 | Matrix.def \ 17 | _Object.def \ 18 | Object.def \ 19 | _predicate.def \ 20 | Preferences.ws \ 21 | _stdenv.def \ 22 | Tasks.def \ 23 | _types.def \ 24 | Widgets.def 25 | 26 | EXTRA_DIST = $(start_DATA) 27 | 28 | -------------------------------------------------------------------------------- /share/nip2/compat/8.4/Makefile.am: -------------------------------------------------------------------------------- 1 | startdir = $(pkgdatadir)/compat/8.4 2 | 3 | start_DATA = \ 4 | Math.def \ 5 | Image.def \ 6 | Magick.def \ 7 | Colour.def \ 8 | Tasks.def \ 9 | Object.def \ 10 | Filter.def \ 11 | Matrix.def \ 12 | Widgets.def \ 13 | Histogram.def \ 14 | Preferences.ws \ 15 | _joe_extra.def \ 16 | _joe_utilities.def \ 17 | _convert.def \ 18 | _generate.def \ 19 | _list.def \ 20 | _predicate.def \ 21 | _stdenv.def \ 22 | _Object.def \ 23 | _magick.def \ 24 | _types.def 25 | 26 | EXTRA_DIST = $(start_DATA) 27 | 28 | -------------------------------------------------------------------------------- /share/nip2/compat/8.5/Makefile.am: -------------------------------------------------------------------------------- 1 | startdir = $(pkgdatadir)/compat/8.5 2 | 3 | start_DATA = \ 4 | Math.def \ 5 | Image.def \ 6 | Magick.def \ 7 | Colour.def \ 8 | Tasks.def \ 9 | Object.def \ 10 | Filter.def \ 11 | Matrix.def \ 12 | Widgets.def \ 13 | Histogram.def \ 14 | Preferences.ws \ 15 | _joe_extra.def \ 16 | _joe_utilities.def \ 17 | _convert.def \ 18 | _generate.def \ 19 | _list.def \ 20 | _predicate.def \ 21 | _stdenv.def \ 22 | _Object.def \ 23 | _magick.def \ 24 | _types.def 25 | 26 | EXTRA_DIST = $(start_DATA) 27 | 28 | -------------------------------------------------------------------------------- /share/nip2/compat/7.8/Makefile.am: -------------------------------------------------------------------------------- 1 | startdir = $(pkgdatadir)/compat/7.8 2 | 3 | start_DATA = \ 4 | Math.def \ 5 | Image.def \ 6 | Mosaic.def \ 7 | Colour.def \ 8 | Resize.def \ 9 | Capture.def \ 10 | Format.def \ 11 | Filter.def \ 12 | Morphology.def \ 13 | New.def \ 14 | Histogram.def \ 15 | Print.def \ 16 | Rotate.def \ 17 | Statistics.def \ 18 | X_ray.def \ 19 | _convert.def \ 20 | _errors.def \ 21 | _generate.def \ 22 | _list.def \ 23 | _predicate.def \ 24 | _stdenv.def \ 25 | _types.def 26 | 27 | EXTRA_DIST = $(start_DATA) 28 | 29 | -------------------------------------------------------------------------------- /share/nip2/compat/7.9/Makefile.am: -------------------------------------------------------------------------------- 1 | startdir = $(pkgdatadir)/compat/7.9 2 | 3 | start_DATA = \ 4 | Math.def \ 5 | Image.def \ 6 | Mosaic.def \ 7 | Colour.def \ 8 | Resize.def \ 9 | Capture.def \ 10 | Format.def \ 11 | Filter.def \ 12 | Morphology.def \ 13 | New.def \ 14 | Histogram.def \ 15 | Print.def \ 16 | Rotate.def \ 17 | Statistics.def \ 18 | X_ray.def \ 19 | _convert.def \ 20 | _errors.def \ 21 | _generate.def \ 22 | _list.def \ 23 | _predicate.def \ 24 | _stdenv.def \ 25 | _types.def 26 | 27 | EXTRA_DIST = $(start_DATA) 28 | 29 | -------------------------------------------------------------------------------- /share/nip2/data/macbeth_lab_d50.mat: -------------------------------------------------------------------------------- 1 | 3 24 2 | 38.82 14.52 14.86 3 | 65.97 16.84 16.71 4 | 50.25 -4.56 -21.94 5 | 43.69 -14.21 19.17 6 | 55.13 9.02 -24.66 7 | 70.1 -31.71 -0.78 8 | 64.17 34.77 62.36 9 | 40.28 10.55 -44.65 10 | 51.82 47.11 15.64 11 | 31 22.5 -21.72 12 | 72.3 -23.44 57.12 13 | 72.4 20.15 68.15 14 | 29.15 20.65 -55.37 15 | 54.78 -38.84 31.54 16 | 42.5 55.62 27.17 17 | 82.4 3.54 79.73 18 | 51.61 48.8 -14 19 | 50.03 -27.58 -29.2 20 | 94.27 -0.25 0.35 21 | 80.3 0.05 -0.38 22 | 65.41 0.09 -0.44 23 | 50.82 -0.37 -0.59 24 | 36.1 0.09 -0.49 25 | 23.8 0.54 -0.18 26 | 27 | -------------------------------------------------------------------------------- /doc/doc-programmer/regionview: -------------------------------------------------------------------------------- 1 | how regionviews are built and maintained 2 | 3 | 4 | 5 | iregion iregionview 6 | end of parent_add, make 7 | iregiongroup child 8 | 9 | iregiongroup iregiongroupview 10 | monitor object updates, on iregiongroupview_refresh() create and 11 | set and unset model->display destroy regionview ... watches iregion model 12 | 13 | 14 | regionview_new( iregion, area, imagepresent ) 15 | does not view_link(), since it's not a true view ... adds own signal 16 | handlers for "changed" and "destroy" on iregion/iarrow 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /src/BITMAPS/book_open.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char * book_open_xpm[] = { 3 | "16 16 4 1", 4 | " c None s None", 5 | ". c black", 6 | "X c #808080", 7 | "o c white", 8 | " ", 9 | " .. ", 10 | " .Xo. ... ", 11 | " .Xoo. ..oo. ", 12 | " .Xooo.Xooo... ", 13 | " .Xooo.oooo.X. ", 14 | " .Xooo.Xooo.X. ", 15 | " .Xooo.oooo.X. ", 16 | " .Xooo.Xooo.X. ", 17 | " .Xooo.oooo.X. ", 18 | " .Xoo.Xoo..X. ", 19 | " .Xo.o..ooX. ", 20 | " .X..XXXXX. ", 21 | " ..X....... ", 22 | " .. ", 23 | " "}; 24 | -------------------------------------------------------------------------------- /src/BITMAPS/mini_page.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char * mini_page_xpm[] = { 3 | "16 16 4 1", 4 | " c None s None", 5 | ". c black", 6 | "X c white", 7 | "o c #808080", 8 | " ", 9 | " ....... ", 10 | " .XXXXX.. ", 11 | " .XoooX.X. ", 12 | " .XXXXX.... ", 13 | " .XooooXoo.o ", 14 | " .XXXXXXXX.o ", 15 | " .XooooooX.o ", 16 | " .XXXXXXXX.o ", 17 | " .XooooooX.o ", 18 | " .XXXXXXXX.o ", 19 | " .XooooooX.o ", 20 | " .XXXXXXXX.o ", 21 | " ..........o ", 22 | " oooooooooo ", 23 | " "}; 24 | -------------------------------------------------------------------------------- /src/BITMAPS/tools.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char *tools[]={ 3 | "16 16 7 1", 4 | ". c None", 5 | "# c #000000", 6 | "e c #00c0c0", 7 | "c c #808080", 8 | "a c #a0a0a0", 9 | "b c #c0ffff", 10 | "d c #c3c3c3", 11 | "................", 12 | "..........####..", 13 | ".........#abc...", 14 | ".........#b#..#.", 15 | ".........#bd#c#.", 16 | "........#bdeee#.", 17 | ".......#bde###..", 18 | "......#bde#.....", 19 | ".....#bde#......", 20 | "....#bde#.......", 21 | "...#bde#........", 22 | "..#bde#.........", 23 | ".#bde#..........", 24 | "#bee#...........", 25 | "#ee#............", 26 | ".##............."}; 27 | -------------------------------------------------------------------------------- /src/BITMAPS/col.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char *col[]={ 3 | "16 16 8 1", 4 | ". c None", 5 | "# c #000000", 6 | "f c #303030", 7 | "e c #585858", 8 | "b c #808080", 9 | "d c #a0a0a0", 10 | "c c #c3c3c3", 11 | "a c #ffffff", 12 | "....#aaaaaaaaaa#", 13 | "....#aaaaaaaaaa#", 14 | "....############", 15 | "......#bca#bc#..", 16 | "......#bca#bc#..", 17 | "......#bca#bc#..", 18 | "......#bca#bc#..", 19 | "d.....#bca#bc#..", 20 | "ddd...#bca#bc#..", 21 | "eedd..#bca#bc#..", 22 | "eeeddd#bca#bc#..", 23 | "eeeeee#bca#bc#..", 24 | "ffeeee#bca#bc#..", 25 | "#ffe############", 26 | "##ff#aaaaaaaaaa#", 27 | "###f#aaaaaaaaaa#"}; 28 | -------------------------------------------------------------------------------- /src/BITMAPS/book_closed.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char * book_closed_xpm[] = { 3 | "16 16 6 1", 4 | " c None s None", 5 | ". c black", 6 | "X c red", 7 | "o c yellow", 8 | "O c #808080", 9 | "# c white", 10 | " ", 11 | " .. ", 12 | " ..XX. ", 13 | " ..XXXXX. ", 14 | " ..XXXXXXXX. ", 15 | ".ooXXXXXXXXX. ", 16 | "..ooXXXXXXXXX. ", 17 | ".X.ooXXXXXXXXX. ", 18 | ".XX.ooXXXXXX.. ", 19 | " .XX.ooXXX..#O ", 20 | " .XX.oo..##OO. ", 21 | " .XX..##OO.. ", 22 | " .X.#OO.. ", 23 | " ..O.. ", 24 | " .. ", 25 | " "}; 26 | -------------------------------------------------------------------------------- /src/BITMAPS/pan.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char * pan_xpm[] = { 3 | /* width height ncolors cpp [x_hot y_hot] */ 4 | "16 16 3 1 -1 -1", 5 | /* colors */ 6 | " s none m none c none", 7 | ". s iconColor1 m black c black", 8 | "X c #929292929292", 9 | /* pixels */ 10 | " . ", 11 | " ... ", 12 | " ..... ", 13 | " .XXX ", 14 | " .X ", 15 | " . .X . ", 16 | " .. .X .. ", 17 | "............... ", 18 | " ..XXXX.XXXX..XX", 19 | " .X .X .XX ", 20 | " X .X X ", 21 | " .X ", 22 | " ..... ", 23 | " ...X ", 24 | " .X ", 25 | " X "}; 26 | -------------------------------------------------------------------------------- /src/BITMAPS/floppy.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char *floppy[]={ 3 | "16 16 10 1", 4 | ". c None", 5 | "# c #000000", 6 | "e c #000080", 7 | "c c #0000c0", 8 | "a c #0000ff", 9 | "b c #303030", 10 | "g c #808080", 11 | "h c #a0a0a4", 12 | "f c #c0c0c0", 13 | "d c #ffffff", 14 | "................", 15 | ".......#........", 16 | "......#ab#......", 17 | ".....#acdd##....", 18 | "....#acddddd##..", 19 | "...#acdddddddc##", 20 | "..#aeaacddddcae#", 21 | ".#aefeeaacdcae#.", 22 | "#aefaffeeacae#..", 23 | "#egfffhaaeae#...", 24 | ".##g.haaeae#....", 25 | "...##gaeae#.....", 26 | ".....##ee#......", 27 | ".......##.......", 28 | "................", 29 | "................"}; 30 | -------------------------------------------------------------------------------- /src/BITMAPS/toolbox_closed.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char *toolbox_closed[]={ 3 | "16 16 10 1", 4 | ". c None", 5 | "a c #000000", 6 | "b c #2b1702", 7 | "c c #482704", 8 | "f c #8c4c07", 9 | "h c #ca6d0a", 10 | "# c #cacbcb", 11 | "d c #ed800c", 12 | "g c #ffff00", 13 | "e c #ffffff", 14 | ".............#..", 15 | ".........abcc...", 16 | ".......ccabdec..", 17 | ".....cccfabeecc.", 18 | "...ccccffaddddc.", 19 | "..cfffccddddcfc.", 20 | ".bfffffcddccgfc.", 21 | ".afffffcacgggdc.", 22 | ".bbbcccccfgaddf.", 23 | ".cfhhhhbffgdddf.", 24 | ".cffhhhcddddddf.", 25 | ".cfffhhcddddff..", 26 | ".ccffhhcddff....", 27 | ".accffhcff......", 28 | ".aaccccc........", 29 | "................"}; 30 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | INSTALL 2 | test-driver 3 | test/test-suite.log 4 | test/test_all.sh.log 5 | test/test_all.sh.trs 6 | po/nip2.pot 7 | nip2-*.tar.gz 8 | *.o 9 | .*.swp 10 | TAGS 11 | tags 12 | Makefile 13 | scan 14 | Makefile.in 15 | config.* 16 | autom4te.cache 17 | aclocal.m4 18 | m4/ 19 | compile 20 | configure 21 | depcomp 22 | install-sh 23 | libtool 24 | ltmain.sh 25 | missing 26 | mkinstalldirs 27 | nip2.desktop 28 | nip2.spec 29 | po/POTFILES 30 | fred 31 | po/Makefile.in.in 32 | src/.deps/ 33 | src/gtksheet-marshal.c 34 | src/gtksheettypebuiltins.c 35 | src/lex.c 36 | src/nip2 37 | src/parse.c 38 | src/parse.h 39 | stamp-h1 40 | test/test_all.sh 41 | ylwrap 42 | doc/html/ 43 | doc/pdf/ 44 | -------------------------------------------------------------------------------- /src/BITMAPS/magin.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char * magin_xpm[] = { 3 | /* width height ncolors cpp [x_hot y_hot] */ 4 | "16 16 4 1 -1 -1", 5 | /* colors */ 6 | " s none m none c none", 7 | ". s iconColor1 m black c black", 8 | "X s iconColor2 m white c white", 9 | "o s iconGray1 m white c #dededededede", 10 | /* pixels */ 11 | " .... ", 12 | " ..XXXX.. ", 13 | " .XXXXXXXX. ", 14 | " .XXX..XXX. ", 15 | ".XXXX..XXXX. ", 16 | ".XX......XX.o ", 17 | ".XX......XX.o ", 18 | ".XXXX..XXXX.o ", 19 | " .XXX..XXX.o ", 20 | " .XXXXXXXX..o ", 21 | " ..XXXX...X. ", 22 | " ....o.X.X. ", 23 | " ooo o...X. ", 24 | " ...X.", 25 | " ...X", 26 | " ..."}; 27 | -------------------------------------------------------------------------------- /src/BITMAPS/paint.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char * paint_xpm[] = { 3 | /* width height ncolors cpp [x_hot y_hot] */ 4 | "16 16 4 1 -1 -1", 5 | /* colors */ 6 | " s none m none c none", 7 | ". s iconColor2 m white c white", 8 | "x s iconColor1 m black c black", 9 | "a s iconGray2 m gray c #909090909090", 10 | /* pixels */ 11 | " x..xa", 12 | " x..xaa", 13 | " x..xa ", 14 | " x..xaa ", 15 | " x..xa ", 16 | " x..xaa ", 17 | " x..xa ", 18 | " xxxxaa ", 19 | " x..xxa ", 20 | " x...xxa ", 21 | " x..axxa ", 22 | " x..axxaa ", 23 | " x.axxaa ", 24 | " x.axxaa ", 25 | " xxxxaaa ", 26 | " aaaa "}; 27 | -------------------------------------------------------------------------------- /src/BITMAPS/toolbox_open.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char *toolbox_open[]={ 3 | "16 16 12 1", 4 | ". c None", 5 | "b c #000000", 6 | "h c #2b1702", 7 | "a c #482704", 8 | "c c #82683b", 9 | "i c #8c4c07", 10 | "e c #8e8e8e", 11 | "j c #ca6d0a", 12 | "# c #cacbcb", 13 | "g c #ed800c", 14 | "d c #ffc0c0", 15 | "f c #ffff00", 16 | ".............#..", 17 | "...aab..........", 18 | ".baacca.........", 19 | "aaddccca........", 20 | "dddddccca.......", 21 | "dddddddaaaaaaaaa", 22 | "aadddaaeeecaafga", 23 | "gabaaeeeebafffga", 24 | "cchhhaaaaaafbggi", 25 | "haaijjjjhggfgggi", 26 | "..aiijjjaggggggi", 27 | "..aiiijjaggggii.", 28 | "..aaiijjaggii...", 29 | "..baaiijaii.....", 30 | "..bbaaaaa.......", 31 | "................"}; 32 | -------------------------------------------------------------------------------- /share/nip2/data/macbeth_lab_d65.mat: -------------------------------------------------------------------------------- 1 | 3 24 1 0 2 | 37.7758 13.122 13.2705 3 | 65.0651 13.6974 16.1079 4 | 51.125 -3.3471 -20.6654 5 | 42.9236 -12.4326 19.1425 6 | 56.0801 7.2918 -23.6413 7 | 70.8371 -30.663 2.5131 8 | 61.0209 34.1118 57.0494 9 | 42.4442 9.1559 -40.9195 10 | 50.2147 41.9414 12.8438 11 | 31.1403 21.5385 -23.1365 12 | 70.9067 -20.5043 57.9149 13 | 69.6498 20.8271 64.4978 14 | 32.4864 15.9125 -48.5415 15 | 54.1624 -34.1277 32.8876 16 | 40.4646 48.7723 24.0303 17 | 80.0696 4.3066 79.2876 18 | 50.847 42.549 -16.3102 19 | 52.5361 -28.7633 -23.2291 20 | 94.8303 -0.536 0.3512 21 | 80.3002 0.0736 -0.3646 22 | 65.3137 0.2192 -0.4743 23 | 50.7737 -0.2655 -0.546 24 | 36.005 0.2655 -0.5395 25 | 22.1402 0.6357 -0.219 26 | -------------------------------------------------------------------------------- /src/BITMAPS/dropper.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char * dropper_xpm[] = { 3 | /* width height ncolors cpp [x_hot y_hot] */ 4 | "16 16 4 1 -1 -1", 5 | /* colors */ 6 | " s none m none c none", 7 | ". s iconColor1 m black c black", 8 | "X s iconColor2 m white c white", 9 | "o s iconGray2 m gray c #909090909090", 10 | /* pixels */ 11 | " ... ", 12 | " .XX... ", 13 | " .X.... ", 14 | " .......", 15 | " .......", 16 | " .........", 17 | " XX......o", 18 | " X.XX.oooo ", 19 | " X.XXX.o ", 20 | " X.XXXooo ", 21 | " X.XXXo ", 22 | " X.XXXo ", 23 | " X.XXXo ", 24 | " XXXXo ", 25 | "XXXXo ", 26 | "XXoo "}; 27 | -------------------------------------------------------------------------------- /src/BITMAPS/magout.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char * magout_xpm[] = { 3 | /* width height ncolors cpp [x_hot y_hot] */ 4 | "16 16 4 1 -1 -1", 5 | /* colors */ 6 | " s none m none c none", 7 | ". s iconColor1 m black c black", 8 | "X s iconColor2 m white c white", 9 | "o s iconGray1 m white c #dededededede", 10 | /* pixels */ 11 | " .... ", 12 | " ..XXXX.. ", 13 | " .XXXXXXXX. ", 14 | " .XXXXXXXX. ", 15 | ".XXXXXXXXXX. ", 16 | ".XX......XX.o ", 17 | ".XX......XX.o ", 18 | ".XXXXXXXXXX.o ", 19 | " .XXXXXXXX.o ", 20 | " .XXXXXXXX..o ", 21 | " ..XXXX...X. ", 22 | " ....o.X.X. ", 23 | " ooo o...X. ", 24 | " ...X.", 25 | " ...X", 26 | " ..."}; 27 | -------------------------------------------------------------------------------- /src/BITMAPS/select.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char * select_xpm[] = { 3 | /* width height ncolors cpp [x_hot y_hot] */ 4 | "16 16 5 1 -1 -1", 5 | /* colors */ 6 | " s iconColor2 m white c white", 7 | ". s iconColor1 m black c black", 8 | "X s iconGray2 m white c #bdbdbdbdbdbd", 9 | "o s none m none c none", 10 | "O s iconGray3 m white c #adadadadadad", 11 | /* pixels */ 12 | " .", 13 | " XXXXXXXXXXXXXX.", 14 | " X............X.", 15 | " X. .ooo X.", 16 | " X. OOOOO.ooo X.", 17 | " X. OX.XO.ooo X.", 18 | " X. O...O.ooo X.", 19 | " X. O.X.O.ooo X.", 20 | " X. OOOOO.ooo X.", 21 | " X........ooo X.", 22 | " X.oooooooooo X.", 23 | " X.oooooooooo X.", 24 | " X.oooooooooo X.", 25 | " X. X.", 26 | " XXXXXXXXXXXXXX.", 27 | "................"}; 28 | -------------------------------------------------------------------------------- /src/BITMAPS/Makefile.am: -------------------------------------------------------------------------------- 1 | EXTRA_DIST = \ 2 | ant.xbm \ 3 | automatic.xbm \ 4 | automatic.xpm \ 5 | automatic1.xbm \ 6 | automatic1.xpm \ 7 | automatic2.xbm \ 8 | automatic2.xpm \ 9 | automatic3.xbm \ 10 | automatic3.xpm \ 11 | change.xbm \ 12 | convol.xbm \ 13 | dropper.xpm \ 14 | dropper_msk.xbm \ 15 | dropper_src.xbm \ 16 | image.xbm \ 17 | kill.xbm \ 18 | mag_msk.xbm \ 19 | magin.xpm \ 20 | magin_src.xbm \ 21 | magout.xpm \ 22 | magout_src.xbm \ 23 | morph.xbm \ 24 | pan.xpm \ 25 | paint.xpm \ 26 | program.xbm \ 27 | select.xpm \ 28 | slider.xbm \ 29 | watch_1.xbm \ 30 | watch_2.xbm \ 31 | watch_3.xbm \ 32 | watch_4.xbm \ 33 | watch_5.xbm \ 34 | watch_6.xbm \ 35 | watch_7.xbm \ 36 | watch_8.xbm \ 37 | watch_msk.xbm \ 38 | book_open.xpm \ 39 | book_closed.xpm \ 40 | toolbox_open.xpm \ 41 | toolbox_closed.xpm \ 42 | tools.xpm \ 43 | col.xpm \ 44 | separator.xpm \ 45 | floppy.xpm \ 46 | mini_page.xpm 47 | -------------------------------------------------------------------------------- /src/BITMAPS/change.xbm: -------------------------------------------------------------------------------- 1 | #define change_width 32 2 | #define change_height 32 3 | static unsigned char change_bits[] = { 4 | 0xaa, 0xaa, 0xaa, 0xaa, 0xff, 0xff, 0xfd, 0xff, 0xb2, 0x01, 0x0b, 0xd8, 5 | 0xb3, 0x01, 0x0d, 0xd8, 0xfe, 0xff, 0xfb, 0xff, 0x55, 0x55, 0x55, 0x55, 6 | 0xaa, 0xaa, 0xaa, 0xaa, 0x55, 0x55, 0x55, 0x55, 0xaa, 0xaa, 0xaa, 0xaa, 7 | 0xff, 0xff, 0xfd, 0xff, 0x02, 0x1b, 0x8b, 0x0d, 0x03, 0x1b, 0x8d, 0x0d, 8 | 0xfe, 0xff, 0xfb, 0xff, 0x55, 0x55, 0x55, 0x55, 0xaa, 0xaa, 0xaa, 0xaa, 9 | 0x55, 0x55, 0x55, 0x55, 0xaa, 0xaa, 0xaa, 0xaa, 0xff, 0xff, 0xfd, 0xff, 10 | 0xda, 0x00, 0x6b, 0x03, 0xdb, 0x00, 0x6d, 0x03, 0xfe, 0xff, 0xfb, 0xff, 11 | 0x55, 0x55, 0x55, 0x55, 0xaa, 0xaa, 0xaa, 0xaa, 0x55, 0x55, 0x55, 0x55, 12 | 0xaa, 0xaa, 0xaa, 0xaa, 0xff, 0xff, 0xfd, 0xff, 0x02, 0x1b, 0x8b, 0x0d, 13 | 0x03, 0x1b, 0x8d, 0x0d, 0xfe, 0xff, 0xfb, 0xff, 0x55, 0x55, 0x55, 0x55, 14 | 0xaa, 0xaa, 0xaa, 0xaa, 0x55, 0x55, 0x55, 0x55}; 15 | -------------------------------------------------------------------------------- /src/BITMAPS/convol.xbm: -------------------------------------------------------------------------------- 1 | #define convol_width 32 2 | #define convol_height 32 3 | static unsigned char convol_bits[] = { 4 | 0x00, 0x00, 0x00, 0x00, 0x84, 0x3c, 0xf3, 0x1e, 0xc6, 0xa0, 0x44, 0x02, 5 | 0xa4, 0x10, 0x62, 0x0e, 0xe4, 0x09, 0x81, 0x10, 0x84, 0x88, 0x80, 0x10, 6 | 0x8e, 0x88, 0x77, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x8c, 0x31, 0x86, 0x08, 7 | 0x42, 0x4a, 0xc9, 0x0c, 0x8e, 0x49, 0xa9, 0x08, 0x52, 0x4a, 0xee, 0x09, 8 | 0x52, 0x4a, 0x88, 0x08, 0x8c, 0x31, 0x86, 0x1c, 0x00, 0x00, 0x00, 0x00, 9 | 0x0c, 0x91, 0x67, 0x0c, 0x92, 0x99, 0x90, 0x12, 0x52, 0x91, 0x43, 0x08, 10 | 0xd2, 0x13, 0x24, 0x04, 0x12, 0x11, 0x14, 0x02, 0x0c, 0xb9, 0xf3, 0x1e, 11 | 0x00, 0x00, 0x00, 0x00, 0x9e, 0x21, 0xe6, 0x19, 0x48, 0x32, 0x09, 0x25, 12 | 0x0c, 0x29, 0x86, 0x10, 0x90, 0x78, 0x49, 0x08, 0x50, 0x20, 0x49, 0x04, 13 | 0xce, 0x23, 0x46, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 14 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; 15 | -------------------------------------------------------------------------------- /src/BITMAPS/morph.xbm: -------------------------------------------------------------------------------- 1 | #define morph_width 32 2 | #define morph_height 32 3 | static unsigned char morph_bits[] = { 4 | 0x00, 0x00, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0xc4, 0x00, 0x00, 0x00, 5 | 0xf8, 0x00, 0x00, 0x00, 0xd8, 0x01, 0x00, 0x00, 0xe0, 0x07, 0x00, 0x00, 6 | 0x10, 0x07, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0xfe, 0x30, 0x00, 0x00, 7 | 0xba, 0x28, 0x00, 0x00, 0x12, 0x99, 0x00, 0x00, 0xd6, 0xde, 0x00, 0x00, 8 | 0xe0, 0x6d, 0x03, 0x00, 0xb8, 0x10, 0x00, 0x00, 0x7c, 0x07, 0x00, 0x00, 9 | 0xce, 0x03, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0xc0, 0x01, 0xc0, 0x00, 10 | 0xe0, 0x03, 0xe6, 0x00, 0xf0, 0x07, 0xfe, 0x00, 0xf8, 0x0f, 0xfc, 0x01, 11 | 0x60, 0x13, 0xf0, 0x03, 0x60, 0x33, 0xfc, 0x07, 0x60, 0x7e, 0xfe, 0x3f, 12 | 0xe0, 0xfe, 0xfe, 0x7f, 0xc0, 0xf1, 0xff, 0x7f, 0xc0, 0xff, 0xfe, 0x7f, 13 | 0x00, 0x7f, 0xfa, 0xff, 0x00, 0x30, 0xfc, 0xff, 0x00, 0x10, 0xfe, 0x7f, 14 | 0x00, 0x00, 0xff, 0x33, 0x00, 0x00, 0x87, 0x01}; 15 | -------------------------------------------------------------------------------- /src/BITMAPS/slider.xbm: -------------------------------------------------------------------------------- 1 | #define slider_width 32 2 | #define slider_height 32 3 | static unsigned char slider_bits[] = { 4 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x62, 0x00, 0x00, 5 | 0x00, 0x93, 0x00, 0x00, 0x00, 0x42, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 6 | 0x00, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 7 | 0xfc, 0xff, 0xff, 0x3f, 0x04, 0x36, 0x00, 0x20, 0x04, 0x36, 0x00, 0x20, 8 | 0xfc, 0xff, 0xff, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 9 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x01, 0x00, 10 | 0x00, 0x80, 0x03, 0x00, 0x00, 0x80, 0x07, 0x00, 0x00, 0x80, 0x0f, 0x00, 11 | 0x00, 0x80, 0x07, 0x00, 0x00, 0x80, 0x07, 0x00, 0x00, 0x00, 0x06, 0x00, 12 | 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x00, 13 | 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 14 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; 15 | -------------------------------------------------------------------------------- /src/BITMAPS/image.xbm: -------------------------------------------------------------------------------- 1 | #define program_width 32 2 | #define program_height 32 3 | static unsigned char program_bits[] = { 4 | 0x55, 0x55, 0x55, 0x55, 0xfe, 0xff, 0xff, 0xff, 0x03, 0x10, 0x00, 0x40, 5 | 0x02, 0x18, 0x00, 0xc0, 0x03, 0x08, 0x00, 0x40, 0x02, 0x00, 0x38, 0xc0, 6 | 0x03, 0x1c, 0xcc, 0x40, 0x02, 0x34, 0xc4, 0xc0, 0x03, 0xa0, 0x00, 0x40, 7 | 0x02, 0x90, 0x78, 0xc0, 0x03, 0x90, 0x5c, 0x40, 0x02, 0xc0, 0x18, 0xc0, 8 | 0x03, 0x20, 0x00, 0x40, 0x02, 0x30, 0x00, 0xc0, 0x03, 0x10, 0x00, 0x40, 9 | 0x02, 0x18, 0x06, 0xc0, 0x03, 0x08, 0x0c, 0x40, 0x02, 0xd0, 0x08, 0xc0, 10 | 0x03, 0xb0, 0x0f, 0x40, 0x02, 0x00, 0x00, 0xc0, 0x03, 0x80, 0x00, 0x40, 11 | 0x02, 0xc0, 0x01, 0xc0, 0x03, 0x80, 0x7f, 0x40, 0x02, 0x00, 0x39, 0xc0, 12 | 0x03, 0x00, 0x00, 0x40, 0x02, 0x00, 0x01, 0xe0, 0x03, 0x00, 0x1f, 0x60, 13 | 0x02, 0x00, 0x1c, 0xf0, 0x03, 0x00, 0x30, 0x58, 0x02, 0x00, 0xe0, 0xfe, 14 | 0xff, 0xff, 0xff, 0x7f, 0xaa, 0xaa, 0xaa, 0xaa}; 15 | -------------------------------------------------------------------------------- /src/BITMAPS/program.xbm: -------------------------------------------------------------------------------- 1 | #define program_width 32 2 | #define program_height 32 3 | static unsigned char program_bits[] = { 4 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 5 | 0x00, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x20, 0x01, 0x00, 0x00, 6 | 0x20, 0x00, 0x00, 0x20, 0x20, 0x00, 0x00, 0x30, 0xf8, 0x38, 0x00, 0x28, 7 | 0x20, 0x44, 0x7c, 0x24, 0x10, 0x44, 0x00, 0x22, 0x10, 0x44, 0x7c, 0x7e, 8 | 0x10, 0x64, 0x01, 0x20, 0x10, 0x98, 0x00, 0x20, 0x12, 0x00, 0x00, 0x00, 9 | 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 10 | 0x00, 0x00, 0x84, 0x03, 0x40, 0x00, 0x46, 0x04, 0x30, 0x00, 0x04, 0x04, 11 | 0x48, 0x7c, 0x04, 0x02, 0x48, 0x00, 0x04, 0x01, 0x30, 0x7c, 0x84, 0x00, 12 | 0x08, 0x00, 0x44, 0x00, 0x70, 0x00, 0xce, 0x07, 0x88, 0x01, 0x00, 0x00, 13 | 0x08, 0x01, 0x00, 0x00, 0x08, 0x01, 0x00, 0x00, 0xf0, 0x00, 0x00, 0x00, 14 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; 15 | -------------------------------------------------------------------------------- /src/BITMAPS/automatic.xbm: -------------------------------------------------------------------------------- 1 | #define automatic_width 32 2 | #define automatic_height 32 3 | static const unsigned char automatic_bits[] = { 4 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 5 | 0x00, 0x00, 0x00, 0x00, 0x80, 0xaa, 0xaa, 0x00, 0x40, 0x55, 0x55, 0x01, 6 | 0x80, 0xff, 0xff, 0x00, 0x40, 0x01, 0x40, 0x01, 0x80, 0x01, 0xc0, 0x00, 7 | 0x40, 0xe1, 0x47, 0x01, 0x80, 0x11, 0xc8, 0x00, 0x40, 0x09, 0x50, 0x01, 8 | 0x80, 0x75, 0xd7, 0x00, 0x40, 0xf5, 0x5f, 0x01, 0x80, 0x95, 0xd9, 0x00, 9 | 0x40, 0x65, 0x56, 0x01, 0x80, 0x35, 0xd0, 0x00, 0x40, 0xf5, 0x50, 0x01, 10 | 0x80, 0xc5, 0xd4, 0x00, 0x40, 0x05, 0x56, 0x01, 0x80, 0x05, 0xd6, 0x00, 11 | 0x40, 0xed, 0x53, 0x01, 0x80, 0xd9, 0xd8, 0x00, 0x40, 0x31, 0x4c, 0x01, 12 | 0x80, 0x21, 0xc2, 0x00, 0x40, 0xff, 0x7f, 0x01, 0x80, 0xaa, 0xaa, 0x00, 13 | 0x40, 0x55, 0x55, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 14 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; 15 | -------------------------------------------------------------------------------- /src/BITMAPS/automatic1.xbm: -------------------------------------------------------------------------------- 1 | #define automatic1_width 32 2 | #define automatic1_height 32 3 | static const unsigned char automatic1_bits[] = { 4 | 0x50, 0x00, 0x00, 0x00, 0xd1, 0x00, 0x00, 0x00, 0x93, 0x00, 0x00, 0x00, 5 | 0x9e, 0x01, 0x00, 0x00, 0x0c, 0x01, 0x00, 0x00, 0x64, 0x03, 0x00, 0x00, 6 | 0x67, 0x06, 0x00, 0x00, 0x04, 0x0e, 0x00, 0x00, 0x08, 0x53, 0x55, 0x55, 7 | 0x90, 0xa3, 0xaa, 0xaa, 0x10, 0xcf, 0xff, 0x7f, 0x20, 0xaa, 0x00, 0xa0, 8 | 0x20, 0xd6, 0x00, 0x60, 0x40, 0xa4, 0x00, 0xa0, 0x80, 0xc8, 0xe0, 0x67, 9 | 0x80, 0xb0, 0x10, 0xa8, 0x00, 0xd1, 0x08, 0x70, 0x00, 0xa1, 0x74, 0xa7, 10 | 0x00, 0xa2, 0xb4, 0x6b, 0x00, 0xc4, 0xf4, 0xab, 0x00, 0x84, 0x64, 0x66, 11 | 0x00, 0x88, 0x35, 0xa0, 0x00, 0x08, 0xf5, 0x60, 0x00, 0xf0, 0xc7, 0xb0, 12 | 0x00, 0xc0, 0x64, 0x70, 0x00, 0xa0, 0xe4, 0xb1, 0x00, 0xc0, 0xcc, 0x73, 13 | 0x00, 0xa0, 0x18, 0xbb, 0x00, 0xc0, 0x10, 0x6c, 0x00, 0xa0, 0xff, 0xbf, 14 | 0x00, 0x40, 0x55, 0x55, 0x00, 0xa0, 0xaa, 0xaa}; 15 | -------------------------------------------------------------------------------- /src/BITMAPS/automatic2.xbm: -------------------------------------------------------------------------------- 1 | #define automatic2_width 32 2 | #define automatic2_height 32 3 | static const unsigned char automatic2_bits[] = { 4 | 0xe0, 0x00, 0x00, 0x00, 0xd0, 0x00, 0x00, 0x00, 0x91, 0x00, 0x00, 0x00, 5 | 0x9e, 0x01, 0x00, 0x00, 0x0c, 0x03, 0x00, 0x00, 0x64, 0x0f, 0x00, 0x00, 6 | 0x64, 0x12, 0x00, 0x00, 0x07, 0x72, 0x00, 0x00, 0x0c, 0x43, 0x55, 0x55, 7 | 0x88, 0xa6, 0xaa, 0xaa, 0x10, 0xc9, 0xff, 0x7f, 0x10, 0xb2, 0x00, 0xa0, 8 | 0x20, 0xc2, 0x00, 0x60, 0x20, 0xa4, 0x00, 0xa0, 0x40, 0xc4, 0xe0, 0x67, 9 | 0x40, 0xa8, 0x10, 0xa8, 0x80, 0xc8, 0x08, 0x70, 0x80, 0xb0, 0x74, 0xa7, 10 | 0x00, 0xd1, 0xb4, 0x6b, 0x00, 0xa1, 0xf4, 0xab, 0x00, 0xe2, 0x64, 0x66, 11 | 0x00, 0xc2, 0x34, 0xa0, 0x00, 0xc4, 0xf4, 0x60, 0x00, 0xc4, 0xc4, 0xb0, 12 | 0x00, 0xf8, 0x64, 0x70, 0x00, 0xa0, 0xe4, 0xb1, 0x00, 0xc0, 0xcc, 0x73, 13 | 0x00, 0xa0, 0x18, 0xbb, 0x00, 0xc0, 0x10, 0x6c, 0x00, 0xa0, 0xff, 0xbf, 14 | 0x00, 0x40, 0x55, 0x55, 0x00, 0xa0, 0xaa, 0xaa}; 15 | -------------------------------------------------------------------------------- /src/BITMAPS/automatic3.xbm: -------------------------------------------------------------------------------- 1 | #define automatic3_width 32 2 | #define automatic3_height 32 3 | static const unsigned char automatic3_bits[] = { 4 | 0x33, 0x00, 0x00, 0x00, 0xc6, 0x00, 0x00, 0x00, 0x9c, 0x00, 0x00, 0x00, 5 | 0x9c, 0x01, 0x00, 0x00, 0x0d, 0x01, 0x00, 0x00, 0x66, 0x03, 0x00, 0x00, 6 | 0x64, 0x06, 0x00, 0x00, 0x04, 0x0e, 0x00, 0x00, 0x08, 0x53, 0x55, 0x55, 7 | 0x90, 0xa3, 0xaa, 0xaa, 0x30, 0xc2, 0xff, 0x7f, 0x20, 0xa4, 0x00, 0xa0, 8 | 0x40, 0xc8, 0x00, 0x60, 0x80, 0xa8, 0x00, 0xa0, 0x80, 0xd0, 0xe0, 0x67, 9 | 0x00, 0xa1, 0x10, 0xa8, 0x00, 0xc2, 0x08, 0x70, 0x00, 0xc4, 0x74, 0xa7, 10 | 0x00, 0x84, 0xb5, 0x6b, 0x00, 0x08, 0xf5, 0xab, 0x00, 0x10, 0x66, 0x66, 11 | 0x00, 0x30, 0x34, 0xa0, 0x00, 0x20, 0xfc, 0x60, 0x00, 0xe0, 0xcf, 0xb0, 12 | 0x00, 0xc0, 0x64, 0x70, 0x00, 0xa0, 0xe4, 0xb1, 0x00, 0xc0, 0xcc, 0x73, 13 | 0x00, 0xa0, 0x18, 0xbb, 0x00, 0xc0, 0x10, 0x6c, 0x00, 0xa0, 0xff, 0xbf, 14 | 0x00, 0x40, 0x55, 0x55, 0x00, 0xa0, 0xaa, 0xaa}; 15 | -------------------------------------------------------------------------------- /src/secret.h: -------------------------------------------------------------------------------- 1 | /* Decls for secret.c 2 | */ 3 | 4 | /* 5 | 6 | Copyright (C) 1991-2003 The National Gallery 7 | 8 | This program is free software; you can redistribute it and/or modify 9 | it under the terms of the GNU General Public License as published by 10 | the Free Software Foundation; either version 2 of the License, or 11 | (at your option) any later version. 12 | 13 | This program is distributed in the hope that it will be useful, 14 | but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | GNU General Public License for more details. 17 | 18 | You should have received a copy of the GNU General Public License along 19 | with this program; if not, write to the Free Software Foundation, Inc., 20 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 21 | 22 | */ 23 | 24 | /* 25 | 26 | These files are distributed with VIPS - http://www.vips.ecs.soton.ac.uk 27 | 28 | */ 29 | 30 | void secret_build( Compile *compile ); 31 | -------------------------------------------------------------------------------- /src/action.h: -------------------------------------------------------------------------------- 1 | /* Graph actions. 2 | */ 3 | 4 | /* A strict action on the graph. 5 | */ 6 | typedef void (*ActionFn)( Reduce *, Compile *, 7 | int, const char *, HeapNode **, PElement *, void * ); 8 | 9 | /* A sort of reducer (eg. lazy or strict, or hyperstrict) 10 | */ 11 | typedef void (*ReduceFunction)( Reduce *, PElement * ); 12 | 13 | #define OPERATOR_NAME( OP ) ( \ 14 | (int) (OP) >= 0 && (int) (OP) < noperator_table ? \ 15 | operator_table[(int) (OP)] : "" \ 16 | ) 17 | 18 | extern const char *operator_table[]; 19 | extern const int noperator_table; 20 | 21 | void action_proc_uop( Reduce *rc, Compile *compile, 22 | int op, const char *name, HeapNode **arg, PElement *out ); 23 | void action_proc_construct( Reduce *rc, Compile *compile, 24 | HeapNode **arg, PElement *out ); 25 | 26 | void action_proc_bop( Reduce *rc, Compile *compile, 27 | BinOp bop, HeapNode **arg ); 28 | 29 | void action_dispatch( Reduce *rc, Compile *compile, ReduceFunction rfn, 30 | int op, const char *name, gboolean override, 31 | ActionFn afn, int nargs, HeapNode **arg, void *user ); 32 | -------------------------------------------------------------------------------- /test/workspaces/test_fail.ws: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /share/nip2/data/Makefile.am: -------------------------------------------------------------------------------- 1 | nipdatadir = $(pkgdatadir)/data 2 | 3 | nipdata_DATA = \ 4 | rachel.con \ 5 | AdobeRGB1998.icc \ 6 | sRGB.icm \ 7 | macbeth_lab_d65.mat \ 8 | macbeth_lab_d50.mat \ 9 | vips-128.png \ 10 | nip2-icon.ico \ 11 | cmyk.icm \ 12 | stock-tool-ink-22.png \ 13 | stock-tool-path-22.png \ 14 | stock-tool-text-22.png \ 15 | stock-tool-smudge-22.png \ 16 | stock-tool-bucket-fill-22.png \ 17 | stock-tool-rect-select-22.png \ 18 | stock-tool-select-22.png \ 19 | stock-padlock-closed-22.png \ 20 | stock-alert-22.png \ 21 | nip-slider-16.png \ 22 | stock-tool-move-22.png \ 23 | stock-led-red-18.png \ 24 | stock-led-green-18.png \ 25 | stock-led-blue-18.png \ 26 | stock-led-cyan-18.png \ 27 | stock-led-yellow-18.png \ 28 | stock-led-off-18.png 29 | 30 | EXTRA_DIST = \ 31 | $(nipdata_DATA) \ 32 | examples 33 | 34 | install-exec-hook: 35 | rm -rf $(DESTDIR)$(nipdatadir)/examples 36 | $(mkinstalldirs) $(DESTDIR)$(nipdatadir)/examples 37 | cp -r ${top_srcdir}/share/nip2/data/examples/* $(DESTDIR)$(nipdatadir)/examples 38 | 39 | uninstall-hook: 40 | # make sure we have write permission for 'rm' 41 | chmod -R u+w ${DESTDIR}$(nipdatadir)/examples 42 | ${RM} -rf ${DESTDIR}$(nipdatadir)/examples 43 | 44 | -------------------------------------------------------------------------------- /src/makehelpindex.pl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/perl 2 | 3 | # html docs in $VIPSHOME/share/nip2/doc/html include extra anchor tags 4 | # generated from \mylabel{} stuff in doc src (nip2-xx/doc/src/nipguide) 5 | # 6 | # latex source 7 | # 8 | # \section{Image view window} 9 | # \mylabel{sec:view} 10 | # 11 | # generates html which includes 12 | # 13 | # 14 | # 15 | # scan all html files in $VIPSHOME/share/nip2/doc/html for patterns like this, 16 | # and generate C along the lines of: 17 | # 18 | # { "sec:view", "node4.html#nip_label_sec:view" }, 19 | # 20 | # this is includes in boxes.c ... then on 21 | # 22 | # box_help( par, "sec:view" ) 23 | # 24 | # we can pop up a web browser pointing at the right place in the docs 25 | 26 | $prefix = @ARGV[0]; 27 | $docbase = "$prefix/share/doc/nip2/html"; 28 | 29 | opendir( SDIR, "$docbase" ); 30 | 31 | while( $filename = readdir SDIR ) { 32 | if( $filename =~ /.html$/ ) { 33 | open( HTMLFILE, "$docbase/$filename" ); 34 | 35 | while( ) { 36 | if( /"nip_label_([^"]*)"/ ) { 37 | print "{ \"$1\", \"$filename#nip_label_" . 38 | "$1\" },\n"; 39 | } 40 | } 41 | 42 | close( HTMLFILE ); 43 | } 44 | } 45 | 46 | closedir( SDIR ); 47 | 48 | -------------------------------------------------------------------------------- /doc/src/Makefile: -------------------------------------------------------------------------------- 1 | # 2 | 3 | PDF = nipguide.pdf 4 | SRC = \ 5 | config.tex \ 6 | infrared.tex \ 7 | intro.tex \ 8 | program.tex \ 9 | reference.tex \ 10 | menus.tex \ 11 | tutorial.tex \ 12 | mydefs.tex 13 | 14 | mkinstalldirs = $(SHELL) ../../mkinstalldirs 15 | destdir = ../ 16 | 17 | all: $(PDF) html 18 | 19 | install: all $(PDF) html 20 | -rm -f ${destdir}/pdf/$(PDF) 21 | -mkdir -p ${destdir}/pdf 22 | -cp $(PDF) ${destdir}/pdf 23 | -rm -rf ${destdir}/html/figs 24 | -rm -f ${destdir}/html/*.html 25 | -rm -f ${destdir}/html/*.css 26 | -mkdir -p ${destdir}/html 27 | -cp -r nipguide/* ${destdir}/html 28 | 29 | $(PDF): $(SRC) 30 | pdflatex nipguide.tex 31 | pdflatex nipguide.tex 32 | 33 | .PHONY: html 34 | html: 35 | -rm -rf nipguide 36 | -mkdir -p nipguide 37 | htlatex nipguide.tex html.cfg,3 "" -dnipguide/ 38 | cp -r figs nipguide 39 | -rm nipguide/*.jpg 40 | -rm nipguide/*.png 41 | 42 | .PHONY: clean 43 | clean: 44 | -rm -f *.4ct 45 | -rm -f *.4tc 46 | -rm -f *.log 47 | -rm -f *.xref 48 | -rm -f *.tmp 49 | -rm -f *.html 50 | -rm -f *.css 51 | -rm -f *.lg 52 | -rm -f *.idv 53 | -rm -f *.aux 54 | -rm -f *.dvi 55 | -rm -f *.lof 56 | -rm -f *.lot 57 | -rm -f *.toc 58 | -rm -f *.pdf 59 | -rm -rf nipguide 60 | -------------------------------------------------------------------------------- /src/cache.h: -------------------------------------------------------------------------------- 1 | /* Call vips functions from the graph reducer. 2 | */ 3 | 4 | /* 5 | 6 | Copyright (C) 1991-2003 The National Gallery 7 | 8 | This program is free software; you can redistribute it and/or modify 9 | it under the terms of the GNU General Public License as published by 10 | the Free Software Foundation; either version 2 of the License, or 11 | (at your option) any later version. 12 | 13 | This program is distributed in the hope that it will be useful, 14 | but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | GNU General Public License for more details. 17 | 18 | You should have received a copy of the GNU General Public License along 19 | with this program; if not, write to the Free Software Foundation, Inc., 20 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 21 | 22 | */ 23 | 24 | /* 25 | 26 | These files are distributed with VIPS - http://www.vips.ecs.soton.ac.uk 27 | 28 | */ 29 | 30 | extern int cache_history_size; 31 | 32 | void cache_tochar_trace( CallInfo *vi, int i, VipsBuf *buf ); 33 | void cache_history_remove( CallInfo *vi ); 34 | CallInfo *cache_dispatch( CallInfo *vi, PElement *out ); 35 | -------------------------------------------------------------------------------- /src/vipsobject.h: -------------------------------------------------------------------------------- 1 | /* Links to VipsObject. 2 | */ 3 | 4 | /* 5 | 6 | Copyright (C) 1991-2003 The National Gallery 7 | 8 | This program is free software; you can redistribute it and/or modify 9 | it under the terms of the GNU General Public License as published by 10 | the Free Software Foundation; either version 2 of the License, or 11 | (at your option) any later version. 12 | 13 | This program is distributed in the hope that it will be useful, 14 | but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | GNU General Public License for more details. 17 | 18 | You should have received a copy of the GNU General Public License along 19 | with this program; if not, write to the Free Software Foundation, Inc., 20 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 21 | 22 | */ 23 | 24 | /* 25 | 26 | These files are distributed with VIPS - http://www.vips.ecs.soton.ac.uk 27 | 28 | */ 29 | 30 | void vo_object_new( Reduce *rc, const char *name, 31 | PElement *required, PElement *optional, PElement *out ); 32 | void vo_call( Reduce *rc, const char *name, 33 | PElement *required, PElement *optional, PElement *out ); 34 | 35 | -------------------------------------------------------------------------------- /doc/src/intro.tex: -------------------------------------------------------------------------------- 1 | \chapter{Getting started} 2 | 3 | \noindent 4 | \nip{} is a user interface for the VIPS image processing library. It is 5 | designed to be fast, even when working with very large images, and to 6 | be easy to extend. 7 | 8 | This guide is split into quite a few chapters: 9 | 10 | \begin{itemize} 11 | 12 | \item 13 | If you want to use \nip{} to assemble infrared mosaics, you should read 14 | \cref{sec:ir}. The middle section in the tutorial (see \pref{sec:irtut}) 15 | does IR mosaics very quickly. 16 | 17 | \item 18 | If you want to use \nip{} for general image processing, work through 19 | \cref{sec:tutorial}. 20 | 21 | \item 22 | If you have specific questions about some part of \nip{}'s user-interface, look 23 | at \cref{sec:reference}. 24 | 25 | \item 26 | If you're really hardcore, take a look at \cref{sec:program}, which covers 27 | programming. 28 | 29 | \item 30 | If you want to know more about VIPS, the image processing package 31 | underlying \nip{}, try the \emph{VIPS Manual}. 32 | 33 | \end{itemize} 34 | 35 | If \nip{} has installed correctly you should see something like 36 | \fref{fg:introwin} when it starts up. 37 | 38 | \begin{figure} 39 | \figw{3in}{snap1.jpg} 40 | \caption{\nip{} as it starts up} 41 | \label{fg:introwin} 42 | \end{figure} 43 | 44 | -------------------------------------------------------------------------------- /nip2.appdata.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | nip2.desktop 5 | CC0-1.0 6 | GPL-2.0+ and LGPL-2.1+ 7 | nip2 8 | Image processing spreadsheet 9 | 10 |

11 | nip2 is a GUI for the VIPS scientific image processing library. 12 | It's a little 13 | like a spreadsheet: you create a set of formula connecting your 14 | images together, and on a change nip2 recalculates. 15 |

16 |

17 | It can load 18 | images in most commonly used formats, but also in scientific 19 | formats such as Matlab, FITS, OpenSlide, OpenEXR, and others. 20 | nip2 is especially useful with very large images. You can 21 | easily work with multi-gigabyte images even on a modest computer. 22 |

23 |
24 | 25 | https://raw.githubusercontent.com/libvips/nip2/master/doc/src/figs/snap1.jpg 26 | 27 | https://libvips.github.io/libvips 28 | https://github.com/libvips/nip2 29 |
30 | -------------------------------------------------------------------------------- /share/nip2/compat/7.10/Widgets.def: -------------------------------------------------------------------------------- 1 | Widget_slider_item = class 2 | Menuaction "_Slider" "make a new slider widget" { 3 | icon = "nip-slider-16.png"; 4 | action = Slider 0 255 128; 5 | } 6 | 7 | Widget_toggle_item = class 8 | Menuaction "_Toggle" "make a new toggle widget" { 9 | action = Toggle "untitled" false; 10 | } 11 | 12 | Widget_option_item = class 13 | Menuaction "_Option" "make a new option widget" { 14 | action = Option "untitled" ["option0", "option1"] 0; 15 | } 16 | 17 | Widget_string_item = class 18 | Menuaction "St_ring" "make a new string widget" { 19 | action = String "Enter a string" "sample text"; 20 | } 21 | 22 | Widget_number_item = class 23 | Menuaction "_Number" "make a new number widget" { 24 | action = Number "Enter a number" 42; 25 | } 26 | 27 | Widget_expression_item = class 28 | Menuaction "_Expression" "make a new expression widget" { 29 | action = Expression "Enter an expression" 42; 30 | } 31 | 32 | Widget_pathname_item = class 33 | Menuaction "_File Chooser" "make a new file chooser widget" { 34 | action = Pathname "Pick a file" 35 | "$VIPSHOME/share/$PACKAGE/data/print_test_image.v"; 36 | } 37 | 38 | Widget_font_item = class 39 | Menuaction "F_ont Chooser" "make a new font chooser widget" { 40 | action = Fontname "Pick a font" Workspaces.Preferences.PAINTBOX_FONT; 41 | } 42 | -------------------------------------------------------------------------------- /src/doubleclick.h: -------------------------------------------------------------------------------- 1 | /* Declarations for doubleclick determiner. 2 | */ 3 | 4 | /* 5 | 6 | Copyright (C) 1991-2003 The National Gallery 7 | 8 | This program is free software; you can redistribute it and/or modify 9 | it under the terms of the GNU General Public License as published by 10 | the Free Software Foundation; either version 2 of the License, or 11 | (at your option) any later version. 12 | 13 | This program is distributed in the hope that it will be useful, 14 | but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | GNU General Public License for more details. 17 | 18 | You should have received a copy of the GNU General Public License along 19 | with this program; if not, write to the Free Software Foundation, Inc., 20 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 21 | 22 | */ 23 | 24 | /* 25 | 26 | These files are distributed with VIPS - http://www.vips.ecs.soton.ac.uk 27 | 28 | */ 29 | 30 | typedef void (*DoubleclickFunc)( GtkWidget *, GdkEvent *, void * ); 31 | #define DOUBLECLICK_FUNC( fn ) ((DoubleclickFunc) (fn)) 32 | 33 | void doubleclick_add( GtkWidget *wid, gboolean dsingle, 34 | DoubleclickFunc single, void *clients, 35 | DoubleclickFunc dub, void *clientd ); 36 | -------------------------------------------------------------------------------- /share/nip2/start/Object.def: -------------------------------------------------------------------------------- 1 | Object_duplicate_item = class 2 | Menuaction "_Duplicate" "take a copy of an object" { 3 | action x = map_unary copy x; 4 | } 5 | 6 | #separator 7 | 8 | Object_list_to_group_item = class 9 | Menuaction "_List to Group" "turn a list of objects into a group" { 10 | action x = to_group x; 11 | } 12 | 13 | Object_group_to_list_item = class 14 | Menuaction "_Group to List" "turn a group into a list of objects" { 15 | action x = to_list x; 16 | } 17 | 18 | #separator 19 | 20 | Object_break_item = class 21 | Menuaction "_Break Up Object" 22 | "break an object into a list of components" { 23 | action x 24 | = map_unary break x 25 | { 26 | break x 27 | = bandsplit x, is_Image x 28 | = map Vector x.value, is_Matrix x 29 | = x.value, is_Vector x || is_Real x 30 | = error "Breakup: not Image/Matrix/Vector/Real"; 31 | } 32 | } 33 | 34 | Object_assemble_item = class 35 | Menuaction "_Assemble Objects" 36 | "assemble a list of objects into a single object" { 37 | action x 38 | = map_unary ass x 39 | { 40 | ass x 41 | = [], x == [] 42 | = Vector x, is_real_list x 43 | = Matrix x, is_matrix x 44 | = bandjoin x, is_listof is_Image x 45 | = Vector (map get_value x), is_listof is_Real x 46 | = Matrix (map get_value x), is_listof is_Vector x 47 | = error "Assemble: not list of Image/Vector/Real/image/real"; 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /share/nip2/compat/7.38/Object.def: -------------------------------------------------------------------------------- 1 | Object_duplicate_item = class 2 | Menuaction "_Duplicate" "take a copy of an object" { 3 | action x = map_unary copy x; 4 | } 5 | 6 | #separator 7 | 8 | Object_list_to_group_item = class 9 | Menuaction "_List to Group" "turn a list of objects into a group" { 10 | action x = to_group x; 11 | } 12 | 13 | Object_group_to_list_item = class 14 | Menuaction "_Group to List" "turn a group into a list of objects" { 15 | action x = to_list x; 16 | } 17 | 18 | #separator 19 | 20 | Object_break_item = class 21 | Menuaction "_Break Up Object" 22 | "break an object into a list of components" { 23 | action x 24 | = map_unary break x 25 | { 26 | break x 27 | = bandsplit x, is_Image x 28 | = map Vector x.value, is_Matrix x 29 | = x.value, is_Vector x || is_Real x 30 | = error "Breakup: not Image/Matrix/Vector/Real"; 31 | } 32 | } 33 | 34 | Object_assemble_item = class 35 | Menuaction "_Assemble Objects" 36 | "assemble a list of objects into a single object" { 37 | action x 38 | = map_unary ass x 39 | { 40 | ass x 41 | = [], x == [] 42 | = Vector x, is_real_list x 43 | = Matrix x, is_matrix x 44 | = bandjoin x, is_listof is_Image x 45 | = Vector (map get_value x), is_listof is_Real x 46 | = Matrix (map get_value x), is_listof is_Vector x 47 | = error "Assemble: not list of Image/Vector/Real/image/real"; 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /share/nip2/compat/7.40/Object.def: -------------------------------------------------------------------------------- 1 | Object_duplicate_item = class 2 | Menuaction "_Duplicate" "take a copy of an object" { 3 | action x = map_unary copy x; 4 | } 5 | 6 | #separator 7 | 8 | Object_list_to_group_item = class 9 | Menuaction "_List to Group" "turn a list of objects into a group" { 10 | action x = to_group x; 11 | } 12 | 13 | Object_group_to_list_item = class 14 | Menuaction "_Group to List" "turn a group into a list of objects" { 15 | action x = to_list x; 16 | } 17 | 18 | #separator 19 | 20 | Object_break_item = class 21 | Menuaction "_Break Up Object" 22 | "break an object into a list of components" { 23 | action x 24 | = map_unary break x 25 | { 26 | break x 27 | = bandsplit x, is_Image x 28 | = map Vector x.value, is_Matrix x 29 | = x.value, is_Vector x || is_Real x 30 | = error "Breakup: not Image/Matrix/Vector/Real"; 31 | } 32 | } 33 | 34 | Object_assemble_item = class 35 | Menuaction "_Assemble Objects" 36 | "assemble a list of objects into a single object" { 37 | action x 38 | = map_unary ass x 39 | { 40 | ass x 41 | = [], x == [] 42 | = Vector x, is_real_list x 43 | = Matrix x, is_matrix x 44 | = bandjoin x, is_listof is_Image x 45 | = Vector (map get_value x), is_listof is_Real x 46 | = Matrix (map get_value x), is_listof is_Vector x 47 | = error "Assemble: not list of Image/Vector/Real/image/real"; 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /share/nip2/compat/8.2/Object.def: -------------------------------------------------------------------------------- 1 | Object_duplicate_item = class 2 | Menuaction "_Duplicate" "take a copy of an object" { 3 | action x = map_unary copy x; 4 | } 5 | 6 | #separator 7 | 8 | Object_list_to_group_item = class 9 | Menuaction "_List to Group" "turn a list of objects into a group" { 10 | action x = to_group x; 11 | } 12 | 13 | Object_group_to_list_item = class 14 | Menuaction "_Group to List" "turn a group into a list of objects" { 15 | action x = to_list x; 16 | } 17 | 18 | #separator 19 | 20 | Object_break_item = class 21 | Menuaction "_Break Up Object" 22 | "break an object into a list of components" { 23 | action x 24 | = map_unary break x 25 | { 26 | break x 27 | = bandsplit x, is_Image x 28 | = map Vector x.value, is_Matrix x 29 | = x.value, is_Vector x || is_Real x 30 | = error "Breakup: not Image/Matrix/Vector/Real"; 31 | } 32 | } 33 | 34 | Object_assemble_item = class 35 | Menuaction "_Assemble Objects" 36 | "assemble a list of objects into a single object" { 37 | action x 38 | = map_unary ass x 39 | { 40 | ass x 41 | = [], x == [] 42 | = Vector x, is_real_list x 43 | = Matrix x, is_matrix x 44 | = bandjoin x, is_listof is_Image x 45 | = Vector (map get_value x), is_listof is_Real x 46 | = Matrix (map get_value x), is_listof is_Vector x 47 | = error "Assemble: not list of Image/Vector/Real/image/real"; 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /share/nip2/compat/8.3/Object.def: -------------------------------------------------------------------------------- 1 | Object_duplicate_item = class 2 | Menuaction "_Duplicate" "take a copy of an object" { 3 | action x = map_unary copy x; 4 | } 5 | 6 | #separator 7 | 8 | Object_list_to_group_item = class 9 | Menuaction "_List to Group" "turn a list of objects into a group" { 10 | action x = to_group x; 11 | } 12 | 13 | Object_group_to_list_item = class 14 | Menuaction "_Group to List" "turn a group into a list of objects" { 15 | action x = to_list x; 16 | } 17 | 18 | #separator 19 | 20 | Object_break_item = class 21 | Menuaction "_Break Up Object" 22 | "break an object into a list of components" { 23 | action x 24 | = map_unary break x 25 | { 26 | break x 27 | = bandsplit x, is_Image x 28 | = map Vector x.value, is_Matrix x 29 | = x.value, is_Vector x || is_Real x 30 | = error "Breakup: not Image/Matrix/Vector/Real"; 31 | } 32 | } 33 | 34 | Object_assemble_item = class 35 | Menuaction "_Assemble Objects" 36 | "assemble a list of objects into a single object" { 37 | action x 38 | = map_unary ass x 39 | { 40 | ass x 41 | = [], x == [] 42 | = Vector x, is_real_list x 43 | = Matrix x, is_matrix x 44 | = bandjoin x, is_listof is_Image x 45 | = Vector (map get_value x), is_listof is_Real x 46 | = Matrix (map get_value x), is_listof is_Vector x 47 | = error "Assemble: not list of Image/Vector/Real/image/real"; 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /share/nip2/compat/8.4/Object.def: -------------------------------------------------------------------------------- 1 | Object_duplicate_item = class 2 | Menuaction "_Duplicate" "take a copy of an object" { 3 | action x = map_unary copy x; 4 | } 5 | 6 | #separator 7 | 8 | Object_list_to_group_item = class 9 | Menuaction "_List to Group" "turn a list of objects into a group" { 10 | action x = to_group x; 11 | } 12 | 13 | Object_group_to_list_item = class 14 | Menuaction "_Group to List" "turn a group into a list of objects" { 15 | action x = to_list x; 16 | } 17 | 18 | #separator 19 | 20 | Object_break_item = class 21 | Menuaction "_Break Up Object" 22 | "break an object into a list of components" { 23 | action x 24 | = map_unary break x 25 | { 26 | break x 27 | = bandsplit x, is_Image x 28 | = map Vector x.value, is_Matrix x 29 | = x.value, is_Vector x || is_Real x 30 | = error "Breakup: not Image/Matrix/Vector/Real"; 31 | } 32 | } 33 | 34 | Object_assemble_item = class 35 | Menuaction "_Assemble Objects" 36 | "assemble a list of objects into a single object" { 37 | action x 38 | = map_unary ass x 39 | { 40 | ass x 41 | = [], x == [] 42 | = Vector x, is_real_list x 43 | = Matrix x, is_matrix x 44 | = bandjoin x, is_listof is_Image x 45 | = Vector (map get_value x), is_listof is_Real x 46 | = Matrix (map get_value x), is_listof is_Vector x 47 | = error "Assemble: not list of Image/Vector/Real/image/real"; 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /share/nip2/compat/8.5/Object.def: -------------------------------------------------------------------------------- 1 | Object_duplicate_item = class 2 | Menuaction "_Duplicate" "take a copy of an object" { 3 | action x = map_unary copy x; 4 | } 5 | 6 | #separator 7 | 8 | Object_list_to_group_item = class 9 | Menuaction "_List to Group" "turn a list of objects into a group" { 10 | action x = to_group x; 11 | } 12 | 13 | Object_group_to_list_item = class 14 | Menuaction "_Group to List" "turn a group into a list of objects" { 15 | action x = to_list x; 16 | } 17 | 18 | #separator 19 | 20 | Object_break_item = class 21 | Menuaction "_Break Up Object" 22 | "break an object into a list of components" { 23 | action x 24 | = map_unary break x 25 | { 26 | break x 27 | = bandsplit x, is_Image x 28 | = map Vector x.value, is_Matrix x 29 | = x.value, is_Vector x || is_Real x 30 | = error "Breakup: not Image/Matrix/Vector/Real"; 31 | } 32 | } 33 | 34 | Object_assemble_item = class 35 | Menuaction "_Assemble Objects" 36 | "assemble a list of objects into a single object" { 37 | action x 38 | = map_unary ass x 39 | { 40 | ass x 41 | = [], x == [] 42 | = Vector x, is_real_list x 43 | = Matrix x, is_matrix x 44 | = bandjoin x, is_listof is_Image x 45 | = Vector (map get_value x), is_listof is_Real x 46 | = Matrix (map get_value x), is_listof is_Vector x 47 | = error "Assemble: not list of Image/Vector/Real/image/real"; 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /share/nip2/compat/8.6/Object.def: -------------------------------------------------------------------------------- 1 | Object_duplicate_item = class 2 | Menuaction "_Duplicate" "take a copy of an object" { 3 | action x = map_unary copy x; 4 | } 5 | 6 | #separator 7 | 8 | Object_list_to_group_item = class 9 | Menuaction "_List to Group" "turn a list of objects into a group" { 10 | action x = to_group x; 11 | } 12 | 13 | Object_group_to_list_item = class 14 | Menuaction "_Group to List" "turn a group into a list of objects" { 15 | action x = to_list x; 16 | } 17 | 18 | #separator 19 | 20 | Object_break_item = class 21 | Menuaction "_Break Up Object" 22 | "break an object into a list of components" { 23 | action x 24 | = map_unary break x 25 | { 26 | break x 27 | = bandsplit x, is_Image x 28 | = map Vector x.value, is_Matrix x 29 | = x.value, is_Vector x || is_Real x 30 | = error "Breakup: not Image/Matrix/Vector/Real"; 31 | } 32 | } 33 | 34 | Object_assemble_item = class 35 | Menuaction "_Assemble Objects" 36 | "assemble a list of objects into a single object" { 37 | action x 38 | = map_unary ass x 39 | { 40 | ass x 41 | = [], x == [] 42 | = Vector x, is_real_list x 43 | = Matrix x, is_matrix x 44 | = bandjoin x, is_listof is_Image x 45 | = Vector (map get_value x), is_listof is_Real x 46 | = Matrix (map get_value x), is_listof is_Vector x 47 | = error "Assemble: not list of Image/Vector/Real/image/real"; 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /share/nip2/compat/7.14/Object.def: -------------------------------------------------------------------------------- 1 | Object_duplicate_item = class 2 | Menuaction "_Duplicate" "take a copy of an object" { 3 | action x = map_unary copy x; 4 | } 5 | 6 | #separator 7 | 8 | Object_list_to_group_item = class 9 | Menuaction "_List to Group" "turn a list of objects into a group" { 10 | action x = to_group x; 11 | } 12 | 13 | Object_group_to_list_item = class 14 | Menuaction "_Group to List" "turn a group into a list of objects" { 15 | action x = to_list x; 16 | } 17 | 18 | #separator 19 | 20 | Object_break_item = class 21 | Menuaction "_Break Up Object" 22 | "break an object into a list of components" { 23 | action x 24 | = map_unary break x 25 | { 26 | break x 27 | = bandsplit x, is_Image x 28 | = map Vector x.value, is_Matrix x 29 | = x.value, is_Vector x || is_Real x 30 | = error "Breakup: not Image/Matrix/Vector/Real"; 31 | } 32 | } 33 | 34 | Object_assemble_item = class 35 | Menuaction "_Assemble Objects" 36 | "assemble a list (or group) of objects into a single object" { 37 | action x 38 | = map_unary ass x 39 | { 40 | ass x 41 | = [], x == [] 42 | = Vector x, is_real_list x 43 | = Matrix x, is_matrix x 44 | = bandjoin x, is_listof is_Image x 45 | = Vector (map get_value x), is_listof is_Real x 46 | = Matrix (map get_value x), is_listof is_Vector x 47 | = error "Assemble: not list of Image/Vector/Real/image/real"; 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /share/nip2/compat/7.16/Object.def: -------------------------------------------------------------------------------- 1 | Object_duplicate_item = class 2 | Menuaction "_Duplicate" "take a copy of an object" { 3 | action x = map_unary copy x; 4 | } 5 | 6 | #separator 7 | 8 | Object_list_to_group_item = class 9 | Menuaction "_List to Group" "turn a list of objects into a group" { 10 | action x = to_group x; 11 | } 12 | 13 | Object_group_to_list_item = class 14 | Menuaction "_Group to List" "turn a group into a list of objects" { 15 | action x = to_list x; 16 | } 17 | 18 | #separator 19 | 20 | Object_break_item = class 21 | Menuaction "_Break Up Object" 22 | "break an object into a list of components" { 23 | action x 24 | = map_unary break x 25 | { 26 | break x 27 | = bandsplit x, is_Image x 28 | = map Vector x.value, is_Matrix x 29 | = x.value, is_Vector x || is_Real x 30 | = error "Breakup: not Image/Matrix/Vector/Real"; 31 | } 32 | } 33 | 34 | Object_assemble_item = class 35 | Menuaction "_Assemble Objects" 36 | "assemble a list (or group) of objects into a single object" { 37 | action x 38 | = map_unary ass x 39 | { 40 | ass x 41 | = [], x == [] 42 | = Vector x, is_real_list x 43 | = Matrix x, is_matrix x 44 | = bandjoin x, is_listof is_Image x 45 | = Vector (map get_value x), is_listof is_Real x 46 | = Matrix (map get_value x), is_listof is_Vector x 47 | = error "Assemble: not list of Image/Vector/Real/image/real"; 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /share/nip2/compat/7.24/Object.def: -------------------------------------------------------------------------------- 1 | Object_duplicate_item = class 2 | Menuaction "_Duplicate" "take a copy of an object" { 3 | action x = map_unary copy x; 4 | } 5 | 6 | #separator 7 | 8 | Object_list_to_group_item = class 9 | Menuaction "_List to Group" "turn a list of objects into a group" { 10 | action x = to_group x; 11 | } 12 | 13 | Object_group_to_list_item = class 14 | Menuaction "_Group to List" "turn a group into a list of objects" { 15 | action x = to_list x; 16 | } 17 | 18 | #separator 19 | 20 | Object_break_item = class 21 | Menuaction "_Break Up Object" 22 | "break an object into a list of components" { 23 | action x 24 | = map_unary break x 25 | { 26 | break x 27 | = bandsplit x, is_Image x 28 | = map Vector x.value, is_Matrix x 29 | = x.value, is_Vector x || is_Real x 30 | = error "Breakup: not Image/Matrix/Vector/Real"; 31 | } 32 | } 33 | 34 | Object_assemble_item = class 35 | Menuaction "_Assemble Objects" 36 | "assemble a list (or group) of objects into a single object" { 37 | action x 38 | = map_unary ass x 39 | { 40 | ass x 41 | = [], x == [] 42 | = Vector x, is_real_list x 43 | = Matrix x, is_matrix x 44 | = bandjoin x, is_listof is_Image x 45 | = Vector (map get_value x), is_listof is_Real x 46 | = Matrix (map get_value x), is_listof is_Vector x 47 | = error "Assemble: not list of Image/Vector/Real/image/real"; 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /share/nip2/compat/7.26/Object.def: -------------------------------------------------------------------------------- 1 | Object_duplicate_item = class 2 | Menuaction "_Duplicate" "take a copy of an object" { 3 | action x = map_unary copy x; 4 | } 5 | 6 | #separator 7 | 8 | Object_list_to_group_item = class 9 | Menuaction "_List to Group" "turn a list of objects into a group" { 10 | action x = to_group x; 11 | } 12 | 13 | Object_group_to_list_item = class 14 | Menuaction "_Group to List" "turn a group into a list of objects" { 15 | action x = to_list x; 16 | } 17 | 18 | #separator 19 | 20 | Object_break_item = class 21 | Menuaction "_Break Up Object" 22 | "break an object into a list of components" { 23 | action x 24 | = map_unary break x 25 | { 26 | break x 27 | = bandsplit x, is_Image x 28 | = map Vector x.value, is_Matrix x 29 | = x.value, is_Vector x || is_Real x 30 | = error "Breakup: not Image/Matrix/Vector/Real"; 31 | } 32 | } 33 | 34 | Object_assemble_item = class 35 | Menuaction "_Assemble Objects" 36 | "assemble a list (or group) of objects into a single object" { 37 | action x 38 | = map_unary ass x 39 | { 40 | ass x 41 | = [], x == [] 42 | = Vector x, is_real_list x 43 | = Matrix x, is_matrix x 44 | = bandjoin x, is_listof is_Image x 45 | = Vector (map get_value x), is_listof is_Real x 46 | = Matrix (map get_value x), is_listof is_Vector x 47 | = error "Assemble: not list of Image/Vector/Real/image/real"; 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /share/nip2/compat/7.28/Object.def: -------------------------------------------------------------------------------- 1 | Object_duplicate_item = class 2 | Menuaction "_Duplicate" "take a copy of an object" { 3 | action x = map_unary copy x; 4 | } 5 | 6 | #separator 7 | 8 | Object_list_to_group_item = class 9 | Menuaction "_List to Group" "turn a list of objects into a group" { 10 | action x = to_group x; 11 | } 12 | 13 | Object_group_to_list_item = class 14 | Menuaction "_Group to List" "turn a group into a list of objects" { 15 | action x = to_list x; 16 | } 17 | 18 | #separator 19 | 20 | Object_break_item = class 21 | Menuaction "_Break Up Object" 22 | "break an object into a list of components" { 23 | action x 24 | = map_unary break x 25 | { 26 | break x 27 | = bandsplit x, is_Image x 28 | = map Vector x.value, is_Matrix x 29 | = x.value, is_Vector x || is_Real x 30 | = error "Breakup: not Image/Matrix/Vector/Real"; 31 | } 32 | } 33 | 34 | Object_assemble_item = class 35 | Menuaction "_Assemble Objects" 36 | "assemble a list (or group) of objects into a single object" { 37 | action x 38 | = map_unary ass x 39 | { 40 | ass x 41 | = [], x == [] 42 | = Vector x, is_real_list x 43 | = Matrix x, is_matrix x 44 | = bandjoin x, is_listof is_Image x 45 | = Vector (map get_value x), is_listof is_Real x 46 | = Matrix (map get_value x), is_listof is_Vector x 47 | = error "Assemble: not list of Image/Vector/Real/image/real"; 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /src/nipmarshal.list: -------------------------------------------------------------------------------- 1 | # see glib-genmarshal(1) for a detailed description of the file format, 2 | # possible parameter types are: 3 | # VOID indicates no return type, or no extra 4 | # parameters. if VOID is used as the parameter 5 | # list, no additional parameters may be present. 6 | # BOOLEAN for boolean types (gboolean) 7 | # CHAR for signed char types (gchar) 8 | # UCHAR for unsigned char types (guchar) 9 | # INT for signed integer types (gint) 10 | # UINT for unsigned integer types (guint) 11 | # LONG for signed long integer types (glong) 12 | # ULONG for unsigned long integer types (gulong) 13 | # ENUM for enumeration types (gint) 14 | # FLAGS for flag enumeration types (guint) 15 | # FLOAT for single-precision float types (gfloat) 16 | # DOUBLE for double-precision float types (gdouble) 17 | # STRING for string types (gchar*) 18 | # BOXED for boxed (anonymous but reference counted) types (GBoxed*) 19 | # POINTER for anonymous pointer types (gpointer) 20 | # PARAM for GParamSpec or derived types (GParamSpec*) 21 | # OBJECT for GObject or derived types (GObject*) 22 | # NONE deprecated alias for VOID 23 | # BOOL deprecated alias for BOOLEAN 24 | 25 | VOID: OBJECT, INT 26 | VOID: DOUBLE, DOUBLE 27 | BOOLEAN: INT, INT 28 | 29 | -------------------------------------------------------------------------------- /share/nip2/compat/7.10/Format.def: -------------------------------------------------------------------------------- 1 | Format_duplicate_item = class 2 | Menuaction "_Duplicate" "take a copy of an object" { 3 | action x = map_unary copy x; 4 | } 5 | 6 | #separator 7 | 8 | Format_list_to_group_item = class 9 | Menuaction "_List to Group" "turn a list of objects into a group" { 10 | action x = Group x; 11 | } 12 | 13 | Format_group_to_list_item = class 14 | Menuaction "_Group to List" "turn a group into a list of objects" { 15 | action x = x.value; 16 | } 17 | 18 | #separator 19 | 20 | Format_break_item = class 21 | Menuaction "_Break Up Object" 22 | "break an object into a list of components" { 23 | action x 24 | = map_unary break x 25 | { 26 | break x 27 | = bandsplit x, is_Image x 28 | = map Vector x.value, is_Matrix x 29 | = x.value, is_Vector x || is_Real x 30 | = error "Breakup: not Image/Matrix/Vector/Real"; 31 | } 32 | } 33 | 34 | Format_assemble_item = class 35 | Menuaction "_Assemble Objects" 36 | "assemble a list (or group) of objects into a single object" { 37 | action x 38 | = ass x.value, is_Group x 39 | = ass x 40 | { 41 | ass x 42 | = Vector x, is_real_list x 43 | = Matrix x, is_matrix x 44 | = bandjoin x, is_listof is_Image x 45 | = Vector (map get_value x), is_listof is_Real x 46 | = Matrix (map get_value x), is_listof is_Vector x 47 | = map_unary ass x, is_list x 48 | = error "Assemble: not list of Image/Vector/Real/image/real"; 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /share/nip2/start/Widgets.def: -------------------------------------------------------------------------------- 1 | Widget_slider_item = class 2 | Menuaction "_Scale" "make a new scale widget" { 3 | icon = "nip-slider-16.png"; 4 | action = Scale "untitled scale" 0 255 128; 5 | } 6 | 7 | Widget_toggle_item = class 8 | Menuaction "_Toggle" "make a new toggle widget" { 9 | action = Toggle "untitled toggle" false; 10 | } 11 | 12 | Widget_option_item = class 13 | Menuaction "_Option" "make a new option widget" { 14 | action = Option "untitled option" ["option0", "option1"] 0; 15 | } 16 | 17 | Widget_string_item = class 18 | Menuaction "St_ring" "make a new string widget" { 19 | action = String "Enter a string" "sample text"; 20 | } 21 | 22 | Widget_number_item = class 23 | Menuaction "_Number" "make a new number widget" { 24 | action = Number "Enter a number" 42; 25 | } 26 | 27 | Widget_expression_item = class 28 | Menuaction "_Expression" "make a new expression widget" { 29 | action = Expression "Enter an expression" 42; 30 | } 31 | 32 | Widget_pathname_item = class 33 | Menuaction "_File Chooser" "make a new file chooser widget" { 34 | action = Pathname "Pick a file" 35 | "$VIPSHOME/share/$PACKAGE/data/print_test_image.v"; 36 | } 37 | 38 | Widget_font_item = class 39 | Menuaction "F_ont Chooser" "make a new font chooser widget" { 40 | action = Fontname "Pick a font" Workspaces.Preferences.PAINTBOX_FONT; 41 | } 42 | 43 | Widget_clock_item = class 44 | Menuaction "_Clock" "make a new clock widget" { 45 | action = Clock 1 1; 46 | } 47 | -------------------------------------------------------------------------------- /share/nip2/compat/8.2/Widgets.def: -------------------------------------------------------------------------------- 1 | Widget_slider_item = class 2 | Menuaction "_Scale" "make a new scale widget" { 3 | icon = "nip-slider-16.png"; 4 | action = Scale "untitled scale" 0 255 128; 5 | } 6 | 7 | Widget_toggle_item = class 8 | Menuaction "_Toggle" "make a new toggle widget" { 9 | action = Toggle "untitled toggle" false; 10 | } 11 | 12 | Widget_option_item = class 13 | Menuaction "_Option" "make a new option widget" { 14 | action = Option "untitled option" ["option0", "option1"] 0; 15 | } 16 | 17 | Widget_string_item = class 18 | Menuaction "St_ring" "make a new string widget" { 19 | action = String "Enter a string" "sample text"; 20 | } 21 | 22 | Widget_number_item = class 23 | Menuaction "_Number" "make a new number widget" { 24 | action = Number "Enter a number" 42; 25 | } 26 | 27 | Widget_expression_item = class 28 | Menuaction "_Expression" "make a new expression widget" { 29 | action = Expression "Enter an expression" 42; 30 | } 31 | 32 | Widget_pathname_item = class 33 | Menuaction "_File Chooser" "make a new file chooser widget" { 34 | action = Pathname "Pick a file" 35 | "$VIPSHOME/share/$PACKAGE/data/print_test_image.v"; 36 | } 37 | 38 | Widget_font_item = class 39 | Menuaction "F_ont Chooser" "make a new font chooser widget" { 40 | action = Fontname "Pick a font" Workspaces.Preferences.PAINTBOX_FONT; 41 | } 42 | 43 | Widget_clock_item = class 44 | Menuaction "_Clock" "make a new clock widget" { 45 | action = Clock 1 1; 46 | } 47 | -------------------------------------------------------------------------------- /share/nip2/compat/8.3/Widgets.def: -------------------------------------------------------------------------------- 1 | Widget_slider_item = class 2 | Menuaction "_Scale" "make a new scale widget" { 3 | icon = "nip-slider-16.png"; 4 | action = Scale "untitled scale" 0 255 128; 5 | } 6 | 7 | Widget_toggle_item = class 8 | Menuaction "_Toggle" "make a new toggle widget" { 9 | action = Toggle "untitled toggle" false; 10 | } 11 | 12 | Widget_option_item = class 13 | Menuaction "_Option" "make a new option widget" { 14 | action = Option "untitled option" ["option0", "option1"] 0; 15 | } 16 | 17 | Widget_string_item = class 18 | Menuaction "St_ring" "make a new string widget" { 19 | action = String "Enter a string" "sample text"; 20 | } 21 | 22 | Widget_number_item = class 23 | Menuaction "_Number" "make a new number widget" { 24 | action = Number "Enter a number" 42; 25 | } 26 | 27 | Widget_expression_item = class 28 | Menuaction "_Expression" "make a new expression widget" { 29 | action = Expression "Enter an expression" 42; 30 | } 31 | 32 | Widget_pathname_item = class 33 | Menuaction "_File Chooser" "make a new file chooser widget" { 34 | action = Pathname "Pick a file" 35 | "$VIPSHOME/share/$PACKAGE/data/print_test_image.v"; 36 | } 37 | 38 | Widget_font_item = class 39 | Menuaction "F_ont Chooser" "make a new font chooser widget" { 40 | action = Fontname "Pick a font" Workspaces.Preferences.PAINTBOX_FONT; 41 | } 42 | 43 | Widget_clock_item = class 44 | Menuaction "_Clock" "make a new clock widget" { 45 | action = Clock 1 1; 46 | } 47 | -------------------------------------------------------------------------------- /share/nip2/compat/8.4/Widgets.def: -------------------------------------------------------------------------------- 1 | Widget_slider_item = class 2 | Menuaction "_Scale" "make a new scale widget" { 3 | icon = "nip-slider-16.png"; 4 | action = Scale "untitled scale" 0 255 128; 5 | } 6 | 7 | Widget_toggle_item = class 8 | Menuaction "_Toggle" "make a new toggle widget" { 9 | action = Toggle "untitled toggle" false; 10 | } 11 | 12 | Widget_option_item = class 13 | Menuaction "_Option" "make a new option widget" { 14 | action = Option "untitled option" ["option0", "option1"] 0; 15 | } 16 | 17 | Widget_string_item = class 18 | Menuaction "St_ring" "make a new string widget" { 19 | action = String "Enter a string" "sample text"; 20 | } 21 | 22 | Widget_number_item = class 23 | Menuaction "_Number" "make a new number widget" { 24 | action = Number "Enter a number" 42; 25 | } 26 | 27 | Widget_expression_item = class 28 | Menuaction "_Expression" "make a new expression widget" { 29 | action = Expression "Enter an expression" 42; 30 | } 31 | 32 | Widget_pathname_item = class 33 | Menuaction "_File Chooser" "make a new file chooser widget" { 34 | action = Pathname "Pick a file" 35 | "$VIPSHOME/share/$PACKAGE/data/print_test_image.v"; 36 | } 37 | 38 | Widget_font_item = class 39 | Menuaction "F_ont Chooser" "make a new font chooser widget" { 40 | action = Fontname "Pick a font" Workspaces.Preferences.PAINTBOX_FONT; 41 | } 42 | 43 | Widget_clock_item = class 44 | Menuaction "_Clock" "make a new clock widget" { 45 | action = Clock 1 1; 46 | } 47 | -------------------------------------------------------------------------------- /share/nip2/compat/8.5/Widgets.def: -------------------------------------------------------------------------------- 1 | Widget_slider_item = class 2 | Menuaction "_Scale" "make a new scale widget" { 3 | icon = "nip-slider-16.png"; 4 | action = Scale "untitled scale" 0 255 128; 5 | } 6 | 7 | Widget_toggle_item = class 8 | Menuaction "_Toggle" "make a new toggle widget" { 9 | action = Toggle "untitled toggle" false; 10 | } 11 | 12 | Widget_option_item = class 13 | Menuaction "_Option" "make a new option widget" { 14 | action = Option "untitled option" ["option0", "option1"] 0; 15 | } 16 | 17 | Widget_string_item = class 18 | Menuaction "St_ring" "make a new string widget" { 19 | action = String "Enter a string" "sample text"; 20 | } 21 | 22 | Widget_number_item = class 23 | Menuaction "_Number" "make a new number widget" { 24 | action = Number "Enter a number" 42; 25 | } 26 | 27 | Widget_expression_item = class 28 | Menuaction "_Expression" "make a new expression widget" { 29 | action = Expression "Enter an expression" 42; 30 | } 31 | 32 | Widget_pathname_item = class 33 | Menuaction "_File Chooser" "make a new file chooser widget" { 34 | action = Pathname "Pick a file" 35 | "$VIPSHOME/share/$PACKAGE/data/print_test_image.v"; 36 | } 37 | 38 | Widget_font_item = class 39 | Menuaction "F_ont Chooser" "make a new font chooser widget" { 40 | action = Fontname "Pick a font" Workspaces.Preferences.PAINTBOX_FONT; 41 | } 42 | 43 | Widget_clock_item = class 44 | Menuaction "_Clock" "make a new clock widget" { 45 | action = Clock 1 1; 46 | } 47 | -------------------------------------------------------------------------------- /share/nip2/compat/8.6/Widgets.def: -------------------------------------------------------------------------------- 1 | Widget_slider_item = class 2 | Menuaction "_Scale" "make a new scale widget" { 3 | icon = "nip-slider-16.png"; 4 | action = Scale "untitled scale" 0 255 128; 5 | } 6 | 7 | Widget_toggle_item = class 8 | Menuaction "_Toggle" "make a new toggle widget" { 9 | action = Toggle "untitled toggle" false; 10 | } 11 | 12 | Widget_option_item = class 13 | Menuaction "_Option" "make a new option widget" { 14 | action = Option "untitled option" ["option0", "option1"] 0; 15 | } 16 | 17 | Widget_string_item = class 18 | Menuaction "St_ring" "make a new string widget" { 19 | action = String "Enter a string" "sample text"; 20 | } 21 | 22 | Widget_number_item = class 23 | Menuaction "_Number" "make a new number widget" { 24 | action = Number "Enter a number" 42; 25 | } 26 | 27 | Widget_expression_item = class 28 | Menuaction "_Expression" "make a new expression widget" { 29 | action = Expression "Enter an expression" 42; 30 | } 31 | 32 | Widget_pathname_item = class 33 | Menuaction "_File Chooser" "make a new file chooser widget" { 34 | action = Pathname "Pick a file" 35 | "$VIPSHOME/share/$PACKAGE/data/print_test_image.v"; 36 | } 37 | 38 | Widget_font_item = class 39 | Menuaction "F_ont Chooser" "make a new font chooser widget" { 40 | action = Fontname "Pick a font" Workspaces.Preferences.PAINTBOX_FONT; 41 | } 42 | 43 | Widget_clock_item = class 44 | Menuaction "_Clock" "make a new clock widget" { 45 | action = Clock 1 1; 46 | } 47 | -------------------------------------------------------------------------------- /share/nip2/compat/7.12/Widgets.def: -------------------------------------------------------------------------------- 1 | Widget_slider_item = class 2 | Menuaction "_Scale" "make a new scale widget" { 3 | icon = "nip-slider-16.png"; 4 | action = Scale "untitled scale" 0 255 128; 5 | } 6 | 7 | Widget_toggle_item = class 8 | Menuaction "_Toggle" "make a new toggle widget" { 9 | action = Toggle "untitled toggle" false; 10 | } 11 | 12 | Widget_option_item = class 13 | Menuaction "_Option" "make a new option widget" { 14 | action = Option "untitled option" ["option0", "option1"] 0; 15 | } 16 | 17 | Widget_string_item = class 18 | Menuaction "St_ring" "make a new string widget" { 19 | action = String "Enter a string" "sample text"; 20 | } 21 | 22 | Widget_number_item = class 23 | Menuaction "_Number" "make a new number widget" { 24 | action = Number "Enter a number" 42; 25 | } 26 | 27 | Widget_expression_item = class 28 | Menuaction "_Expression" "make a new expression widget" { 29 | action = Expression "Enter an expression" 42; 30 | } 31 | 32 | Widget_pathname_item = class 33 | Menuaction "_File Chooser" "make a new file chooser widget" { 34 | action = Pathname "Pick a file" 35 | "$VIPSHOME/share/$PACKAGE/data/print_test_image.v"; 36 | } 37 | 38 | Widget_font_item = class 39 | Menuaction "F_ont Chooser" "make a new font chooser widget" { 40 | action = Fontname "Pick a font" Workspaces.Preferences.PAINTBOX_FONT; 41 | } 42 | 43 | Widget_clock_item = class 44 | Menuaction "_Clock" "make a new clock widget" { 45 | action = Clock 1 1; 46 | } 47 | -------------------------------------------------------------------------------- /share/nip2/compat/7.14/Widgets.def: -------------------------------------------------------------------------------- 1 | Widget_slider_item = class 2 | Menuaction "_Scale" "make a new scale widget" { 3 | icon = "nip-slider-16.png"; 4 | action = Scale "untitled scale" 0 255 128; 5 | } 6 | 7 | Widget_toggle_item = class 8 | Menuaction "_Toggle" "make a new toggle widget" { 9 | action = Toggle "untitled toggle" false; 10 | } 11 | 12 | Widget_option_item = class 13 | Menuaction "_Option" "make a new option widget" { 14 | action = Option "untitled option" ["option0", "option1"] 0; 15 | } 16 | 17 | Widget_string_item = class 18 | Menuaction "St_ring" "make a new string widget" { 19 | action = String "Enter a string" "sample text"; 20 | } 21 | 22 | Widget_number_item = class 23 | Menuaction "_Number" "make a new number widget" { 24 | action = Number "Enter a number" 42; 25 | } 26 | 27 | Widget_expression_item = class 28 | Menuaction "_Expression" "make a new expression widget" { 29 | action = Expression "Enter an expression" 42; 30 | } 31 | 32 | Widget_pathname_item = class 33 | Menuaction "_File Chooser" "make a new file chooser widget" { 34 | action = Pathname "Pick a file" 35 | "$VIPSHOME/share/$PACKAGE/data/print_test_image.v"; 36 | } 37 | 38 | Widget_font_item = class 39 | Menuaction "F_ont Chooser" "make a new font chooser widget" { 40 | action = Fontname "Pick a font" Workspaces.Preferences.PAINTBOX_FONT; 41 | } 42 | 43 | Widget_clock_item = class 44 | Menuaction "_Clock" "make a new clock widget" { 45 | action = Clock 1 1; 46 | } 47 | -------------------------------------------------------------------------------- /share/nip2/compat/7.16/Widgets.def: -------------------------------------------------------------------------------- 1 | Widget_slider_item = class 2 | Menuaction "_Scale" "make a new scale widget" { 3 | icon = "nip-slider-16.png"; 4 | action = Scale "untitled scale" 0 255 128; 5 | } 6 | 7 | Widget_toggle_item = class 8 | Menuaction "_Toggle" "make a new toggle widget" { 9 | action = Toggle "untitled toggle" false; 10 | } 11 | 12 | Widget_option_item = class 13 | Menuaction "_Option" "make a new option widget" { 14 | action = Option "untitled option" ["option0", "option1"] 0; 15 | } 16 | 17 | Widget_string_item = class 18 | Menuaction "St_ring" "make a new string widget" { 19 | action = String "Enter a string" "sample text"; 20 | } 21 | 22 | Widget_number_item = class 23 | Menuaction "_Number" "make a new number widget" { 24 | action = Number "Enter a number" 42; 25 | } 26 | 27 | Widget_expression_item = class 28 | Menuaction "_Expression" "make a new expression widget" { 29 | action = Expression "Enter an expression" 42; 30 | } 31 | 32 | Widget_pathname_item = class 33 | Menuaction "_File Chooser" "make a new file chooser widget" { 34 | action = Pathname "Pick a file" 35 | "$VIPSHOME/share/$PACKAGE/data/print_test_image.v"; 36 | } 37 | 38 | Widget_font_item = class 39 | Menuaction "F_ont Chooser" "make a new font chooser widget" { 40 | action = Fontname "Pick a font" Workspaces.Preferences.PAINTBOX_FONT; 41 | } 42 | 43 | Widget_clock_item = class 44 | Menuaction "_Clock" "make a new clock widget" { 45 | action = Clock 1 1; 46 | } 47 | -------------------------------------------------------------------------------- /share/nip2/compat/7.24/Widgets.def: -------------------------------------------------------------------------------- 1 | Widget_slider_item = class 2 | Menuaction "_Scale" "make a new scale widget" { 3 | icon = "nip-slider-16.png"; 4 | action = Scale "untitled scale" 0 255 128; 5 | } 6 | 7 | Widget_toggle_item = class 8 | Menuaction "_Toggle" "make a new toggle widget" { 9 | action = Toggle "untitled toggle" false; 10 | } 11 | 12 | Widget_option_item = class 13 | Menuaction "_Option" "make a new option widget" { 14 | action = Option "untitled option" ["option0", "option1"] 0; 15 | } 16 | 17 | Widget_string_item = class 18 | Menuaction "St_ring" "make a new string widget" { 19 | action = String "Enter a string" "sample text"; 20 | } 21 | 22 | Widget_number_item = class 23 | Menuaction "_Number" "make a new number widget" { 24 | action = Number "Enter a number" 42; 25 | } 26 | 27 | Widget_expression_item = class 28 | Menuaction "_Expression" "make a new expression widget" { 29 | action = Expression "Enter an expression" 42; 30 | } 31 | 32 | Widget_pathname_item = class 33 | Menuaction "_File Chooser" "make a new file chooser widget" { 34 | action = Pathname "Pick a file" 35 | "$VIPSHOME/share/$PACKAGE/data/print_test_image.v"; 36 | } 37 | 38 | Widget_font_item = class 39 | Menuaction "F_ont Chooser" "make a new font chooser widget" { 40 | action = Fontname "Pick a font" Workspaces.Preferences.PAINTBOX_FONT; 41 | } 42 | 43 | Widget_clock_item = class 44 | Menuaction "_Clock" "make a new clock widget" { 45 | action = Clock 1 1; 46 | } 47 | -------------------------------------------------------------------------------- /share/nip2/compat/7.26/Widgets.def: -------------------------------------------------------------------------------- 1 | Widget_slider_item = class 2 | Menuaction "_Scale" "make a new scale widget" { 3 | icon = "nip-slider-16.png"; 4 | action = Scale "untitled scale" 0 255 128; 5 | } 6 | 7 | Widget_toggle_item = class 8 | Menuaction "_Toggle" "make a new toggle widget" { 9 | action = Toggle "untitled toggle" false; 10 | } 11 | 12 | Widget_option_item = class 13 | Menuaction "_Option" "make a new option widget" { 14 | action = Option "untitled option" ["option0", "option1"] 0; 15 | } 16 | 17 | Widget_string_item = class 18 | Menuaction "St_ring" "make a new string widget" { 19 | action = String "Enter a string" "sample text"; 20 | } 21 | 22 | Widget_number_item = class 23 | Menuaction "_Number" "make a new number widget" { 24 | action = Number "Enter a number" 42; 25 | } 26 | 27 | Widget_expression_item = class 28 | Menuaction "_Expression" "make a new expression widget" { 29 | action = Expression "Enter an expression" 42; 30 | } 31 | 32 | Widget_pathname_item = class 33 | Menuaction "_File Chooser" "make a new file chooser widget" { 34 | action = Pathname "Pick a file" 35 | "$VIPSHOME/share/$PACKAGE/data/print_test_image.v"; 36 | } 37 | 38 | Widget_font_item = class 39 | Menuaction "F_ont Chooser" "make a new font chooser widget" { 40 | action = Fontname "Pick a font" Workspaces.Preferences.PAINTBOX_FONT; 41 | } 42 | 43 | Widget_clock_item = class 44 | Menuaction "_Clock" "make a new clock widget" { 45 | action = Clock 1 1; 46 | } 47 | -------------------------------------------------------------------------------- /share/nip2/compat/7.28/Widgets.def: -------------------------------------------------------------------------------- 1 | Widget_slider_item = class 2 | Menuaction "_Scale" "make a new scale widget" { 3 | icon = "nip-slider-16.png"; 4 | action = Scale "untitled scale" 0 255 128; 5 | } 6 | 7 | Widget_toggle_item = class 8 | Menuaction "_Toggle" "make a new toggle widget" { 9 | action = Toggle "untitled toggle" false; 10 | } 11 | 12 | Widget_option_item = class 13 | Menuaction "_Option" "make a new option widget" { 14 | action = Option "untitled option" ["option0", "option1"] 0; 15 | } 16 | 17 | Widget_string_item = class 18 | Menuaction "St_ring" "make a new string widget" { 19 | action = String "Enter a string" "sample text"; 20 | } 21 | 22 | Widget_number_item = class 23 | Menuaction "_Number" "make a new number widget" { 24 | action = Number "Enter a number" 42; 25 | } 26 | 27 | Widget_expression_item = class 28 | Menuaction "_Expression" "make a new expression widget" { 29 | action = Expression "Enter an expression" 42; 30 | } 31 | 32 | Widget_pathname_item = class 33 | Menuaction "_File Chooser" "make a new file chooser widget" { 34 | action = Pathname "Pick a file" 35 | "$VIPSHOME/share/$PACKAGE/data/print_test_image.v"; 36 | } 37 | 38 | Widget_font_item = class 39 | Menuaction "F_ont Chooser" "make a new font chooser widget" { 40 | action = Fontname "Pick a font" Workspaces.Preferences.PAINTBOX_FONT; 41 | } 42 | 43 | Widget_clock_item = class 44 | Menuaction "_Clock" "make a new clock widget" { 45 | action = Clock 1 1; 46 | } 47 | -------------------------------------------------------------------------------- /share/nip2/compat/7.38/Widgets.def: -------------------------------------------------------------------------------- 1 | Widget_slider_item = class 2 | Menuaction "_Scale" "make a new scale widget" { 3 | icon = "nip-slider-16.png"; 4 | action = Scale "untitled scale" 0 255 128; 5 | } 6 | 7 | Widget_toggle_item = class 8 | Menuaction "_Toggle" "make a new toggle widget" { 9 | action = Toggle "untitled toggle" false; 10 | } 11 | 12 | Widget_option_item = class 13 | Menuaction "_Option" "make a new option widget" { 14 | action = Option "untitled option" ["option0", "option1"] 0; 15 | } 16 | 17 | Widget_string_item = class 18 | Menuaction "St_ring" "make a new string widget" { 19 | action = String "Enter a string" "sample text"; 20 | } 21 | 22 | Widget_number_item = class 23 | Menuaction "_Number" "make a new number widget" { 24 | action = Number "Enter a number" 42; 25 | } 26 | 27 | Widget_expression_item = class 28 | Menuaction "_Expression" "make a new expression widget" { 29 | action = Expression "Enter an expression" 42; 30 | } 31 | 32 | Widget_pathname_item = class 33 | Menuaction "_File Chooser" "make a new file chooser widget" { 34 | action = Pathname "Pick a file" 35 | "$VIPSHOME/share/$PACKAGE/data/print_test_image.v"; 36 | } 37 | 38 | Widget_font_item = class 39 | Menuaction "F_ont Chooser" "make a new font chooser widget" { 40 | action = Fontname "Pick a font" Workspaces.Preferences.PAINTBOX_FONT; 41 | } 42 | 43 | Widget_clock_item = class 44 | Menuaction "_Clock" "make a new clock widget" { 45 | action = Clock 1 1; 46 | } 47 | -------------------------------------------------------------------------------- /share/nip2/compat/7.40/Widgets.def: -------------------------------------------------------------------------------- 1 | Widget_slider_item = class 2 | Menuaction "_Scale" "make a new scale widget" { 3 | icon = "nip-slider-16.png"; 4 | action = Scale "untitled scale" 0 255 128; 5 | } 6 | 7 | Widget_toggle_item = class 8 | Menuaction "_Toggle" "make a new toggle widget" { 9 | action = Toggle "untitled toggle" false; 10 | } 11 | 12 | Widget_option_item = class 13 | Menuaction "_Option" "make a new option widget" { 14 | action = Option "untitled option" ["option0", "option1"] 0; 15 | } 16 | 17 | Widget_string_item = class 18 | Menuaction "St_ring" "make a new string widget" { 19 | action = String "Enter a string" "sample text"; 20 | } 21 | 22 | Widget_number_item = class 23 | Menuaction "_Number" "make a new number widget" { 24 | action = Number "Enter a number" 42; 25 | } 26 | 27 | Widget_expression_item = class 28 | Menuaction "_Expression" "make a new expression widget" { 29 | action = Expression "Enter an expression" 42; 30 | } 31 | 32 | Widget_pathname_item = class 33 | Menuaction "_File Chooser" "make a new file chooser widget" { 34 | action = Pathname "Pick a file" 35 | "$VIPSHOME/share/$PACKAGE/data/print_test_image.v"; 36 | } 37 | 38 | Widget_font_item = class 39 | Menuaction "F_ont Chooser" "make a new font chooser widget" { 40 | action = Fontname "Pick a font" Workspaces.Preferences.PAINTBOX_FONT; 41 | } 42 | 43 | Widget_clock_item = class 44 | Menuaction "_Clock" "make a new clock widget" { 45 | action = Clock 1 1; 46 | } 47 | -------------------------------------------------------------------------------- /src/BITMAPS/automatic.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char *automatic[]={ 3 | "32 32 8 1", 4 | ". c None", 5 | "d c #000000", 6 | "b c #585858", 7 | "a c #808000", 8 | "# c #a0a0a0", 9 | "c c #c0c000", 10 | "e c #ffc0c0", 11 | "f c #ffffff", 12 | "................................", 13 | "................................", 14 | "................................", 15 | "......###################.......", 16 | "......#aaaaaaaaaaaaaaaaab.......", 17 | "......#abbbbbbbbbbbbbb#ab.......", 18 | "......#abccccccccccccc#ab.......", 19 | "......#abccccccccccccc#ab.......", 20 | "......#abccccddddddccc#ab.......", 21 | "......#abcccdeeeeeedcc#ab.......", 22 | "......#abccdeeeeeeeedc#ab.......", 23 | "......#abcdedddedddedc#ab.......", 24 | "......#abcdedddddddddc#ab.......", 25 | "......#abcdedffddffddc#ab.......", 26 | "......#abcdeeddeeddedc#ab.......", 27 | "......#abcdeddeeeeeedc#ab.......", 28 | "......#abcdeddddeeeedc#ab.......", 29 | "......#abcdeeeddeededc#ab.......", 30 | "......#abcdeeeeeeddedc#ab.......", 31 | "......#abcdeeeeeeddedc#ab.......", 32 | "......#abcddedddddeedc#ab.......", 33 | "......#abccddeddeeeddc#ab.......", 34 | "......#abcccddeeeeddcc#ab.......", 35 | "......#abccccdeeedcccc#ab.......", 36 | "......#a###############ab.......", 37 | "......#aaaaaaaaaaaaaaaaab.......", 38 | "......#bbbbbbbbbbbbbbbbbb.......", 39 | "................................", 40 | "................................", 41 | "................................", 42 | "................................", 43 | "................................"}; 44 | -------------------------------------------------------------------------------- /src/BITMAPS/automatic1.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char *automatic1[]={ 3 | "32 32 8 1", 4 | ". c None", 5 | "# c #000000", 6 | "d c #585858", 7 | "c c #808000", 8 | "b c #a0a0a0", 9 | "e c #c0c000", 10 | "f c #ffc0c0", 11 | "a c #ffffff", 12 | "....#a#.........................", 13 | "#...#a##........................", 14 | "##..#aa#........................", 15 | "a####aa##.......................", 16 | "aa##aaaa#.......................", 17 | "aa#aa##a##......................", 18 | "###aa##aa##.....................", 19 | "..#aaaaaa###....................", 20 | "...#aaaa##aa#bbbbbbbbbbbbbbbbbbb", 21 | "....#aa###aa.bcccccccccccccccccd", 22 | "....#aaa####abcddddddddddddddbcd", 23 | ".....#aaa#.#.bcdeeeeeeeeeeeeebcd", 24 | ".....#aaa##.#bcdeeeeeeeeeeeeebcd", 25 | "......#aaa#..bcdeeeeeeeeeeeeebcd", 26 | ".......#aaa#.bcdeeeee######eebcd", 27 | ".......#aaaa#bcdeeee#ffffff#ebcd", 28 | "........#aaa#bcdeee#ffffffff#bcd", 29 | "........#aaaa#cdee#f###f###ffbcd", 30 | ".........#aaa#cdee#f##a###a#fbcd", 31 | "..........#aaa#dee#f######a#fbcd", 32 | "..........#aaaa#ee#ff##ff##ffbcd", 33 | "...........#aaa##e#f##fffffffbcd", 34 | "...........#aaaa#e#f####fffffbcd", 35 | "............#####e#fff##ffff#bcd", 36 | ".............bcdee#ff##fffff#bcd", 37 | ".............bcdee#ff####fff#bcd", 38 | ".............bcdee##ff####ff#bcd", 39 | ".............bcdeee##fff##f##bcd", 40 | ".............bcdeeee#fffff##ebcd", 41 | ".............bcbbbbbbbbbbbbbbbcd", 42 | ".............bcccccccccccccccccd", 43 | ".............bdddddddddddddddddd"}; 44 | -------------------------------------------------------------------------------- /src/BITMAPS/automatic2.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char *automatic2[]={ 3 | "32 32 8 1", 4 | ". c None", 5 | "# c #000000", 6 | "d c #585858", 7 | "c c #808000", 8 | "b c #a0a0a0", 9 | "e c #c0c000", 10 | "f c #ffc0c0", 11 | "a c #ffffff", 12 | ".....#a#........................", 13 | "....#aa#........................", 14 | "#...#aa#........................", 15 | "a####aa##.......................", 16 | "aa##aaaa##......................", 17 | "aa#aa##a####....................", 18 | "aa#aa##aa#aa#...................", 19 | "###aaaaaa#aa###.................", 20 | "..##aaaa##aaabbbbbbbbbbbbbbbbbbb", 21 | "...#aaa#.##aabcccccccccccccccccd", 22 | "....#aaa#..#abcddddddddddddddbcd", 23 | "....#aaaa#..#bcdeeeeeeeeeeeeebcd", 24 | ".....#aaa#...bcdeeeeeeeeeeeeebcd", 25 | ".....#aaaa#..bcdeeeeeeeeeeeeebcd", 26 | "......#aaa#..bcdeeeee######eebcd", 27 | "......#aaaa#.bcdeeee#ffffff#ebcd", 28 | ".......#aaa#.bcdeee#ffffffff#bcd", 29 | ".......#aaaa#bcdee#f###f###ffbcd", 30 | "........#aaa#bcdee#f##a###a#fbcd", 31 | "........#aaaa#cdee#f######a#fbcd", 32 | ".........#aaa#cdee#ff##ff##ffbcd", 33 | ".........#aaaa#dee#f##fffffffbcd", 34 | "..........#aaa#dee#f####fffffbcd", 35 | "..........#aaa#dee#fff##ffff#bcd", 36 | "...........####dee#ff##fffff#bcd", 37 | ".............bcdee#ff####fff#bcd", 38 | ".............bcdee##ff####ff#bcd", 39 | ".............bcdeee##fff##f##bcd", 40 | ".............bcdeeee#fffff##ebcd", 41 | ".............bcbbbbbbbbbbbbbbbcd", 42 | ".............bcccccccccccccccccd", 43 | ".............bdddddddddddddddddd"}; 44 | -------------------------------------------------------------------------------- /src/BITMAPS/automatic3.xpm: -------------------------------------------------------------------------------- 1 | /* XPM */ 2 | static char *automatic3[]={ 3 | "32 32 8 1", 4 | "a c None", 5 | ". c #000000", 6 | "d c #585858", 7 | "c c #808000", 8 | "b c #a0a0a0", 9 | "e c #c0c000", 10 | "f c #ffc0c0", 11 | "# c #ffffff", 12 | "..##..aaaaaaaaaaaaaaaaaaaaaaaaaa", 13 | "#..###..aaaaaaaaaaaaaaaaaaaaaaaa", 14 | "##...##.aaaaaaaaaaaaaaaaaaaaaaaa", 15 | "##...##..aaaaaaaaaaaaaaaaaaaaaaa", 16 | ".#..####.aaaaaaaaaaaaaaaaaaaaaaa", 17 | "a..##..#..aaaaaaaaaaaaaaaaaaaaaa", 18 | "aa.##..##..aaaaaaaaaaaaaaaaaaaaa", 19 | "aa.######...aaaaaaaaaaaaaaaaaaaa", 20 | "aaa.####..##.bbbbbbbbbbbbbbbbbbb", 21 | "aaaa.##...###bcccccccccccccccccd", 22 | "aaaa..###.###bcddddddddddddddbcd", 23 | "aaaaa.####.##bcdeeeeeeeeeeeeebcd", 24 | "aaaaaa.####.#bcdeeeeeeeeeeeeebcd", 25 | "aaaaaaa.###.#bcdeeeeeeeeeeeeebcd", 26 | "aaaaaaa.####.bcdeeeee......eebcd", 27 | "aaaaaaaa.####.cdeeee.ffffff.ebcd", 28 | "aaaaaaaaa.####.deee.ffffffff.bcd", 29 | "aaaaaaaaaa.###.dee.f...f...ffbcd", 30 | "aaaaaaaaaa.####..e.f..#...#.fbcd", 31 | "aaaaaaaaaaa.####.e.f......#.fbcd", 32 | "aaaaaaaaaaaa.####..ff..ff..ffbcd", 33 | "aaaaaaaaaaaaa.####.f..fffffffbcd", 34 | "aaaaaaaaaaaaab.###......fffffbcd", 35 | "aaaaaaaaaaaaabc.....ff..ffff.bcd", 36 | "aaaaaaaaaaaaabcdee.ff..fffff.bcd", 37 | "aaaaaaaaaaaaabcdee.ff....fff.bcd", 38 | "aaaaaaaaaaaaabcdee..ff....ff.bcd", 39 | "aaaaaaaaaaaaabcdeee..fff..f..bcd", 40 | "aaaaaaaaaaaaabcdeeee.fffff..ebcd", 41 | "aaaaaaaaaaaaabcbbbbbbbbbbbbbbbcd", 42 | "aaaaaaaaaaaaabcccccccccccccccccd", 43 | "aaaaaaaaaaaaabdddddddddddddddddd"}; 44 | -------------------------------------------------------------------------------- /Makefile.am: -------------------------------------------------------------------------------- 1 | SUBDIRS = \ 2 | src \ 3 | test \ 4 | man \ 5 | share \ 6 | po 7 | 8 | EXTRA_DIST = \ 9 | autogen.sh \ 10 | doc \ 11 | proj \ 12 | m4 \ 13 | screenshot.png \ 14 | nip2.desktop.in \ 15 | nip2.xml \ 16 | nip2.appdata.xml 17 | 18 | nip2appdir = $(datadir)/applications 19 | 20 | nip2mimedir = $(datadir)/mime/packages 21 | 22 | nip2appdatadir = $(datadir)/appdata 23 | 24 | nip2app_DATA = nip2.desktop 25 | 26 | nip2mime_DATA = nip2.xml 27 | 28 | nip2appdata_DATA = nip2.appdata.xml 29 | 30 | install-exec-hook: 31 | -rm -rf ${DESTDIR}$(datadir)/doc/nip2 32 | $(mkinstalldirs) ${DESTDIR}$(datadir)/doc/nip2 33 | -cp -r ${top_srcdir}/doc/html ${top_srcdir}/doc/pdf ${DESTDIR}$(datadir)/doc/nip2 34 | -rm -rf ${DESTDIR}$(datadir)/doc/nip2/html/CVS 35 | -rm -rf ${DESTDIR}$(datadir)/doc/nip2/pdf/CVS 36 | 37 | if UPDATE_DESKTOP 38 | install-data-hook: 39 | -$(UPDATE_MIME_DATABASE) ${DESTDIR}$(datadir)/mime 40 | -$(UPDATE_DESKTOP_DATABASE) ${DESTDIR}$(datadir)/applications 41 | endif 42 | 43 | dist-hook: 44 | # make sure we don't get any .svn dirs from EXTRA_DIST 45 | # also "fred" gets left around occasionally 46 | -find $(distdir) -name .svn -exec rm -rf {} \; 47 | -find $(distdir) -name fred -exec rm {} \; 48 | 49 | uninstall-hook: 50 | # make sure we have write permission for 'rm' 51 | -chmod -R u+w ${DESTDIR}$(datadir)/doc/nip2 52 | -rm -rf ${DESTDIR}$(datadir)/doc/nip2 53 | -$(UPDATE_MIME_DATABASE) ${DESTDIR}$(datadir)/mime 54 | -$(UPDATE_DESKTOP_DATABASE) ${DESTDIR}$(datadir)/applications 55 | -------------------------------------------------------------------------------- /autogen.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # set -x 4 | 5 | # remove /everything/ ready to remake 6 | rm -f Makefile Makefile.in aclocal.m4 config.* configure depcomp 7 | rm -rf autom4te.cache 8 | rm -f install-sh intltool-* ltmain.sh missing mkinstalldirs 9 | rm -f src/*.o src/nip2 src/Makefile src/Makefile.in 10 | 11 | # glib-gettextize asks us to copy these files to m4 if they aren't there 12 | # I don't have $ACDIR/isc-posix.m4, how mysterious 13 | ACDIR=`aclocal --print-ac-dir` 14 | 15 | # OS X with brew sets ACDIR to 16 | # /usr/local/Cellar/automake/x.y.z/share/aclocal, the staging area, which is 17 | # totally wrong argh 18 | if [ ! -d $ACDIR ]; then 19 | ACDIR=/usr/local/share/aclocal 20 | fi 21 | 22 | mkdir -p m4 23 | cp $ACDIR/codeset.m4 m4 24 | cp $ACDIR/gettext.m4 m4 25 | cp $ACDIR/glibc21.m4 m4 26 | cp $ACDIR/iconv.m4 m4 27 | cp $ACDIR/lcmessage.m4 m4 28 | cp $ACDIR/progtest.m4 m4 29 | 30 | # some systems need libtoolize, some glibtoolize ... how annoying 31 | echo -n "testing for glibtoolize ... " 32 | if glibtoolize --version >/dev/null 2>&1; then 33 | LIBTOOLIZE=glibtoolize 34 | echo using glibtoolize 35 | else 36 | LIBTOOLIZE=libtoolize 37 | echo using libtoolize 38 | fi 39 | 40 | aclocal 41 | # this produces a lot of benign but misleading output ... hide it and hope for 42 | # the best 43 | glib-gettextize --force --copy > /dev/null 44 | test -r aclocal.m4 && chmod u+w aclocal.m4 45 | autoconf 46 | autoheader 47 | $LIBTOOLIZE --copy --force --automake 48 | automake --add-missing --copy 49 | 50 | ./configure $* 51 | -------------------------------------------------------------------------------- /src/nipmarshal.h: -------------------------------------------------------------------------------- 1 | 2 | #ifndef __nip_MARSHAL_H__ 3 | #define __nip_MARSHAL_H__ 4 | 5 | #include 6 | 7 | G_BEGIN_DECLS 8 | 9 | /* VOID:OBJECT,INT (nipmarshal.list:25) */ 10 | extern void nip_VOID__OBJECT_INT (GClosure *closure, 11 | GValue *return_value, 12 | guint n_param_values, 13 | const GValue *param_values, 14 | gpointer invocation_hint, 15 | gpointer marshal_data); 16 | 17 | /* VOID:DOUBLE,DOUBLE (nipmarshal.list:26) */ 18 | extern void nip_VOID__DOUBLE_DOUBLE (GClosure *closure, 19 | GValue *return_value, 20 | guint n_param_values, 21 | const GValue *param_values, 22 | gpointer invocation_hint, 23 | gpointer marshal_data); 24 | 25 | /* BOOLEAN:INT,INT (nipmarshal.list:27) */ 26 | extern void nip_BOOLEAN__INT_INT (GClosure *closure, 27 | GValue *return_value, 28 | guint n_param_values, 29 | const GValue *param_values, 30 | gpointer invocation_hint, 31 | gpointer marshal_data); 32 | 33 | G_END_DECLS 34 | 35 | #endif /* __nip_MARSHAL_H__ */ 36 | 37 | -------------------------------------------------------------------------------- /src/predicate.h: -------------------------------------------------------------------------------- 1 | /* Declarations for predicate.c 2 | */ 3 | 4 | /* 5 | 6 | Copyright (C) 1991-2003 The National Gallery 7 | 8 | This program is free software; you can redistribute it and/or modify 9 | it under the terms of the GNU General Public License as published by 10 | the Free Software Foundation; either version 2 of the License, or 11 | (at your option) any later version. 12 | 13 | This program is distributed in the hope that it will be useful, 14 | but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | GNU General Public License for more details. 17 | 18 | You should have received a copy of the GNU General Public License along 19 | with this program; if not, write to the Free Software Foundation, Inc., 20 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 21 | 22 | */ 23 | 24 | /* 25 | 26 | These files are distributed with VIPS - http://www.vips.ecs.soton.ac.uk 27 | 28 | */ 29 | 30 | gboolean is_system( Symbol *sym ); 31 | gboolean is_separator( Symbol *sym ); 32 | gboolean is_member( Symbol *sym ); 33 | gboolean is_class( Compile *compile ); 34 | gboolean is_super( Symbol *sym ); 35 | gboolean is_this( Symbol *sym ); 36 | gboolean is_member_enclosing( Compile *compile, Symbol *sym ); 37 | gboolean is_top( Symbol *sym ); 38 | gboolean is_scope( Symbol *sym ); 39 | gboolean is_memberfunc( Compile *compile ); 40 | gboolean is_value( Symbol *sym ); 41 | gboolean is_ancestor( Symbol *context, Symbol *sym ); 42 | gboolean is_menuable( Symbol *sym ); 43 | -------------------------------------------------------------------------------- /src/vector.h: -------------------------------------------------------------------------------- 1 | /* a vector in a workspace 2 | */ 3 | 4 | /* 5 | 6 | Copyright (C) 1991-2003 The National Gallery 7 | 8 | This program is free software; you can redistribute it and/or modify 9 | it under the terms of the GNU General Public License as published by 10 | the Free Software Foundation; either version 2 of the License, or 11 | (at your option) any later version. 12 | 13 | This program is distributed in the hope that it will be useful, 14 | but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | GNU General Public License for more details. 17 | 18 | You should have received a copy of the GNU General Public License along 19 | with this program; if not, write to the Free Software Foundation, Inc., 20 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 21 | 22 | */ 23 | 24 | /* 25 | 26 | These files are distributed with VIPS - http://www.vips.ecs.soton.ac.uk 27 | 28 | */ 29 | 30 | #define TYPE_VECTOR (vector_get_type()) 31 | #define VECTOR( obj ) (GTK_CHECK_CAST( (obj), TYPE_VECTOR, Vector )) 32 | #define VECTOR_CLASS( klass ) \ 33 | (GTK_CHECK_CLASS_CAST( (klass), TYPE_VECTOR, VectorClass )) 34 | #define IS_VECTOR( obj ) (GTK_CHECK_TYPE( (obj), TYPE_VECTOR )) 35 | #define IS_VECTOR_CLASS( klass ) \ 36 | (GTK_CHECK_CLASS_TYPE( (klass), TYPE_VECTOR )) 37 | 38 | typedef struct _Vector { 39 | Value parent_object; 40 | 41 | } Vector; 42 | 43 | typedef struct _VectorClass { 44 | ValueClass parent_class; 45 | 46 | /* My methods. 47 | */ 48 | } VectorClass; 49 | 50 | GType vector_get_type( void ); 51 | -------------------------------------------------------------------------------- /src/real.h: -------------------------------------------------------------------------------- 1 | /* a real in a workspace 2 | */ 3 | 4 | /* 5 | 6 | Copyright (C) 1991-2003 The National Gallery 7 | 8 | This program is free software; you can redistribute it and/or modify 9 | it under the terms of the GNU General Public License as published by 10 | the Free Software Foundation; either version 2 of the License, or 11 | (at your option) any later version. 12 | 13 | This program is distributed in the hope that it will be useful, 14 | but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | GNU General Public License for more details. 17 | 18 | You should have received a copy of the GNU General Public License along 19 | with this program; if not, write to the Free Software Foundation, Inc., 20 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 21 | 22 | */ 23 | 24 | /* 25 | 26 | These files are distributed with VIPS - http://www.vips.ecs.soton.ac.uk 27 | 28 | */ 29 | 30 | #define TYPE_REAL (real_get_type()) 31 | #define REAL( obj ) (GTK_CHECK_CAST( (obj), TYPE_REAL, Real )) 32 | #define REAL_CLASS( klass ) \ 33 | (GTK_CHECK_CLASS_CAST( (klass), TYPE_REAL, RealClass )) 34 | #define IS_REAL( obj ) (GTK_CHECK_TYPE( (obj), TYPE_REAL )) 35 | #define IS_REAL_CLASS( klass ) \ 36 | (GTK_CHECK_CLASS_TYPE( (klass), TYPE_REAL )) 37 | 38 | typedef struct _Real { 39 | Value parent_object; 40 | 41 | /* Private ... build iobject caption here. 42 | */ 43 | } Real; 44 | 45 | typedef struct _RealClass { 46 | ValueClass parent_class; 47 | 48 | /* My methods. 49 | */ 50 | } RealClass; 51 | 52 | GType real_get_type( void ); 53 | -------------------------------------------------------------------------------- /share/nip2/compat/7.8/_errors.def: -------------------------------------------------------------------------------- 1 | 2 | /* Lots of error messages. 3 | */ 4 | 5 | errors = class { 6 | not1band = "not 1 band image"; 7 | not1band8bit = "not 1 band 8-bit image"; 8 | not1band3band = "not 1 band image, or 3 band 1 column image"; 9 | notodd = "not odd width|height"; 10 | notmask = "not mask"; 11 | notmaskim = "not image|mask, mask"; 12 | badcoding = "not NOCODING or LABPACK"; 13 | badlab = "unable to convert to LAB"; 14 | allreal = "not all real numbers"; 15 | allreg = "not all regions"; 16 | badargs = "bad arguments to "; 17 | badbands = "images have differing numbers of bands"; 18 | badcolour = "bad arg to colourspace function"; 19 | badmatrixmatch = "matrix arguments do not match"; 20 | badnum = "wrong number of real number arguments"; 21 | bandFmt = "bad BandFmt"; 22 | internal = "menu macro sanity failure!"; 23 | lengthdiff = "list arguments differ in length"; 24 | noimage = "no image argument"; 25 | noregion = "no region argument"; 26 | notim = "not image"; 27 | notimcmplx = "not image|complex"; 28 | notimnotreal = "non image arguments not all real numbers"; 29 | notimreg = "not image|region"; 30 | notregimreg = "not region, image|region"; 31 | notimregnum = "not image|region|number"; 32 | notimregstr = "not image|region|string"; 33 | notmatnum = "not real|matrix|mask"; 34 | notmatrix = "not matrix|mask"; 35 | notodd_square_matrix = "not odd-sided square matrix|mask"; 36 | notreal = "not real number"; 37 | notreglist = "not region|[region]"; 38 | notsquare_matrix = "not square matrix|mask"; 39 | regwrong = "regions not on two images"; 40 | sfacgt1 = "shrink factors should be >= 1"; 41 | unknownType = "unknown type"; 42 | usage = "usage: "; 43 | }; 44 | -------------------------------------------------------------------------------- /share/nip2/compat/7.9/_errors.def: -------------------------------------------------------------------------------- 1 | 2 | /* Lots of error messages. 3 | */ 4 | 5 | errors = class { 6 | not1band = "not 1 band image"; 7 | not1band8bit = "not 1 band 8-bit image"; 8 | not1band3band = "not 1 band image, or 3 band 1 column image"; 9 | notodd = "not odd width|height"; 10 | notmask = "not mask"; 11 | notmaskim = "not image|mask, mask"; 12 | badcoding = "not NOCODING or LABPACK"; 13 | badlab = "unable to convert to LAB"; 14 | allreal = "not all real numbers"; 15 | allreg = "not all regions"; 16 | badargs = "bad arguments to "; 17 | badbands = "images have differing numbers of bands"; 18 | badcolour = "bad arg to colourspace function"; 19 | badmatrixmatch = "matrix arguments do not match"; 20 | badnum = "wrong number of real number arguments"; 21 | bandFmt = "bad BandFmt"; 22 | internal = "menu macro sanity failure!"; 23 | lengthdiff = "list arguments differ in length"; 24 | noimage = "no image argument"; 25 | noregion = "no region argument"; 26 | notim = "not image"; 27 | notimcmplx = "not image|complex"; 28 | notimnotreal = "non image arguments not all real numbers"; 29 | notimreg = "not image|region"; 30 | notregimreg = "not region, image|region"; 31 | notimregnum = "not image|region|number"; 32 | notimregstr = "not image|region|string"; 33 | notmatnum = "not real|matrix|mask"; 34 | notmatrix = "not matrix|mask"; 35 | notodd_square_matrix = "not odd-sided square matrix|mask"; 36 | notreal = "not real number"; 37 | notreglist = "not region|[region]"; 38 | notsquare_matrix = "not square matrix|mask"; 39 | regwrong = "regions not on two images"; 40 | sfacgt1 = "shrink factors should be >= 1"; 41 | unknownType = "unknown type"; 42 | usage = "usage: "; 43 | }; 44 | -------------------------------------------------------------------------------- /src/group.h: -------------------------------------------------------------------------------- 1 | /* a group in a workspace 2 | */ 3 | 4 | /* 5 | 6 | Copyright (C) 1991-2003 The National Gallery 7 | 8 | This program is free software; you can redistribute it and/or modify 9 | it under the terms of the GNU General Public License as published by 10 | the Free Software Foundation; either version 2 of the License, or 11 | (at your option) any later version. 12 | 13 | This program is distributed in the hope that it will be useful, 14 | but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | GNU General Public License for more details. 17 | 18 | You should have received a copy of the GNU General Public License along 19 | with this program; if not, write to the Free Software Foundation, Inc., 20 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 21 | 22 | */ 23 | 24 | /* 25 | 26 | These files are distributed with VIPS - http://www.vips.ecs.soton.ac.uk 27 | 28 | */ 29 | 30 | #define TYPE_GROUP (group_get_type()) 31 | #define GROUP( obj ) (GTK_CHECK_CAST( (obj), TYPE_GROUP, Group )) 32 | #define GROUP_CLASS( klass ) \ 33 | (GTK_CHECK_CLASS_CAST( (klass), TYPE_GROUP, GroupClass )) 34 | #define IS_GROUP( obj ) (GTK_CHECK_TYPE( (obj), TYPE_GROUP )) 35 | #define IS_GROUP_CLASS( klass ) \ 36 | (GTK_CHECK_CLASS_TYPE( (klass), TYPE_GROUP )) 37 | 38 | typedef struct _Group { 39 | Value parent_object; 40 | 41 | } Group; 42 | 43 | typedef struct _GroupClass { 44 | ValueClass parent_class; 45 | 46 | /* My methods. 47 | */ 48 | } GroupClass; 49 | 50 | GType group_get_type( void ); 51 | gboolean group_save_item( PElement *item, char *filename ); 52 | -------------------------------------------------------------------------------- /src/istring.h: -------------------------------------------------------------------------------- 1 | /* an editable string in a workspace 2 | */ 3 | 4 | /* 5 | 6 | Copyright (C) 1991-2003 The National Gallery 7 | 8 | This program is free software; you can redistribute it and/or modify 9 | it under the terms of the GNU General Public License as published by 10 | the Free Software Foundation; either version 2 of the License, or 11 | (at your option) any later version. 12 | 13 | This program is distributed in the hope that it will be useful, 14 | but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | GNU General Public License for more details. 17 | 18 | You should have received a copy of the GNU General Public License along 19 | with this program; if not, write to the Free Software Foundation, Inc., 20 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 21 | 22 | */ 23 | 24 | /* 25 | 26 | These files are distributed with VIPS - http://www.vips.ecs.soton.ac.uk 27 | 28 | */ 29 | 30 | #define TYPE_STRING (string_get_type()) 31 | #define STRING( obj ) (GTK_CHECK_CAST( (obj), TYPE_STRING, String )) 32 | #define STRING_CLASS( klass ) \ 33 | (GTK_CHECK_CLASS_CAST( (klass), TYPE_STRING, StringClass )) 34 | #define IS_STRING( obj ) (GTK_CHECK_TYPE( (obj), TYPE_STRING )) 35 | #define IS_STRING_CLASS( klass ) \ 36 | (GTK_CHECK_CLASS_TYPE( (klass), TYPE_STRING )) 37 | 38 | struct _String { 39 | Classmodel parent_class; 40 | 41 | /* Class fields. 42 | */ 43 | char *value; 44 | }; 45 | 46 | typedef struct _StringClass { 47 | ClassmodelClass parent_class; 48 | 49 | /* My methods. 50 | */ 51 | } StringClass; 52 | 53 | GType string_get_type( void ); 54 | -------------------------------------------------------------------------------- /src/number.h: -------------------------------------------------------------------------------- 1 | /* a colour number in a workspace 2 | */ 3 | 4 | /* 5 | 6 | Copyright (C) 1991-2003 The National Gallery 7 | 8 | This program is free software; you can redistribute it and/or modify 9 | it under the terms of the GNU General Public License as published by 10 | the Free Software Foundation; either version 2 of the License, or 11 | (at your option) any later version. 12 | 13 | This program is distributed in the hope that it will be useful, 14 | but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | GNU General Public License for more details. 17 | 18 | You should have received a copy of the GNU General Public License along 19 | with this program; if not, write to the Free Software Foundation, Inc., 20 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 21 | 22 | */ 23 | 24 | /* 25 | 26 | These files are distributed with VIPS - http://www.vips.ecs.soton.ac.uk 27 | 28 | */ 29 | 30 | #define TYPE_NUMBER (number_get_type()) 31 | #define NUMBER( obj ) (GTK_CHECK_CAST( (obj), TYPE_NUMBER, Number )) 32 | #define NUMBER_CLASS( klass ) \ 33 | (GTK_CHECK_CLASS_CAST( (klass), TYPE_NUMBER, NumberClass )) 34 | #define IS_NUMBER( obj ) (GTK_CHECK_TYPE( (obj), TYPE_NUMBER )) 35 | #define IS_NUMBER_CLASS( klass ) \ 36 | (GTK_CHECK_CLASS_TYPE( (klass), TYPE_NUMBER )) 37 | 38 | struct _Number { 39 | Classmodel parent_class; 40 | 41 | /* Class fields. 42 | */ 43 | double value; 44 | }; 45 | 46 | typedef struct _NumberClass { 47 | ClassmodelClass parent_class; 48 | 49 | /* My methods. 50 | */ 51 | } NumberClass; 52 | 53 | GType number_get_type( void ); 54 | -------------------------------------------------------------------------------- /src/fontname.h: -------------------------------------------------------------------------------- 1 | /* a fontname in a workspace 2 | */ 3 | 4 | /* 5 | 6 | Copyright (C) 1991-2003 The National Gallery 7 | 8 | This program is free software; you can redistribute it and/or modify 9 | it under the terms of the GNU General Public License as published by 10 | the Free Software Foundation; either version 2 of the License, or 11 | (at your option) any later version. 12 | 13 | This program is distributed in the hope that it will be useful, 14 | but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | GNU General Public License for more details. 17 | 18 | You should have received a copy of the GNU General Public License along 19 | with this program; if not, write to the Free Software Foundation, Inc., 20 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 21 | 22 | */ 23 | 24 | /* 25 | 26 | These files are distributed with VIPS - http://www.vips.ecs.soton.ac.uk 27 | 28 | */ 29 | 30 | #define TYPE_FONTNAME (fontname_get_type()) 31 | #define FONTNAME( obj ) (GTK_CHECK_CAST( (obj), TYPE_FONTNAME, Fontname )) 32 | #define FONTNAME_CLASS( klass ) \ 33 | (GTK_CHECK_CLASS_CAST( (klass), TYPE_FONTNAME, FontnameClass )) 34 | #define IS_FONTNAME( obj ) (GTK_CHECK_TYPE( (obj), TYPE_FONTNAME )) 35 | #define IS_FONTNAME_CLASS( klass ) \ 36 | (GTK_CHECK_CLASS_TYPE( (klass), TYPE_FONTNAME )) 37 | 38 | typedef struct _Fontname { 39 | Classmodel model; 40 | 41 | char *value; 42 | } Fontname; 43 | 44 | typedef struct _FontnameClass { 45 | ClassmodelClass parent_class; 46 | 47 | /* My methods. 48 | */ 49 | } FontnameClass; 50 | 51 | GType fontname_get_type( void ); 52 | -------------------------------------------------------------------------------- /src/pathname.h: -------------------------------------------------------------------------------- 1 | /* a pathname in a workspace 2 | */ 3 | 4 | /* 5 | 6 | Copyright (C) 1991-2003 The National Gallery 7 | 8 | This program is free software; you can redistribute it and/or modify 9 | it under the terms of the GNU General Public License as published by 10 | the Free Software Foundation; either version 2 of the License, or 11 | (at your option) any later version. 12 | 13 | This program is distributed in the hope that it will be useful, 14 | but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | GNU General Public License for more details. 17 | 18 | You should have received a copy of the GNU General Public License along 19 | with this program; if not, write to the Free Software Foundation, Inc., 20 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 21 | 22 | */ 23 | 24 | /* 25 | 26 | These files are distributed with VIPS - http://www.vips.ecs.soton.ac.uk 27 | 28 | */ 29 | 30 | #define TYPE_PATHNAME (pathname_get_type()) 31 | #define PATHNAME( obj ) (GTK_CHECK_CAST( (obj), TYPE_PATHNAME, Pathname )) 32 | #define PATHNAME_CLASS( klass ) \ 33 | (GTK_CHECK_CLASS_CAST( (klass), TYPE_PATHNAME, PathnameClass )) 34 | #define IS_PATHNAME( obj ) (GTK_CHECK_TYPE( (obj), TYPE_PATHNAME )) 35 | #define IS_PATHNAME_CLASS( klass ) \ 36 | (GTK_CHECK_CLASS_TYPE( (klass), TYPE_PATHNAME )) 37 | 38 | typedef struct _Pathname { 39 | Classmodel model; 40 | 41 | char *value; 42 | } Pathname; 43 | 44 | typedef struct _PathnameClass { 45 | ClassmodelClass parent_class; 46 | 47 | /* My methods. 48 | */ 49 | } PathnameClass; 50 | 51 | GType pathname_get_type( void ); 52 | -------------------------------------------------------------------------------- /src/numberview.h: -------------------------------------------------------------------------------- 1 | /* edit a number 2 | */ 3 | 4 | /* 5 | 6 | Copyright (C) 1991-2003 The National Gallery 7 | 8 | This program is free software; you can redistribute it and/or modify 9 | it under the terms of the GNU General Public License as published by 10 | the Free Software Foundation; either version 2 of the License, or 11 | (at your option) any later version. 12 | 13 | This program is distributed in the hope that it will be useful, 14 | but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | GNU General Public License for more details. 17 | 18 | You should have received a copy of the GNU General Public License along 19 | with this program; if not, write to the Free Software Foundation, Inc., 20 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 21 | 22 | */ 23 | 24 | /* 25 | 26 | These files are distributed with VIPS - http://www.vips.ecs.soton.ac.uk 27 | 28 | */ 29 | 30 | #define TYPE_NUMBERVIEW (numberview_get_type()) 31 | #define NUMBERVIEW( obj ) (GTK_CHECK_CAST( (obj), TYPE_NUMBERVIEW, Numberview )) 32 | #define NUMBERVIEW_CLASS( klass ) \ 33 | (GTK_CHECK_CLASS_CAST( (klass), TYPE_NUMBERVIEW, NumberviewClass )) 34 | #define IS_NUMBERVIEW( obj ) (GTK_CHECK_TYPE( (obj), TYPE_NUMBERVIEW )) 35 | #define IS_NUMBERVIEW_CLASS( klass ) \ 36 | (GTK_CHECK_CLASS_TYPE( (klass), TYPE_NUMBERVIEW )) 37 | 38 | typedef struct _Numberview { 39 | Editview parent_object; 40 | 41 | } Numberview; 42 | 43 | typedef struct _NumberviewClass { 44 | EditviewClass parent_class; 45 | 46 | /* My methods. 47 | */ 48 | } NumberviewClass; 49 | 50 | GtkType numberview_get_type( void ); 51 | View *numberview_new( void ); 52 | -------------------------------------------------------------------------------- /src/stringview.h: -------------------------------------------------------------------------------- 1 | /* edit a string 2 | */ 3 | 4 | /* 5 | 6 | Copyright (C) 1991-2003 The National Gallery 7 | 8 | This program is free software; you can redistribute it and/or modify 9 | it under the terms of the GNU General Public License as published by 10 | the Free Software Foundation; either version 2 of the License, or 11 | (at your option) any later version. 12 | 13 | This program is distributed in the hope that it will be useful, 14 | but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | GNU General Public License for more details. 17 | 18 | You should have received a copy of the GNU General Public License along 19 | with this program; if not, write to the Free Software Foundation, Inc., 20 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 21 | 22 | */ 23 | 24 | /* 25 | 26 | These files are distributed with VIPS - http://www.vips.ecs.soton.ac.uk 27 | 28 | */ 29 | 30 | #define TYPE_STRINGVIEW (stringview_get_type()) 31 | #define STRINGVIEW( obj ) (GTK_CHECK_CAST( (obj), TYPE_STRINGVIEW, Stringview )) 32 | #define STRINGVIEW_CLASS( klass ) \ 33 | (GTK_CHECK_CLASS_CAST( (klass), TYPE_STRINGVIEW, StringviewClass )) 34 | #define IS_STRINGVIEW( obj ) (GTK_CHECK_TYPE( (obj), TYPE_STRINGVIEW )) 35 | #define IS_STRINGVIEW_CLASS( klass ) \ 36 | (GTK_CHECK_CLASS_TYPE( (klass), TYPE_STRINGVIEW )) 37 | 38 | typedef struct _Stringview { 39 | Editview parent_object; 40 | 41 | } Stringview; 42 | 43 | typedef struct _StringviewClass { 44 | EditviewClass parent_class; 45 | 46 | /* My methods. 47 | */ 48 | } StringviewClass; 49 | 50 | GtkType stringview_get_type( void ); 51 | View *stringview_new( void ); 52 | -------------------------------------------------------------------------------- /src/error.h: -------------------------------------------------------------------------------- 1 | /* Decls for ierror.c ... show all ierrors 2 | */ 3 | 4 | /* 5 | 6 | Copyright (C) 1991-2003 The National Gallery 7 | 8 | This program is free software; you can redistribute it and/or modify 9 | it under the terms of the GNU General Public License as published by 10 | the Free Software Foundation; either version 2 of the License, or 11 | (at your option) any later version. 12 | 13 | This program is distributed in the hope that it will be useful, 14 | but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | GNU General Public License for more details. 17 | 18 | You should have received a copy of the GNU General Public License along 19 | with this program; if not, write to the Free Software Foundation, Inc., 20 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 21 | 22 | */ 23 | 24 | /* 25 | 26 | These files are distributed with VIPS - http://www.vips.ecs.soton.ac.uk 27 | 28 | */ 29 | 30 | #define TYPE_IERROR (ierror_get_type()) 31 | #define IERROR( obj ) (GTK_CHECK_CAST( (obj), TYPE_IERROR, iError )) 32 | #define IERROR_CLASS( klass ) \ 33 | (GTK_CHECK_CLASS_CAST( (klass), TYPE_IERROR, iErrorClass )) 34 | #define IS_IERROR( obj ) (GTK_CHECK_TYPE( (obj), TYPE_IERROR )) 35 | #define IS_IERROR_CLASS( klass ) \ 36 | (GTK_CHECK_CLASS_TYPE( (klass), TYPE_IERROR )) 37 | 38 | struct _iError { 39 | Log parent_class; 40 | 41 | Toolkitgroup *kitg; /* Where we search for link ierrors */ 42 | }; 43 | 44 | typedef struct _iErrorClass { 45 | LogClass parent_class; 46 | 47 | /* My methods. 48 | */ 49 | } iErrorClass; 50 | 51 | GtkType ierror_get_type( void ); 52 | iError *ierror_new( Toolkitgroup *kitg ); 53 | 54 | -------------------------------------------------------------------------------- /src/spin.h: -------------------------------------------------------------------------------- 1 | /* a pair of spin buttons 2 | */ 3 | 4 | /* 5 | 6 | Copyright (C) 1991-2003 The National Gallery 7 | 8 | This program is free software; you can redistribute it and/or modify 9 | it under the terms of the GNU General Public License as published by 10 | the Free Software Foundation; either version 2 of the License, or 11 | (at your option) any later version. 12 | 13 | This program is distributed in the hope that it will be useful, 14 | but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | GNU General Public License for more details. 17 | 18 | You should have received a copy of the GNU General Public License along 19 | with this program; if not, write to the Free Software Foundation, Inc., 20 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 21 | 22 | */ 23 | 24 | /* 25 | 26 | These files are distributed with VIPS - http://www.vips.ecs.soton.ac.uk 27 | 28 | */ 29 | 30 | #define TYPE_SPIN (spin_get_type()) 31 | #define SPIN( obj ) (GTK_CHECK_CAST( (obj), TYPE_SPIN, Spin )) 32 | #define SPIN_CLASS( klass ) \ 33 | (GTK_CHECK_CLASS_CAST( (klass), TYPE_SPIN, SpinClass )) 34 | #define IS_SPIN( obj ) (GTK_CHECK_TYPE( (obj), TYPE_SPIN )) 35 | #define IS_SPIN_CLASS( klass ) (GTK_CHECK_CLASS_TYPE( (klass), TYPE_SPIN )) 36 | 37 | typedef struct _Spin { 38 | View view; 39 | 40 | /* My instance vars. 41 | */ 42 | GtkWidget *up; /* Arrow buttons */ 43 | GtkWidget *down; 44 | } Spin; 45 | 46 | typedef struct _SpinClass { 47 | ViewClass parent_class; 48 | 49 | void (*up_click)( Spin * ); 50 | void (*down_click)( Spin * ); 51 | } SpinClass; 52 | 53 | GtkType spin_get_type( void ); 54 | GtkWidget *spin_new( void ); 55 | -------------------------------------------------------------------------------- /src/itextview.h: -------------------------------------------------------------------------------- 1 | /* a textview button in a workspace 2 | */ 3 | 4 | /* 5 | 6 | Copyright (C) 1991-2003 The National Gallery 7 | 8 | This program is free software; you can redistribute it and/or modify 9 | it under the terms of the GNU General Public License as published by 10 | the Free Software Foundation; either version 2 of the License, or 11 | (at your option) any later version. 12 | 13 | This program is distributed in the hope that it will be useful, 14 | but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | GNU General Public License for more details. 17 | 18 | You should have received a copy of the GNU General Public License along 19 | with this program; if not, write to the Free Software Foundation, Inc., 20 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 21 | 22 | */ 23 | 24 | /* 25 | 26 | These files are distributed with VIPS - http://www.vips.ecs.soton.ac.uk 27 | 28 | */ 29 | 30 | #define TYPE_ITEXTVIEW (itextview_get_type()) 31 | #define ITEXTVIEW( obj ) (GTK_CHECK_CAST( (obj), TYPE_ITEXTVIEW, iTextview )) 32 | #define ITEXTVIEW_CLASS( klass ) \ 33 | (GTK_CHECK_CLASS_CAST( (klass), TYPE_ITEXTVIEW, iTextviewClass )) 34 | #define IS_ITEXTVIEW( obj ) (GTK_CHECK_TYPE( (obj), TYPE_ITEXTVIEW )) 35 | #define IS_ITEXTVIEW_CLASS( klass ) \ 36 | (GTK_CHECK_CLASS_TYPE( (klass), TYPE_ITEXTVIEW )) 37 | 38 | typedef struct _iTextview { 39 | View view; 40 | 41 | /* Widgets. 42 | */ 43 | Formula *formula; 44 | } iTextview; 45 | 46 | typedef struct _iTextviewClass { 47 | ViewClass parent_class; 48 | 49 | /* My methods. 50 | */ 51 | } iTextviewClass; 52 | 53 | GtkType itextview_get_type( void ); 54 | View *itextview_new( void ); 55 | -------------------------------------------------------------------------------- /src/iregionview.h: -------------------------------------------------------------------------------- 1 | /* display a region in a workspace 2 | */ 3 | 4 | /* 5 | 6 | Copyright (C) 1991-2003 The National Gallery 7 | 8 | This program is free software; you can redistribute it and/or modify 9 | it under the terms of the GNU General Public License as published by 10 | the Free Software Foundation; either version 2 of the License, or 11 | (at your option) any later version. 12 | 13 | This program is distributed in the hope that it will be useful, 14 | but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | GNU General Public License for more details. 17 | 18 | You should have received a copy of the GNU General Public License along 19 | with this program; if not, write to the Free Software Foundation, Inc., 20 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 21 | 22 | */ 23 | 24 | /* 25 | 26 | These files are distributed with VIPS - http://www.vips.ecs.soton.ac.uk 27 | 28 | */ 29 | 30 | #define TYPE_IREGIONVIEW (iregionview_get_type()) 31 | #define IREGIONVIEW( obj ) \ 32 | (GTK_CHECK_CAST( (obj), TYPE_IREGIONVIEW, iRegionview )) 33 | #define IREGIONVIEW_CLASS( klass ) \ 34 | (GTK_CHECK_CLASS_CAST( (klass), TYPE_IREGIONVIEW, iRegionviewClass )) 35 | #define IS_IREGIONVIEW( obj ) (GTK_CHECK_TYPE( (obj), TYPE_IREGIONVIEW )) 36 | #define IS_IREGIONVIEW_CLASS( klass ) \ 37 | (GTK_CHECK_CLASS_TYPE( (klass), TYPE_IREGIONVIEW )) 38 | 39 | typedef struct _iRegionview { 40 | iImageview parent_class; 41 | 42 | } iRegionview; 43 | 44 | typedef struct _iRegionviewClass { 45 | iImageviewClass parent_class; 46 | 47 | /* My methods. 48 | */ 49 | } iRegionviewClass; 50 | 51 | GtkType iregionview_get_type( void ); 52 | View *iregionview_new( void ); 53 | -------------------------------------------------------------------------------- /test/test_all.sh.in: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # set -x 4 | 5 | main_result=0 6 | 7 | test_result() { 8 | if [ $1 = 0 ]; then 9 | echo ok 10 | else 11 | echo failed 12 | main_result=1 13 | fi 14 | } 15 | 16 | test_result_fail() { 17 | if [ $1 = 0 ]; then 18 | echo error: did not fail 19 | main_result=1 20 | else 21 | echo fail expected 22 | fi 23 | } 24 | 25 | # run the test workspaces 26 | test_workspaces() { 27 | for i in @TOP_SRCDIR@/test/workspaces/*.ws; do 28 | base=$(basename $i) 29 | echo -n "testing $base ... " 30 | @TOP_SRCDIR@/src/nip2 --prefix=@TOP_SRCDIR@ --test "$i" 31 | result=$? 32 | 33 | # test_fail.ws is supposed to fail 34 | if [ x"$base" = x"test_fail.ws" ]; then 35 | test_result_fail $result 36 | else 37 | test_result $result 38 | fi 39 | done 40 | } 41 | 42 | # run the test defs 43 | test_defs() { 44 | for i in @TOP_SRCDIR@/test/workspaces/*.def; do 45 | base=$(basename $i) 46 | echo -n "testing $base ... " 47 | @TOP_SRCDIR@/src/nip2 --prefix=@TOP_SRCDIR@ --test $i 48 | test_result $? 49 | done 50 | } 51 | 52 | # load all the example workspaces too 53 | test_examples() { 54 | for i in @TOP_SRCDIR@/share/nip2/data/examples/*/*.ws; do 55 | base=$(basename $i) 56 | 57 | # have to skip these two, they use a non-free plugin 58 | if test x"$base" = x"framing.ws" ; then 59 | continue 60 | fi 61 | if test x"$base" = x"registering.ws" ; then 62 | continue 63 | fi 64 | 65 | echo -n "testing $base ... " 66 | @TOP_SRCDIR@/src/nip2 --prefix=@TOP_SRCDIR@ --test $i 67 | test_result $? 68 | done 69 | } 70 | 71 | test_workspaces 72 | test_defs 73 | test_examples 74 | 75 | echo "repeating tests with the vectorising system disabled" 76 | 77 | export IM_NOVECTOR=1 78 | test_workspaces 79 | test_defs 80 | test_examples 81 | 82 | exit $main_result 83 | -------------------------------------------------------------------------------- /src/valueview.h: -------------------------------------------------------------------------------- 1 | /* a basic view of a model ... just show the caption 2 | */ 3 | 4 | /* 5 | 6 | Copyright (C) 1991-2003 The National Gallery 7 | 8 | This program is free software; you can redistribute it and/or modify 9 | it under the terms of the GNU General Public License as published by 10 | the Free Software Foundation; either version 2 of the License, or 11 | (at your option) any later version. 12 | 13 | This program is distributed in the hope that it will be useful, 14 | but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | GNU General Public License for more details. 17 | 18 | You should have received a copy of the GNU General Public License along 19 | with this program; if not, write to the Free Software Foundation, Inc., 20 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 21 | 22 | */ 23 | 24 | /* 25 | 26 | These files are distributed with VIPS - http://www.vips.ecs.soton.ac.uk 27 | 28 | */ 29 | 30 | #define TYPE_VALUEVIEW (valueview_get_type()) 31 | #define VALUEVIEW( obj ) \ 32 | (GTK_CHECK_CAST( (obj), TYPE_VALUEVIEW, Valueview )) 33 | #define VALUEVIEW_CLASS( klass ) \ 34 | (GTK_CHECK_CLASS_CAST( (klass), TYPE_VALUEVIEW, ValueviewClass )) 35 | #define IS_VALUEVIEW( obj ) (GTK_CHECK_TYPE( (obj), TYPE_VALUEVIEW )) 36 | #define IS_VALUEVIEW_CLASS( klass ) \ 37 | (GTK_CHECK_CLASS_TYPE( (klass), TYPE_VALUEVIEW )) 38 | 39 | typedef struct _Valueview { 40 | Graphicview parent_object; 41 | 42 | GtkWidget *eb; 43 | GtkWidget *label; 44 | } Valueview; 45 | 46 | typedef struct _ValueviewClass { 47 | GraphicviewClass parent_class; 48 | 49 | /* My methods. 50 | */ 51 | } ValueviewClass; 52 | 53 | GtkType valueview_get_type( void ); 54 | View *valueview_new( void ); 55 | -------------------------------------------------------------------------------- /src/slider.h: -------------------------------------------------------------------------------- 1 | /* a slider in a workspace 2 | */ 3 | 4 | /* 5 | 6 | Copyright (C) 1991-2003 The National Gallery 7 | 8 | This program is free software; you can redistribute it and/or modify 9 | it under the terms of the GNU General Public License as published by 10 | the Free Software Foundation; either version 2 of the License, or 11 | (at your option) any later version. 12 | 13 | This program is distributed in the hope that it will be useful, 14 | but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | GNU General Public License for more details. 17 | 18 | You should have received a copy of the GNU General Public License along 19 | with this program; if not, write to the Free Software Foundation, Inc., 20 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 21 | 22 | */ 23 | 24 | /* 25 | 26 | These files are distributed with VIPS - http://www.vips.ecs.soton.ac.uk 27 | 28 | */ 29 | 30 | #define TYPE_SLIDER (slider_get_type()) 31 | #define SLIDER( obj ) \ 32 | (G_TYPE_CHECK_INSTANCE_CAST( (obj), TYPE_SLIDER, Slider )) 33 | #define SLIDER_CLASS( klass ) \ 34 | (G_TYPE_CHECK_CLASS_CAST( (klass), TYPE_SLIDER, SliderClass)) 35 | #define IS_SLIDER( obj ) \ 36 | (G_TYPE_CHECK_INSTANCE_TYPE( (obj), TYPE_SLIDER )) 37 | #define IS_SLIDER_CLASS( klass ) \ 38 | (G_TYPE_CHECK_CLASS_TYPE( (klass), TYPE_SLIDER )) 39 | #define SLIDER_GET_CLASS( obj ) \ 40 | (G_TYPE_INSTANCE_GET_CLASS( (obj), TYPE_SLIDER, SliderClass )) 41 | 42 | typedef struct _Slider { 43 | Classmodel parent_object; 44 | 45 | double from, to, value; 46 | } Slider; 47 | 48 | typedef struct _SliderClass { 49 | ClassmodelClass parent_class; 50 | 51 | /* My methods. 52 | */ 53 | } SliderClass; 54 | 55 | GType slider_get_type( void ); 56 | -------------------------------------------------------------------------------- /src/toggleview.h: -------------------------------------------------------------------------------- 1 | /* a toggleview button in a workspace 2 | */ 3 | 4 | /* 5 | 6 | Copyright (C) 1991-2003 The National Gallery 7 | 8 | This program is free software; you can redistribute it and/or modify 9 | it under the terms of the GNU General Public License as published by 10 | the Free Software Foundation; either version 2 of the License, or 11 | (at your option) any later version. 12 | 13 | This program is distributed in the hope that it will be useful, 14 | but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | GNU General Public License for more details. 17 | 18 | You should have received a copy of the GNU General Public License along 19 | with this program; if not, write to the Free Software Foundation, Inc., 20 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 21 | 22 | */ 23 | 24 | /* 25 | 26 | These files are distributed with VIPS - http://www.vips.ecs.soton.ac.uk 27 | 28 | */ 29 | 30 | #define TYPE_TOGGLEVIEW (toggleview_get_type()) 31 | #define TOGGLEVIEW( obj ) (GTK_CHECK_CAST( (obj), TYPE_TOGGLEVIEW, Toggleview )) 32 | #define TOGGLEVIEW_CLASS( klass ) \ 33 | (GTK_CHECK_CLASS_CAST( (klass), TYPE_TOGGLEVIEW, ToggleviewClass )) 34 | #define IS_TOGGLEVIEW( obj ) (GTK_CHECK_TYPE( (obj), TYPE_TOGGLEVIEW )) 35 | #define IS_TOGGLEVIEW_CLASS( klass ) \ 36 | (GTK_CHECK_CLASS_TYPE( (klass), TYPE_TOGGLEVIEW )) 37 | 38 | typedef struct _Toggleview { 39 | Graphicview parent_object; 40 | 41 | /* My instance vars. 42 | */ 43 | GtkWidget *toggle; 44 | } Toggleview; 45 | 46 | typedef struct _ToggleviewClass { 47 | GraphicviewClass parent_class; 48 | 49 | /* My methods. 50 | */ 51 | } ToggleviewClass; 52 | 53 | GtkType toggleview_get_type( void ); 54 | View *toggleview_new( void ); 55 | -------------------------------------------------------------------------------- /src/builtin.h: -------------------------------------------------------------------------------- 1 | /* Execute builtin functions. 2 | */ 3 | 4 | /* 5 | 6 | Copyright (C) 1991-2003 The National Gallery 7 | 8 | This program is free software; you can redistribute it and/or modify 9 | it under the terms of the GNU General Public License as published by 10 | the Free Software Foundation; either version 2 of the License, or 11 | (at your option) any later version. 12 | 13 | This program is distributed in the hope that it will be useful, 14 | but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | GNU General Public License for more details. 17 | 18 | You should have received a copy of the GNU General Public License along 19 | with this program; if not, write to the Free Software Foundation, Inc., 20 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 21 | 22 | */ 23 | 24 | /* 25 | 26 | These files are distributed with VIPS - http://www.vips.ecs.soton.ac.uk 27 | 28 | */ 29 | 30 | /* A type spotter ... a type name (used in error messages), plus a predicate. 31 | */ 32 | typedef struct { 33 | const char *name; 34 | gboolean (*pred)( Reduce *, PElement * ); 35 | } BuiltinTypeSpot; 36 | 37 | /* A builtin function. 38 | */ 39 | typedef void (*builtin_fn)( Reduce *, const char *, HeapNode **, PElement * ); 40 | 41 | /* A function name and a pointer to an implementation. 42 | */ 43 | struct _BuiltinInfo { 44 | const char *name; 45 | const char *desc; 46 | gboolean override; 47 | int nargs; 48 | BuiltinTypeSpot **args; 49 | builtin_fn fn; 50 | }; 51 | 52 | void builtin_init( void ); 53 | void builtin_usage( VipsBuf *buf, BuiltinInfo *builtin ); 54 | void builtin_run( Reduce *rc, Compile *compile, 55 | int op, const char *name, HeapNode **arg, PElement *out, 56 | BuiltinInfo *builtin ); 57 | -------------------------------------------------------------------------------- /src/toolview.h: -------------------------------------------------------------------------------- 1 | /* View a tool as a menu item. 2 | */ 3 | 4 | /* 5 | 6 | Copyright (C) 1991-2003 The National Gallery 7 | 8 | This program is free software; you can redistribute it and/or modify 9 | it under the terms of the GNU General Public License as published by 10 | the Free Software Foundation; either version 2 of the License, or 11 | (at your option) any later version. 12 | 13 | This program is distributed in the hope that it will be useful, 14 | but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | GNU General Public License for more details. 17 | 18 | You should have received a copy of the GNU General Public License along 19 | with this program; if not, write to the Free Software Foundation, Inc., 20 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 21 | 22 | */ 23 | 24 | /* 25 | 26 | These files are distributed with VIPS - http://www.vips.ecs.soton.ac.uk 27 | 28 | */ 29 | 30 | #define TYPE_TOOLVIEW (toolview_get_type()) 31 | #define TOOLVIEW( obj ) (GTK_CHECK_CAST( (obj), TYPE_TOOLVIEW, Toolview )) 32 | #define TOOLVIEW_CLASS( klass ) \ 33 | (GTK_CHECK_CLASS_CAST( (klass), TYPE_TOOLVIEW, ToolviewClass )) 34 | #define IS_TOOLVIEW( obj ) (GTK_CHECK_TYPE( (obj), TYPE_TOOLVIEW )) 35 | #define IS_TOOLVIEW_CLASS( klass ) \ 36 | (GTK_CHECK_CLASS_TYPE( (klass), TYPE_TOOLVIEW )) 37 | 38 | /* One of these for each top-level menu. 39 | */ 40 | struct _Toolview { 41 | View parent_class; 42 | 43 | Toolkitview *kview; 44 | 45 | GtkWidget *item; /* Menu item we made for this tool */ 46 | }; 47 | 48 | typedef struct _ToolviewClass { 49 | ViewClass parent_class; 50 | 51 | /* My methods. 52 | */ 53 | } ToolviewClass; 54 | 55 | GtkType toolview_get_type( void ); 56 | View *toolview_new( void ); 57 | -------------------------------------------------------------------------------- /src/colourview.h: -------------------------------------------------------------------------------- 1 | /* a colourview in a workspace 2 | */ 3 | 4 | /* 5 | 6 | Copyright (C) 1991-2003 The National Gallery 7 | 8 | This program is free software; you can redistribute it and/or modify 9 | it under the terms of the GNU General Public License as published by 10 | the Free Software Foundation; either version 2 of the License, or 11 | (at your option) any later version. 12 | 13 | This program is distributed in the hope that it will be useful, 14 | but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | GNU General Public License for more details. 17 | 18 | You should have received a copy of the GNU General Public License along 19 | with this program; if not, write to the Free Software Foundation, Inc., 20 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 21 | 22 | */ 23 | 24 | /* 25 | 26 | These files are distributed with VIPS - http://www.vips.ecs.soton.ac.uk 27 | 28 | */ 29 | 30 | #define TYPE_COLOURVIEW (colourview_get_type()) 31 | #define COLOURVIEW( obj ) (GTK_CHECK_CAST( (obj), TYPE_COLOURVIEW, Colourview )) 32 | #define COLOURVIEW_CLASS( klass ) \ 33 | (GTK_CHECK_CLASS_CAST( (klass), TYPE_COLOURVIEW, ColourviewClass )) 34 | #define IS_COLOURVIEW( obj ) (GTK_CHECK_TYPE( (obj), TYPE_COLOURVIEW )) 35 | #define IS_COLOURVIEW_CLASS( klass ) \ 36 | (GTK_CHECK_CLASS_TYPE( (klass), TYPE_COLOURVIEW )) 37 | 38 | typedef struct _Colourview { 39 | Graphicview parent_object; 40 | 41 | Colourdisplay *colourdisplay; 42 | Conversion *conv; 43 | GtkWidget *label; 44 | } Colourview; 45 | 46 | typedef struct _ColourviewClass { 47 | GraphicviewClass parent_class; 48 | 49 | /* My methods. 50 | */ 51 | } ColourviewClass; 52 | 53 | GtkType colourview_get_type( void ); 54 | View *colourview_new( void ); 55 | -------------------------------------------------------------------------------- /src/sliderview.h: -------------------------------------------------------------------------------- 1 | /* a sliderview in a workspace 2 | */ 3 | 4 | /* 5 | 6 | Copyright (C) 1991-2003 The National Gallery 7 | 8 | This program is free software; you can redistribute it and/or modify 9 | it under the terms of the GNU General Public License as published by 10 | the Free Software Foundation; either version 2 of the License, or 11 | (at your option) any later version. 12 | 13 | This program is distributed in the hope that it will be useful, 14 | but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | GNU General Public License for more details. 17 | 18 | You should have received a copy of the GNU General Public License along 19 | with this program; if not, write to the Free Software Foundation, Inc., 20 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 21 | 22 | */ 23 | 24 | /* 25 | 26 | These files are distributed with VIPS - http://www.vips.ecs.soton.ac.uk 27 | 28 | */ 29 | 30 | #define TYPE_SLIDERVIEW (sliderview_get_type()) 31 | #define SLIDERVIEW( obj ) (GTK_CHECK_CAST( (obj), TYPE_SLIDERVIEW, Sliderview )) 32 | #define SLIDERVIEW_CLASS( klass ) \ 33 | (GTK_CHECK_CLASS_CAST( (klass), TYPE_SLIDERVIEW, SliderviewClass )) 34 | #define IS_SLIDERVIEW( obj ) (GTK_CHECK_TYPE( (obj), TYPE_SLIDERVIEW )) 35 | #define IS_SLIDERVIEW_CLASS( klass ) \ 36 | (GTK_CHECK_CLASS_TYPE( (klass), TYPE_SLIDERVIEW )) 37 | 38 | typedef struct _Sliderview { 39 | Graphicview parent_object; 40 | 41 | /* My instance vars. 42 | */ 43 | GtkWidget *label; 44 | Tslider *tslider; 45 | } Sliderview; 46 | 47 | typedef struct _SliderviewClass { 48 | GraphicviewClass parent_class; 49 | 50 | /* My methods. 51 | */ 52 | } SliderviewClass; 53 | 54 | GtkType sliderview_get_type( void ); 55 | View *sliderview_new( void ); 56 | -------------------------------------------------------------------------------- /src/plotview.h: -------------------------------------------------------------------------------- 1 | /* a plotview in a workspace 2 | */ 3 | 4 | /* 5 | 6 | Copyright (C) 1991-2003 The National Gallery 7 | 8 | This program is free software; you can redistribute it and/or modify 9 | it under the terms of the GNU General Public License as published by 10 | the Free Software Foundation; either version 2 of the License, or 11 | (at your option) any later version. 12 | 13 | This program is distributed in the hope that it will be useful, 14 | but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | GNU General Public License for more details. 17 | 18 | You should have received a copy of the GNU General Public License along 19 | with this program; if not, write to the Free Software Foundation, Inc., 20 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 21 | 22 | */ 23 | 24 | /* 25 | 26 | These files are distributed with VIPS - http://www.vips.ecs.soton.ac.uk 27 | 28 | */ 29 | 30 | #define TYPE_PLOTVIEW (plotview_get_type()) 31 | #define PLOTVIEW( obj ) (GTK_CHECK_CAST( (obj), TYPE_PLOTVIEW, Plotview )) 32 | #define PLOTVIEW_CLASS( klass ) \ 33 | (GTK_CHECK_CLASS_CAST( (klass), TYPE_PLOTVIEW, PlotviewClass )) 34 | #define IS_PLOTVIEW( obj ) (GTK_CHECK_TYPE( (obj), TYPE_PLOTVIEW )) 35 | #define IS_PLOTVIEW_CLASS( klass ) \ 36 | (GTK_CHECK_CLASS_TYPE( (klass), TYPE_PLOTVIEW )) 37 | 38 | typedef struct _Plotview { 39 | Graphicview parent_object; 40 | 41 | GtkWidget *box; 42 | GtkWidget *label; 43 | GtkWidget *canvas; 44 | 45 | GogChart *gchart; 46 | GogPlot *gplot; 47 | } Plotview; 48 | 49 | typedef struct _PlotviewClass { 50 | GraphicviewClass parent_class; 51 | 52 | /* My methods. 53 | */ 54 | } PlotviewClass; 55 | 56 | GtkType plotview_get_type( void ); 57 | View *plotview_new( void ); 58 | -------------------------------------------------------------------------------- /src/pathnameview.h: -------------------------------------------------------------------------------- 1 | /* a pathname view in a workspace 2 | */ 3 | 4 | /* 5 | 6 | Copyright (C) 1991-2003 The National Gallery 7 | 8 | This program is free software; you can redistribute it and/or modify 9 | it under the terms of the GNU General Public License as published by 10 | the Free Software Foundation; either version 2 of the License, or 11 | (at your option) any later version. 12 | 13 | This program is distributed in the hope that it will be useful, 14 | but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | GNU General Public License for more details. 17 | 18 | You should have received a copy of the GNU General Public License along 19 | with this program; if not, write to the Free Software Foundation, Inc., 20 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 21 | 22 | */ 23 | 24 | /* 25 | 26 | These files are distributed with VIPS - http://www.vips.ecs.soton.ac.uk 27 | 28 | */ 29 | 30 | #define TYPE_PATHNAMEVIEW (pathnameview_get_type()) 31 | #define PATHNAMEVIEW( obj ) \ 32 | (GTK_CHECK_CAST( (obj), TYPE_PATHNAMEVIEW, Pathnameview )) 33 | #define PATHNAMEVIEW_CLASS( klass ) \ 34 | (GTK_CHECK_CLASS_CAST( (klass), TYPE_PATHNAMEVIEW, PathnameviewClass )) 35 | #define IS_PATHNAMEVIEW( obj ) (GTK_CHECK_TYPE( (obj), TYPE_PATHNAMEVIEW )) 36 | #define IS_PATHNAMEVIEW_CLASS( klass ) \ 37 | (GTK_CHECK_CLASS_TYPE( (klass), TYPE_PATHNAMEVIEW )) 38 | 39 | typedef struct _Pathnameview { 40 | Graphicview parent_object; 41 | 42 | GtkWidget *label; 43 | GtkWidget *button; 44 | } Pathnameview; 45 | 46 | typedef struct _PathnameviewClass { 47 | GraphicviewClass parent_class; 48 | 49 | /* My methods. 50 | */ 51 | } PathnameviewClass; 52 | 53 | GtkType pathnameview_get_type( void ); 54 | View *pathnameview_new( void ); 55 | -------------------------------------------------------------------------------- /src/fontnameview.h: -------------------------------------------------------------------------------- 1 | /* a fontname view in a workspace 2 | */ 3 | 4 | /* 5 | 6 | Copyright (C) 1991-2003 The National Gallery 7 | 8 | This program is free software; you can redistribute it and/or modify 9 | it under the terms of the GNU General Public License as published by 10 | the Free Software Foundation; either version 2 of the License, or 11 | (at your option) any later version. 12 | 13 | This program is distributed in the hope that it will be useful, 14 | but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | GNU General Public License for more details. 17 | 18 | You should have received a copy of the GNU General Public License along 19 | with this program; if not, write to the Free Software Foundation, Inc., 20 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 21 | 22 | */ 23 | 24 | /* 25 | 26 | These files are distributed with VIPS - http://www.vips.ecs.soton.ac.uk 27 | 28 | */ 29 | 30 | #define TYPE_FONTNAMEVIEW (fontnameview_get_type()) 31 | #define FONTNAMEVIEW( obj ) \ 32 | (GTK_CHECK_CAST( (obj), TYPE_FONTNAMEVIEW, Fontnameview )) 33 | #define FONTNAMEVIEW_CLASS( klass ) \ 34 | (GTK_CHECK_CLASS_CAST( (klass), TYPE_FONTNAMEVIEW, FontnameviewClass )) 35 | #define IS_FONTNAMEVIEW( obj ) (GTK_CHECK_TYPE( (obj), TYPE_FONTNAMEVIEW )) 36 | #define IS_FONTNAMEVIEW_CLASS( klass ) \ 37 | (GTK_CHECK_CLASS_TYPE( (klass), TYPE_FONTNAMEVIEW )) 38 | 39 | typedef struct _Fontnameview { 40 | Graphicview parent_object; 41 | 42 | GtkWidget *label; 43 | Fontbutton *fontbutton; 44 | } Fontnameview; 45 | 46 | typedef struct _FontnameviewClass { 47 | GraphicviewClass parent_class; 48 | 49 | /* My methods. 50 | */ 51 | } FontnameviewClass; 52 | 53 | GtkType fontnameview_get_type( void ); 54 | View *fontnameview_new( void ); 55 | -------------------------------------------------------------------------------- /src/toggle.h: -------------------------------------------------------------------------------- 1 | /* a toggle button in a workspace 2 | */ 3 | 4 | /* 5 | 6 | Copyright (C) 1991-2003 The National Gallery 7 | 8 | This program is free software; you can redistribute it and/or modify 9 | it under the terms of the GNU General Public License as published by 10 | the Free Software Foundation; either version 2 of the License, or 11 | (at your option) any later version. 12 | 13 | This program is distributed in the hope that it will be useful, 14 | but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | GNU General Public License for more details. 17 | 18 | You should have received a copy of the GNU General Public License along 19 | with this program; if not, write to the Free Software Foundation, Inc., 20 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 21 | 22 | */ 23 | 24 | /* 25 | 26 | These files are distributed with VIPS - http://www.vips.ecs.soton.ac.uk 27 | 28 | */ 29 | 30 | #define TYPE_TOGGLE (toggle_get_type()) 31 | #define TOGGLE( obj ) \ 32 | (G_TYPE_CHECK_INSTANCE_CAST( (obj), TYPE_TOGGLE, Toggle )) 33 | #define TOGGLE_CLASS( klass ) \ 34 | (G_TYPE_CHECK_CLASS_CAST( (klass), TYPE_TOGGLE, ToggleClass)) 35 | #define IS_TOGGLE( obj ) \ 36 | (G_TYPE_CHECK_INSTANCE_TYPE( (obj), TYPE_TOGGLE )) 37 | #define IS_TOGGLE_CLASS( klass ) \ 38 | (G_TYPE_CHECK_CLASS_TYPE( (klass), TYPE_TOGGLE )) 39 | #define TOGGLE_GET_CLASS( obj ) \ 40 | (G_TYPE_INSTANCE_GET_CLASS( (obj), TYPE_TOGGLE, ToggleClass )) 41 | 42 | typedef struct _Toggle { 43 | Classmodel parent_class; 44 | 45 | /* My instance vars. 46 | */ 47 | gboolean value; 48 | } Toggle; 49 | 50 | typedef struct _ToggleClass { 51 | ClassmodelClass parent_class; 52 | 53 | /* My methods. 54 | */ 55 | } ToggleClass; 56 | 57 | GType toggle_get_type( void ); 58 | -------------------------------------------------------------------------------- /src/value.h: -------------------------------------------------------------------------------- 1 | /* abstract base class for real/group/vector 2 | */ 3 | 4 | /* 5 | 6 | Copyright (C) 1991-2003 The National Gallery 7 | 8 | This program is free software; you can redistribute it and/or modify 9 | it under the terms of the GNU General Public License as published by 10 | the Free Software Foundation; either version 2 of the License, or 11 | (at your option) any later version. 12 | 13 | This program is distributed in the hope that it will be useful, 14 | but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | GNU General Public License for more details. 17 | 18 | You should have received a copy of the GNU General Public License along 19 | with this program; if not, write to the Free Software Foundation, Inc., 20 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 21 | 22 | */ 23 | 24 | /* 25 | 26 | These files are distributed with VIPS - http://www.vips.ecs.soton.ac.uk 27 | 28 | */ 29 | 30 | #define TYPE_VALUE (value_get_type()) 31 | #define VALUE( obj ) \ 32 | (G_TYPE_CHECK_INSTANCE_CAST( (obj), TYPE_VALUE, Value )) 33 | #define VALUE_CLASS( klass ) \ 34 | (G_TYPE_CHECK_CLASS_CAST( (klass), TYPE_VALUE, ValueClass)) 35 | #define IS_VALUE( obj ) \ 36 | (G_TYPE_CHECK_INSTANCE_TYPE( (obj), TYPE_VALUE )) 37 | #define IS_VALUE_CLASS( klass ) \ 38 | (G_TYPE_CHECK_CLASS_TYPE( (klass), TYPE_VALUE )) 39 | #define VALUE_GET_CLASS( obj ) \ 40 | (G_TYPE_INSTANCE_GET_CLASS( (obj), TYPE_VALUE, ValueClass )) 41 | 42 | typedef struct _Value { 43 | Classmodel model; 44 | 45 | /* Build caption buffer here. 46 | */ 47 | VipsBuf caption_buffer; 48 | } Value; 49 | 50 | typedef struct _ValueClass { 51 | ClassmodelClass parent_class; 52 | 53 | /* My methods. 54 | */ 55 | } ValueClass; 56 | 57 | GType value_get_type( void ); 58 | -------------------------------------------------------------------------------- /src/preview.h: -------------------------------------------------------------------------------- 1 | /* thumbnail widget 2 | */ 3 | 4 | /* 5 | 6 | Copyright (C) 1991-2003 The National Gallery 7 | 8 | This program is free software; you can redistribute it and/or modify 9 | it under the terms of the GNU General Public License as published by 10 | the Free Software Foundation; either version 2 of the License, or 11 | (at your option) any later version. 12 | 13 | This program is distributed in the hope that it will be useful, 14 | but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | GNU General Public License for more details. 17 | 18 | You should have received a copy of the GNU General Public License along 19 | with this program; if not, write to the Free Software Foundation, Inc., 20 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 21 | 22 | */ 23 | 24 | /* 25 | 26 | These files are distributed with VIPS - http://www.vips.ecs.soton.ac.uk 27 | 28 | */ 29 | 30 | #define TYPE_PREVIEW (preview_get_type()) 31 | #define PREVIEW( obj ) \ 32 | (GTK_CHECK_CAST( (obj), TYPE_PREVIEW, Preview )) 33 | #define PREVIEW_CLASS( klass ) \ 34 | (GTK_CHECK_CLASS_CAST( (klass), TYPE_PREVIEW, PreviewClass )) 35 | #define IS_PREVIEW( obj ) (GTK_CHECK_TYPE( (obj), TYPE_PREVIEW )) 36 | #define IS_PREVIEW_CLASS( klass ) \ 37 | (GTK_CHECK_CLASS_TYPE( (klass), TYPE_PREVIEW )) 38 | 39 | struct _Preview { 40 | Imagedisplay parent; 41 | 42 | char *filename; /* The file we are trying to display */ 43 | Conversion *conv; /* Hold a ref to the convert object */ 44 | }; 45 | 46 | typedef struct _PreviewClass { 47 | ImagedisplayClass parent_class; 48 | 49 | /* My methods. 50 | */ 51 | } PreviewClass; 52 | 53 | GtkType preview_get_type( void ); 54 | Preview *preview_new( void ); 55 | void preview_set_filename( Preview *preview, char *filename ); 56 | -------------------------------------------------------------------------------- /doc/src/nipguide.tex: -------------------------------------------------------------------------------- 1 | \documentclass[a4paper,twocolumn,dvips]{book} 2 | \usepackage[dvips=false,pdftex=false,vtex=false]{geometry} 3 | \usepackage{relsize} 4 | \usepackage{ifpdf} 5 | \ifpdf 6 | \usepackage[pdftex]{graphicx,color} 7 | \else 8 | \usepackage{graphicx,color} 9 | \fi 10 | \usepackage{times} 11 | \usepackage{fancyhdr} 12 | \usepackage{ifthen} 13 | 14 | \input{mydefs} 15 | 16 | \fancyhead{} % clear all fields 17 | \fancyhead[LE,RO]{\leftmark} % left-even, right-odd 18 | \fancyhead[RE,LO]{\nip{} Manual} % right-even, left-odd 19 | \fancyfoot[LE,RO]{\thepage} % left-even, right-odd 20 | \fancyfoot[RE,LO]{December 2017} 21 | 22 | \begin{document} 23 | 24 | \pagenumbering{roman} 25 | 26 | \begin{titlepage} 27 | \thispagestyle{empty} 28 | \begin{center} 29 | \huge 30 | \nip{} Manual\\[0.2em] 31 | \large Version 8.6\\ 32 | \vspace{0.5in} 33 | \large 34 | John Cupitt, 35 | Rachel Billinge, 36 | Joseph Padfield, 37 | Clare Richardson, 38 | David Saunders\\ 39 | \end{center} 40 | 41 | % hmm ... must be a better way to get the quote at the bottom of the page 42 | \vspace{3in} 43 | 44 | \begin{center} 45 | \noindent 46 | \emph{``It's quite simple really, and at the same time, rather 47 | complicated.''} \\ 48 | --- A.\ Haddock, Sea captain (rtd.) 49 | \end{center} 50 | 51 | \vspace{3in} 52 | 53 | \noindent 54 | \small{This document formatted \today} 55 | \setcounter{page}{1} 56 | \end{titlepage} 57 | 58 | %\blankpage 59 | \tableofcontents 60 | \thispagestyle{plain} 61 | 62 | %\blankpage 63 | \listoffigures 64 | \thispagestyle{plain} 65 | 66 | %\blankpage 67 | \listoftables 68 | \thispagestyle{plain} 69 | 70 | \blankpage 71 | \pagenumbering{arabic} 72 | \thispagestyle{plain} 73 | \cfoot{} 74 | 75 | \input{intro} 76 | \input{tutorial} 77 | \input{infrared} 78 | \input{reference} 79 | \input{menus} 80 | \input{program} 81 | \appendix 82 | \input{config} 83 | 84 | \end{document} 85 | -------------------------------------------------------------------------------- /src/dump.h: -------------------------------------------------------------------------------- 1 | /* Decls for dump.c 2 | */ 3 | 4 | /* 5 | 6 | Copyright (C) 1991-2003 The National Gallery 7 | 8 | This program is free software; you can redistribute it and/or modify 9 | it under the terms of the GNU General Public License as published by 10 | the Free Software Foundation; either version 2 of the License, or 11 | (at your option) any later version. 12 | 13 | This program is distributed in the hope that it will be useful, 14 | but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | GNU General Public License for more details. 17 | 18 | You should have received a copy of the GNU General Public License along 19 | with this program; if not, write to the Free Software Foundation, Inc., 20 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 21 | 22 | */ 23 | 24 | /* 25 | 26 | These files are distributed with VIPS - http://www.vips.ecs.soton.ac.uk 27 | 28 | */ 29 | 30 | char *decode_BinOp( BinOp op ); 31 | char *decode_UnOp( UnOp op ); 32 | char *decode_NodeType( NodeType tag ); 33 | char *decode_CombinatorType( CombinatorType comb ); 34 | char *decode_SymbolType( SymbolType t ); 35 | char *decode_SymbolType_user( SymbolType t ); 36 | 37 | void *dump_tiny( Symbol *sym ); 38 | void *dump_symbol( Symbol *sym ); 39 | void dump_expr( Expr *expr ); 40 | void dump_compile( Compile *compile ); 41 | void dump_symbol_table( void ); 42 | void *dump_kit( Toolkit *kit ); 43 | Symbol *sym( char *name ); 44 | void psym( char *name ); 45 | void psymv( char *name ); 46 | void pgraph( PElement *graph ); 47 | 48 | void graph_heap( int nsp, HeapNode *hn ); 49 | void graph_test( Heap *heap ); 50 | 51 | void *dump_tree( ParseNode *n ); 52 | 53 | void dump_links( Symbol *sym ); 54 | void *dump_link( Link *link ); 55 | 56 | void dump_symbol_heap( Symbol *sym ); 57 | -------------------------------------------------------------------------------- /src/expressionview.h: -------------------------------------------------------------------------------- 1 | /* a textview button in a workspace 2 | */ 3 | 4 | /* 5 | 6 | Copyright (C) 1991-2003 The National Gallery 7 | 8 | This program is free software; you can redistribute it and/or modify 9 | it under the terms of the GNU General Public License as published by 10 | the Free Software Foundation; either version 2 of the License, or 11 | (at your option) any later version. 12 | 13 | This program is distributed in the hope that it will be useful, 14 | but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | GNU General Public License for more details. 17 | 18 | You should have received a copy of the GNU General Public License along 19 | with this program; if not, write to the Free Software Foundation, Inc., 20 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 21 | 22 | */ 23 | 24 | /* 25 | 26 | These files are distributed with VIPS - http://www.vips.ecs.soton.ac.uk 27 | 28 | */ 29 | 30 | #define TYPE_EXPRESSIONVIEW (expressionview_get_type()) 31 | #define EXPRESSIONVIEW( obj ) (GTK_CHECK_CAST( (obj), \ 32 | TYPE_EXPRESSIONVIEW, Expressionview )) 33 | #define EXPRESSIONVIEW_CLASS( klass ) \ 34 | (GTK_CHECK_CLASS_CAST( (klass), \ 35 | TYPE_EXPRESSIONVIEW, ExpressionviewClass )) 36 | #define IS_EXPRESSIONVIEW( obj ) (GTK_CHECK_TYPE( (obj), TYPE_EXPRESSIONVIEW )) 37 | #define IS_EXPRESSIONVIEW_CLASS( klass ) \ 38 | (GTK_CHECK_CLASS_TYPE( (klass), TYPE_EXPRESSIONVIEW )) 39 | 40 | typedef struct _Expressionview { 41 | Graphicview parent_object; 42 | 43 | Formula *formula; 44 | } Expressionview; 45 | 46 | typedef struct _ExpressionviewClass { 47 | GraphicviewClass parent_class; 48 | 49 | /* My methods. 50 | */ 51 | } ExpressionviewClass; 52 | 53 | GtkType expressionview_get_type( void ); 54 | View *expressionview_new( void ); 55 | -------------------------------------------------------------------------------- /src/floatwindow.h: -------------------------------------------------------------------------------- 1 | /* abstract base class for imageview / plotwindow etc. 2 | */ 3 | 4 | /* 5 | 6 | Copyright (C) 1991-2003 The National Gallery 7 | 8 | This program is free software; you can redistribute it and/or modify 9 | it under the terms of the GNU General Public License as published by 10 | the Free Software Foundation; either version 2 of the License, or 11 | (at your option) any later version. 12 | 13 | This program is distributed in the hope that it will be useful, 14 | but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | GNU General Public License for more details. 17 | 18 | You should have received a copy of the GNU General Public License along 19 | with this program; if not, write to the Free Software Foundation, Inc., 20 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 21 | 22 | */ 23 | 24 | /* 25 | 26 | These files are distributed with VIPS - http://www.vips.ecs.soton.ac.uk 27 | 28 | */ 29 | 30 | #define TYPE_FLOATWINDOW (floatwindow_get_type()) 31 | #define FLOATWINDOW( obj ) \ 32 | (GTK_CHECK_CAST( (obj), TYPE_FLOATWINDOW, Floatwindow )) 33 | #define FLOATWINDOW_CLASS( klass ) \ 34 | (GTK_CHECK_CLASS_CAST( (klass), TYPE_FLOATWINDOW, FloatwindowClass )) 35 | #define IS_FLOATWINDOW( obj ) (GTK_CHECK_TYPE( (obj), TYPE_FLOATWINDOW )) 36 | #define IS_FLOATWINDOW_CLASS( klass ) \ 37 | (GTK_CHECK_CLASS_TYPE( (klass), TYPE_FLOATWINDOW )) 38 | 39 | typedef struct _Floatwindow { 40 | iWindow parent_class; 41 | 42 | /* Model stuff here. 43 | */ 44 | Model *model; 45 | } Floatwindow; 46 | 47 | typedef struct _FloatwindowClass { 48 | iWindowClass parent_class; 49 | 50 | /* My methods. 51 | */ 52 | } FloatwindowClass; 53 | 54 | GtkType floatwindow_get_type( void ); 55 | void floatwindow_link( Floatwindow *floatwindow, Model *model ); 56 | -------------------------------------------------------------------------------- /src/graphicview.h: -------------------------------------------------------------------------------- 1 | /* abstract base class for graphic views, ie. things we can display as part of 2 | * the graphic component of a rhsview 3 | */ 4 | 5 | /* 6 | 7 | Copyright (C) 1991-2003 The National Gallery 8 | 9 | This program is free software; you can redistribute it and/or modify 10 | it under the terms of the GNU General Public License as published by 11 | the Free Software Foundation; either version 2 of the License, or 12 | (at your option) any later version. 13 | 14 | This program is distributed in the hope that it will be useful, 15 | but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | GNU General Public License for more details. 18 | 19 | You should have received a copy of the GNU General Public License along 20 | with this program; if not, write to the Free Software Foundation, Inc., 21 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 22 | 23 | */ 24 | 25 | /* 26 | 27 | These files are distributed with VIPS - http://www.vips.ecs.soton.ac.uk 28 | 29 | */ 30 | 31 | #define TYPE_GRAPHICVIEW (graphicview_get_type()) 32 | #define GRAPHICVIEW( obj ) \ 33 | (GTK_CHECK_CAST( (obj), TYPE_GRAPHICVIEW, Graphicview )) 34 | #define GRAPHICVIEW_CLASS( klass ) \ 35 | (GTK_CHECK_CLASS_CAST( (klass), TYPE_GRAPHICVIEW, GraphicviewClass )) 36 | #define IS_GRAPHICVIEW( obj ) (GTK_CHECK_TYPE( (obj), TYPE_GRAPHICVIEW )) 37 | #define IS_GRAPHICVIEW_CLASS( klass ) \ 38 | (GTK_CHECK_CLASS_TYPE( (klass), TYPE_GRAPHICVIEW )) 39 | 40 | typedef struct _Graphicview { 41 | View view; 42 | 43 | /* My instance vars. 44 | */ 45 | Subcolumnview *sview; /* Enclosing subc. */ 46 | } Graphicview; 47 | 48 | typedef struct _GraphicviewClass { 49 | ViewClass parent_class; 50 | 51 | /* My methods. 52 | */ 53 | } GraphicviewClass; 54 | 55 | GtkType graphicview_get_type( void ); 56 | -------------------------------------------------------------------------------- /src/toolkitview.h: -------------------------------------------------------------------------------- 1 | /* View for toolkit. 2 | */ 3 | 4 | /* 5 | 6 | Copyright (C) 1991-2003 The National Gallery 7 | 8 | This program is free software; you can redistribute it and/or modify 9 | it under the terms of the GNU General Public License as published by 10 | the Free Software Foundation; either version 2 of the License, or 11 | (at your option) any later version. 12 | 13 | This program is distributed in the hope that it will be useful, 14 | but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | GNU General Public License for more details. 17 | 18 | You should have received a copy of the GNU General Public License along 19 | with this program; if not, write to the Free Software Foundation, Inc., 20 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 21 | 22 | */ 23 | 24 | /* 25 | 26 | These files are distributed with VIPS - http://www.vips.ecs.soton.ac.uk 27 | 28 | */ 29 | 30 | #define TYPE_TOOLKITVIEW (toolkitview_get_type()) 31 | #define TOOLKITVIEW( obj ) \ 32 | (GTK_CHECK_CAST( (obj), TYPE_TOOLKITVIEW, Toolkitview )) 33 | #define TOOLKITVIEW_CLASS( klass ) \ 34 | (GTK_CHECK_CLASS_CAST( (klass), TYPE_TOOLKITVIEW, ToolkitviewClass )) 35 | #define IS_TOOLKITVIEW( obj ) (GTK_CHECK_TYPE( (obj), TYPE_TOOLKITVIEW )) 36 | #define IS_TOOLKITVIEW_CLASS( klass ) \ 37 | (GTK_CHECK_CLASS_TYPE( (klass), TYPE_TOOLKITVIEW )) 38 | 39 | struct _Toolkitview { 40 | View parent_class; 41 | 42 | Toolkitgroupview *kitgview; 43 | 44 | GtkWidget *menu; /* Menu for this kit */ 45 | GtkWidget *item; /* Menu item in enclosing menu */ 46 | guint destroy_sid; 47 | }; 48 | 49 | typedef struct _ToolkitviewClass { 50 | ViewClass parent_class; 51 | 52 | /* My methods. 53 | */ 54 | } ToolkitviewClass; 55 | 56 | GtkType toolkitview_get_type( void ); 57 | View *toolkitview_new( void ); 58 | -------------------------------------------------------------------------------- /share/nip2/compat/7.8/Histogram.def: -------------------------------------------------------------------------------- 1 | /* find histogram of x 2 | */ 3 | Hist_find x = map_unary hist_find x; 4 | 5 | /* find n-dimensional histogram from n-band image 6 | */ 7 | Hist_find_nD in 8 | = map_unary widget in 9 | { 10 | widget image = class 11 | Image value { 12 | _check_args = [ 13 | [image, "Image", check_Image] 14 | ] ++ super._check_args; 15 | _vislevel = 3; 16 | 17 | // default to something small-ish 18 | bins = 8; 19 | 20 | value = hist_find_nD bins image.value; 21 | } 22 | } 23 | 24 | /* map image x through histogram hist 25 | */ 26 | Hist_map hist x = map_binary hist_map hist x; 27 | 28 | /* find cumulative histogram of hist 29 | */ 30 | Hist_cumulative x = map_unary hist_cum x; 31 | 32 | /* find normalised histogram of hist 33 | */ 34 | Hist_normalise x = map_unary hist_norm x; 35 | 36 | /* find LUT which matches hist in to hist ref 37 | */ 38 | Hist_match in ref = map_binary hist_match in ref; 39 | 40 | #separator 41 | 42 | /* histogram equalisation 43 | */ 44 | Hist_equalise = class { 45 | /* histogram equalise x globally 46 | */ 47 | Global x = map_unary hist_equalize x; 48 | 49 | /* local histogram equalisation using region r as window 50 | */ 51 | Local r = map_unary (hist_equalize_local r.width r.height) r.image; 52 | } 53 | 54 | /* slice a line of pixels along a guide line and display as a histogram 55 | */ 56 | Guide_slice in 57 | = map_unary widget in 58 | { 59 | widget guide = class 60 | Image value { 61 | _check_args = [ 62 | [guide, "Guide", check_Guide] 63 | ] ++ super._check_args; 64 | 65 | value 66 | = image_set_type Image_type.HISTOGRAM slice 67 | { 68 | slice 69 | = guide.image.extract_area 70 | guide.image.rect.left guide.top 71 | guide.width 1, 72 | is_instanceof "HGuide" guide 73 | = guide.image.extract_area 74 | guide.left guide.image.rect.top 75 | 1 guide.height; 76 | } 77 | } 78 | } 79 | 80 | -------------------------------------------------------------------------------- /share/nip2/compat/7.9/Histogram.def: -------------------------------------------------------------------------------- 1 | /* find histogram of x 2 | */ 3 | Hist_find x = map_unary hist_find x; 4 | 5 | /* find n-dimensional histogram from n-band image 6 | */ 7 | Hist_find_nD in 8 | = map_unary widget in 9 | { 10 | widget image = class 11 | Image value { 12 | _check_args = [ 13 | [image, "Image", check_Image] 14 | ] ++ super._check_args; 15 | _vislevel = 3; 16 | 17 | // default to something small-ish 18 | bins = 8; 19 | 20 | value = hist_find_nD bins image.value; 21 | } 22 | } 23 | 24 | /* map image x through histogram hist 25 | */ 26 | Hist_map hist x = map_binary hist_map hist x; 27 | 28 | /* find cumulative histogram of hist 29 | */ 30 | Hist_cumulative x = map_unary hist_cum x; 31 | 32 | /* find normalised histogram of hist 33 | */ 34 | Hist_normalise x = map_unary hist_norm x; 35 | 36 | /* find LUT which matches hist in to hist ref 37 | */ 38 | Hist_match in ref = map_binary hist_match in ref; 39 | 40 | #separator 41 | 42 | /* histogram equalisation 43 | */ 44 | Hist_equalise = class { 45 | /* histogram equalise x globally 46 | */ 47 | Global x = map_unary hist_equalize x; 48 | 49 | /* local histogram equalisation using region r as window 50 | */ 51 | Local r = map_unary (hist_equalize_local r.width r.height) r.image; 52 | } 53 | 54 | /* slice a line of pixels along a guide line and display as a histogram 55 | */ 56 | Guide_slice in 57 | = map_unary widget in 58 | { 59 | widget guide = class 60 | Image value { 61 | _check_args = [ 62 | [guide, "Guide", check_Guide] 63 | ] ++ super._check_args; 64 | 65 | value 66 | = image_set_type Image_type.HISTOGRAM slice 67 | { 68 | slice 69 | = guide.image.extract_area 70 | guide.image.rect.left guide.top 71 | guide.width 1, 72 | is_instanceof "HGuide" guide 73 | = guide.image.extract_area 74 | guide.left guide.image.rect.top 75 | 1 guide.height; 76 | } 77 | } 78 | } 79 | 80 | -------------------------------------------------------------------------------- /src/panechild.h: -------------------------------------------------------------------------------- 1 | /* The thing that sits in a pane showing the title and close button. 2 | */ 3 | 4 | /* 5 | 6 | Copyright (C) 1991-2003 The National Gallery 7 | 8 | This program is free software; you can redistribute it and/or modify 9 | it under the terms of the GNU General Public License as published by 10 | the Free Software Foundation; either version 2 of the License, or 11 | (at your option) any later version. 12 | 13 | This program is distributed in the hope that it will be useful, 14 | but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | GNU General Public License for more details. 17 | 18 | You should have received a copy of the GNU General Public License along 19 | with this program; if not, write to the Free Software Foundation, Inc., 20 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 21 | 22 | */ 23 | 24 | /* 25 | 26 | These files are distributed with VIPS - http://www.vips.ecs.soton.ac.uk 27 | 28 | */ 29 | 30 | #define TYPE_PANECHILD (panechild_get_type()) 31 | #define PANECHILD( obj ) \ 32 | (GTK_CHECK_CAST( (obj), TYPE_PANECHILD, Panechild )) 33 | #define PANECHILD_CLASS( klass ) \ 34 | (GTK_CHECK_CLASS_CAST( (klass), TYPE_PANECHILD, PanechildClass )) 35 | #define IS_PANECHILD( obj ) \ 36 | (GTK_CHECK_TYPE( (obj), TYPE_PANECHILD )) 37 | #define IS_PANECHILD_CLASS( klass ) \ 38 | (GTK_CHECK_CLASS_TYPE( (klass), TYPE_PANECHILD )) 39 | 40 | struct _Panechild { 41 | vObject parent_object; 42 | 43 | Pane *pane; /* The pane we are part of */ 44 | 45 | const char *title; /* Title we display */ 46 | GtkWidget *label; /* Titlebar label */ 47 | }; 48 | 49 | typedef struct _PanechildClass { 50 | vObjectClass parent_class; 51 | 52 | } PanechildClass; 53 | 54 | GtkType panechild_get_type( void ); 55 | Panechild *panechild_new( Pane *pane, const char *title ); 56 | -------------------------------------------------------------------------------- /src/path.h: -------------------------------------------------------------------------------- 1 | /* Declarations supporting search.c 2 | */ 3 | 4 | /* 5 | 6 | Copyright (C) 1991-2003 The National Gallery 7 | 8 | This program is free software; you can redistribute it and/or modify 9 | it under the terms of the GNU General Public License as published by 10 | the Free Software Foundation; either version 2 of the License, or 11 | (at your option) any later version. 12 | 13 | This program is distributed in the hope that it will be useful, 14 | but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | GNU General Public License for more details. 17 | 18 | You should have received a copy of the GNU General Public License along 19 | with this program; if not, write to the Free Software Foundation, Inc., 20 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 21 | 22 | */ 23 | 24 | /* 25 | 26 | These files are distributed with VIPS - http://www.vips.ecs.soton.ac.uk 27 | 28 | */ 29 | 30 | extern GSList *path_search_default; 31 | extern GSList *path_start_default; 32 | extern const char *path_tmp_default; 33 | 34 | /* Type of path_map functions. 35 | */ 36 | typedef void *(*path_map_fn)( const char *, void *, void *, void * ); 37 | 38 | void path_rewrite_free_all( void ); 39 | void path_rewrite_add( const char *old, const char *new, gboolean lock ); 40 | void path_rewrite( char *buf ); 41 | void path_compact( char *path ); 42 | void path_expand( char *path ); 43 | char *path_rewrite_file( const char *patt ); 44 | 45 | GSList *path_parse( const char *path ); 46 | char *path_unparse( GSList *path ); 47 | void path_free2( GSList *path ); 48 | void *path_map( GSList *path, const char *patt, path_map_fn fn, void *a ); 49 | void *path_map_dir( const char *dir, const char *patt, 50 | path_map_fn fn, void *a ); 51 | char *path_find_file( const char *patt ); 52 | 53 | void path_init( void ); 54 | -------------------------------------------------------------------------------- /src/popupbutton.h: -------------------------------------------------------------------------------- 1 | /* a button that displays a popup menu 2 | * 3 | * quick hack from totem-plugin-viewer.c 4 | */ 5 | 6 | /* 7 | 8 | Copyright (C) 1991-2003 The National Gallery 9 | 10 | This program is free software; you can redistribute it and/or modify 11 | it under the terms of the GNU General Public License as published by 12 | the Free Software Foundation; either version 2 of the License, or 13 | (at your option) any later version. 14 | 15 | This program is distributed in the hope that it will be useful, 16 | but WITHOUT ANY WARRANTY; without even the implied warranty of 17 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18 | GNU General Public License for more details. 19 | 20 | You should have received a copy of the GNU General Public License along 21 | with this program; if not, write to the Free Software Foundation, Inc., 22 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 23 | 24 | */ 25 | 26 | /* 27 | 28 | These files are distributed with VIPS - http://www.vips.ecs.soton.ac.uk 29 | 30 | */ 31 | 32 | #define TYPE_POPUPBUTTON (popupbutton_get_type()) 33 | #define POPUPBUTTON( obj ) \ 34 | (GTK_CHECK_CAST( (obj), TYPE_POPUPBUTTON, Popupbutton )) 35 | #define POPUPBUTTON_CLASS( klass ) \ 36 | (GTK_CHECK_CLASS_CAST( (klass), TYPE_POPUPBUTTON, PopupbuttonClass )) 37 | #define IS_POPUPBUTTON( obj ) (GTK_CHECK_TYPE( (obj), TYPE_POPUPBUTTON )) 38 | #define IS_POPUPBUTTON_CLASS( klass ) \ 39 | (GTK_CHECK_CLASS_TYPE( (klass), TYPE_POPUPBUTTON )) 40 | 41 | typedef struct _Popupbutton { 42 | GtkToggleButton parent_object; 43 | 44 | GtkWidget *menu; 45 | } Popupbutton; 46 | 47 | typedef struct _PopupbuttonClass { 48 | GtkToggleButtonClass parent_class; 49 | 50 | } PopupbuttonClass; 51 | 52 | GtkType popupbutton_get_type( void ); 53 | Popupbutton *popupbutton_new( void ); 54 | void popupbutton_set_menu( Popupbutton *Popupbutton, GtkWidget *menu ); 55 | -------------------------------------------------------------------------------- /src/expression.h: -------------------------------------------------------------------------------- 1 | /* an editable expression in a workspace 2 | */ 3 | 4 | /* 5 | 6 | Copyright (C) 1991-2003 The National Gallery 7 | 8 | This program is free software; you can redistribute it and/or modify 9 | it under the terms of the GNU General Public License as published by 10 | the Free Software Foundation; either version 2 of the License, or 11 | (at your option) any later version. 12 | 13 | This program is distributed in the hope that it will be useful, 14 | but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | GNU General Public License for more details. 17 | 18 | You should have received a copy of the GNU General Public License along 19 | with this program; if not, write to the Free Software Foundation, Inc., 20 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 21 | 22 | */ 23 | 24 | /* 25 | 26 | These files are distributed with VIPS - http://www.vips.ecs.soton.ac.uk 27 | 28 | */ 29 | 30 | #define TYPE_EXPRESSION (expression_get_type()) 31 | #define EXPRESSION( obj ) (GTK_CHECK_CAST( (obj), TYPE_EXPRESSION, Expression )) 32 | #define EXPRESSION_CLASS( klass ) \ 33 | (GTK_CHECK_CLASS_CAST( (klass), TYPE_EXPRESSION, ExpressionClass )) 34 | #define IS_EXPRESSION( obj ) (GTK_CHECK_TYPE( (obj), TYPE_EXPRESSION )) 35 | #define IS_EXPRESSION_CLASS( klass ) \ 36 | (GTK_CHECK_CLASS_TYPE( (klass), TYPE_EXPRESSION )) 37 | 38 | struct _Expression { 39 | Classmodel parent_class; 40 | 41 | /* We don't have a model for the expression: instead we just grab the 42 | * value/formula from our MEMBER_VALUE itext. Much simpler. 43 | */ 44 | }; 45 | 46 | typedef struct _ExpressionClass { 47 | ClassmodelClass parent_class; 48 | 49 | /* My methods. 50 | */ 51 | } ExpressionClass; 52 | 53 | GType expression_get_type( void ); 54 | 55 | iText *expression_get_itext( Expression *expression ); 56 | 57 | --------------------------------------------------------------------------------