ruby-iup 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- data/Rakefile +97 -0
- data/doc/README +10 -0
- data/doc/build_install.txt +77 -0
- data/examples/README +16 -0
- data/examples/ctrl/cbox.rb +221 -0
- data/examples/ctrl/checkboard.rb +33 -0
- data/examples/ctrl/degrade.rb +73 -0
- data/examples/ctrl/example1.rb +53 -0
- data/examples/ctrl/example2.rb +39 -0
- data/examples/ctrl/iupcolorbar.rb +95 -0
- data/examples/ctrl/iupcolorbrowser.rb +45 -0
- data/examples/ctrl/iupdial.rb +117 -0
- data/examples/ctrl/iupgauge.rb +242 -0
- data/examples/ctrl/iupgetcolor.rb +8 -0
- data/examples/ctrl/iupgetparam.rb +62 -0
- data/examples/ctrl/iupglcanvas.rb +172 -0
- data/examples/ctrl/iupmask.rb +15 -0
- data/examples/ctrl/iupmatrix.rb +39 -0
- data/examples/ctrl/iupplot2.rb +603 -0
- data/examples/ctrl/iuptabs.rb +22 -0
- data/examples/ctrl/iuptree.rb +190 -0
- data/examples/ctrl/iupval.rb +71 -0
- data/examples/ctrl/numbering.rb +46 -0
- data/examples/ctrl/sample.rb +166 -0
- data/examples/dlg/iupalarm.rb +14 -0
- data/examples/dlg/iupfiledlg.rb +19 -0
- data/examples/dlg/iupgetfile.rb +19 -0
- data/examples/dlg/iuplistdialog.rb +26 -0
- data/examples/dlg/iupmessage.rb +5 -0
- data/examples/dlg/iupscanf.rb +17 -0
- data/examples/elem/iupbutton.rb +197 -0
- data/examples/elem/iupcanvas.rb +27 -0
- data/examples/elem/iupcanvas2.rb +113 -0
- data/examples/elem/iupcanvas3.rb +62 -0
- data/examples/elem/iupdialog.rb +71 -0
- data/examples/elem/iupdialog2.rb +25 -0
- data/examples/elem/iupfill.rb +51 -0
- data/examples/elem/iupframe.rb +25 -0
- data/examples/elem/iuphbox.rb +68 -0
- data/examples/elem/iupimage.rb +113 -0
- data/examples/elem/iupitem.rb +60 -0
- data/examples/elem/iuplabel.rb +57 -0
- data/examples/elem/iuplist.rb +41 -0
- data/examples/elem/iuplist2.rb +125 -0
- data/examples/elem/iupmenu.rb +32 -0
- data/examples/elem/iupmultiline.rb +24 -0
- data/examples/elem/iupmultiline2.rb +156 -0
- data/examples/elem/iupradio.rb +32 -0
- data/examples/elem/iupseparator.rb +81 -0
- data/examples/elem/iupsubmenu.rb +85 -0
- data/examples/elem/iuptext.rb +61 -0
- data/examples/elem/iuptimer.rb +36 -0
- data/examples/elem/iuptoggle.rb +110 -0
- data/examples/elem/iupvbox.rb +87 -0
- data/examples/elem/iupzbox.rb +60 -0
- data/examples/elem/mdisample.rb +376 -0
- data/examples/elem/progressbar.rb +294 -0
- data/examples/elem/scrollbar.rb +66 -0
- data/examples/elem/tray.rb +90 -0
- data/examples/func/iupgetattribute.rb +32 -0
- data/examples/func/iupidle.rb +48 -0
- data/ext/extconf.rb +27 -0
- data/ext/iup-linux/include/cd.h +494 -0
- data/ext/iup-linux/include/cd_canvas.hpp +358 -0
- data/ext/iup-linux/include/cd_old.h +158 -0
- data/ext/iup-linux/include/cd_private.h +362 -0
- data/ext/iup-linux/include/cdcgm.h +34 -0
- data/ext/iup-linux/include/cdclipbd.h +22 -0
- data/ext/iup-linux/include/cddbuf.h +23 -0
- data/ext/iup-linux/include/cddebug.h +24 -0
- data/ext/iup-linux/include/cddgn.h +23 -0
- data/ext/iup-linux/include/cddxf.h +22 -0
- data/ext/iup-linux/include/cdemf.h +22 -0
- data/ext/iup-linux/include/cdgdiplus.h +29 -0
- data/ext/iup-linux/include/cdimage.h +23 -0
- data/ext/iup-linux/include/cdirgb.h +30 -0
- data/ext/iup-linux/include/cdiup.h +22 -0
- data/ext/iup-linux/include/cdlua.h +39 -0
- data/ext/iup-linux/include/cdlua3_private.h +120 -0
- data/ext/iup-linux/include/cdlua5_private.h +141 -0
- data/ext/iup-linux/include/cdluaim.h +24 -0
- data/ext/iup-linux/include/cdluaiup.h +27 -0
- data/ext/iup-linux/include/cdluapdf.h +27 -0
- data/ext/iup-linux/include/cdmf.h +24 -0
- data/ext/iup-linux/include/cdmf_private.h +32 -0
- data/ext/iup-linux/include/cdnative.h +26 -0
- data/ext/iup-linux/include/cdpdf.h +38 -0
- data/ext/iup-linux/include/cdpicture.h +22 -0
- data/ext/iup-linux/include/cdprint.h +23 -0
- data/ext/iup-linux/include/cdps.h +37 -0
- data/ext/iup-linux/include/cdwmf.h +22 -0
- data/ext/iup-linux/include/im.h +282 -0
- data/ext/iup-linux/include/im_attrib.h +116 -0
- data/ext/iup-linux/include/im_attrib_flat.h +39 -0
- data/ext/iup-linux/include/im_binfile.h +214 -0
- data/ext/iup-linux/include/im_capture.h +365 -0
- data/ext/iup-linux/include/im_color.h +465 -0
- data/ext/iup-linux/include/im_colorhsi.h +61 -0
- data/ext/iup-linux/include/im_complex.h +160 -0
- data/ext/iup-linux/include/im_convert.h +127 -0
- data/ext/iup-linux/include/im_counter.h +69 -0
- data/ext/iup-linux/include/im_dib.h +195 -0
- data/ext/iup-linux/include/im_file.h +111 -0
- data/ext/iup-linux/include/im_format.h +79 -0
- data/ext/iup-linux/include/im_format_all.h +576 -0
- data/ext/iup-linux/include/im_format_avi.h +87 -0
- data/ext/iup-linux/include/im_format_ecw.h +93 -0
- data/ext/iup-linux/include/im_format_jp2.h +78 -0
- data/ext/iup-linux/include/im_format_raw.h +64 -0
- data/ext/iup-linux/include/im_format_wmv.h +100 -0
- data/ext/iup-linux/include/im_image.h +403 -0
- data/ext/iup-linux/include/im_kernel.h +315 -0
- data/ext/iup-linux/include/im_lib.h +191 -0
- data/ext/iup-linux/include/im_math.h +368 -0
- data/ext/iup-linux/include/im_math_op.h +219 -0
- data/ext/iup-linux/include/im_palette.h +172 -0
- data/ext/iup-linux/include/im_plus.h +73 -0
- data/ext/iup-linux/include/im_process.h +35 -0
- data/ext/iup-linux/include/im_process_ana.h +221 -0
- data/ext/iup-linux/include/im_process_glo.h +170 -0
- data/ext/iup-linux/include/im_process_loc.h +577 -0
- data/ext/iup-linux/include/im_process_pon.h +712 -0
- data/ext/iup-linux/include/im_raw.h +34 -0
- data/ext/iup-linux/include/im_util.h +277 -0
- data/ext/iup-linux/include/imlua.h +83 -0
- data/ext/iup-linux/include/iup.h +255 -0
- data/ext/iup-linux/include/iup_pplot.h +40 -0
- data/ext/iup-linux/include/iupcb.h +25 -0
- data/ext/iup-linux/include/iupcbox.h +23 -0
- data/ext/iup-linux/include/iupcbs.h +42 -0
- data/ext/iup-linux/include/iupcells.h +130 -0
- data/ext/iup-linux/include/iupcolorbar.h +126 -0
- data/ext/iup-linux/include/iupcompat.h +62 -0
- data/ext/iup-linux/include/iupcontrols.h +40 -0
- data/ext/iup-linux/include/iupcpi.h +76 -0
- data/ext/iup-linux/include/iupdef.h +520 -0
- data/ext/iup-linux/include/iupdial.h +64 -0
- data/ext/iup-linux/include/iupgauge.h +57 -0
- data/ext/iup-linux/include/iupgc.h +20 -0
- data/ext/iup-linux/include/iupgetparam.h +27 -0
- data/ext/iup-linux/include/iupgl.h +101 -0
- data/ext/iup-linux/include/iupim.h +21 -0
- data/ext/iup-linux/include/iupkey.h +290 -0
- data/ext/iup-linux/include/iuplua.h +41 -0
- data/ext/iup-linux/include/iuplua_pplot.h +26 -0
- data/ext/iup-linux/include/iupluacontrols.h +27 -0
- data/ext/iup-linux/include/iupluagl.h +26 -0
- data/ext/iup-linux/include/iupluaim.h +26 -0
- data/ext/iup-linux/include/iupluaole.h +26 -0
- data/ext/iup-linux/include/iupmask.h +52 -0
- data/ext/iup-linux/include/iupmatrix.h +69 -0
- data/ext/iup-linux/include/iupole.h +24 -0
- data/ext/iup-linux/include/iupsbox.h +20 -0
- data/ext/iup-linux/include/iupspeech.h +23 -0
- data/ext/iup-linux/include/iupspin.h +21 -0
- data/ext/iup-linux/include/iuptabs.h +79 -0
- data/ext/iup-linux/include/iuptree.h +93 -0
- data/ext/iup-linux/include/iupval.h +46 -0
- data/ext/iup-linux/include/lauxlib.h +174 -0
- data/ext/iup-linux/include/lua.h +388 -0
- data/ext/iup-linux/include/lua.hpp +9 -0
- data/ext/iup-linux/include/luaconf.h +763 -0
- data/ext/iup-linux/include/lualib.h +53 -0
- data/ext/iup-linux/include/old_im.h +59 -0
- data/ext/iup-linux/include/wd.h +78 -0
- data/ext/iup-linux/include/wd_old.h +85 -0
- data/ext/iup-linux/libcd.so +0 -0
- data/ext/iup-linux/libcdcontextplus.so +0 -0
- data/ext/iup-linux/libcdluacontextplus51.so +0 -0
- data/ext/iup-linux/libcdpdf.so +0 -0
- data/ext/iup-linux/libfreetype.so +0 -0
- data/ext/iup-linux/libim.so +0 -0
- data/ext/iup-linux/libim_fftw.so +0 -0
- data/ext/iup-linux/libim_jp2.so +0 -0
- data/ext/iup-linux/libim_process.so +0 -0
- data/ext/iup-linux/libiup.so +0 -0
- data/ext/iup-linux/libiup_pplot.so +0 -0
- data/ext/iup-linux/libiupcd.so +0 -0
- data/ext/iup-linux/libiupcontrols.so +0 -0
- data/ext/iup-linux/libiupgl.so +0 -0
- data/ext/iup-linux/libiupim.so +0 -0
- data/ext/iup-linux/libiupimglib.so +0 -0
- data/ext/iup-linux/libpdflib.so +0 -0
- data/ext/iup-win32/cd.dll +0 -0
- data/ext/iup-win32/cd.lib +0 -0
- data/ext/iup-win32/cdcontextplus.dll +0 -0
- data/ext/iup-win32/cdcontextplus.lib +0 -0
- data/ext/iup-win32/cdlua51.lib +0 -0
- data/ext/iup-win32/cdluacontextplus51.lib +0 -0
- data/ext/iup-win32/cdluaim51.lib +0 -0
- data/ext/iup-win32/cdluapdf51.lib +0 -0
- data/ext/iup-win32/cdpdf.dll +0 -0
- data/ext/iup-win32/cdpdf.lib +0 -0
- data/ext/iup-win32/freetype6.dll +0 -0
- data/ext/iup-win32/freetype6.lib +0 -0
- data/ext/iup-win32/im.dll +0 -0
- data/ext/iup-win32/im_avi.dll +0 -0
- data/ext/iup-win32/im_capture.dll +0 -0
- data/ext/iup-win32/im_ecw.dll +0 -0
- data/ext/iup-win32/im_fftw.dll +0 -0
- data/ext/iup-win32/im_jp2.dll +0 -0
- data/ext/iup-win32/im_process.dll +0 -0
- data/ext/iup-win32/im_wmv.dll +0 -0
- data/ext/iup-win32/include/cd.h +494 -0
- data/ext/iup-win32/include/cd_canvas.hpp +358 -0
- data/ext/iup-win32/include/cd_old.h +158 -0
- data/ext/iup-win32/include/cd_private.h +362 -0
- data/ext/iup-win32/include/cdcgm.h +34 -0
- data/ext/iup-win32/include/cdclipbd.h +22 -0
- data/ext/iup-win32/include/cddbuf.h +23 -0
- data/ext/iup-win32/include/cddebug.h +24 -0
- data/ext/iup-win32/include/cddgn.h +23 -0
- data/ext/iup-win32/include/cddxf.h +22 -0
- data/ext/iup-win32/include/cdemf.h +22 -0
- data/ext/iup-win32/include/cdgdiplus.h +29 -0
- data/ext/iup-win32/include/cdimage.h +23 -0
- data/ext/iup-win32/include/cdirgb.h +30 -0
- data/ext/iup-win32/include/cdiup.h +22 -0
- data/ext/iup-win32/include/cdlua.h +39 -0
- data/ext/iup-win32/include/cdlua3_private.h +120 -0
- data/ext/iup-win32/include/cdlua5_private.h +141 -0
- data/ext/iup-win32/include/cdluaim.h +24 -0
- data/ext/iup-win32/include/cdluaiup.h +27 -0
- data/ext/iup-win32/include/cdluapdf.h +27 -0
- data/ext/iup-win32/include/cdmf.h +24 -0
- data/ext/iup-win32/include/cdmf_private.h +32 -0
- data/ext/iup-win32/include/cdnative.h +26 -0
- data/ext/iup-win32/include/cdpdf.h +38 -0
- data/ext/iup-win32/include/cdpicture.h +22 -0
- data/ext/iup-win32/include/cdprint.h +23 -0
- data/ext/iup-win32/include/cdps.h +37 -0
- data/ext/iup-win32/include/cdwmf.h +22 -0
- data/ext/iup-win32/include/iup.h +255 -0
- data/ext/iup-win32/include/iup_pplot.h +40 -0
- data/ext/iup-win32/include/iupcb.h +25 -0
- data/ext/iup-win32/include/iupcbox.h +23 -0
- data/ext/iup-win32/include/iupcbs.h +42 -0
- data/ext/iup-win32/include/iupcells.h +130 -0
- data/ext/iup-win32/include/iupcolorbar.h +126 -0
- data/ext/iup-win32/include/iupcompat.h +62 -0
- data/ext/iup-win32/include/iupcontrols.h +40 -0
- data/ext/iup-win32/include/iupcpi.h +76 -0
- data/ext/iup-win32/include/iupdef.h +520 -0
- data/ext/iup-win32/include/iupdial.h +64 -0
- data/ext/iup-win32/include/iupgauge.h +57 -0
- data/ext/iup-win32/include/iupgc.h +20 -0
- data/ext/iup-win32/include/iupgetparam.h +27 -0
- data/ext/iup-win32/include/iupgl.h +101 -0
- data/ext/iup-win32/include/iupim.h +21 -0
- data/ext/iup-win32/include/iupkey.h +290 -0
- data/ext/iup-win32/include/iuplua.h +41 -0
- data/ext/iup-win32/include/iuplua_pplot.h +26 -0
- data/ext/iup-win32/include/iupluacontrols.h +27 -0
- data/ext/iup-win32/include/iupluagl.h +26 -0
- data/ext/iup-win32/include/iupluaim.h +26 -0
- data/ext/iup-win32/include/iupluaole.h +26 -0
- data/ext/iup-win32/include/iupmask.h +52 -0
- data/ext/iup-win32/include/iupmatrix.h +69 -0
- data/ext/iup-win32/include/iupole.h +24 -0
- data/ext/iup-win32/include/iupsbox.h +20 -0
- data/ext/iup-win32/include/iupspeech.h +23 -0
- data/ext/iup-win32/include/iupspin.h +21 -0
- data/ext/iup-win32/include/iuptabs.h +79 -0
- data/ext/iup-win32/include/iuptree.h +93 -0
- data/ext/iup-win32/include/iupval.h +46 -0
- data/ext/iup-win32/include/wd.h +78 -0
- data/ext/iup-win32/include/wd_old.h +85 -0
- data/ext/iup-win32/iup.dll +0 -0
- data/ext/iup-win32/iup.lib +0 -0
- data/ext/iup-win32/iup_pplot.dll +0 -0
- data/ext/iup-win32/iup_pplot.lib +0 -0
- data/ext/iup-win32/iupcd.dll +0 -0
- data/ext/iup-win32/iupcd.lib +0 -0
- data/ext/iup-win32/iupcontrols.dll +0 -0
- data/ext/iup-win32/iupcontrols.lib +0 -0
- data/ext/iup-win32/iupgl.dll +0 -0
- data/ext/iup-win32/iupgl.lib +0 -0
- data/ext/iup-win32/iupim.dll +0 -0
- data/ext/iup-win32/iupim.lib +0 -0
- data/ext/iup-win32/iupimglib.dll +0 -0
- data/ext/iup-win32/iupimglib.lib +0 -0
- data/ext/iup-win32/iuplua51.lib +0 -0
- data/ext/iup-win32/iuplua_pplot51.lib +0 -0
- data/ext/iup-win32/iupluacd51.lib +0 -0
- data/ext/iup-win32/iupluacontrols51.lib +0 -0
- data/ext/iup-win32/iupluagl51.lib +0 -0
- data/ext/iup-win32/iupluaim51.lib +0 -0
- data/ext/iup-win32/iupluaimglib51.lib +0 -0
- data/ext/iup-win32/iupluaole51.lib +0 -0
- data/ext/iup-win32/iupole.dll +0 -0
- data/ext/iup-win32/iupole.lib +0 -0
- data/ext/iup-win32/iupstub.lib +0 -0
- data/ext/iup-win32/pdflib.dll +0 -0
- data/ext/iup-win32/pdflib.lib +0 -0
- data/ext/iup.c +1261 -0
- data/ext/mkrf_conf.rb +72 -0
- data/ext/rb_cd.h +1525 -0
- data/ext/rb_iup.h +2446 -0
- data/ext/rb_iup_pplot.h +129 -0
- data/ext/rb_iupcb.h +13 -0
- data/ext/rb_iupcbox.h +40 -0
- data/ext/rb_iupcells.h +15 -0
- data/ext/rb_iupcolorbar.h +17 -0
- data/ext/rb_iupcompat.h +237 -0
- data/ext/rb_iupcontrols.h +28 -0
- data/ext/rb_iupdef.h +3 -0
- data/ext/rb_iupdial.h +24 -0
- data/ext/rb_iupgauge.h +15 -0
- data/ext/rb_iupgc.h +18 -0
- data/ext/rb_iupgetparam.h +72 -0
- data/ext/rb_iupgl.h +58 -0
- data/ext/rb_iupim.h +25 -0
- data/ext/rb_iupmask.h +189 -0
- data/ext/rb_iupmatrix.h +80 -0
- data/ext/rb_iupole.h +24 -0
- data/ext/rb_iupsbox.h +23 -0
- data/ext/rb_iupspeech.h +25 -0
- data/ext/rb_iupspin.h +29 -0
- data/ext/rb_iuptabs.h +29 -0
- data/ext/rb_iuptree.h +94 -0
- data/ext/rb_iupval.h +24 -0
- data/lib/README +1 -0
- metadata +391 -0
@@ -0,0 +1,24 @@
|
|
1
|
+
/** \file
|
2
|
+
* \brief CD+IM Lua Binding
|
3
|
+
*
|
4
|
+
* See Copyright Notice in cd.h
|
5
|
+
*/
|
6
|
+
|
7
|
+
#ifndef __CD_LUAIM_H
|
8
|
+
#define __CD_LUAIM_H
|
9
|
+
|
10
|
+
#ifdef __cplusplus
|
11
|
+
extern "C" {
|
12
|
+
#endif
|
13
|
+
|
14
|
+
#ifdef LUA_TNONE /* Lua 5 */
|
15
|
+
int cdluaim_open(lua_State *L);
|
16
|
+
int luaopen_cdluaim(lua_State *L);
|
17
|
+
#endif
|
18
|
+
|
19
|
+
#ifdef __cplusplus
|
20
|
+
}
|
21
|
+
#endif
|
22
|
+
|
23
|
+
#endif
|
24
|
+
|
@@ -0,0 +1,27 @@
|
|
1
|
+
/** \file
|
2
|
+
* \brief IUP Canvas Lua Binding
|
3
|
+
*
|
4
|
+
* See Copyright Notice in cd.h
|
5
|
+
*/
|
6
|
+
|
7
|
+
#ifndef __CD_LUAIUP_H
|
8
|
+
#define __CD_LUAIUP_H
|
9
|
+
|
10
|
+
#ifdef __cplusplus
|
11
|
+
extern "C" {
|
12
|
+
#endif
|
13
|
+
|
14
|
+
#ifdef LUA_NOOBJECT /* Lua 3 */
|
15
|
+
void cdluaiup_open(void);
|
16
|
+
#endif
|
17
|
+
|
18
|
+
#ifdef LUA_TNONE /* Lua 5 */
|
19
|
+
int cdluaiup_open(lua_State *L);
|
20
|
+
#endif
|
21
|
+
|
22
|
+
#ifdef __cplusplus
|
23
|
+
}
|
24
|
+
#endif
|
25
|
+
|
26
|
+
#endif
|
27
|
+
|
@@ -0,0 +1,27 @@
|
|
1
|
+
/** \file
|
2
|
+
* \brief PDF Canvas Lua Binding
|
3
|
+
*
|
4
|
+
* See Copyright Notice in cd.h
|
5
|
+
*/
|
6
|
+
|
7
|
+
#ifndef __CD_LUAPDF_H
|
8
|
+
#define __CD_LUAPDF_H
|
9
|
+
|
10
|
+
#ifdef __cplusplus
|
11
|
+
extern "C" {
|
12
|
+
#endif
|
13
|
+
|
14
|
+
#ifdef LUA_NOOBJECT /* Lua 3 */
|
15
|
+
void cdluapdf_open(void);
|
16
|
+
#endif
|
17
|
+
|
18
|
+
#ifdef LUA_TNONE /* Lua 5 */
|
19
|
+
int cdluapdf_open(lua_State *L);
|
20
|
+
#endif
|
21
|
+
|
22
|
+
#ifdef __cplusplus
|
23
|
+
}
|
24
|
+
#endif
|
25
|
+
|
26
|
+
#endif
|
27
|
+
|
@@ -0,0 +1,24 @@
|
|
1
|
+
/** \file
|
2
|
+
* \brief CD Metafile driver
|
3
|
+
*
|
4
|
+
* See Copyright Notice in cd.h
|
5
|
+
*/
|
6
|
+
|
7
|
+
#ifndef __CD_MF_H
|
8
|
+
#define __CD_MF_H
|
9
|
+
|
10
|
+
#ifdef __cplusplus
|
11
|
+
extern "C" {
|
12
|
+
#endif
|
13
|
+
|
14
|
+
cdContext* cdContextMetafile(void);
|
15
|
+
|
16
|
+
#define CD_METAFILE cdContextMetafile()
|
17
|
+
|
18
|
+
#ifdef __cplusplus
|
19
|
+
}
|
20
|
+
#endif
|
21
|
+
|
22
|
+
#endif /* ifndef __CD_MF_ */
|
23
|
+
|
24
|
+
|
@@ -0,0 +1,32 @@
|
|
1
|
+
/** \file
|
2
|
+
* \brief CD Metafile driver private declarations
|
3
|
+
*
|
4
|
+
* See Copyright Notice in cd.h
|
5
|
+
*/
|
6
|
+
|
7
|
+
#ifndef __CDMF_PRIVATE_H
|
8
|
+
#define __CDMF_PRIVATE_H
|
9
|
+
|
10
|
+
#ifdef __cplusplus
|
11
|
+
extern "C" {
|
12
|
+
#endif
|
13
|
+
|
14
|
+
/* public part of the internal cdCtxCanvas */
|
15
|
+
typedef struct cdCanvasMF
|
16
|
+
{
|
17
|
+
cdCanvas* canvas;
|
18
|
+
char* filename;
|
19
|
+
void* data;
|
20
|
+
} cdCanvasMF;
|
21
|
+
|
22
|
+
void cdcreatecanvasMF(cdCanvas *canvas, void *data);
|
23
|
+
void cdinittableMF(cdCanvas* canvas);
|
24
|
+
void cdkillcanvasMF(cdCanvasMF *mfcanvas);
|
25
|
+
|
26
|
+
#ifdef __cplusplus
|
27
|
+
}
|
28
|
+
#endif
|
29
|
+
|
30
|
+
#endif
|
31
|
+
|
32
|
+
|
@@ -0,0 +1,26 @@
|
|
1
|
+
/** \file
|
2
|
+
* \brief NativeWindow driver
|
3
|
+
*
|
4
|
+
* See Copyright Notice in cd.h
|
5
|
+
*/
|
6
|
+
|
7
|
+
#ifndef __CD_NATIVE_H
|
8
|
+
#define __CD_NATIVE_H
|
9
|
+
|
10
|
+
#ifdef __cplusplus
|
11
|
+
extern "C" {
|
12
|
+
#endif
|
13
|
+
|
14
|
+
cdContext* cdContextNativeWindow(void);
|
15
|
+
|
16
|
+
#define CD_NATIVEWINDOW cdContextNativeWindow()
|
17
|
+
|
18
|
+
void cdGetScreenSize(int *width, int *height, double *width_mm, double *height_mm);
|
19
|
+
int cdGetScreenColorPlanes(void);
|
20
|
+
|
21
|
+
#ifdef __cplusplus
|
22
|
+
}
|
23
|
+
#endif
|
24
|
+
|
25
|
+
#endif /* ifndef __CD_NATIVE_ */
|
26
|
+
|
@@ -0,0 +1,38 @@
|
|
1
|
+
/** \file
|
2
|
+
* \brief PDF driver
|
3
|
+
*
|
4
|
+
* See Copyright Notice in cd.h
|
5
|
+
*/
|
6
|
+
|
7
|
+
#ifndef __CD_PDF_H
|
8
|
+
#define __CD_PDF_H
|
9
|
+
|
10
|
+
#ifdef __cplusplus
|
11
|
+
extern "C" {
|
12
|
+
#endif
|
13
|
+
|
14
|
+
cdContext* cdContextPDF(void);
|
15
|
+
|
16
|
+
#define CD_PDF cdContextPDF()
|
17
|
+
|
18
|
+
#ifndef CD_PAPERSIZE
|
19
|
+
#define CD_PAPERSIZE
|
20
|
+
enum { /* paper sizes */
|
21
|
+
CD_A0,
|
22
|
+
CD_A1,
|
23
|
+
CD_A2,
|
24
|
+
CD_A3,
|
25
|
+
CD_A4,
|
26
|
+
CD_A5,
|
27
|
+
CD_LETTER,
|
28
|
+
CD_LEGAL
|
29
|
+
};
|
30
|
+
#endif
|
31
|
+
|
32
|
+
|
33
|
+
#ifdef __cplusplus
|
34
|
+
}
|
35
|
+
#endif
|
36
|
+
|
37
|
+
#endif /* ifndef _CD_PDF_ */
|
38
|
+
|
@@ -0,0 +1,22 @@
|
|
1
|
+
/** \file
|
2
|
+
* \brief CD Picture driver
|
3
|
+
*
|
4
|
+
* See Copyright Notice in cd.h
|
5
|
+
*/
|
6
|
+
|
7
|
+
#ifndef __CD_PICTURE_H
|
8
|
+
#define __CD_PICTURE_H
|
9
|
+
|
10
|
+
#ifdef __cplusplus
|
11
|
+
extern "C" {
|
12
|
+
#endif
|
13
|
+
|
14
|
+
cdContext* cdContextPicture(void);
|
15
|
+
|
16
|
+
#define CD_PICTURE cdContextPicture()
|
17
|
+
|
18
|
+
#ifdef __cplusplus
|
19
|
+
}
|
20
|
+
#endif
|
21
|
+
|
22
|
+
#endif
|
@@ -0,0 +1,23 @@
|
|
1
|
+
/** \file
|
2
|
+
* \brief Printer driver
|
3
|
+
*
|
4
|
+
* See Copyright Notice in cd.h
|
5
|
+
*/
|
6
|
+
|
7
|
+
#ifndef __CD_PRINTER_H
|
8
|
+
#define __CD_PRINTER_H
|
9
|
+
|
10
|
+
#ifdef __cplusplus
|
11
|
+
extern "C" {
|
12
|
+
#endif
|
13
|
+
|
14
|
+
cdContext* cdContextPrinter(void);
|
15
|
+
|
16
|
+
#define CD_PRINTER cdContextPrinter()
|
17
|
+
|
18
|
+
#ifdef __cplusplus
|
19
|
+
}
|
20
|
+
#endif
|
21
|
+
|
22
|
+
#endif /* ifndef __CD_PRINTER_ */
|
23
|
+
|
@@ -0,0 +1,37 @@
|
|
1
|
+
/** \file
|
2
|
+
* \brief PS driver
|
3
|
+
*
|
4
|
+
* See Copyright Notice in cd.h
|
5
|
+
*/
|
6
|
+
|
7
|
+
#ifndef __CD_PS_H
|
8
|
+
#define __CD_PS_H
|
9
|
+
|
10
|
+
#ifdef __cplusplus
|
11
|
+
extern "C" {
|
12
|
+
#endif
|
13
|
+
|
14
|
+
cdContext* cdContextPS(void);
|
15
|
+
|
16
|
+
#define CD_PS cdContextPS()
|
17
|
+
|
18
|
+
#ifndef CD_PAPERSIZE
|
19
|
+
#define CD_PAPERSIZE
|
20
|
+
enum { /* paper sizes */
|
21
|
+
CD_A0,
|
22
|
+
CD_A1,
|
23
|
+
CD_A2,
|
24
|
+
CD_A3,
|
25
|
+
CD_A4,
|
26
|
+
CD_A5,
|
27
|
+
CD_LETTER,
|
28
|
+
CD_LEGAL
|
29
|
+
};
|
30
|
+
#endif
|
31
|
+
|
32
|
+
#ifdef __cplusplus
|
33
|
+
}
|
34
|
+
#endif
|
35
|
+
|
36
|
+
#endif /* ifndef __CD_PS_ */
|
37
|
+
|
@@ -0,0 +1,22 @@
|
|
1
|
+
/** \file
|
2
|
+
* \brief WMF driver
|
3
|
+
*
|
4
|
+
* See Copyright Notice in cd.h
|
5
|
+
*/
|
6
|
+
|
7
|
+
#ifndef __CD_WMF_H
|
8
|
+
#define __CD_WMF_H
|
9
|
+
|
10
|
+
#ifdef __cplusplus
|
11
|
+
extern "C" {
|
12
|
+
#endif
|
13
|
+
|
14
|
+
cdContext* cdContextWMF(void);
|
15
|
+
|
16
|
+
#define CD_WMF cdContextWMF()
|
17
|
+
|
18
|
+
#ifdef __cplusplus
|
19
|
+
}
|
20
|
+
#endif
|
21
|
+
|
22
|
+
#endif
|
@@ -0,0 +1,282 @@
|
|
1
|
+
/** \file
|
2
|
+
* \brief Main API
|
3
|
+
*
|
4
|
+
* See Copyright Notice in im_lib.h
|
5
|
+
*/
|
6
|
+
|
7
|
+
#ifndef __IM_H
|
8
|
+
#define __IM_H
|
9
|
+
|
10
|
+
#if defined(__cplusplus)
|
11
|
+
extern "C" {
|
12
|
+
#endif
|
13
|
+
|
14
|
+
|
15
|
+
/** Image data type descriptors. \n
|
16
|
+
* See also \ref datatypeutl.
|
17
|
+
* \ingroup imagerep */
|
18
|
+
enum imDataType
|
19
|
+
{
|
20
|
+
IM_BYTE, /**< "unsigned char". 1 byte from 0 to 255. */
|
21
|
+
IM_USHORT, /**< "unsigned short". 2 bytes from 0 to 65,535. */
|
22
|
+
IM_INT, /**< "int". 4 bytes from -2,147,483,648 to 2,147,483,647. */
|
23
|
+
IM_FLOAT, /**< "float". 4 bytes single precision IEEE floating point. */
|
24
|
+
IM_CFLOAT /**< complex "float". 2 float values in sequence, real and imaginary parts. */
|
25
|
+
};
|
26
|
+
|
27
|
+
/** Image color mode color space descriptors (first byte). \n
|
28
|
+
* See also \ref colormodeutl.
|
29
|
+
* \ingroup imagerep */
|
30
|
+
enum imColorSpace
|
31
|
+
{
|
32
|
+
IM_RGB, /**< Red, Green and Blue (nonlinear). */
|
33
|
+
IM_MAP, /**< Indexed by RGB color map (data_type=IM_BYTE). */
|
34
|
+
IM_GRAY, /**< Shades of gray, luma (nonlinear Luminance), or an intensity value that is not related to color. */
|
35
|
+
IM_BINARY, /**< Indexed by 2 colors: black (0) and white (1) (data_type=IM_BYTE). */
|
36
|
+
IM_CMYK, /**< Cian, Magenta, Yellow and Black (nonlinear). */
|
37
|
+
IM_YCBCR, /**< ITU-R 601 Y'CbCr. Y' is luma (nonlinear Luminance). */
|
38
|
+
IM_LAB, /**< CIE L*a*b*. L* is Lightness (nonlinear Luminance, nearly perceptually uniform). */
|
39
|
+
IM_LUV, /**< CIE L*u*v*. L* is Lightness (nonlinear Luminance, nearly perceptually uniform). */
|
40
|
+
IM_XYZ /**< CIE XYZ. Linear Light Tristimulus, Y is linear Luminance. */
|
41
|
+
};
|
42
|
+
|
43
|
+
/** Image color mode configuration/extra descriptors (1 bit each in the second byte). \n
|
44
|
+
* See also \ref colormodeutl.
|
45
|
+
* \ingroup imagerep */
|
46
|
+
enum imColorModeConfig
|
47
|
+
{
|
48
|
+
IM_ALPHA = 0x100, /**< adds an Alpha channel */
|
49
|
+
IM_PACKED = 0x200, /**< packed components (rgbrgbrgb...) */
|
50
|
+
IM_TOPDOWN = 0x400 /**< orientation from top down to bottom */
|
51
|
+
};
|
52
|
+
|
53
|
+
|
54
|
+
|
55
|
+
/** File Access Error Codes
|
56
|
+
* \ingroup file */
|
57
|
+
enum imErrorCodes
|
58
|
+
{
|
59
|
+
IM_ERR_NONE, /**< No error. */
|
60
|
+
IM_ERR_OPEN, /**< Error while opening the file (read or write). */
|
61
|
+
IM_ERR_ACCESS, /**< Error while accessing the file (read or write). */
|
62
|
+
IM_ERR_FORMAT, /**< Invalid or unrecognized file format. */
|
63
|
+
IM_ERR_DATA, /**< Invalid or unsupported data. */
|
64
|
+
IM_ERR_COMPRESS, /**< Invalid or unsupported compression. */
|
65
|
+
IM_ERR_MEM, /**< Insuficient memory */
|
66
|
+
IM_ERR_COUNTER /**< Interrupted by the counter */
|
67
|
+
};
|
68
|
+
|
69
|
+
/* Internal Image File Structure. */
|
70
|
+
typedef struct _imFile imFile;
|
71
|
+
|
72
|
+
/** Opens the file for reading. It must exists. Also reads file header.
|
73
|
+
* It will try to identify the file format.
|
74
|
+
* See also \ref imErrorCodes. \n
|
75
|
+
* In Lua the IM file metatable name is "imFile".
|
76
|
+
* When converted to a string will return "imFile(%p)" where %p is replaced by the userdata address.
|
77
|
+
* If the file is already closed by im.FileClose, then it will return also the suffix "-closed".
|
78
|
+
*
|
79
|
+
* \verbatim im.FileOpen(file_name: string) -> ifile: imFile, error: number [in Lua 5] \endverbatim
|
80
|
+
* \ingroup file */
|
81
|
+
imFile* imFileOpen(const char* file_name, int *error);
|
82
|
+
|
83
|
+
/** Opens the file for reading using a specific format. It must exists. Also reads file header.
|
84
|
+
* See also \ref imErrorCodes and \ref format.
|
85
|
+
*
|
86
|
+
* \verbatim im.FileOpenAs(file_name, format: string) -> ifile: imFile, error: number [in Lua 5] \endverbatim
|
87
|
+
* \ingroup file */
|
88
|
+
imFile* imFileOpenAs(const char* file_name, const char* format, int *error);
|
89
|
+
|
90
|
+
/** Creates a new file for writing using a specific format. If the file exists will be replaced. \n
|
91
|
+
* It will only initialize the format driver and create the file, no data is actually written.
|
92
|
+
* See also \ref imErrorCodes and \ref format.
|
93
|
+
*
|
94
|
+
* \verbatim im.FileNew(file_name: string, format: string) -> ifile: imFile, error: number [in Lua 5] \endverbatim
|
95
|
+
* \ingroup file */
|
96
|
+
imFile* imFileNew(const char* file_name, const char* format, int *error);
|
97
|
+
|
98
|
+
/** Closes the file. \n
|
99
|
+
* In Lua if this function is not called, the file is closed by the garbage collector.
|
100
|
+
*
|
101
|
+
* \verbatim im.FileClose(ifile: imFile) [in Lua 5] \endverbatim
|
102
|
+
* \verbatim ifile:Close() [in Lua 5] \endverbatim
|
103
|
+
* \ingroup file */
|
104
|
+
void imFileClose(imFile* ifile);
|
105
|
+
|
106
|
+
/** Returns an internal handle.
|
107
|
+
* index=0 returns always an imBinFile* handle,
|
108
|
+
* but for some formats returns NULL because they do not use imBinFile (like AVI and WMV).
|
109
|
+
* index=1 return an internal structure used by the format, usually is a handle
|
110
|
+
* to a third party library structure. This is file format dependent.
|
111
|
+
*
|
112
|
+
* \verbatim ifile:Handle() -> handle: userdata [in Lua 5] \endverbatim
|
113
|
+
* \ingroup file */
|
114
|
+
void* imFileHandle(imFile* ifile, int index);
|
115
|
+
|
116
|
+
/** Returns file information.
|
117
|
+
* image_count is the number of images in a stack or
|
118
|
+
* the number of frames in a video/animation or the depth of a volume data. \n
|
119
|
+
* compression and image_count can be NULL.
|
120
|
+
* See also \ref format.
|
121
|
+
*
|
122
|
+
* \verbatim ifile:GetInfo() -> format: string, compression: string, image_count: number [in Lua 5] \endverbatim
|
123
|
+
* \ingroup file */
|
124
|
+
void imFileGetInfo(imFile* ifile, char* format, char* compression, int *image_count);
|
125
|
+
|
126
|
+
/** Changes the write compression method. \n
|
127
|
+
* If the compression is not supported will return an error code when writting. \n
|
128
|
+
* Use NULL to set the default compression. You can use the imFileGetInfo to retrieve the actual compression
|
129
|
+
* but only after \ref imFileWriteImageInfo. Only a few formats allow you to change the compression between frames.
|
130
|
+
*
|
131
|
+
* \verbatim ifile:SetInfo(compression: string) [in Lua 5] \endverbatim
|
132
|
+
* \ingroup file */
|
133
|
+
void imFileSetInfo(imFile* ifile, const char* compression);
|
134
|
+
|
135
|
+
/** Changes an extended attribute. \n
|
136
|
+
* The data will be internally duplicated. \n
|
137
|
+
* If data is NULL the attribute is removed.
|
138
|
+
* See also \ref imDataType.
|
139
|
+
*
|
140
|
+
* \verbatim ifile:SetAttribute(attrib: string, data_type: number, data: table of numbers or string) [in Lua 5] \endverbatim
|
141
|
+
* If data_type is IM_BYTE, as_string can be used as data.
|
142
|
+
* \ingroup file */
|
143
|
+
void imFileSetAttribute(imFile* ifile, const char* attrib, int data_type, int count, const void* data);
|
144
|
+
|
145
|
+
/** Returns an extended attribute. \n
|
146
|
+
* Returns NULL if not found. data_type and count can be NULL.
|
147
|
+
* See also \ref imDataType.
|
148
|
+
*
|
149
|
+
* \verbatim ifile:GetAttribute(attrib: string, [as_string: boolean]) -> data: table of numbers or string, data_type: number [in Lua 5] \endverbatim
|
150
|
+
* If data_type is IM_BYTE, as_string can be used to return a string instead of a table.
|
151
|
+
* \ingroup file */
|
152
|
+
const void* imFileGetAttribute(imFile* ifile, const char* attrib, int *data_type, int *count);
|
153
|
+
|
154
|
+
/** Returns a list of the attribute names. \n
|
155
|
+
* "attrib" must contain room enough for "attrib_count" names. Use "attrib=NULL" to return only the count.
|
156
|
+
*
|
157
|
+
* \verbatim ifile:GetAttributeList() -> data: table of strings [in Lua 5] \endverbatim
|
158
|
+
* \ingroup file */
|
159
|
+
void imFileGetAttributeList(imFile* ifile, char** attrib, int *attrib_count);
|
160
|
+
|
161
|
+
/** Returns the pallete if any. \n
|
162
|
+
* "palette" must be a 256 colors alocated array. \n
|
163
|
+
* Returns zero in "palette_count" if there is no palette. "palette_count" is >0 and <=256.
|
164
|
+
*
|
165
|
+
* \verbatim ifile:GetPalette() -> palette: imPalette [in Lua 5] \endverbatim
|
166
|
+
* \ingroup file */
|
167
|
+
void imFileGetPalette(imFile* ifile, long* palette, int *palette_count);
|
168
|
+
|
169
|
+
/** Changes the pallete. \n
|
170
|
+
* "palette_count" is >0 and <=256.
|
171
|
+
*
|
172
|
+
* \verbatim ifile:SetPalette(palette: imPalette) [in Lua 5] \endverbatim
|
173
|
+
* \ingroup file */
|
174
|
+
void imFileSetPalette(imFile* ifile, long* palette, int palette_count);
|
175
|
+
|
176
|
+
/** Reads the image header if any and returns image information. \n
|
177
|
+
* Reads also the extended image attributes, so other image attributes will be available only after calling this function. \n
|
178
|
+
* Returns an error code.
|
179
|
+
* index specifies the image number between 0 and image_count-1. \n
|
180
|
+
* Some drivers reads only in sequence, so "index" can be ignored by the format driver. \n
|
181
|
+
* Any parameters can be NULL. This function must be called at least once, check each format documentation.
|
182
|
+
* See also \ref imErrorCodes, \ref imDataType, \ref imColorSpace and \ref imColorModeConfig.
|
183
|
+
*
|
184
|
+
* \verbatim ifile:ReadImageInfo([index: number]) -> error: number, width: number, height: number, file_color_mode: number, file_data_type: number [in Lua 5] \endverbatim
|
185
|
+
* Default index is 0.
|
186
|
+
* \ingroup file */
|
187
|
+
int imFileReadImageInfo(imFile* ifile, int index, int *width, int *height, int *file_color_mode, int *file_data_type);
|
188
|
+
|
189
|
+
/** Writes the image header. Writes the file header at the first time it is called.
|
190
|
+
* Writes also the extended image attributes. \n
|
191
|
+
* Must call imFileSetPalette and set other attributes before calling this function. \n
|
192
|
+
* In some formats the color space will be converted to match file format specification. \n
|
193
|
+
* Returns an error code. This function must be called at least once, check each format documentation.
|
194
|
+
* See also \ref imErrorCodes, \ref imDataType, \ref imColorSpace and \ref imColorModeConfig.
|
195
|
+
*
|
196
|
+
* \verbatim ifile:WriteImageInfo(width: number, height: number, user_color_mode: number, user_data_type: number) -> error: number [in Lua 5] \endverbatim
|
197
|
+
* \ingroup file */
|
198
|
+
int imFileWriteImageInfo(imFile* ifile, int width, int height, int user_color_mode, int user_data_type);
|
199
|
+
|
200
|
+
/** Reads the image data with or without conversion. \n
|
201
|
+
* The data can be converted to bitmap when reading.
|
202
|
+
* Data type conversion to byte will always scan for min-max then scale to 0-255,
|
203
|
+
* except integer values that min-max are already between 0-255. Complex to real conversions will use the magnitude. \n
|
204
|
+
* Color mode flags contains packed, alpha and top-botttom information.
|
205
|
+
* If flag is 0 means unpacked, no alpha and bottom up. If flag is -1 the file original flags are used. \n
|
206
|
+
* Returns an error code.
|
207
|
+
* See also \ref imErrorCodes, \ref imDataType, \ref imColorSpace and \ref imColorModeConfig.
|
208
|
+
*
|
209
|
+
* \verbatim ifile:ReadImageData(data: userdata, convert2bitmap: bool, color_mode_flags: number) -> error: number [in Lua 5] \endverbatim
|
210
|
+
* \ingroup file */
|
211
|
+
int imFileReadImageData(imFile* ifile, void* data, int convert2bitmap, int color_mode_flags);
|
212
|
+
|
213
|
+
/** Writes the image data. \n
|
214
|
+
* Returns an error code.
|
215
|
+
*
|
216
|
+
* \verbatim ifile:WriteImageData(data: userdata) -> error: number [in Lua 5] \endverbatim
|
217
|
+
* \ingroup file */
|
218
|
+
int imFileWriteImageData(imFile* ifile, void* data);
|
219
|
+
|
220
|
+
|
221
|
+
|
222
|
+
|
223
|
+
/** Registers all the internal formats. \n
|
224
|
+
* It is automatically called internally when a format is accessed,
|
225
|
+
* but can be called to force the internal formats to be registered before other formats.
|
226
|
+
* Notice that additional formats when registered will be registered before the internal formats
|
227
|
+
* if imFormatRegisterInternal is not called yet. \n
|
228
|
+
* To control the register order is usefull when two format drivers handle the same format.
|
229
|
+
* The first registered format will always be used first.
|
230
|
+
* \ingroup format */
|
231
|
+
void imFormatRegisterInternal(void);
|
232
|
+
|
233
|
+
/** Remove all registered formats.
|
234
|
+
* \ingroup format */
|
235
|
+
void imFormatRemoveAll(void);
|
236
|
+
|
237
|
+
/** Returns a list of the registered formats. \n
|
238
|
+
* format_list is an array of format identifiers.
|
239
|
+
* Each format identifier is 10 chars max, maximum of 50 formats.
|
240
|
+
* You can use "char* format_list[50]".
|
241
|
+
*
|
242
|
+
* \verbatim im.FormatList() -> format_list: table of strings [in Lua 5] \endverbatim
|
243
|
+
* \ingroup format */
|
244
|
+
void imFormatList(char** format_list, int *format_count);
|
245
|
+
|
246
|
+
/** Returns the format description. \n
|
247
|
+
* Format description is 50 chars max. \n
|
248
|
+
* Extensions are separated like "*.tif;*.tiff;", 50 chars max. \n
|
249
|
+
* Returns an error code. The parameters can be NULL, except format.
|
250
|
+
* See also \ref format.
|
251
|
+
*
|
252
|
+
* \verbatim im.FormatInfo(format: string) -> error: number, desc: string, ext: string, can_sequence: boolean [in Lua 5] \endverbatim
|
253
|
+
* \ingroup format */
|
254
|
+
int imFormatInfo(const char* format, char* desc, char* ext, int *can_sequence);
|
255
|
+
|
256
|
+
/** Returns the format compressions. \n
|
257
|
+
* Compressions are 20 chars max each, maximum of 50 compressions. You can use "char* comp[50]". \n
|
258
|
+
* color_mode and data_type are optional, use -1 to ignore them. \n
|
259
|
+
* If you use them they will select only the allowed compressions checked like in \ref imFormatCanWriteImage. \n
|
260
|
+
* Returns an error code.
|
261
|
+
* See also \ref format, \ref imErrorCodes, \ref imDataType, \ref imColorSpace and \ref imColorModeConfig.
|
262
|
+
*
|
263
|
+
* \verbatim im.FormatCompressions(format: string, [color_mode: number], [data_type: number]) -> error: number, comp: table of strings [in Lua 5] \endverbatim
|
264
|
+
* \ingroup format */
|
265
|
+
int imFormatCompressions(const char* format, char** comp, int *comp_count, int color_mode, int data_type);
|
266
|
+
|
267
|
+
/** Checks if the format suport the given image class at the given compression. \n
|
268
|
+
* Returns an error code.
|
269
|
+
* See also \ref format, \ref imErrorCodes, \ref imDataType, \ref imColorSpace and \ref imColorModeConfig.
|
270
|
+
*
|
271
|
+
* \verbatim im.FormatCanWriteImage(format: string, compression: string, color_mode: number, data_type: number) -> can_write: boolean [in Lua 5] \endverbatim
|
272
|
+
* \ingroup format */
|
273
|
+
int imFormatCanWriteImage(const char* format, const char* compression, int color_mode, int data_type);
|
274
|
+
|
275
|
+
|
276
|
+
#if defined(__cplusplus)
|
277
|
+
}
|
278
|
+
#endif
|
279
|
+
|
280
|
+
#include "old_im.h"
|
281
|
+
|
282
|
+
#endif
|