summaryrefslogtreecommitdiff
path: root/iup/include
diff options
context:
space:
mode:
authorPixel <pixel@nobis-crew.org>2009-11-04 11:56:41 -0800
committerPixel <pixel@nobis-crew.org>2009-11-04 11:59:33 -0800
commitd577d991b97ae2b5ee1af23641bcffc3f83af5b2 (patch)
tree590639d50205d1bcfaff2a7d2dc6ebf3f373c7ed /iup/include
Initial import. Contains the im, cd and iup librairies, and a "working" Makefile for them under linux.
Diffstat (limited to 'iup/include')
-rwxr-xr-xiup/include/iup.h363
-rwxr-xr-xiup/include/iup_pplot.h40
-rwxr-xr-xiup/include/iupcb.h1
-rwxr-xr-xiup/include/iupcbox.h1
-rwxr-xr-xiup/include/iupcbs.h43
-rwxr-xr-xiup/include/iupcells.h1
-rwxr-xr-xiup/include/iupcolorbar.h1
-rwxr-xr-xiup/include/iupcontrols.h46
-rwxr-xr-xiup/include/iupdef.h725
-rwxr-xr-xiup/include/iupdial.h1
-rwxr-xr-xiup/include/iupgauge.h1
-rwxr-xr-xiup/include/iupgc.h1
-rwxr-xr-xiup/include/iupgetparam.h1
-rwxr-xr-xiup/include/iupgl.h96
-rwxr-xr-xiup/include/iupim.h27
-rwxr-xr-xiup/include/iupkey.h457
-rwxr-xr-xiup/include/iuplua.h41
-rwxr-xr-xiup/include/iuplua_pplot.h26
-rwxr-xr-xiup/include/iupluacontrols.h27
-rwxr-xr-xiup/include/iupluagl.h26
-rwxr-xr-xiup/include/iupluaim.h26
-rwxr-xr-xiup/include/iupluaole.h26
-rwxr-xr-xiup/include/iupmask.h41
-rwxr-xr-xiup/include/iupmatrix.h1
-rwxr-xr-xiup/include/iupole.h24
-rwxr-xr-xiup/include/iupsbox.h1
-rwxr-xr-xiup/include/iupspin.h1
-rwxr-xr-xiup/include/iuptabs.h1
-rwxr-xr-xiup/include/iuptree.h1
-rwxr-xr-xiup/include/iupval.h1
30 files changed, 2048 insertions, 0 deletions
diff --git a/iup/include/iup.h b/iup/include/iup.h
new file mode 100755
index 0000000..9913329
--- /dev/null
+++ b/iup/include/iup.h
@@ -0,0 +1,363 @@
+/** \file
+ * \brief User API
+ * IUP - A Portable User Interface Toolkit
+ * Tecgraf: Computer Graphics Technology Group, PUC-Rio, Brazil
+ * http://www.tecgraf.puc-rio.br/iup mailto:iup@tecgraf.puc-rio.br
+ *
+ * See Copyright Notice at the end of this file
+ */
+
+#ifndef __IUP_H
+#define __IUP_H
+
+#include <iupkey.h>
+#include <iupdef.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+#define IUP_NAME "IUP - Portable User Interface"
+#define IUP_COPYRIGHT "Copyright (C) 1994-2009 Tecgraf, PUC-Rio."
+#define IUP_DESCRIPTION "Portable toolkit for building graphical user interfaces."
+#define IUP_VERSION "3.0" /* bug fixes are reported only by IupVersion functions */
+#define IUP_VERSION_NUMBER 300000
+#define IUP_VERSION_DATE "2009/10/02"
+
+typedef struct Ihandle_ Ihandle;
+typedef int (*Icallback)(Ihandle*);
+
+/************************************************************************/
+/* Main API */
+/************************************************************************/
+
+int IupOpen (int *argc, char ***argv);
+void IupClose (void);
+void IupImageLibOpen (void);
+
+int IupMainLoop (void);
+int IupLoopStep (void);
+int IupMainLoopLevel (void);
+void IupFlush (void);
+void IupExitLoop (void);
+
+void IupUpdate (Ihandle* ih);
+void IupUpdateChildren(Ihandle* ih);
+void IupRedraw (Ihandle* ih, int children);
+void IupRefresh (Ihandle* ih);
+
+char* IupMapFont (const char *iupfont);
+char* IupUnMapFont (const char *driverfont);
+int IupHelp (const char* url);
+char* IupLoad (const char *filename);
+char* IupLoadBuffer (const char *buffer);
+
+char* IupVersion (void);
+char* IupVersionDate (void);
+int IupVersionNumber (void);
+void IupSetLanguage (const char *lng);
+char* IupGetLanguage (void);
+
+void IupDestroy (Ihandle* ih);
+void IupDetach (Ihandle* child);
+Ihandle* IupAppend (Ihandle* ih, Ihandle* child);
+Ihandle* IupInsert (Ihandle* ih, Ihandle* ref_child, Ihandle* child);
+Ihandle* IupGetChild (Ihandle* ih, int pos);
+int IupGetChildPos (Ihandle* ih, Ihandle* child);
+int IupGetChildCount(Ihandle* ih);
+Ihandle* IupGetNextChild (Ihandle* ih, Ihandle* child);
+Ihandle* IupGetBrother (Ihandle* ih);
+Ihandle* IupGetParent (Ihandle* ih);
+Ihandle* IupGetDialog (Ihandle* ih);
+Ihandle* IupGetDialogChild(Ihandle* ih, const char* name);
+int IupReparent (Ihandle* ih, Ihandle* new_parent);
+
+int IupPopup (Ihandle* ih, int x, int y);
+int IupShow (Ihandle* ih);
+int IupShowXY (Ihandle* ih, int x, int y);
+int IupHide (Ihandle* ih);
+int IupMap (Ihandle* ih);
+void IupUnmap (Ihandle *ih);
+
+void IupSetAttribute (Ihandle* ih, const char* name, const char* value);
+void IupStoreAttribute(Ihandle* ih, const char* name, const char* value);
+Ihandle* IupSetAttributes (Ihandle* ih, const char *str);
+char* IupGetAttribute (Ihandle* ih, const char* name);
+char* IupGetAttributes (Ihandle* ih);
+int IupGetInt (Ihandle* ih, const char* name);
+int IupGetInt2 (Ihandle* ih, const char* name);
+int IupGetIntInt (Ihandle *ih, const char* name, int *i1, int *i2);
+float IupGetFloat (Ihandle* ih, const char* name);
+void IupSetfAttribute (Ihandle* ih, const char* name, const char* format, ...);
+int IupGetAllAttributes(Ihandle* ih, char** names, int n);
+Ihandle* IupSetAtt(const char* handle_name, Ihandle* ih, const char* name, ...);
+
+void IupSetGlobal (const char* name, const char* value);
+void IupStoreGlobal (const char* name, const char* value);
+char* IupGetGlobal (const char* name);
+
+Ihandle* IupSetFocus (Ihandle* ih);
+Ihandle* IupGetFocus (void);
+Ihandle* IupPreviousField (Ihandle* ih);
+Ihandle* IupNextField (Ihandle* ih);
+
+Icallback IupGetCallback(Ihandle* ih, const char *name);
+Icallback IupSetCallback(Ihandle* ih, const char *name, Icallback func);
+Ihandle* IupSetCallbacks(Ihandle* ih, const char *name, Icallback func, ...);
+
+Icallback IupGetFunction (const char *name);
+Icallback IupSetFunction (const char *name, Icallback func);
+const char* IupGetActionName (void);
+
+Ihandle* IupGetHandle (const char *name);
+Ihandle* IupSetHandle (const char *name, Ihandle* ih);
+int IupGetAllNames (char** names, int n);
+int IupGetAllDialogs (char** names, int n);
+char* IupGetName (Ihandle* ih);
+
+void IupSetAttributeHandle(Ihandle* ih, const char* name, Ihandle* ih_named);
+Ihandle* IupGetAttributeHandle(Ihandle* ih, const char* name);
+
+char* IupGetClassName(Ihandle* ih);
+char* IupGetClassType(Ihandle* ih);
+int IupGetClassAttributes(const char* classname, char** names, int n);
+void IupSaveClassAttributes(Ihandle* ih);
+void IupSetClassDefaultAttribute(const char* classname, const char *name, const char* value);
+
+Ihandle* IupCreate (const char *classname);
+Ihandle* IupCreatev(const char *classname, void* *params);
+Ihandle* IupCreatep(const char *classname, void *first, ...);
+
+/************************************************************************/
+/* Elements */
+/************************************************************************/
+
+Ihandle* IupFill (void);
+Ihandle* IupRadio (Ihandle* child);
+Ihandle* IupVbox (Ihandle* child, ...);
+Ihandle* IupVboxv (Ihandle* *children);
+Ihandle* IupZbox (Ihandle* child, ...);
+Ihandle* IupZboxv (Ihandle* *children);
+Ihandle* IupHbox (Ihandle* child,...);
+Ihandle* IupHboxv (Ihandle* *children);
+
+Ihandle* IupNormalizer (Ihandle* ih_first, ...);
+Ihandle* IupNormalizerv(Ihandle* *ih_list);
+
+Ihandle* IupCbox (Ihandle* child, ...);
+Ihandle* IupCboxv (Ihandle* *children);
+Ihandle* IupSbox (Ihandle *child);
+
+Ihandle* IupFrame (Ihandle* child);
+
+Ihandle* IupImage (int width, int height, const unsigned char *pixmap);
+Ihandle* IupImageRGB (int width, int height, const unsigned char *pixmap);
+Ihandle* IupImageRGBA (int width, int height, const unsigned char *pixmap);
+
+Ihandle* IupItem (const char* title, const char* action);
+Ihandle* IupSubmenu (const char* title, Ihandle* child);
+Ihandle* IupSeparator (void);
+Ihandle* IupMenu (Ihandle* child,...);
+Ihandle* IupMenuv (Ihandle* *children);
+
+Ihandle* IupButton (const char* title, const char* action);
+Ihandle* IupCanvas (const char* action);
+Ihandle* IupDialog (Ihandle* child);
+Ihandle* IupUser (void);
+Ihandle* IupLabel (const char* title);
+Ihandle* IupList (const char* action);
+Ihandle* IupText (const char* action);
+Ihandle* IupMultiLine (const char* action);
+Ihandle* IupToggle (const char* title, const char* action);
+Ihandle* IupTimer (void);
+Ihandle* IupClipboard (void);
+Ihandle* IupProgressBar(void);
+Ihandle* IupVal (const char *type);
+Ihandle* IupTabs (Ihandle* child, ...);
+Ihandle* IupTabsv (Ihandle* *children);
+Ihandle* IupTree (void);
+
+Ihandle* IupSpin (void);
+Ihandle* IupSpinbox (Ihandle* child);
+
+
+/* IupImage utility */
+int IupSaveImageAsText(Ihandle* ih, const char* file_name, const char* format, const char* name);
+
+/* IupText utilities */
+void IupTextConvertLinColToPos(Ihandle* ih, int lin, int col, int *pos);
+void IupTextConvertPosToLinCol(Ihandle* ih, int pos, int *lin, int *col);
+
+/* IupText, IupList and IupTree utility */
+int IupConvertXYToPos(Ihandle* ih, int x, int y);
+
+/* IupTree utilities */
+int IupTreeSetUserId(Ihandle* ih, int id, void* userid);
+void* IupTreeGetUserId(Ihandle* ih, int id);
+int IupTreeGetId(Ihandle* ih, void *userid);
+
+void IupTreeSetAttribute (Ihandle* ih, const char* name, int id, char* value);
+void IupTreeStoreAttribute(Ihandle* ih, const char* name, int id, char* value);
+char* IupTreeGetAttribute (Ihandle* ih, const char* name, int id);
+int IupTreeGetInt (Ihandle* ih, const char* name, int id);
+float IupTreeGetFloat (Ihandle* ih, const char* name, int id);
+void IupTreeSetfAttribute (Ihandle* ih, const char* name, int id, char* format, ...);
+
+
+/************************************************************************/
+/* Pre-definided dialogs */
+/************************************************************************/
+
+Ihandle* IupFileDlg(void);
+Ihandle* IupMessageDlg(void);
+Ihandle* IupColorDlg(void);
+Ihandle* IupFontDlg(void);
+
+int IupGetFile(char *arq);
+void IupMessage(const char *title, const char *msg);
+void IupMessagef(const char *title, const char *format, ...);
+int IupAlarm(const char *title, const char *msg, const char *b1, const char *b2, const char *b3);
+int IupScanf(const char *format, ...);
+int IupListDialog(int type, const char *title, int size, const char** list,
+ int op, int max_col, int max_lin, int* marks);
+int IupGetText(const char* title, char* text);
+int IupGetColor(int x, int y, unsigned char* r, unsigned char* g, unsigned char* b);
+
+typedef int (*Iparamcb)(Ihandle* dialog, int param_index, void* user_data);
+int IupGetParam(const char* title, Iparamcb action, void* user_data, const char* format,...);
+int IupGetParamv(const char* title, Iparamcb action, void* user_data, const char* format, int param_count, int param_extra, void** param_data);
+
+
+
+#ifdef __cplusplus
+}
+#endif
+
+/************************************************************************/
+/* Common Return Values */
+/************************************************************************/
+#define IUP_ERROR 1
+#define IUP_NOERROR 0
+#define IUP_OPENED -1
+#define IUP_INVALID -1
+
+/************************************************************************/
+/* Callback Return Values */
+/************************************************************************/
+#define IUP_IGNORE -1
+#define IUP_DEFAULT -2
+#define IUP_CLOSE -3
+#define IUP_CONTINUE -4
+
+/************************************************************************/
+/* IupPopup and IupShowXY Parameter Values */
+/************************************************************************/
+#define IUP_CENTER 0xFFFF /* 65535 */
+#define IUP_LEFT 0xFFFE /* 65534 */
+#define IUP_RIGHT 0xFFFD /* 65533 */
+#define IUP_MOUSEPOS 0xFFFC /* 65532 */
+#define IUP_CURRENT 0xFFFB /* 65531 */
+#define IUP_CENTERPARENT 0xFFFA /* 65530 */
+#define IUP_TOP IUP_LEFT
+#define IUP_BOTTOM IUP_RIGHT
+
+/************************************************************************/
+/* SHOW_CB Callback Values */
+/************************************************************************/
+enum{IUP_SHOW, IUP_RESTORE, IUP_MINIMIZE, IUP_MAXIMIZE, IUP_HIDE};
+
+/************************************************************************/
+/* SCROLL_CB Callback Values */
+/************************************************************************/
+enum{IUP_SBUP, IUP_SBDN, IUP_SBPGUP, IUP_SBPGDN, IUP_SBPOSV, IUP_SBDRAGV,
+ IUP_SBLEFT, IUP_SBRIGHT, IUP_SBPGLEFT, IUP_SBPGRIGHT, IUP_SBPOSH, IUP_SBDRAGH};
+
+/************************************************************************/
+/* Mouse Button Values and Macros */
+/************************************************************************/
+#define IUP_BUTTON1 '1'
+#define IUP_BUTTON2 '2'
+#define IUP_BUTTON3 '3'
+#define IUP_BUTTON4 '4'
+#define IUP_BUTTON5 '5'
+
+#define iup_isshift(_s) (_s[0]=='S')
+#define iup_iscontrol(_s) (_s[1]=='C')
+#define iup_isbutton1(_s) (_s[2]=='1')
+#define iup_isbutton2(_s) (_s[3]=='2')
+#define iup_isbutton3(_s) (_s[4]=='3')
+#define iup_isdouble(_s) (_s[5]=='D')
+#define iup_isalt(_s) (_s[6]=='A')
+#define iup_issys(_s) (_s[7]=='Y')
+#define iup_isbutton4(_s) (_s[8]=='4')
+#define iup_isbutton5(_s) (_s[9]=='5')
+
+/* Old definitions for backward compatibility */
+#define isshift iup_isshift
+#define iscontrol iup_iscontrol
+#define isbutton1 iup_isbutton1
+#define isbutton2 iup_isbutton2
+#define isbutton3 iup_isbutton3
+#define isdouble iup_isdouble
+#define isalt iup_isalt
+#define issys iup_issys
+#define isbutton4 iup_isbutton4
+#define isbutton5 iup_isbutton5
+
+
+/************************************************************************/
+/* Pre-Defined Masks */
+/************************************************************************/
+#define IUP_MASK_FLOAT "[+/-]?(/d+/.?/d*|/./d+)"
+#define IUP_MASK_UFLOAT "(/d+/.?/d*|/./d+)"
+#define IUP_MASK_EFLOAT "[+/-]?(/d+/.?/d*|/./d+)([eE][+/-]?/d+)?"
+#define IUP_MASK_INT "[+/-]?/d+"
+#define IUP_MASK_UINT "/d+"
+
+/* Old definitions for backward compatibility */
+#define IUPMASK_FLOAT IUP_MASK_FLOAT
+#define IUPMASK_UFLOAT IUP_MASK_UFLOAT
+#define IUPMASK_EFLOAT IUP_MASK_EFLOAT
+#define IUPMASK_INT IUP_MASK_INT
+#define IUPMASK_UINT IUP_MASK_UINT
+
+
+/************************************************************************/
+/* Replacement for the WinMain in Windows, */
+/* this allows the application to start from "main". */
+/* Used only for Watcom. */
+/************************************************************************/
+#if defined (__WATCOMC__)
+#ifdef __cplusplus
+extern "C" {
+int IupMain (int argc, char** argv); /* In C++ we have to declare the prototype */
+}
+#endif
+#define main IupMain /* this is the trick for Watcom and MetroWerks */
+#endif
+
+/******************************************************************************
+* Copyright (C) 1994-2009 Tecgraf, PUC-Rio.
+*
+* Permission is hereby granted, free of charge, to any person obtaining
+* a copy of this software and associated documentation files (the
+* "Software"), to deal in the Software without restriction, including
+* without limitation the rights to use, copy, modify, merge, publish,
+* distribute, sublicense, and/or sell copies of the Software, and to
+* permit persons to whom the Software is furnished to do so, subject to
+* the following conditions:
+*
+* The above copyright notice and this permission notice shall be
+* included in all copies or substantial portions of the Software.
+*
+* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+******************************************************************************/
+
+#endif
diff --git a/iup/include/iup_pplot.h b/iup/include/iup_pplot.h
new file mode 100755
index 0000000..59c3453
--- /dev/null
+++ b/iup/include/iup_pplot.h
@@ -0,0 +1,40 @@
+/** \file
+ * \brief PPlot component for Iup.
+ *
+ * See Copyright Notice in "iup.h"
+ */
+
+#ifndef __IUPPPLOT_H
+#define __IUPPPLOT_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Initialize PPlot widget class */
+void IupPPlotOpen(void);
+
+/* Create an PPlot widget instance */
+Ihandle* IupPPlot(void);
+
+/* Add dataset to plot */
+void IupPPlotBegin(Ihandle *ih, int strXdata);
+void IupPPlotAdd(Ihandle *ih, float x, float y);
+void IupPPlotAddStr(Ihandle *ih, const char* x, float y);
+int IupPPlotEnd(Ihandle *ih);
+
+void IupPPlotInsertStr(Ihandle *ih, int index, int sample_index, const char* x, float y);
+void IupPPlotInsert(Ihandle *ih, int index, int sample_index, float x, float y);
+
+/* convert from plot coordinates to pixels */
+void IupPPlotTransform(Ihandle* ih, float x, float y, int *ix, int *iy);
+
+/* Plot on the given device. Uses a "cdCanvas*". */
+void IupPPlotPaintTo(Ihandle *ih, void *cnv);
+
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/iup/include/iupcb.h b/iup/include/iupcb.h
new file mode 100755
index 0000000..1285b04
--- /dev/null
+++ b/iup/include/iupcb.h
@@ -0,0 +1 @@
+#include <iupcontrols.h>
diff --git a/iup/include/iupcbox.h b/iup/include/iupcbox.h
new file mode 100755
index 0000000..5ae1901
--- /dev/null
+++ b/iup/include/iupcbox.h
@@ -0,0 +1 @@
+#include <iup.h>
diff --git a/iup/include/iupcbs.h b/iup/include/iupcbs.h
new file mode 100755
index 0000000..f33166b
--- /dev/null
+++ b/iup/include/iupcbs.h
@@ -0,0 +1,43 @@
+/** \file
+ * \brief Contains all function pointer typedefs.
+ *
+ * See Copyright Notice in "iup.h"
+ */
+
+#ifndef __IUPCBS_H
+#define __IUPCBS_H
+
+typedef int (*IFidle)(void); /* idle */
+
+typedef int (*IFn)(Ihandle*); /* default definition, same as Icallback (ncols_cb, nlines_cb)*/
+typedef int (*IFni)(Ihandle*, int); /* k_any, show_cb, toggle_action, spin_cb, branchopen_cb, branchclose_cb, executeleaf_cb, showrename_cb, rightclick_cb, extended_cb, height_cb, width_cb */
+typedef int (*IFnii)(Ihandle*, int, int); /* resize_cb, caret_cb, matrix_mousemove_cb, enteritem_cb, leaveitem_cb, scrolltop_cb, dropcheck_cb, selection_cb, select_cb, switch_cb, scrolling_cb, vspan_cb, hspan_cb */
+typedef int (*IFniii)(Ihandle*, int, int, int); /* trayclick_cb, edition_cb */
+typedef int (*IFniiii)(Ihandle*, int, int, int, int); /* dragdrop_cb */
+typedef int (*IFniiiiii)(Ihandle*, int, int, int, int, int, int); /* draw_cb */
+
+typedef int (*IFnff)(Ihandle*, float, float); /* canvas_action */
+typedef int (*IFniff)(Ihandle*,int,float,float); /* scroll_cb */
+typedef int (*IFnfiis)(Ihandle*,float,int,int,char*); /* wheel_cb */
+
+typedef int (*IFnnii)(Ihandle*, Ihandle*, int, int); /* drop_cb */
+typedef int (*IFnnn)(Ihandle*, Ihandle*, Ihandle*); /* tabchange_cb */
+typedef int (*IFnss)(Ihandle*, char *, char *); /* file_cb */
+typedef int (*IFns)(Ihandle*, char *); /* multiselect_cb */
+typedef int (*IFnis)(Ihandle*, int, char *); /* text_action, multiline_action, edit_cb, renamenode_cb, rename_cb */
+typedef int (*IFnsii)(Ihandle*, char*, int, int); /* list_action */
+typedef int (*IFnsiii)(Ihandle*, char*, int, int, int); /* dropfiles_cb */
+typedef int (*IFniis)(Ihandle*, int, int, char*); /* motion_cb, click_cb, value_edit_cb */
+typedef int (*IFniiiis)(Ihandle*, int, int, int, int, char*); /* button_cb, matrix_action, mousemotion_cb */
+typedef int (*IFniiiiiis)(Ihandle*, int, int, int, int, int, int, char*); /* mouseclick_cb */
+
+typedef int (*IFnIi)(Ihandle*, int*, int); /* multiselection_cb, multiselection_cb */
+typedef int (*IFnd)(Ihandle*, double); /* mousemove_cb, button_press_cb, button_release_cb */
+typedef int (*IFniiIII)(Ihandle*, int, int, int*, int*, int*); /* fgcolor_cb, bgcolor_cb */
+typedef int (*IFniinsii)(Ihandle*, int, int, Ihandle*, char*, int, int); /* dropselect_cb */
+typedef int (*IFnccc)(Ihandle*, unsigned char, unsigned char, unsigned char); /* drag_cb, change_cb */
+
+typedef char* (*sIFnii)(Ihandle*, int, int); /* value_cb */
+typedef char* (*sIFni)(Ihandle*, int); /* cell_cb */
+
+#endif
diff --git a/iup/include/iupcells.h b/iup/include/iupcells.h
new file mode 100755
index 0000000..1285b04
--- /dev/null
+++ b/iup/include/iupcells.h
@@ -0,0 +1 @@
+#include <iupcontrols.h>
diff --git a/iup/include/iupcolorbar.h b/iup/include/iupcolorbar.h
new file mode 100755
index 0000000..1285b04
--- /dev/null
+++ b/iup/include/iupcolorbar.h
@@ -0,0 +1 @@
+#include <iupcontrols.h>
diff --git a/iup/include/iupcontrols.h b/iup/include/iupcontrols.h
new file mode 100755
index 0000000..c7bc566
--- /dev/null
+++ b/iup/include/iupcontrols.h
@@ -0,0 +1,46 @@
+/** \file
+ * \brief initializes dial, gauge, colorbrowser, colorbar controls.
+ *
+ * See Copyright Notice in "iup.h"
+ */
+
+#ifndef __IUPCONTROLS_H
+#define __IUPCONTROLS_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+int IupControlsOpen(void);
+void IupControlsClose(void); /* for backward compatibility only, does nothing since IUP 3 */
+
+void IupOldValOpen(void);
+void IupOldTabsOpen(void);
+
+Ihandle* IupColorbar(void);
+Ihandle* IupCells(void);
+Ihandle *IupColorBrowser(void);
+Ihandle *IupColorBrowser(void);
+Ihandle *IupGauge(void);
+Ihandle *IupDial(const char* type);
+Ihandle* IupMatrix(const char *action);
+
+/* IupMatrix utilities */
+void IupMatSetAttribute (Ihandle* ih, const char* name, int lin, int col, char* value);
+void IupMatStoreAttribute(Ihandle* ih, const char* name, int lin, int col, char* value);
+char* IupMatGetAttribute (Ihandle* ih, const char* name, int lin, int col);
+int IupMatGetInt (Ihandle* ih, const char* name, int lin, int col);
+float IupMatGetFloat (Ihandle* ih, const char* name, int lin, int col);
+void IupMatSetfAttribute (Ihandle* ih, const char* name, int lin, int col, char* format, ...);
+
+/* Used by IupColorbar */
+#define IUP_PRIMARY -1
+#define IUP_SECONDARY -2
+
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/iup/include/iupdef.h b/iup/include/iupdef.h
new file mode 100755
index 0000000..e8f436e
--- /dev/null
+++ b/iup/include/iupdef.h
@@ -0,0 +1,725 @@
+/** \file
+ * \brief Callbacks, Attributes and Attribute Values definitions.
+ * Avoid using these definitions. Use the strings instead.
+ *
+ * See Copyright Notice in iup.h
+ */
+
+#ifndef __IUPDEF_H
+#define __IUPDEF_H
+
+/* OLD definitions */
+/* Avoid using these definitions. Use the strings instead. */
+/* Define __IUPDEF_H to avoid the inclusion of this header */
+
+#define IUP_RUN "RUN"
+#define IUP_ENGLISH "ENGLISH"
+#define IUP_PORTUGUESE "PORTUGUESE"
+#define IUP_SBH "SBH"
+#define IUP_SBV "SBV"
+
+/************************************************************************/
+/* Callbacks */
+/************************************************************************/
+
+#define IUP_DEFAULT_ACTION "DEFAULT_ACTION"
+#define IUP_IDLE_ACTION "IDLE_ACTION"
+
+#define IUP_ACTION "ACTION"
+#define IUP_GETFOCUS_CB "GETFOCUS_CB"
+#define IUP_KILLFOCUS_CB "KILLFOCUS_CB"
+#define IUP_K_ANY "K_ANY"
+#define IUP_KEYPRESS_CB "KEYPRESS_CB"
+#define IUP_HELP_CB "HELP_CB"
+
+#define IUP_SCROLL_CB "SCROLL_CB"
+#define IUP_RESIZE_CB "RESIZE_CB"
+#define IUP_MOTION_CB "MOTION_CB"
+#define IUP_BUTTON_CB "BUTTON_CB"
+#define IUP_ENTERWINDOW_CB "ENTERWINDOW_CB"
+#define IUP_LEAVEWINDOW_CB "LEAVEWINDOW_CB"
+#define IUP_WHEEL_CB "WHEEL_CB"
+
+#define IUP_MASK_CB "MASK_CB"
+#define IUP_OPEN_CB "OPEN_CB"
+#define IUP_HIGHLIGHT_CB "HIGHLIGHT_CB"
+#define IUP_MENUCLOSE_CB "MENUCLOSE_CB"
+
+#define IUP_MAP_CB "MAP_CB"
+#define IUP_CLOSE_CB "CLOSE_CB"
+#define IUP_SHOW_CB "SHOW_CB"
+
+#define IUP_DROPFILES_CB "DROPFILES_CB"
+#define IUP_WOM_CB "WOM_CB"
+
+/************************************************************************/
+/* Attributes */
+/************************************************************************/
+
+#define IUP_DIRECTION "DIRECTION"
+#define IUP_ACTIVE "ACTIVE"
+#define IUP_BGCOLOR "BGCOLOR"
+#define IUP_FRAMECOLOR "FRAMECOLOR"
+#define IUP_FGCOLOR "FGCOLOR"
+#define IUP_COLOR "COLOR"
+#define IUP_WID "WID"
+#define IUP_SIZE "SIZE"
+#define IUP_RASTERSIZE "RASTERSIZE"
+#define IUP_TITLE "TITLE"
+#define IUP_VALUE "VALUE"
+#define IUP_VISIBLE "VISIBLE"
+#define IUP_FONT "FONT"
+#define IUP_TIP "TIP"
+#define IUP_EXPAND "EXPAND"
+#define IUP_SEPARATOR "SEPARATOR"
+
+#define IUP_HOTSPOT "HOTSPOT"
+#define IUP_HEIGHT "HEIGHT"
+#define IUP_WIDTH "WIDTH"
+
+#define IUP_KEY "KEY"
+
+#define IUP_MULTIPLE "MULTIPLE"
+#define IUP_DROPDOWN "DROPDOWN"
+#define IUP_VISIBLE_ITEMS "VISIBLE_ITEMS"
+
+#define IUP_MARGIN "MARGIN"
+#define IUP_GAP "GAP"
+#define IUP_ALIGNMENT "ALIGNMENT"
+
+#define IUP_IMAGE "IMAGE"
+#define IUP_IMINACTIVE "IMINACTIVE"
+#define IUP_IMPRESS "IMPRESS"
+#define IUP_WIN_SAVEBITS "WIN_SAVEBITS"
+
+#define IUP_NC "NC"
+#define IUP_MASK "MASK"
+
+#define IUP_APPEND "APPEND"
+#define IUP_BORDER "BORDER"
+
+#define IUP_CARET "CARET"
+#define IUP_SELECTION "SELECTION"
+#define IUP_SELECTEDTEXT "SELECTEDTEXT"
+#define IUP_INSERT "INSERT"
+
+#define IUP_CONID "CONID"
+#define IUP_CURSOR "CURSOR"
+
+#define IUP_ICON "ICON"
+#define IUP_MENUBOX "MENUBOX"
+#define IUP_MINBOX "MINBOX"
+#define IUP_MAXBOX "MAXBOX"
+#define IUP_RESIZE "RESIZE"
+#define IUP_MENU "MENU"
+#define IUP_STARTFOCUS "STARTFOCUS"
+#define IUP_PARENTDIALOG "PARENTDIALOG"
+#define IUP_SHRINK "SHRINK"
+#define IUP_DEFAULTENTER "DEFAULTENTER"
+#define IUP_DEFAULTESC "DEFAULTESC"
+#define IUP_X "X"
+#define IUP_Y "Y"
+#define IUP_TOOLBOX "TOOLBOX"
+#define IUP_CONTROL "CONTROL"
+#define IUP_READONLY "READONLY"
+
+#define IUP_SCROLLBAR "SCROLLBAR"
+#define IUP_POSY "POSY"
+#define IUP_POSX "POSX"
+#define IUP_DX "DX"
+#define IUP_DY "DY"
+#define IUP_XMAX "XMAX"
+#define IUP_XMIN "XMIN"
+#define IUP_YMAX "YMAX"
+#define IUP_YMIN "YMIN"
+
+#define IUP_RED "255 0 0"
+#define IUP_GREEN "0 255 0"
+#define IUP_BLUE "0 0 255"
+
+#define IUP_MIN "MIN"
+#define IUP_MAX "MAX"
+
+#define IUP_TIME "TIME"
+#define IUP_DRAG "DRAG"
+#define IUP_DROP "DROP"
+#define IUP_REPAINT "REPAINT"
+#define IUP_TOPMOST "TOPMOST"
+#define IUP_CLIPCHILDREN "CLIPCHILDREN"
+
+#define IUP_DIALOGTYPE "DIALOGTYPE"
+#define IUP_FILE "FILE"
+#define IUP_MULTIPLEFILES "MULTIPLEFILES"
+#define IUP_FILTER "FILTER"
+#define IUP_FILTERUSED "FILTERUSED"
+#define IUP_FILTERINFO "FILTERINFO"
+#define IUP_EXTFILTER "EXTFILTER"
+#define IUP_DIRECTORY "DIRECTORY"
+#define IUP_ALLOWNEW "ALLOWNEW"
+#define IUP_NOOVERWRITEPROMPT "NOOVERWRITEPROMPT"
+#define IUP_NOCHANGEDIR "NOCHANGEDIR"
+#define IUP_FILEEXIST "FILEEXIST"
+#define IUP_STATUS "STATUS"
+
+#define IUP_LOCKLOOP "LOCKLOOP"
+#define IUP_SYSTEM "SYSTEM"
+#define IUP_DRIVER "DRIVER"
+#define IUP_SCREENSIZE "SCREENSIZE"
+#define IUP_SYSTEMLANGUAGE "SYSTEMLANGUAGE"
+#define IUP_COMPUTERNAME "COMPUTERNAME"
+#define IUP_USERNAME "USERNAME"
+
+#define IUP_OPEN "OPEN"
+#define IUP_SAVE "SAVE"
+#define IUP_DIR "DIR"
+
+#define IUP_HORIZONTAL "HORIZONTAL"
+#define IUP_VERTICAL "VERTICAL"
+
+/************************************************************************/
+/* Attribute Values */
+/************************************************************************/
+
+#define IUP_YES "YES"
+#define IUP_NO "NO"
+#define IUP_ON "ON"
+#define IUP_OFF "OFF"
+
+#define IUP_ACENTER "ACENTER"
+#define IUP_ALEFT "ALEFT"
+#define IUP_ARIGHT "ARIGHT"
+#define IUP_ATOP "ATOP"
+#define IUP_ABOTTOM "ABOTTOM"
+
+#define IUP_NORTH "NORTH"
+#define IUP_SOUTH "SOUTH"
+#define IUP_WEST "WEST"
+#define IUP_EAST "EAST"
+#define IUP_NE "NE"
+#define IUP_SE "SE"
+#define IUP_NW "NW"
+#define IUP_SW "SW"
+
+#define IUP_FULLSCREEN "FULLSCREEN"
+#define IUP_FULL "FULL"
+#define IUP_HALF "HALF"
+#define IUP_THIRD "THIRD"
+#define IUP_QUARTER "QUARTER"
+#define IUP_EIGHTH "EIGHTH"
+
+#define IUP_ARROW "ARROW"
+#define IUP_BUSY "BUSY"
+#define IUP_RESIZE_N "RESIZE_N"
+#define IUP_RESIZE_S "RESIZE_S"
+#define IUP_RESIZE_E "RESIZE_E"
+#define IUP_RESIZE_W "RESIZE_W"
+#define IUP_RESIZE_NE "RESIZE_NE"
+#define IUP_RESIZE_NW "RESIZE_NW"
+#define IUP_RESIZE_SE "RESIZE_SE"
+#define IUP_RESIZE_SW "RESIZE_SW"
+#define IUP_MOVE "MOVE"
+#define IUP_HAND "HAND"
+#define IUP_NONE "NONE"
+#define IUP_IUP "IUP"
+#define IUP_CROSS "CROSS"
+#define IUP_PEN "PEN"
+#define IUP_TEXT "TEXT"
+#define IUP_RESIZE_C "RESIZE_C"
+#define IUP_OPENHAND "OPENHAND"
+
+/*****************/
+/* Fonts */
+/*****************/
+
+#define IUP_HELVETICA_NORMAL_8 "HELVETICA_NORMAL_8"
+#define IUP_HELVETICA_ITALIC_8 "HELVETICA_ITALIC_8"
+#define IUP_HELVETICA_BOLD_8 "HELVETICA_BOLD_8"
+#define IUP_HELVETICA_NORMAL_10 "HELVETICA_NORMAL_10"
+#define IUP_HELVETICA_ITALIC_10 "HELVETICA_ITALIC_10"
+#define IUP_HELVETICA_BOLD_10 "HELVETICA_BOLD_10"
+#define IUP_HELVETICA_NORMAL_12 "HELVETICA_NORMAL_12"
+#define IUP_HELVETICA_ITALIC_12 "HELVETICA_ITALIC_12"
+#define IUP_HELVETICA_BOLD_12 "HELVETICA_BOLD_12"
+#define IUP_HELVETICA_NORMAL_14 "HELVETICA_NORMAL_14"
+#define IUP_HELVETICA_ITALIC_14 "HELVETICA_ITALIC_14"
+#define IUP_HELVETICA_BOLD_14 "HELVETICA_BOLD_14"
+#define IUP_COURIER_NORMAL_8 "COURIER_NORMAL_8"
+#define IUP_COURIER_ITALIC_8 "COURIER_ITALIC_8"
+#define IUP_COURIER_BOLD_8 "COURIER_BOLD_8"
+#define IUP_COURIER_NORMAL_10 "COURIER_NORMAL_10"
+#define IUP_COURIER_ITALIC_10 "COURIER_ITALIC_10"
+#define IUP_COURIER_BOLD_10 "COURIER_BOLD_10"
+#define IUP_COURIER_NORMAL_12 "COURIER_NORMAL_12"
+#define IUP_COURIER_ITALIC_12 "COURIER_ITALIC_12"
+#define IUP_COURIER_BOLD_12 "COURIER_BOLD_12"
+#define IUP_COURIER_NORMAL_14 "COURIER_NORMAL_14"
+#define IUP_COURIER_ITALIC_14 "COURIER_ITALIC_14"
+#define IUP_COURIER_BOLD_14 "COURIER_BOLD_14"
+#define IUP_TIMES_NORMAL_8 "TIMES_NORMAL_8"
+#define IUP_TIMES_ITALIC_8 "TIMES_ITALIC_8"
+#define IUP_TIMES_BOLD_8 "TIMES_BOLD_8"
+#define IUP_TIMES_NORMAL_10 "TIMES_NORMAL_10"
+#define IUP_TIMES_ITALIC_10 "TIMES_ITALIC_10"
+#define IUP_TIMES_BOLD_10 "TIMES_BOLD_10"
+#define IUP_TIMES_NORMAL_12 "TIMES_NORMAL_12"
+#define IUP_TIMES_ITALIC_12 "TIMES_ITALIC_12"
+#define IUP_TIMES_BOLD_12 "TIMES_BOLD_12"
+#define IUP_TIMES_NORMAL_14 "TIMES_NORMAL_14"
+#define IUP_TIMES_ITALIC_14 "TIMES_ITALIC_14"
+#define IUP_TIMES_BOLD_14 "TIMES_BOLD_14"
+
+/************************************************************************/
+/* Keys */
+/************************************************************************/
+
+#define IUP_K_exclam "K_exclam"
+#define IUP_K_quotedbl "K_quotedbl"
+#define IUP_K_numbersign "K_numbersign"
+#define IUP_K_dollar "K_dollar"
+#define IUP_K_percent "K_percent"
+#define IUP_K_ampersand "K_ampersand"
+#define IUP_K_quoteright "K_quoteright"
+#define IUP_K_parentleft "K_parentleft"
+#define IUP_K_parentright "K_parentright"
+#define IUP_K_asterisk "K_asterisk"
+#define IUP_K_plus "K_plus"
+#define IUP_K_comma "K_comma"
+#define IUP_K_minus "K_minus"
+#define IUP_K_period "K_period"
+#define IUP_K_slash "K_slash"
+#define IUP_K_0 "K_0"
+#define IUP_K_1 "K_1"
+#define IUP_K_2 "K_2"
+#define IUP_K_3 "K_3"
+#define IUP_K_4 "K_4"
+#define IUP_K_5 "K_5"
+#define IUP_K_6 "K_6"
+#define IUP_K_7 "K_7"
+#define IUP_K_8 "K_8"
+#define IUP_K_9 "K_9"
+#define IUP_K_colon "K_colon"
+#define IUP_K_semicolon "K_semicolon "
+#define IUP_K_less "K_less"
+#define IUP_K_equal "K_equal"
+#define IUP_K_greater "K_greater"
+#define IUP_K_question "K_question"
+#define IUP_K_at "K_at"
+#define IUP_K_A "K_A"
+#define IUP_K_B "K_B"
+#define IUP_K_C "K_C"
+#define IUP_K_D "K_D"
+#define IUP_K_E "K_E"
+#define IUP_K_F "K_F"
+#define IUP_K_G "K_G"
+#define IUP_K_H "K_H"
+#define IUP_K_I "K_I"
+#define IUP_K_J "K_J"
+#define IUP_K_K "K_K"
+#define IUP_K_L "K_L"
+#define IUP_K_M "K_M"
+#define IUP_K_N "K_N"
+#define IUP_K_O "K_O"
+#define IUP_K_P "K_P"
+#define IUP_K_Q "K_Q"
+#define IUP_K_R "K_R"
+#define IUP_K_S "K_S"
+#define IUP_K_T "K_T"
+#define IUP_K_U "K_U"
+#define IUP_K_V "K_V"
+#define IUP_K_W "K_W"
+#define IUP_K_X "K_X"
+#define IUP_K_Y "K_Y"
+#define IUP_K_Z "K_Z"
+#define IUP_K_bracketleft "K_bracketleft"
+#define IUP_K_backslash "K_backslash"
+#define IUP_K_bracketright "K_bracketright"
+#define IUP_K_circum "K_circum"
+#define IUP_K_underscore "K_underscore"
+#define IUP_K_quoteleft "K_quoteleft"
+#define IUP_K_a "K_a"
+#define IUP_K_b "K_b"
+#define IUP_K_c "K_c"
+#define IUP_K_d "K_d"
+#define IUP_K_e "K_e"
+#define IUP_K_f "K_f"
+#define IUP_K_g "K_g"
+#define IUP_K_h "K_h"
+#define IUP_K_i "K_i"
+#define IUP_K_j "K_j"
+#define IUP_K_k "K_k"
+#define IUP_K_l "K_l"
+#define IUP_K_m "K_m"
+#define IUP_K_n "K_n"
+#define IUP_K_o "K_o"
+#define IUP_K_p "K_p"
+#define IUP_K_q "K_q"
+#define IUP_K_r "K_r"
+#define IUP_K_s "K_s"
+#define IUP_K_t "K_t"
+#define IUP_K_u "K_u"
+#define IUP_K_v "K_v"
+#define IUP_K_w "K_w"
+#define IUP_K_x "K_x"
+#define IUP_K_y "K_y"
+#define IUP_K_z "K_z"
+#define IUP_K_braceleft "K_braceleft"
+#define IUP_K_bar "K_bar"
+#define IUP_K_braceright "K_braceright"
+#define IUP_K_tilde "K_tilde"
+
+#define IUP_K_cA "K_cA"
+#define IUP_K_cB "K_cB"
+#define IUP_K_cC "K_cC"
+#define IUP_K_cD "K_cD"
+#define IUP_K_cE "K_cE"
+#define IUP_K_cF "K_cF"
+#define IUP_K_cG "K_cG"
+#define IUP_K_cJ "K_cJ"
+#define IUP_K_cK "K_cK"
+#define IUP_K_cL "K_cL"
+#define IUP_K_cN "K_cN"
+#define IUP_K_cO "K_cO"
+#define IUP_K_cP "K_cP"
+#define IUP_K_cQ "K_cQ"
+#define IUP_K_cR "K_cR"
+#define IUP_K_cS "K_cS"
+#define IUP_K_cT "K_cT"
+#define IUP_K_cU "K_cU"
+#define IUP_K_cV "K_cV"
+#define IUP_K_cW "K_cW"
+#define IUP_K_cX "K_cX"
+#define IUP_K_cY "K_cY"
+#define IUP_K_cZ "K_cZ"
+#define IUP_K_mA "K_mA"
+#define IUP_K_mB "K_mB"
+#define IUP_K_mC "K_mC"
+#define IUP_K_mD "K_mD"
+#define IUP_K_mE "K_mE"
+#define IUP_K_mF "K_mF"
+#define IUP_K_mG "K_mG"
+#define IUP_K_mH "K_mH"
+#define IUP_K_mI "K_mI"
+#define IUP_K_mJ "K_mJ"
+#define IUP_K_mK "K_mK"
+#define IUP_K_mL "K_mL"
+#define IUP_K_mM "K_mM"
+#define IUP_K_mN "K_mN"
+#define IUP_K_mO "K_mO"
+#define IUP_K_mP "K_mP"
+#define IUP_K_mQ "K_mQ"
+#define IUP_K_mR "K_mR"
+#define IUP_K_mS "K_mS"
+#define IUP_K_mT "K_mT"
+#define IUP_K_mU "K_mU"
+#define IUP_K_mV "K_mV"
+#define IUP_K_mW "K_mW"
+#define IUP_K_mX "K_mX"
+#define IUP_K_mY "K_mY"
+#define IUP_K_mZ "K_mZ"
+#define IUP_K_BS "K_BS"
+#define IUP_K_TAB "K_TAB"
+#define IUP_K_CR "K_CR"
+#define IUP_K_SP "K_SP"
+#define IUP_K_ESC "K_ESC"
+#define IUP_K_sCR "K_sCR"
+#define IUP_K_sTAB "K_sTAB"
+#define IUP_K_cTAB "K_cTAB"
+#define IUP_K_mTAB "K_mTAB"
+#define IUP_K_HOME "K_HOME"
+#define IUP_K_UP "K_UP"
+#define IUP_K_PGUP "K_PGUP"
+#define IUP_K_LEFT "K_LEFT"
+#define IUP_K_RIGHT "K_RIGHT"
+#define IUP_K_END "K_END"
+#define IUP_K_DOWN "K_DOWN"
+#define IUP_K_PGDN "K_PGDN"
+#define IUP_K_MIDDLE "K_MIDDLE"
+#define IUP_K_INS "K_INS"
+#define IUP_K_DEL "K_DEL"
+#define IUP_K_sHOME "K_sHOME"
+#define IUP_K_sUP "K_sUP"
+#define IUP_K_sPGUP "K_sPGUP"
+#define IUP_K_sLEFT "K_sLEFT"
+#define IUP_K_sRIGHT "K_sRIGHT"
+#define IUP_K_sEND "K_sEND"
+#define IUP_K_sDOWN "K_sDOWN"
+#define IUP_K_sPGDN "K_sPGDN"
+#define IUP_K_cHOME "K_cHOME"
+#define IUP_K_cPGUP "K_cPGUP"
+#define IUP_K_cLEFT "K_cLEFT"
+#define IUP_K_cRIGHT "K_cRIGHT"
+#define IUP_K_cEND "K_cEND"
+#define IUP_K_cPGDN "K_cPGDN"
+#define IUP_K_cUP "K_cUP"
+#define IUP_K_cDOWN "K_cDOWN"
+#define IUP_K_cMIDDLE "K_cMIDDLE"
+#define IUP_K_cINS "K_cINS"
+#define IUP_K_cDEL "K_cDEL"
+#define IUP_K_mHOME "K_mHOME"
+#define IUP_K_mPGUP "K_mPGUP"
+#define IUP_K_mLEFT "K_mLEFT"
+#define IUP_K_mRIGHT "K_mRIGHT"
+#define IUP_K_mEND "K_mEND"
+#define IUP_K_mPGDN "K_mPGDN"
+#define IUP_K_mUP "K_mUP"
+#define IUP_K_mDOWN "K_mDOWN"
+#define IUP_K_mINS "K_mINS"
+#define IUP_K_mDEL "K_mDEL"
+#define IUP_K_F1 "K_F1"
+#define IUP_K_F2 "K_F2"
+#define IUP_K_F3 "K_F3"
+#define IUP_K_F4 "K_F4"
+#define IUP_K_F5 "K_F5"
+#define IUP_K_F6 "K_F6"
+#define IUP_K_F7 "K_F7"
+#define IUP_K_F8 "K_F8"
+#define IUP_K_F9 "K_F9"
+#define IUP_K_F10 "K_F10"
+#define IUP_K_F11 "K_F11"
+#define IUP_K_F12 "K_F12"
+#define IUP_K_sF1 "K_sF1"
+#define IUP_K_sF2 "K_sF2"
+#define IUP_K_sF3 "K_sF3"
+#define IUP_K_sF4 "K_sF4"
+#define IUP_K_sF5 "K_sF5"
+#define IUP_K_sF6 "K_sF6"
+#define IUP_K_sF7 "K_sF7"
+#define IUP_K_sF8 "K_sF8"
+#define IUP_K_sF9 "K_sF9"
+#define IUP_K_sF10 "K_sF10"
+#define IUP_K_sF11 "K_sF11"
+#define IUP_K_sF12 "K_sF12"
+#define IUP_K_cF1 "K_cF1"
+#define IUP_K_cF2 "K_cF2"
+#define IUP_K_cF3 "K_cF3"
+#define IUP_K_cF4 "K_cF4"
+#define IUP_K_cF5 "K_cF5"
+#define IUP_K_cF6 "K_cF6"
+#define IUP_K_cF7 "K_cF7"
+#define IUP_K_cF8 "K_cF8"
+#define IUP_K_cF9 "K_cF9"
+#define IUP_K_cF10 "K_cF10"
+#define IUP_K_cF11 "K_cF11"
+#define IUP_K_cF12 "K_cF12"
+#define IUP_K_mF1 "K_mF1"
+#define IUP_K_mF2 "K_mF2"
+#define IUP_K_mF3 "K_mF3"
+#define IUP_K_mF4 "K_mF4"
+#define IUP_K_mF5 "K_mF5"
+#define IUP_K_mF6 "K_mF6"
+#define IUP_K_mF7 "K_mF7"
+#define IUP_K_mF8 "K_mF8"
+#define IUP_K_mF9 "K_mF9"
+#define IUP_K_mF10 "K_mF10"
+#define IUP_K_m1 "K_m1"
+#define IUP_K_m2 "K_m2"
+#define IUP_K_m3 "K_m3"
+#define IUP_K_m4 "K_m4"
+#define IUP_K_m5 "K_m5"
+#define IUP_K_m6 "K_m6"
+#define IUP_K_m7 "K_m7"
+#define IUP_K_m8 "K_m8"
+#define IUP_K_m9 "K_m9"
+#define IUP_K_m0 "K_m0"
+
+/************/
+/* Colorbar */
+/************/
+
+#define IUP_NUM_PARTS "NUM_PARTS"
+#define IUP_NUM_CELLS "NUM_CELLS"
+#define IUP_CELL "CELL"
+#define IUP_PREVIEW_SIZE "PREVIEW_SIZE"
+#define IUP_SHOW_PREVIEW "SHOW_PREVIEW"
+#define IUP_SHOW_SECONDARY "SHOW_SECONDARY"
+#define IUP_PRIMARY_CELL "PRIMARY_CELL"
+#define IUP_SECONDARY_CELL "SECONDARY_CELL"
+#define IUP_ORIENTATION "ORIENTATION"
+#define IUP_SQUARED "SQUARED"
+#define IUP_SHADOWED "SHADOWED"
+#define IUP_BUFFERIZE "BUFFERIZE"
+#define IUP_TRANSPARENCY "TRANSPARENCY"
+#define IUP_CELL_CB "CELL_CB"
+#define IUP_EXTENDED_CB "EXTENDED_CB"
+#define IUP_SELECT_CB "SELECT_CB"
+#define IUP_SWITCH_CB "SWITCH_CB"
+#define IUP_VERTICAL "VERTICAL"
+#define IUP_HORIZONTAL "HORIZONTAL"
+
+/************/
+/* Cells */
+/************/
+
+#define IUP_ALL "ALL"
+#define IUP_BOXED "BOXED"
+#define IUP_CLIPPED "CLIPPED"
+#define IUP_TRANSPARENT "TRANSPARENT"
+#define IUP_NON_SCROLLABLE_LINES "NON_SCROLLABLE_LINES"
+#define IUP_NON_SCROLLABLE_COLS "NON_SCROLLABLE_COLS"
+#define IUP_ORIGIN "ORIGIN"
+#define IUP_NO_COLOR "NO_COLOR"
+#define IUP_FIRST_LINE "FIRST_LINE"
+#define IUP_FIRST_COL "FIRST_COL"
+#define IUP_DOUBLE_BUFFER "DOUBLE_BUFFER"
+#define IUP_LIMITS "LIMITS"
+#define IUP_CANVAS "CANVAS"
+#define IUP_IMAGE_CANVAS "IMAGE_CANVAS"
+#define IUP_FULL_VISIBLE "FULL_VISIBLE"
+#define IUP_MOUSECLICK_CB "MOUSECLICK_CB"
+#define IUP_MOUSEMOTION_CB "MOUSEMOTION_CB"
+#define IUP_DRAW_CB "DRAW_CB"
+#define IUP_WIDTH_CB "WIDTH_CB"
+#define IUP_HEIGHT_CB "HEIGHT_CB"
+#define IUP_NLINES_CB "NLINES_CB"
+#define IUP_NCOLS_CB "NCOLS_CB"
+#define IUP_HSPAN_CB "HSPAN_CB"
+#define IUP_VSPAN_CB "VSPAN_CB"
+#define IUP_SCROLLING_CB "SCROLLING_CB"
+
+/*****************/
+/* ColorBrowser */
+/*****************/
+
+#define IUP_RGB "RGB"
+#define IUP_CHANGE_CB "CHANGE_CB"
+#define IUP_DRAG_CB "DRAG_CB"
+
+/*****************/
+/* Val */
+/*****************/
+
+#define ICTL_MOUSEMOVE_CB "MOUSEMOVE_CB"
+#define ICTL_BUTTON_PRESS_CB "BUTTON_PRESS_CB"
+#define ICTL_BUTTON_RELEASE_CB "BUTTON_RELEASE_CB"
+#define ICTL_HORIZONTAL "HORIZONTAL"
+#define ICTL_VERTICAL "VERTICAL"
+#define ICTL_SHOWTICKS "SHOWTICKS"
+
+/*****************/
+/* Tabs */
+/*****************/
+
+#define ICTL_TOP "TOP"
+#define ICTL_BOTTOM "BOTTOM"
+#define ICTL_LEFT "LEFT"
+#define ICTL_RIGHT "RIGHT"
+#define ICTL_TABTYPE "TABTYPE"
+#define ICTL_TABTITLE "TABTITLE"
+#define ICTL_TABSIZE "TABSIZE"
+#define ICTL_TABCHANGE_CB "TABCHANGE_CB"
+#define ICTL_FONT "FONT"
+#define ICTL_FONT_ACTIVE "FONT_ACTIVE"
+#define ICTL_FONT_INACTIVE "FONT_INACTIVE"
+
+/*****************/
+/* Gauge */
+/*****************/
+
+#define ICTL_SHOW_TEXT "SHOW_TEXT"
+#define ICTL_DASHED "DASHED"
+#define ICTL_MARGIN "MARGIN"
+#define ICTL_TEXT "TEXT"
+
+/*****************/
+/* Dial */
+/*****************/
+
+#define ICTL_DENSITY "DENSITY"
+#define ICTL_HORIZONTAL "HORIZONTAL"
+#define ICTL_VERTICAL "VERTICAL"
+#define ICTL_CIRCULAR "CIRCULAR"
+#define ICTL_UNIT "UNIT"
+
+/*****************/
+/* Matrix */
+/*****************/
+
+#define IUP_ENTERITEM_CB "ENTERITEM_CB"
+#define IUP_LEAVEITEM_CB "LEAVEITEM_CB"
+#define IUP_EDITION_CB "EDITION_CB"
+#define IUP_CLICK_CB "CLICK_CB"
+#define IUP_DROP_CB "DROP_CB"
+#define IUP_DROPSELECT_CB "DROPSELECT_CB"
+#define IUP_DROPCHECK_CB "DROPCHECK_CB"
+#define IUP_SCROLL_CB "SCROLL_CB"
+#define IUP_VALUE_CB "VALUE_CB"
+#define IUP_VALUE_EDIT_CB "VALUE_EDIT_CB"
+#define IUP_FIELD_CB "FIELD_CB"
+#define IUP_RESIZEMATRIX "RESIZEMATRIX"
+#define IUP_ADDLIN "ADDLIN"
+#define IUP_ADDCOL "ADDCOL"
+#define IUP_DELLIN "DELLIN"
+#define IUP_DELCOL "DELCOL"
+#define IUP_NUMLIN "NUMLIN"
+#define IUP_NUMCOL "NUMCOL"
+#define IUP_NUMLIN_VISIBLE "NUMLIN_VISIBLE"
+#define IUP_NUMCOL_VISIBLE "NUMCOL_VISIBLE"
+#define IUP_MARKED "MARKED"
+#define IUP_WIDTHDEF "WIDTHDEF"
+#define IUP_HEIGHTDEF "HEIGHTDEF"
+#define IUP_AREA "AREA"
+#define IUP_MARK_MODE "MARK_MODE"
+#define IUP_LIN "LIN"
+#define IUP_COL "COL"
+#define IUP_LINCOL "LINCOL"
+#define IUP_CELL "CELL"
+#define IUP_EDIT_MODE "EDIT_MODE"
+#define IUP_FOCUS_CELL "FOCUS_CELL"
+#define IUP_ORIGIN "ORIGIN"
+#define IUP_REDRAW "REDRAW"
+#define IUP_PREVIOUSVALUE "PREVIOUSVALUE"
+#define IUP_MOUSEMOVE_CB "MOUSEMOVE_CB"
+
+/*****************/
+/* Tree */
+/*****************/
+
+#define IUP_ADDLEAF "ADDLEAF"
+#define IUP_ADDBRANCH "ADDBRANCH"
+#define IUP_DELNODE "DELNODE"
+#define IUP_IMAGELEAF "IMAGELEAF"
+#define IUP_IMAGEBRANCHCOLLAPSED "IMAGEBRANCHCOLLAPSED"
+#define IUP_IMAGEBRANCHEXPANDED "IMAGEBRANCHEXPANDED"
+#define IUP_IMAGEEXPANDED "IMAGEEXPANDED"
+#define IUP_KIND "KIND"
+#define IUP_PARENT "PARENT"
+#define IUP_DEPTH "DEPTH"
+#define IUP_MARKED "MARKED"
+#define IUP_ADDEXPANDED "ADDEXPANDED"
+#define IUP_CTRL "CTRL"
+#define IUP_SHIFT "SHIFT"
+#define IUP_STATE "STATE"
+#define IUP_STARTING "STARTING"
+#define IUP_LEAF "LEAF"
+#define IUP_BRANCH "BRANCH"
+#define IUP_SELECTED "SELECTED"
+#define IUP_CHILDREN "CHILDREN"
+#define IUP_MARKED "MARKED"
+#define IUP_ROOT "ROOT"
+#define IUP_LAST "LAST"
+#define IUP_PGUP "PGUP"
+#define IUP_PGDN "PGDN"
+#define IUP_NEXT "NEXT"
+#define IUP_PREVIOUS "PREVIOUS"
+#define IUP_INVERT "INVERT"
+#define IUP_BLOCK "BLOCK"
+#define IUP_CLEARALL "CLEARALL"
+#define IUP_MARKALL "MARKALL"
+#define IUP_INVERTALL "INVERTALL"
+#define IUP_REDRAW "REDRAW"
+#define IUP_COLLAPSED "COLLAPSED"
+#define IUP_EXPANDED "EXPANDED"
+#define IUP_SELECTION_CB "SELECTION_CB"
+#define IUP_BRANCHOPEN_CB "BRANCHOPEN_CB"
+#define IUP_BRANCHCLOSE_CB "BRANCHCLOSE_CB"
+#define IUP_RIGHTCLICK_CB "RIGHTCLICK_CB"
+#define IUP_EXECUTELEAF_CB "EXECUTELEAF_CB"
+#define IUP_RENAMENODE_CB "RENAMENODE_CB"
+#define IUP_IMGLEAF "IMGLEAF"
+#define IUP_IMGCOLLAPSED "IMGCOLLAPSED"
+#define IUP_IMGEXPANDED "IMGEXPANDED"
+#define IUP_IMGBLANK "IMGBLANK"
+#define IUP_IMGPAPER "IMGPAPER"
+
+#endif
+
diff --git a/iup/include/iupdial.h b/iup/include/iupdial.h
new file mode 100755
index 0000000..1285b04
--- /dev/null
+++ b/iup/include/iupdial.h
@@ -0,0 +1 @@
+#include <iupcontrols.h>
diff --git a/iup/include/iupgauge.h b/iup/include/iupgauge.h
new file mode 100755
index 0000000..1285b04
--- /dev/null
+++ b/iup/include/iupgauge.h
@@ -0,0 +1 @@
+#include <iupcontrols.h>
diff --git a/iup/include/iupgc.h b/iup/include/iupgc.h
new file mode 100755
index 0000000..5ae1901
--- /dev/null
+++ b/iup/include/iupgc.h
@@ -0,0 +1 @@
+#include <iup.h>
diff --git a/iup/include/iupgetparam.h b/iup/include/iupgetparam.h
new file mode 100755
index 0000000..5ae1901
--- /dev/null
+++ b/iup/include/iupgetparam.h
@@ -0,0 +1 @@
+#include <iup.h>
diff --git a/iup/include/iupgl.h b/iup/include/iupgl.h
new file mode 100755
index 0000000..2f258c7
--- /dev/null
+++ b/iup/include/iupgl.h
@@ -0,0 +1,96 @@
+/** \file
+ * \brief OpenGL canvas for Iup.
+ *
+ * See Copyright Notice in "iup.h"
+ */
+
+#ifndef __IUPGL_H
+#define __IUPGL_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Attributes
+** To set the appropriate visual (pixel format) the following
+** attributes may be specified. Their values should be set
+** before the canvas is mapped to the scrren.
+** After mapping, changing their values has no effect.
+*/
+#ifndef IUP_BUFFER /* IUP_SINGLE (defaut) or IUP_DOUBLE */
+#define IUP_BUFFER "BUFFER"
+#endif
+#ifndef IUP_STEREO /* IUP_NO (defaut) or IUP_YES */
+#define IUP_STEREO "STEREO"
+#endif
+#ifndef IUP_BUFFER_SIZE /* Number of bits if index mode */
+#define IUP_BUFFER_SIZE "BUFFER_SIZE"
+#endif
+#ifndef IUP_RED_SIZE /* Number of red bits */
+#define IUP_RED_SIZE "RED_SIZE"
+#endif
+#ifndef IUP_GREEN_SIZE /* Number of green bits */
+#define IUP_GREEN_SIZE "GREEN_SIZE"
+#endif
+#ifndef IUP_BLUE_SIZE /* Number of blue bits */
+#define IUP_BLUE_SIZE "BLUE_SIZE"
+#endif
+#ifndef IUP_ALPHA_SIZE /* Number of alpha bits */
+#define IUP_ALPHA_SIZE "ALPHA_SIZE"
+#endif
+#ifndef IUP_DEPTH_SIZE /* Number of bits in depth buffer */
+#define IUP_DEPTH_SIZE "DEPTH_SIZE"
+#endif
+#ifndef IUP_STENCIL_SIZE /* Number of bits in stencil buffer */
+#define IUP_STENCIL_SIZE "STENCIL_SIZE"
+#endif
+#ifndef IUP_ACCUM_RED_SIZE /* Number of red bits in accum. buffer */
+#define IUP_ACCUM_RED_SIZE "ACCUM_RED_SIZE"
+#endif
+#ifndef IUP_ACCUM_GREEN_SIZE /* Number of green bits in accum. buffer */
+#define IUP_ACCUM_GREEN_SIZE "ACCUM_GREEN_SIZE"
+#endif
+#ifndef IUP_ACCUM_BLUE_SIZE /* Number of blue bits in accum. buffer */
+#define IUP_ACCUM_BLUE_SIZE "ACCUM_BLUE_SIZE"
+#endif
+#ifndef IUP_ACCUM_ALPHA_SIZE /* Number of alpha bits in accum. buffer */
+#define IUP_ACCUM_ALPHA_SIZE "ACCUM_ALPHA_SIZE"
+#endif
+
+
+/* Attribute values */
+#ifndef IUP_DOUBLE
+#define IUP_DOUBLE "DOUBLE"
+#endif
+#ifndef IUP_SINGLE
+#define IUP_SINGLE "SINGLE"
+#endif
+#ifndef IUP_INDEX
+#define IUP_INDEX "INDEX"
+#endif
+#ifndef IUP_RGBA
+#define IUP_RGBA "RGBA"
+#endif
+#ifndef IUP_YES
+#define IUP_YES "YES"
+#endif
+#ifndef IUP_NO
+#define IUP_NO "NO"
+#endif
+
+void IupGLCanvasOpen(void);
+
+Ihandle *IupGLCanvas(const char *action);
+
+void IupGLMakeCurrent(Ihandle* ih);
+int IupGLIsCurrent(Ihandle* ih);
+void IupGLSwapBuffers(Ihandle* ih);
+void IupGLPalette(Ihandle* ih, int index, float r, float g, float b);
+void IupGLUseFont(Ihandle* ih, int first, int count, int list_base);
+void IupGLWait(int gl);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/iup/include/iupim.h b/iup/include/iupim.h
new file mode 100755
index 0000000..03b712c
--- /dev/null
+++ b/iup/include/iupim.h
@@ -0,0 +1,27 @@
+/** \file
+ * \brief Utilities using IM
+ *
+ * See Copyright Notice in "iup.h"
+ */
+
+#ifndef __IUPIM_H
+#define __IUPIM_H
+
+#if defined(__cplusplus)
+extern "C" {
+#endif
+
+Ihandle* IupLoadImage(const char* file_name);
+int IupSaveImage(Ihandle* ih, const char* file_name, const char* format);
+
+#ifdef __IM_IMAGE_H
+imImage* IupGetNativeHandleImage(void* handle);
+void* IupGetImageNativeHandle(imImage* image);
+#endif
+
+
+#if defined(__cplusplus)
+}
+#endif
+
+#endif
diff --git a/iup/include/iupkey.h b/iup/include/iupkey.h
new file mode 100755
index 0000000..b80c47e
--- /dev/null
+++ b/iup/include/iupkey.h
@@ -0,0 +1,457 @@
+/** \file
+ * \brief Keyboard Keys definitions.
+ *
+ * See Copyright Notice in "iup.h"
+ */
+
+#ifndef __IUPKEY_H
+#define __IUPKEY_H
+
+/* from 32 to 126, all character sets are equal,
+ the key code i the same as the character code. */
+
+#define K_SP ' ' /* 32 (0x20) */
+#define K_exclam '!' /* 33 */
+#define K_quotedbl '\"' /* 34 */
+#define K_numbersign '#' /* 35 */
+#define K_dollar '$' /* 36 */
+#define K_percent '%' /* 37 */
+#define K_ampersand '&' /* 38 */
+#define K_apostrophe '\'' /* 39 */
+#define K_parentleft '(' /* 40 */
+#define K_parentright ')' /* 41 */
+#define K_asterisk '*' /* 42 */
+#define K_plus '+' /* 43 */
+#define K_comma ',' /* 44 */
+#define K_minus '-' /* 45 */
+#define K_period '.' /* 46 */
+#define K_slash '/' /* 47 */
+#define K_0 '0' /* 48 (0x30) */
+#define K_1 '1' /* 49 */
+#define K_2 '2' /* 50 */
+#define K_3 '3' /* 51 */
+#define K_4 '4' /* 52 */
+#define K_5 '5' /* 53 */
+#define K_6 '6' /* 54 */
+#define K_7 '7' /* 55 */
+#define K_8 '8' /* 56 */
+#define K_9 '9' /* 57 */
+#define K_colon ':' /* 58 */
+#define K_semicolon ';' /* 59 */
+#define K_less '<' /* 60 */
+#define K_equal '=' /* 61 */
+#define K_greater '>' /* 62 */
+#define K_question '?' /* 63 */
+#define K_at '@' /* 64 */
+#define K_A 'A' /* 65 (0x41) */
+#define K_B 'B' /* 66 */
+#define K_C 'C' /* 67 */
+#define K_D 'D' /* 68 */
+#define K_E 'E' /* 69 */
+#define K_F 'F' /* 70 */
+#define K_G 'G' /* 71 */
+#define K_H 'H' /* 72 */
+#define K_I 'I' /* 73 */
+#define K_J 'J' /* 74 */
+#define K_K 'K' /* 75 */
+#define K_L 'L' /* 76 */
+#define K_M 'M' /* 77 */
+#define K_N 'N' /* 78 */
+#define K_O 'O' /* 79 */
+#define K_P 'P' /* 80 */
+#define K_Q 'Q' /* 81 */
+#define K_R 'R' /* 82 */
+#define K_S 'S' /* 83 */
+#define K_T 'T' /* 84 */
+#define K_U 'U' /* 85 */
+#define K_V 'V' /* 86 */
+#define K_W 'W' /* 87 */
+#define K_X 'X' /* 88 */
+#define K_Y 'Y' /* 89 */
+#define K_Z 'Z' /* 90 */
+#define K_bracketleft '[' /* 91 */
+#define K_backslash '\\' /* 92 */
+#define K_bracketright ']' /* 93 */
+#define K_circum '^' /* 94 */
+#define K_underscore '_' /* 95 */
+#define K_grave '`' /* 96 */
+#define K_a 'a' /* 97 (0x61) */
+#define K_b 'b' /* 98 */
+#define K_c 'c' /* 99 */
+#define K_d 'd' /* 100 */
+#define K_e 'e' /* 101 */
+#define K_f 'f' /* 102 */
+#define K_g 'g' /* 103 */
+#define K_h 'h' /* 104 */
+#define K_i 'i' /* 105 */
+#define K_j 'j' /* 106 */
+#define K_k 'k' /* 107 */
+#define K_l 'l' /* 108 */
+#define K_m 'm' /* 109 */
+#define K_n 'n' /* 110 */
+#define K_o 'o' /* 111 */
+#define K_p 'p' /* 112 */
+#define K_q 'q' /* 113 */
+#define K_r 'r' /* 114 */
+#define K_s 's' /* 115 */
+#define K_t 't' /* 116 */
+#define K_u 'u' /* 117 */
+#define K_v 'v' /* 118 */
+#define K_w 'w' /* 119 */
+#define K_x 'x' /* 120 */
+#define K_y 'y' /* 121 */
+#define K_z 'z' /* 122 */
+#define K_braceleft '{' /* 123 */
+#define K_bar '|' /* 124 */
+#define K_braceright '}' /* 125 */
+#define K_tilde '~' /* 126 */
+
+#define iup_isprint(_c) ((_c) > 31 && (_c) < 127)
+
+/* also define the escape sequences that have keys associated */
+
+#define K_BS '\b' /* 8 */
+#define K_TAB '\t' /* 9 */
+#define K_LF '\n' /* 10 (0x0A) not a real key, is a combination of CR with a modifier, just to document */
+#define K_CR '\r' /* 13 (0x0D) */
+
+/* backward compatible definitions */
+
+#define K_quoteleft K_grave
+#define K_quoteright K_apostrophe
+#define isxkey iup_isXkey
+
+/* IUP Extended Key Codes, range start at 128 */
+/* Modifiers use 256 interval */
+/* These key code definitions are specific to IUP */
+
+#define iup_isXkey(_c) ((_c) > 128)
+#define iup_isShiftXkey(_c) (((_c) > 256) && ((_c) < 512))
+#define iup_isCtrlXkey(_c) (((_c) > 512) && ((_c) < 768))
+#define iup_isAltXkey(_c) (((_c) > 768) && ((_c) < 1024))
+#define iup_isSysXkey(_c) (((_c) > 1024) && ((_c) < 1280))
+
+#define IUPxCODE(_c) ((_c) + 128) /* Normal (must be above 128) */
+#define IUPsxCODE(_c) ((_c) + 256) /* Shift (must have range to include the standard keys and the normal extended keys, so must be above 256 */
+#define IUPcxCODE(_c) ((_c) + 512) /* Ctrl */
+#define IUPmxCODE(_c) ((_c) + 768) /* Alt */
+#define IUPyxCODE(_c) ((_c) + 1024) /* Sys (Win or Apple) */
+
+#define IUP_NUMMAXCODES 1280 /* 5*256=1280 Normal+Shift+Ctrl+Alt+Sys */
+
+#define K_HOME IUPxCODE(1)
+#define K_UP IUPxCODE(2)
+#define K_PGUP IUPxCODE(3)
+#define K_LEFT IUPxCODE(4)
+#define K_MIDDLE IUPxCODE(5)
+#define K_RIGHT IUPxCODE(6)
+#define K_END IUPxCODE(7)
+#define K_DOWN IUPxCODE(8)
+#define K_PGDN IUPxCODE(9)
+#define K_INS IUPxCODE(10)
+#define K_DEL IUPxCODE(11)
+#define K_PAUSE IUPxCODE(12)
+#define K_ESC IUPxCODE(13)
+#define K_ccedilla IUPxCODE(14)
+#define K_F1 IUPxCODE(15)
+#define K_F2 IUPxCODE(16)
+#define K_F3 IUPxCODE(17)
+#define K_F4 IUPxCODE(18)
+#define K_F5 IUPxCODE(19)
+#define K_F6 IUPxCODE(20)
+#define K_F7 IUPxCODE(21)
+#define K_F8 IUPxCODE(22)
+#define K_F9 IUPxCODE(23)
+#define K_F10 IUPxCODE(24)
+#define K_F11 IUPxCODE(25)
+#define K_F12 IUPxCODE(26)
+#define K_Print IUPxCODE(27)
+#define K_Menu IUPxCODE(28)
+
+#define K_acute IUPxCODE(29) /* no Shift/Ctrl/Alt */
+
+#define K_sHOME IUPsxCODE(K_HOME )
+#define K_sUP IUPsxCODE(K_UP )
+#define K_sPGUP IUPsxCODE(K_PGUP )
+#define K_sLEFT IUPsxCODE(K_LEFT )
+#define K_sMIDDLE IUPsxCODE(K_MIDDLE )
+#define K_sRIGHT IUPsxCODE(K_RIGHT )
+#define K_sEND IUPsxCODE(K_END )
+#define K_sDOWN IUPsxCODE(K_DOWN )
+#define K_sPGDN IUPsxCODE(K_PGDN )
+#define K_sINS IUPsxCODE(K_INS )
+#define K_sDEL IUPsxCODE(K_DEL )
+#define K_sSP IUPsxCODE(K_SP )
+#define K_sTAB IUPsxCODE(K_TAB )
+#define K_sCR IUPsxCODE(K_CR )
+#define K_sBS IUPsxCODE(K_BS )
+#define K_sPAUSE IUPsxCODE(K_PAUSE )
+#define K_sESC IUPsxCODE(K_ESC )
+#define K_Ccedilla IUPsxCODE(K_ccedilla)
+#define K_sF1 IUPsxCODE(K_F1 )
+#define K_sF2 IUPsxCODE(K_F2 )
+#define K_sF3 IUPsxCODE(K_F3 )
+#define K_sF4 IUPsxCODE(K_F4 )
+#define K_sF5 IUPsxCODE(K_F5 )
+#define K_sF6 IUPsxCODE(K_F6 )
+#define K_sF7 IUPsxCODE(K_F7 )
+#define K_sF8 IUPsxCODE(K_F8 )
+#define K_sF9 IUPsxCODE(K_F9 )
+#define K_sF10 IUPsxCODE(K_F10 )
+#define K_sF11 IUPsxCODE(K_F11 )
+#define K_sF12 IUPsxCODE(K_F12 )
+#define K_sPrint IUPsxCODE(K_Print )
+#define K_sMenu IUPsxCODE(K_Menu )
+
+#define K_cHOME IUPcxCODE(K_HOME )
+#define K_cUP IUPcxCODE(K_UP )
+#define K_cPGUP IUPcxCODE(K_PGUP )
+#define K_cLEFT IUPcxCODE(K_LEFT )
+#define K_cMIDDLE IUPcxCODE(K_MIDDLE )
+#define K_cRIGHT IUPcxCODE(K_RIGHT )
+#define K_cEND IUPcxCODE(K_END )
+#define K_cDOWN IUPcxCODE(K_DOWN )
+#define K_cPGDN IUPcxCODE(K_PGDN )
+#define K_cINS IUPcxCODE(K_INS )
+#define K_cDEL IUPcxCODE(K_DEL )
+#define K_cSP IUPcxCODE(K_SP )
+#define K_cTAB IUPcxCODE(K_TAB )
+#define K_cCR IUPcxCODE(K_CR )
+#define K_cBS IUPcxCODE(K_BS )
+#define K_cPAUSE IUPcxCODE(K_PAUSE )
+#define K_cESC IUPcxCODE(K_ESC )
+#define K_cCcedilla IUPcxCODE(K_ccedilla)
+#define K_cF1 IUPcxCODE(K_F1 )
+#define K_cF2 IUPcxCODE(K_F2 )
+#define K_cF3 IUPcxCODE(K_F3 )
+#define K_cF4 IUPcxCODE(K_F4 )
+#define K_cF5 IUPcxCODE(K_F5 )
+#define K_cF6 IUPcxCODE(K_F6 )
+#define K_cF7 IUPcxCODE(K_F7 )
+#define K_cF8 IUPcxCODE(K_F8 )
+#define K_cF9 IUPcxCODE(K_F9 )
+#define K_cF10 IUPcxCODE(K_F10 )
+#define K_cF11 IUPcxCODE(K_F11 )
+#define K_cF12 IUPcxCODE(K_F12 )
+#define K_cPrint IUPcxCODE(K_Print )
+#define K_cMenu IUPcxCODE(K_Menu )
+
+#define K_mHOME IUPmxCODE(K_HOME )
+#define K_mUP IUPmxCODE(K_UP )
+#define K_mPGUP IUPmxCODE(K_PGUP )
+#define K_mLEFT IUPmxCODE(K_LEFT )
+#define K_mMIDDLE IUPmxCODE(K_MIDDLE )
+#define K_mRIGHT IUPmxCODE(K_RIGHT )
+#define K_mEND IUPmxCODE(K_END )
+#define K_mDOWN IUPmxCODE(K_DOWN )
+#define K_mPGDN IUPmxCODE(K_PGDN )
+#define K_mINS IUPmxCODE(K_INS )
+#define K_mDEL IUPmxCODE(K_DEL )
+#define K_mSP IUPmxCODE(K_SP )
+#define K_mTAB IUPmxCODE(K_TAB )
+#define K_mCR IUPmxCODE(K_CR )
+#define K_mBS IUPmxCODE(K_BS )
+#define K_mPAUSE IUPmxCODE(K_PAUSE )
+#define K_mESC IUPmxCODE(K_ESC )
+#define K_mCcedilla IUPmxCODE(K_ccedilla)
+#define K_mF1 IUPmxCODE(K_F1 )
+#define K_mF2 IUPmxCODE(K_F2 )
+#define K_mF3 IUPmxCODE(K_F3 )
+#define K_mF4 IUPmxCODE(K_F4 )
+#define K_mF5 IUPmxCODE(K_F5 )
+#define K_mF6 IUPmxCODE(K_F6 )
+#define K_mF7 IUPmxCODE(K_F7 )
+#define K_mF8 IUPmxCODE(K_F8 )
+#define K_mF9 IUPmxCODE(K_F9 )
+#define K_mF10 IUPmxCODE(K_F10 )
+#define K_mF11 IUPmxCODE(K_F11 )
+#define K_mF12 IUPmxCODE(K_F12 )
+#define K_mPrint IUPmxCODE(K_Print )
+#define K_mMenu IUPmxCODE(K_Menu )
+
+#define K_yHOME IUPyxCODE(K_HOME )
+#define K_yUP IUPyxCODE(K_UP )
+#define K_yPGUP IUPyxCODE(K_PGUP )
+#define K_yLEFT IUPyxCODE(K_LEFT )
+#define K_yMIDDLE IUPyxCODE(K_MIDDLE )
+#define K_yRIGHT IUPyxCODE(K_RIGHT )
+#define K_yEND IUPyxCODE(K_END )
+#define K_yDOWN IUPyxCODE(K_DOWN )
+#define K_yPGDN IUPyxCODE(K_PGDN )
+#define K_yINS IUPyxCODE(K_INS )
+#define K_yDEL IUPyxCODE(K_DEL )
+#define K_ySP IUPyxCODE(K_SP )
+#define K_yTAB IUPyxCODE(K_TAB )
+#define K_yCR IUPyxCODE(K_CR )
+#define K_yBS IUPyxCODE(K_BS )
+#define K_yPAUSE IUPyxCODE(K_PAUSE )
+#define K_yESC IUPyxCODE(K_ESC )
+#define K_yCcedilla IUPyxCODE(K_ccedilla)
+#define K_yF1 IUPyxCODE(K_F1 )
+#define K_yF2 IUPyxCODE(K_F2 )
+#define K_yF3 IUPyxCODE(K_F3 )
+#define K_yF4 IUPyxCODE(K_F4 )
+#define K_yF5 IUPyxCODE(K_F5 )
+#define K_yF6 IUPyxCODE(K_F6 )
+#define K_yF7 IUPyxCODE(K_F7 )
+#define K_yF8 IUPyxCODE(K_F8 )
+#define K_yF9 IUPyxCODE(K_F9 )
+#define K_yF10 IUPyxCODE(K_F10 )
+#define K_yF11 IUPyxCODE(K_F11 )
+#define K_yF12 IUPyxCODE(K_F12 )
+#define K_yPrint IUPyxCODE(K_Print )
+#define K_yMenu IUPyxCODE(K_Menu )
+
+#define K_sPlus IUPsxCODE(K_plus )
+#define K_sComma IUPsxCODE(K_comma )
+#define K_sMinus IUPsxCODE(K_minus )
+#define K_sPeriod IUPsxCODE(K_period )
+#define K_sSlash IUPsxCODE(K_slash )
+#define K_sAsterisk IUPsxCODE(K_asterisk)
+
+#define K_cA IUPcxCODE(K_A)
+#define K_cB IUPcxCODE(K_B)
+#define K_cC IUPcxCODE(K_C)
+#define K_cD IUPcxCODE(K_D)
+#define K_cE IUPcxCODE(K_E)
+#define K_cF IUPcxCODE(K_F)
+#define K_cG IUPcxCODE(K_G)
+#define K_cH IUPcxCODE(K_H)
+#define K_cI IUPcxCODE(K_I)
+#define K_cJ IUPcxCODE(K_J)
+#define K_cK IUPcxCODE(K_K)
+#define K_cL IUPcxCODE(K_L)
+#define K_cM IUPcxCODE(K_M)
+#define K_cN IUPcxCODE(K_N)
+#define K_cO IUPcxCODE(K_O)
+#define K_cP IUPcxCODE(K_P)
+#define K_cQ IUPcxCODE(K_Q)
+#define K_cR IUPcxCODE(K_R)
+#define K_cS IUPcxCODE(K_S)
+#define K_cT IUPcxCODE(K_T)
+#define K_cU IUPcxCODE(K_U)
+#define K_cV IUPcxCODE(K_V)
+#define K_cW IUPcxCODE(K_W)
+#define K_cX IUPcxCODE(K_X)
+#define K_cY IUPcxCODE(K_Y)
+#define K_cZ IUPcxCODE(K_Z)
+#define K_c1 IUPcxCODE(K_1)
+#define K_c2 IUPcxCODE(K_2)
+#define K_c3 IUPcxCODE(K_3)
+#define K_c4 IUPcxCODE(K_4)
+#define K_c5 IUPcxCODE(K_5)
+#define K_c6 IUPcxCODE(K_6)
+#define K_c7 IUPcxCODE(K_7)
+#define K_c8 IUPcxCODE(K_8)
+#define K_c9 IUPcxCODE(K_9)
+#define K_c0 IUPcxCODE(K_0)
+#define K_cPlus IUPcxCODE(K_plus )
+#define K_cComma IUPcxCODE(K_comma )
+#define K_cMinus IUPcxCODE(K_minus )
+#define K_cPeriod IUPcxCODE(K_period )
+#define K_cSlash IUPcxCODE(K_slash )
+#define K_cSemicolon IUPcxCODE(K_semicolon )
+#define K_cEqual IUPcxCODE(K_equal )
+#define K_cBracketleft IUPcxCODE(K_bracketleft )
+#define K_cBracketright IUPcxCODE(K_bracketright)
+#define K_cBackslash IUPcxCODE(K_backslash )
+#define K_cAsterisk IUPcxCODE(K_asterisk )
+
+#define K_mA IUPmxCODE(K_A)
+#define K_mB IUPmxCODE(K_B)
+#define K_mC IUPmxCODE(K_C)
+#define K_mD IUPmxCODE(K_D)
+#define K_mE IUPmxCODE(K_E)
+#define K_mF IUPmxCODE(K_F)
+#define K_mG IUPmxCODE(K_G)
+#define K_mH IUPmxCODE(K_H)
+#define K_mI IUPmxCODE(K_I)
+#define K_mJ IUPmxCODE(K_J)
+#define K_mK IUPmxCODE(K_K)
+#define K_mL IUPmxCODE(K_L)
+#define K_mM IUPmxCODE(K_M)
+#define K_mN IUPmxCODE(K_N)
+#define K_mO IUPmxCODE(K_O)
+#define K_mP IUPmxCODE(K_P)
+#define K_mQ IUPmxCODE(K_Q)
+#define K_mR IUPmxCODE(K_R)
+#define K_mS IUPmxCODE(K_S)
+#define K_mT IUPmxCODE(K_T)
+#define K_mU IUPmxCODE(K_U)
+#define K_mV IUPmxCODE(K_V)
+#define K_mW IUPmxCODE(K_W)
+#define K_mX IUPmxCODE(K_X)
+#define K_mY IUPmxCODE(K_Y)
+#define K_mZ IUPmxCODE(K_Z)
+#define K_m1 IUPmxCODE(K_1)
+#define K_m2 IUPmxCODE(K_2)
+#define K_m3 IUPmxCODE(K_3)
+#define K_m4 IUPmxCODE(K_4)
+#define K_m5 IUPmxCODE(K_5)
+#define K_m6 IUPmxCODE(K_6)
+#define K_m7 IUPmxCODE(K_7)
+#define K_m8 IUPmxCODE(K_8)
+#define K_m9 IUPmxCODE(K_9)
+#define K_m0 IUPmxCODE(K_0)
+#define K_mPlus IUPmxCODE(K_plus )
+#define K_mComma IUPmxCODE(K_comma )
+#define K_mMinus IUPmxCODE(K_minus )
+#define K_mPeriod IUPmxCODE(K_period )
+#define K_mSlash IUPmxCODE(K_slash )
+#define K_mSemicolon IUPmxCODE(K_semicolon )
+#define K_mEqual IUPmxCODE(K_equal )
+#define K_mBracketleft IUPmxCODE(K_bracketleft )
+#define K_mBracketright IUPmxCODE(K_bracketright)
+#define K_mBackslash IUPmxCODE(K_backslash )
+#define K_mAsterisk IUPmxCODE(K_asterisk )
+
+#define K_yA IUPyxCODE(K_A)
+#define K_yB IUPyxCODE(K_B)
+#define K_yC IUPyxCODE(K_C)
+#define K_yD IUPyxCODE(K_D)
+#define K_yE IUPyxCODE(K_E)
+#define K_yF IUPyxCODE(K_F)
+#define K_yG IUPyxCODE(K_G)
+#define K_yH IUPyxCODE(K_H)
+#define K_yI IUPyxCODE(K_I)
+#define K_yJ IUPyxCODE(K_J)
+#define K_yK IUPyxCODE(K_K)
+#define K_yL IUPyxCODE(K_L)
+#define K_yM IUPyxCODE(K_M)
+#define K_yN IUPyxCODE(K_N)
+#define K_yO IUPyxCODE(K_O)
+#define K_yP IUPyxCODE(K_P)
+#define K_yQ IUPyxCODE(K_Q)
+#define K_yR IUPyxCODE(K_R)
+#define K_yS IUPyxCODE(K_S)
+#define K_yT IUPyxCODE(K_T)
+#define K_yU IUPyxCODE(K_U)
+#define K_yV IUPyxCODE(K_V)
+#define K_yW IUPyxCODE(K_W)
+#define K_yX IUPyxCODE(K_X)
+#define K_yY IUPyxCODE(K_Y)
+#define K_yZ IUPyxCODE(K_Z)
+#define K_y1 IUPyxCODE(K_1)
+#define K_y2 IUPyxCODE(K_2)
+#define K_y3 IUPyxCODE(K_3)
+#define K_y4 IUPyxCODE(K_4)
+#define K_y5 IUPyxCODE(K_5)
+#define K_y6 IUPyxCODE(K_6)
+#define K_y7 IUPyxCODE(K_7)
+#define K_y8 IUPyxCODE(K_8)
+#define K_y9 IUPyxCODE(K_9)
+#define K_y0 IUPyxCODE(K_0)
+#define K_yPlus IUPyxCODE(K_plus )
+#define K_yComma IUPyxCODE(K_comma )
+#define K_yMinus IUPyxCODE(K_minus )
+#define K_yPeriod IUPyxCODE(K_period )
+#define K_ySlash IUPyxCODE(K_slash )
+#define K_ySemicolon IUPyxCODE(K_semicolon )
+#define K_yEqual IUPyxCODE(K_equal )
+#define K_yBracketleft IUPyxCODE(K_bracketleft )
+#define K_yBracketright IUPyxCODE(K_bracketright)
+#define K_yBackslash IUPyxCODE(K_backslash )
+#define K_yAsterisk IUPyxCODE(K_asterisk )
+
+
+#endif
diff --git a/iup/include/iuplua.h b/iup/include/iuplua.h
new file mode 100755
index 0000000..dc660b5
--- /dev/null
+++ b/iup/include/iuplua.h
@@ -0,0 +1,41 @@
+/** \file
+ * \brief IUP Binding for Lua.
+ *
+ * See Copyright Notice in "iup.h"
+ */
+
+#ifndef __IUPLUA_H
+#define __IUPLUA_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifdef LUA_NOOBJECT /* Lua 3 */
+int iuplua_open (void);
+int iupkey_open (void);
+
+/* utilities */
+Ihandle* iuplua_checkihandle(int pos);
+void iuplua_pushihandle(Ihandle *n);
+int iuplua_dofile (char *filename);
+#endif
+
+#ifdef LUA_TNONE /* Lua 5 */
+int iuplua_open(lua_State *L);
+int iupkey_open(lua_State *L);
+int iuplua_close(lua_State * L);
+
+/* utilities */
+Ihandle* iuplua_checkihandle(lua_State *L, int pos);
+void iuplua_pushihandle(lua_State *L, Ihandle *n);
+int iuplua_dofile(lua_State *L, const char *filename);
+int iuplua_dostring(lua_State *L, const char *string, const char *chunk_name);
+
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/iup/include/iuplua_pplot.h b/iup/include/iuplua_pplot.h
new file mode 100755
index 0000000..522941b
--- /dev/null
+++ b/iup/include/iuplua_pplot.h
@@ -0,0 +1,26 @@
+/** \file
+ * \brief iup_pplot Binding for Lua.
+ *
+ * See Copyright Notice in "iup.h"
+ */
+
+#ifndef __IUPLUA_PPLOT_H
+#define __IUPLUA_PPLOT_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifdef LUA_NOOBJECT /* Lua 3 */
+int iup_pplotlua_open (void);
+#endif
+
+#ifdef LUA_TNONE /* Lua 5 */
+int iup_pplotlua_open (lua_State * L);
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/iup/include/iupluacontrols.h b/iup/include/iupluacontrols.h
new file mode 100755
index 0000000..174192e
--- /dev/null
+++ b/iup/include/iupluacontrols.h
@@ -0,0 +1,27 @@
+/** \file
+ * \brief iupcontrols Binding for Lua.
+ *
+ * See Copyright Notice in "iup.h"
+ */
+
+#ifndef __IUPLUACONTROLS_H
+#define __IUPLUACONTROLS_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifdef LUA_NOOBJECT /* Lua 3 */
+int iupcontrolslua_open (void);
+#endif
+
+#ifdef LUA_TNONE /* Lua 5 */
+int iupcontrolslua_open (lua_State * L);
+int iupcontrolslua_close(lua_State * L);
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/iup/include/iupluagl.h b/iup/include/iupluagl.h
new file mode 100755
index 0000000..8b65f6b
--- /dev/null
+++ b/iup/include/iupluagl.h
@@ -0,0 +1,26 @@
+/** \file
+ * \brief Binding of iupglcanvas to Lua.
+ *
+ * See Copyright Notice in "iup.h"
+ */
+
+#ifndef __IUPLUAGL_H
+#define __IUPLUAGL_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifdef LUA_NOOBJECT /* Lua 3 */
+int iupgllua_open(void);
+#endif
+
+#ifdef LUA_TNONE /* Lua 5 */
+int iupgllua_open (lua_State * L);
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/iup/include/iupluaim.h b/iup/include/iupluaim.h
new file mode 100755
index 0000000..2544057
--- /dev/null
+++ b/iup/include/iupluaim.h
@@ -0,0 +1,26 @@
+/** \file
+ * \brief Bindig of iupim functions to Lua.
+ *
+ * See Copyright Notice in "iup.h"
+ */
+
+#ifndef __IUPLUAIM_H
+#define __IUPLUAIM_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifdef LUA_NOOBJECT /* Lua 3 */
+void iupimlua_open(void);
+#endif
+
+#ifdef LUA_TNONE /* Lua 5 */
+int iupimlua_open(lua_State * L);
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/iup/include/iupluaole.h b/iup/include/iupluaole.h
new file mode 100755
index 0000000..9a0ad08
--- /dev/null
+++ b/iup/include/iupluaole.h
@@ -0,0 +1,26 @@
+/** \file
+ * \brief Binding of iupolecontrol to Lua.
+ *
+ * See Copyright Notice in "iup.h"
+ */
+
+#ifndef __IUPLUAOLE_H
+#define __IUPLUAOLE_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifdef LUA_NOOBJECT /* Lua 3 */
+int iupolelua_open(void);
+#endif
+
+#ifdef LUA_TNONE /* Lua 5 */
+int iupolelua_open (lua_State * L);
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/iup/include/iupmask.h b/iup/include/iupmask.h
new file mode 100755
index 0000000..faf71d7
--- /dev/null
+++ b/iup/include/iupmask.h
@@ -0,0 +1,41 @@
+/** \file
+ * \brief iupmask functions.
+ *
+ * See Copyright Notice in "iup.h"
+ */
+
+#ifndef __IUP_OLDMASK_H
+#define __IUP_OLDMASK_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#pragma message("Warning: Using OLD iupMask definitions, use the MASK attribute in IupText or IupMatrix.")
+
+/* OLD definitions, use the MASK attribute in IupText or IupMatrix */
+int iupmaskSet (Ihandle *h, const char *mask, int autofill, int casei);
+int iupmaskSetInt (Ihandle *h, int autofill, int min , int max);
+int iupmaskSetFloat(Ihandle *h, int autofill, float min , float max);
+void iupmaskRemove (Ihandle *h);
+int iupmaskCheck (Ihandle *h);
+int iupmaskGet (Ihandle *h, char **val);
+int iupmaskGetFloat (Ihandle *h, float *fval);
+int iupmaskGetDouble(Ihandle *h, double *dval);
+int iupmaskGetInt (Ihandle *h, int *ival);
+int iupmaskMatSet (Ihandle *h, const char *mask, int autofill, int casei, int lin, int col);
+int iupmaskMatSetInt (Ihandle *h, int autofill, int min, int max, int lin, int col);
+int iupmaskMatSetFloat(Ihandle *h, int autofill, float min, float max, int lin, int col);
+void iupmaskMatRemove (Ihandle *h, int lin, int col);
+int iupmaskMatCheck (Ihandle *h, int lin, int col);
+int iupmaskMatGet (Ihandle *h, char **val, int lin, int col);
+int iupmaskMatGetFloat (Ihandle *h, float *fval, int lin, int col);
+int iupmaskMatGetDouble(Ihandle *h, double *dval, int lin, int col);
+int iupmaskMatGetInt (Ihandle *h, int *ival, int lin, int col);
+
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/iup/include/iupmatrix.h b/iup/include/iupmatrix.h
new file mode 100755
index 0000000..1285b04
--- /dev/null
+++ b/iup/include/iupmatrix.h
@@ -0,0 +1 @@
+#include <iupcontrols.h>
diff --git a/iup/include/iupole.h b/iup/include/iupole.h
new file mode 100755
index 0000000..8c7d4ba
--- /dev/null
+++ b/iup/include/iupole.h
@@ -0,0 +1,24 @@
+/** \file
+ * \brief Ole control.
+ *
+ * See Copyright Notice in "iup.h"
+ */
+
+#ifndef __IUPOLE_H
+#define __IUPOLE_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+Ihandle *IupOleControl(const char* progid);
+
+int IupOleControlOpen(void);
+
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/iup/include/iupsbox.h b/iup/include/iupsbox.h
new file mode 100755
index 0000000..5ae1901
--- /dev/null
+++ b/iup/include/iupsbox.h
@@ -0,0 +1 @@
+#include <iup.h>
diff --git a/iup/include/iupspin.h b/iup/include/iupspin.h
new file mode 100755
index 0000000..5ae1901
--- /dev/null
+++ b/iup/include/iupspin.h
@@ -0,0 +1 @@
+#include <iup.h>
diff --git a/iup/include/iuptabs.h b/iup/include/iuptabs.h
new file mode 100755
index 0000000..5ae1901
--- /dev/null
+++ b/iup/include/iuptabs.h
@@ -0,0 +1 @@
+#include <iup.h>
diff --git a/iup/include/iuptree.h b/iup/include/iuptree.h
new file mode 100755
index 0000000..1285b04
--- /dev/null
+++ b/iup/include/iuptree.h
@@ -0,0 +1 @@
+#include <iupcontrols.h>
diff --git a/iup/include/iupval.h b/iup/include/iupval.h
new file mode 100755
index 0000000..5ae1901
--- /dev/null
+++ b/iup/include/iupval.h
@@ -0,0 +1 @@
+#include <iup.h>