IUP Documentation
API reference for IUP (Portable User Interface).
Guides
- Attributes - attribute concept, inheritance, replay rules
- Events and Callbacks - callback dispatch model and main loop
- Layout - abstract layout, natural size, EXPAND
- Keyboard - focus traversal, mnemonics, accelerators
System
Attributes
Functions
IupSetAttribute, IupSetAttributes, IupResetAttribute, IupSetAtt, IupSetAttributeHandle
IupGetAttribute, IupGetAllAttributes, IupGetAttributes, IupCopyAttributes, IupGetAttributeHandle
IupSetGlobal, IupGetGlobal, IupGetAllGlobals, IupGetGlobalInfo
Common
ACTIVE, BGCOLOR, FGCOLOR, FONT, THEME, VISIBLE, CLIENTSIZE, CLIENTOFFSET, EXPAND, MAXSIZE, MINSIZE, NATURALSIZE, RASTERSIZE, SIZE, FLOATING, POSITION, SCREENPOSITION, NAME, TIP, TITLE, VALUE, WID, ZORDER
Other
ACCESSIBLETITLE, CURSOR, FORMATTING, ICON, KEY, MASK, PARENTDIALOG, SCROLLBAR, SHRINK
DX, DY, POSX, POSY, XMIN, XMAX, YMIN, YMAX
Events and Callbacks
Functions
IupMainLoop, IupMainLoopLevel, IupLoopStep, IupExitLoop, IupPostMessage, IupFlush
IupGetCallback, IupSetCallback, IupSetCallbacks, IupGetFunction, IupSetFunction, IupGetAllFunctions
Common
IDLE_ACTION, ENTRY_POINT, EXIT_CB, MAP_CB, UNMAP_CB, DESTROY_CB, LDESTROY_CB, GETFOCUS_CB, KILLFOCUS_CB, ENTERWINDOW_CB, LEAVEWINDOW_CB, K_ANY, HELP_CB, ACTION
Other
BUTTON_CB, CLOSE_CB, DROPFILES_CB, HIGHLIGHT_CB, KEYPRESS_CB, MENUCLOSE_CB, MENUOPEN_CB, MOTION_CB, RESIZE_CB, SCROLL_CB, SHOW_CB, TEXTINPUT_CB, WHEEL_CB
Dialogs
Reference
IupDialog, IupPopup, IupShow, IupShowXY, IupHide
Predefined
| Dialog | Description |
|---|---|
| IupFileDlg | File or directory chooser |
| IupMessageDlg | Message dialog (info, warning, error, question) |
| IupColorDlg | Color picker |
| IupFontDlg | Font picker |
| IupProgressDlg | Progress dialog for long-running operations |
| IupAlarm | Modal message with up to three buttons |
| IupGetFile | Convenience wrapper around IupFileDlg |
| IupGetColor | Convenience wrapper around IupColorDlg |
| IupGetParam | Modal dialog capturing typed parameter values |
| IupGetText | Modal multi-line text editor |
| IupListDialog | Modal single or multi selection list |
| IupMessage | Convenience wrapper around IupMessageDlg |
| IupMessageError | IupMessage with DIALOGTYPE=ERROR |
| IupMessageAlarm | Question-style IupMessage with custom buttons |
Debug
| Dialog | Description |
|---|---|
| IupElementPropertiesDialog | Run-time editor for an element's attributes |
| IupGlobalsDialog | Browser for global attributes, functions, names |
| IupClassInfoDialog | Browser for registered classes, attributes, callbacks |
Layout Composition
Hierarchy
IupAppend, IupDetach, IupInsert, IupReparent
IupGetParent, IupGetChild, IupGetChildPos, IupGetChildCount, IupGetNextChild, IupGetBrother, IupGetDialog, IupGetDialogChild
Management
IupRefresh, IupRefreshChildren
Controls
Containers
| Element | Description |
|---|---|
| IupFill | Empty space that expands to fill the remaining area |
| IupSpace | Empty space with a fixed size |
| IupCbox | Absolute-positioned container (CX/CY coordinates) |
| IupGridBox | Regular grid arranging children in lines or columns |
| IupMultiBox | Irregular grid container |
| IupHbox | Arranges children horizontally |
| IupVbox | Arranges children vertically |
| IupZbox | Stack of layers; only one child visible at a time |
| IupRadio | Groups mutually exclusive toggles |
| IupNormalizer | Equalizes natural sizes across a list of controls |
| IupFrame | Bordered container with an optional title |
| IupPopover | Floating container anchored to another element |
| IupTabs | Tabbed container (notebook) |
| IupBackgroundBox | Plain native container with no decorations |
| IupScrollBox | Scrollable container |
| IupDetachBox | Detachable container; drag opens it in a new dialog |
| IupExpander | Collapsible container with a header bar |
| IupSbox | Resizable container in one direction |
| IupSplit | Splits the client area into two resizable panes |
Standard
| Element | Description |
|---|---|
| IupAnimatedLabel | Label cycling through frames of an animation |
| IupButton | Push button with text and/or image |
| IupCalendar | Month calendar for date selection |
| IupCanvas | Drawing area |
| IupColorbar | Palette of color cells with primary/secondary selection |
| IupColorBrowser | HSI color picker on a cylindrical projection of the RGB cube |
| IupDatePick | Date editor with a drop-down calendar |
| IupDial | Rotary dial for angular values |
| IupLabel | Static text, image, or separator |
| IupSeparator | Visual separator line |
| IupLink | Underlined clickable text (URL) |
| IupList | List, drop-down or combo box with optional edit field |
| IupProgressBar | Native progress indicator |
| IupScrollbar | Standalone scrollbar control |
| IupSpin | Up/down arrow buttons; IupSpinBox wraps any element |
| IupTable | Native table widget for tabular data |
| IupTerminal | VT100 terminal emulator screen |
| IupText (IupMultiLine) | Single or multi-line editable text |
| IupToggle | Two-state on/off button or switch |
| IupTree (Attributes, Callbacks) | Hierarchical view of branches and leaves |
| IupVal | Slider/trackbar selecting a value in a range |
Additional
| Element | Description | Library (Go tag) |
|---|---|---|
| IupGLCanvas | OpenGL drawing surface | iupgl (gl) |
| IupGLBackgroundBox | Background container with OpenGL enabled | iupgl (gl) |
| IupPlot | 2D plot of one or more data sets | iupplot (plot) |
| IupWebBrowser | Embedded web browser view | iupweb (web) |
| IupAudio | Audio file player | iupmedia (media) |
| IupCamera | Live camera picture | iupmedia (media) |
| IupMicrophone | Audio capture and WAV recording | iupmedia (media) |
| IupMatrix (Attributes, Callbacks) | Custom-drawn matrix of alphanumeric cells | iupctrl (ctrl) |
| IupMatrixEx | IupMatrix extension (clipboard, undo, find, sort, ...) | iupctrl (ctrl) |
| IupMatrixList | List built on IupMatrix; adds color and check boxes | iupctrl (ctrl) |
| IupCells | Application-driven cell grid for custom drawing | iupctrl (ctrl) |
| IupGauge | Custom-drawn percent gauge | iupctrl (ctrl) |
| IupDropButton | Button with a drop-down area hosting arbitrary children | iupctrl (ctrl) |
| IupFlatButton | Custom-drawn button without native decorations | iupctrl (ctrl) |
| IupFlatLabel | Custom-drawn label without native decorations | iupctrl (ctrl) |
| IupFlatToggle | Custom-drawn toggle without native decorations | iupctrl (ctrl) |
| IupFlatFrame | Custom-drawn frame with title | iupctrl (ctrl) |
| IupFlatTabs | Custom-drawn IupTabs equivalent | iupctrl (ctrl) |
| IupFlatScrollBox (FLATSCROLLBAR) | IupScrollBox with custom-drawn scrollbars | iupctrl (ctrl) |
| IupFlatList | Custom-drawn IupList equivalent | iupctrl (ctrl) |
| IupFlatTree (Attributes, Callbacks) | Custom-drawn IupTree equivalent | iupctrl (ctrl) |
| IupFlatVal | Custom-drawn IupVal equivalent | iupctrl (ctrl) |
Management
IupGetAllClasses, IupGetClassName, IupGetClassType, IupClassMatch, IupGetClassAttributes, IupGetClassCallbacks, IupGetClassAttributeInfo, IupGetClassCallbackFormat, IupGetClassInfo, IupGetClassConstructor, IupSaveClassAttributes, IupCopyClassAttributes, IupSetClassDefaultAttribute
Resources
Drawing and Images
| Element / Function | Description |
|---|---|
| IupImage | In-memory bitmap image (also IupImageRGB and IupImageRGBA) |
| IupDraw | Drawing API on IupCanvas, painted from the ACTION callback |
| IupImageGetHandle | Decodes raw image data into an IupImage |
| IupImageFromHandle | Creates an IupImage from a native image handle |
| IupImageSave | Writes an IupImage to a file |
| IupImageSaveToBuffer | Writes an IupImage to memory |
Keyboard
Keyboard Codes, IupNextField, IupPreviousField, IupGetFocus, IupSetFocus
Menus
IupMenu, IupMenuItem, IupMenuSeparator, IupSubmenu
Handle Names
IupSetHandle, IupGetHandle, IupGetName, IupGetAllNames, IupGetAllDialogs
Language
IupSetLanguage, IupGetLanguage, IupSetLanguageString, IupGetLanguageString, IupSetLanguagePack
Non-Visual Elements
| Element | Description |
|---|---|
| IupClipboard | System clipboard access |
| IupNotify | Desktop / system notification |
| IupLocation | Geolocation source |
| IupSensor | Motion sensor source |
| IupTimer | Periodic timer firing on the main thread |
| IupThread | Background thread element |
| IupTray | System tray / status icon |
| IupUser | Plain element holder for user data or external widgets |
| IupParam | Single typed parameter for IupParamBox / IupGetParam |
| IupParamBox | Container composing a set of IupParam elements |
Configuration
IupConfig creates a configuration database.
| Function | Description |
|---|---|
| IupConfigLoad / IupConfigSave | Load or save the configuration file |
| IupConfigCopy | Copy variables between two databases, optionally excluding a group prefix |
| IupConfigSetVariableStr / Int / Double (and *Id variants) | Store a typed variable under a group/key |
| IupConfigGetVariableStr / Int / Double (and *Id, *Def variants) | Read a typed variable, with an optional default value |
| IupConfigRecentInit / IupConfigRecentUpdate | Initialize and update a Recent Files menu or list |
| IupConfigDialogShow / IupConfigDialogClosed | Persist a dialog's last position and size across runs |
Utilities
IupExecute, IupExecuteWait, IupHelp, IupLog, IupMapFont, IupUnMapFont, IupStringCompare