libui-ng
A portable GUI library for C
ui.h File Reference
#include <stddef.h>
#include <stdint.h>

Go to the source code of this file.

Classes

struct  uiInitOptions
 
struct  uiControl
 Base class for GUI controls providing common methods. More...
 
struct  uiAreaHandler
 
struct  uiAreaDrawParams
 
struct  uiDrawMatrix
 
struct  uiDrawBrush
 
struct  uiDrawBrushGradientStop
 
struct  uiDrawStrokeParams
 
struct  uiFontDescriptor
 
struct  uiDrawTextLayoutParams
 
struct  uiAreaMouseEvent
 
struct  uiAreaKeyEvent
 
struct  uiTableModelHandler
 Developer defined methods for data retrieval and setting. More...
 
struct  uiTableTextColumnOptionalParams
 Optional parameters to control the appearance of text columns. More...
 
struct  uiTableParams
 Table parameters passed to uiNewTable(). More...
 
struct  uiTableSelection
 Holds an array of selected row indices for a table. More...
 

Macros

#define _UI_EXTERN   extern
 
#define _UI_ENUM(s)   typedef unsigned int s; enum
 
#define uiPi   3.14159265358979323846264338327950288419716939937510582097494459
 
#define uiControl(this)   ((uiControl *) (this))
 
#define uiWindow(this)   ((uiWindow *) (this))
 
#define uiButton(this)   ((uiButton *) (this))
 
#define uiBox(this)   ((uiBox *) (this))
 
#define uiCheckbox(this)   ((uiCheckbox *) (this))
 
#define uiEntry(this)   ((uiEntry *) (this))
 
#define uiLabel(this)   ((uiLabel *) (this))
 
#define uiTab(this)   ((uiTab *) (this))
 
#define uiGroup(this)   ((uiGroup *) (this))
 
#define uiSpinbox(this)   ((uiSpinbox *) (this))
 
#define uiSlider(this)   ((uiSlider *) (this))
 
#define uiProgressBar(this)   ((uiProgressBar *) (this))
 
#define uiSeparator(this)   ((uiSeparator *) (this))
 
#define uiCombobox(this)   ((uiCombobox *) (this))
 
#define uiEditableCombobox(this)   ((uiEditableCombobox *) (this))
 
#define uiRadioButtons(this)   ((uiRadioButtons *) (this))
 
#define uiDateTimePicker(this)   ((uiDateTimePicker *) (this))
 
#define uiMultilineEntry(this)   ((uiMultilineEntry *) (this))
 
#define uiMenuItem(this)   ((uiMenuItem *) (this))
 
#define uiMenu(this)   ((uiMenu *) (this))
 
#define uiArea(this)   ((uiArea *) (this))
 
#define uiDrawDefaultMiterLimit   10.0
 
#define uiFontButton(this)   ((uiFontButton *) (this))
 
#define uiColorButton(this)   ((uiColorButton *) (this))
 
#define uiForm(this)   ((uiForm *) (this))
 
#define uiGrid(this)   ((uiGrid *) (this))
 
#define uiTableModelColumnNeverEditable   (-1)
 Parameter to editable model columns to signify all rows are never editable. More...
 
#define uiTableModelColumnAlwaysEditable   (-2)
 Parameter to editable model columns to signify all rows are always editable. More...
 
#define uiTable(this)   ((uiTable *) (this))
 

Typedefs

typedef enum uiForEach uiForEach
 
typedef struct uiInitOptions uiInitOptions
 
typedef struct uiControl uiControl
 
typedef struct uiWindow uiWindow
 
typedef struct uiButton uiButton
 
typedef struct uiBox uiBox
 
typedef struct uiCheckbox uiCheckbox
 
typedef struct uiEntry uiEntry
 
typedef struct uiLabel uiLabel
 
typedef struct uiTab uiTab
 
typedef struct uiGroup uiGroup
 
typedef struct uiSpinbox uiSpinbox
 
typedef struct uiSlider uiSlider
 
typedef struct uiProgressBar uiProgressBar
 
typedef struct uiSeparator uiSeparator
 
typedef struct uiCombobox uiCombobox
 
typedef struct uiEditableCombobox uiEditableCombobox
 
typedef struct uiRadioButtons uiRadioButtons
 
typedef struct uiDateTimePicker uiDateTimePicker
 
typedef struct uiMultilineEntry uiMultilineEntry
 
typedef struct uiMenuItem uiMenuItem
 
typedef struct uiMenu uiMenu
 
typedef struct uiArea uiArea
 
typedef struct uiAreaHandler uiAreaHandler
 
typedef struct uiAreaDrawParams uiAreaDrawParams
 
typedef struct uiAreaMouseEvent uiAreaMouseEvent
 
typedef struct uiAreaKeyEvent uiAreaKeyEvent
 
typedef struct uiDrawContext uiDrawContext
 
typedef enum uiWindowResizeEdge uiWindowResizeEdge
 
typedef struct uiDrawPath uiDrawPath
 
typedef struct uiDrawBrush uiDrawBrush
 
typedef struct uiDrawStrokeParams uiDrawStrokeParams
 
typedef struct uiDrawMatrix uiDrawMatrix
 
typedef struct uiDrawBrushGradientStop uiDrawBrushGradientStop
 
typedef enum uiDrawBrushType uiDrawBrushType
 
typedef enum uiDrawLineCap uiDrawLineCap
 
typedef enum uiDrawLineJoin uiDrawLineJoin
 
typedef enum uiDrawFillMode uiDrawFillMode
 
typedef struct uiAttribute uiAttribute
 
typedef enum uiAttributeType uiAttributeType
 
typedef enum uiTextWeight uiTextWeight
 
typedef enum uiTextItalic uiTextItalic
 
typedef enum uiTextStretch uiTextStretch
 
typedef enum uiUnderline uiUnderline
 
typedef enum uiUnderlineColor uiUnderlineColor
 
typedef struct uiOpenTypeFeatures uiOpenTypeFeatures
 
typedef uiForEach(* uiOpenTypeFeaturesForEachFunc) (const uiOpenTypeFeatures *otf, char a, char b, char c, char d, uint32_t value, void *data)
 
typedef struct uiAttributedString uiAttributedString
 
typedef uiForEach(* uiAttributedStringForEachAttributeFunc) (const uiAttributedString *s, const uiAttribute *a, size_t start, size_t end, void *data)
 
typedef struct uiFontDescriptor uiFontDescriptor
 
typedef struct uiDrawTextLayout uiDrawTextLayout
 
typedef enum uiDrawTextAlign uiDrawTextAlign
 
typedef struct uiDrawTextLayoutParams uiDrawTextLayoutParams
 
typedef struct uiFontButton uiFontButton
 
typedef enum uiModifiers uiModifiers
 
typedef enum uiExtKey uiExtKey
 
typedef struct uiColorButton uiColorButton
 
typedef struct uiForm uiForm
 
typedef enum uiAlign uiAlign
 
typedef enum uiAt uiAt
 
typedef struct uiGrid uiGrid
 
typedef struct uiImage uiImage
 
typedef struct uiTableValue uiTableValue
 
typedef enum uiTableValueType uiTableValueType
 
typedef enum uiSortIndicator uiSortIndicator
 
typedef struct uiTableModel uiTableModel
 
typedef struct uiTableModelHandler uiTableModelHandler
 
typedef struct uiTableTextColumnOptionalParams uiTableTextColumnOptionalParams
 
typedef struct uiTableParams uiTableParams
 
typedef struct uiTable uiTable
 
typedef enum uiTableSelectionMode uiTableSelectionMode
 
typedef struct uiTableSelection uiTableSelection
 

Enumerations

enum  uiForEach { uiForEachContinue , uiForEachStop }
 
enum  uiWindowResizeEdge {
  uiWindowResizeEdgeLeft , uiWindowResizeEdgeTop , uiWindowResizeEdgeRight , uiWindowResizeEdgeBottom ,
  uiWindowResizeEdgeTopLeft , uiWindowResizeEdgeTopRight , uiWindowResizeEdgeBottomLeft , uiWindowResizeEdgeBottomRight
}
 
enum  uiDrawBrushType { uiDrawBrushTypeSolid , uiDrawBrushTypeLinearGradient , uiDrawBrushTypeRadialGradient , uiDrawBrushTypeImage }
 
enum  uiDrawLineCap { uiDrawLineCapFlat , uiDrawLineCapRound , uiDrawLineCapSquare }
 
enum  uiDrawLineJoin { uiDrawLineJoinMiter , uiDrawLineJoinRound , uiDrawLineJoinBevel }
 
enum  uiDrawFillMode { uiDrawFillModeWinding , uiDrawFillModeAlternate }
 
enum  uiAttributeType {
  uiAttributeTypeFamily , uiAttributeTypeSize , uiAttributeTypeWeight , uiAttributeTypeItalic ,
  uiAttributeTypeStretch , uiAttributeTypeColor , uiAttributeTypeBackground , uiAttributeTypeUnderline ,
  uiAttributeTypeUnderlineColor , uiAttributeTypeFeatures
}
 
enum  uiTextWeight {
  uiTextWeightMinimum = 0 , uiTextWeightThin = 100 , uiTextWeightUltraLight = 200 , uiTextWeightLight = 300 ,
  uiTextWeightBook = 350 , uiTextWeightNormal = 400 , uiTextWeightMedium = 500 , uiTextWeightSemiBold = 600 ,
  uiTextWeightBold = 700 , uiTextWeightUltraBold = 800 , uiTextWeightHeavy = 900 , uiTextWeightUltraHeavy = 950 ,
  uiTextWeightMaximum = 1000
}
 
enum  uiTextItalic { uiTextItalicNormal , uiTextItalicOblique , uiTextItalicItalic }
 
enum  uiTextStretch {
  uiTextStretchUltraCondensed , uiTextStretchExtraCondensed , uiTextStretchCondensed , uiTextStretchSemiCondensed ,
  uiTextStretchNormal , uiTextStretchSemiExpanded , uiTextStretchExpanded , uiTextStretchExtraExpanded ,
  uiTextStretchUltraExpanded
}
 
enum  uiUnderline { uiUnderlineNone , uiUnderlineSingle , uiUnderlineDouble , uiUnderlineSuggestion }
 
enum  uiUnderlineColor { uiUnderlineColorCustom , uiUnderlineColorSpelling , uiUnderlineColorGrammar , uiUnderlineColorAuxiliary }
 
enum  uiDrawTextAlign { uiDrawTextAlignLeft , uiDrawTextAlignCenter , uiDrawTextAlignRight }
 
enum  uiModifiers { uiModifierCtrl = 1 << 0 , uiModifierAlt = 1 << 1 , uiModifierShift = 1 << 2 , uiModifierSuper = 1 << 3 }
 Keyboard modifier keys. More...
 
enum  uiExtKey {
  uiExtKeyEscape = 1 , uiExtKeyInsert , uiExtKeyDelete , uiExtKeyHome ,
  uiExtKeyEnd , uiExtKeyPageUp , uiExtKeyPageDown , uiExtKeyUp ,
  uiExtKeyDown , uiExtKeyLeft , uiExtKeyRight , uiExtKeyF1 ,
  uiExtKeyF2 , uiExtKeyF3 , uiExtKeyF4 , uiExtKeyF5 ,
  uiExtKeyF6 , uiExtKeyF7 , uiExtKeyF8 , uiExtKeyF9 ,
  uiExtKeyF10 , uiExtKeyF11 , uiExtKeyF12 , uiExtKeyN0 ,
  uiExtKeyN1 , uiExtKeyN2 , uiExtKeyN3 , uiExtKeyN4 ,
  uiExtKeyN5 , uiExtKeyN6 , uiExtKeyN7 , uiExtKeyN8 ,
  uiExtKeyN9 , uiExtKeyNDot , uiExtKeyNEnter , uiExtKeyNAdd ,
  uiExtKeyNSubtract , uiExtKeyNMultiply , uiExtKeyNDivide
}
 
enum  uiAlign { uiAlignFill , uiAlignStart , uiAlignCenter , uiAlignEnd }
 Alignment specifiers to define placement within the reserved area. More...
 
enum  uiAt { uiAtLeading , uiAtTop , uiAtTrailing , uiAtBottom }
 Placement specifier to define placement in relation to another control. More...
 
enum  uiTableValueType { uiTableValueTypeString , uiTableValueTypeImage , uiTableValueTypeInt , uiTableValueTypeColor }
 uiTableValue types. More...
 
enum  uiSortIndicator { uiSortIndicatorNone , uiSortIndicatorAscending , uiSortIndicatorDescending }
 Sort indicators. More...
 
enum  uiTableSelectionMode { uiTableSelectionModeNone , uiTableSelectionModeZeroOrOne , uiTableSelectionModeOne , uiTableSelectionModeZeroOrMany }
 Table selection modes. More...
 

Functions

const char * uiInit (uiInitOptions *options)
 
void uiUninit (void)
 
void uiFreeInitError (const char *err)
 
void uiMain (void)
 
void uiMainSteps (void)
 
int uiMainStep (int wait)
 
void uiQuit (void)
 
void uiQueueMain (void(*f)(void *data), void *data)
 
void uiTimer (int milliseconds, int(*f)(void *data), void *data)
 
void uiOnShouldQuit (int(*f)(void *data), void *data)
 
void uiFreeText (char *text)
 Free the memory of a returned string. More...
 
void uiUserBugCannotSetParentOnToplevel (const char *type)
 
char * uiOpenFile (uiWindow *parent)
 File chooser dialog window to select a single file. More...
 
char * uiOpenFolder (uiWindow *parent)
 Folder chooser dialog window to select a single folder. More...
 
char * uiSaveFile (uiWindow *parent)
 Save file dialog window. More...
 
void uiMsgBox (uiWindow *parent, const char *title, const char *description)
 Message box dialog window. More...
 
void uiMsgBoxError (uiWindow *parent, const char *title, const char *description)
 Error message box dialog window. More...
 
void uiAreaSetSize (uiArea *a, int width, int height)
 
void uiAreaQueueRedrawAll (uiArea *a)
 
void uiAreaScrollTo (uiArea *a, double x, double y, double width, double height)
 
void uiAreaBeginUserWindowMove (uiArea *a)
 
void uiAreaBeginUserWindowResize (uiArea *a, uiWindowResizeEdge edge)
 
uiAreauiNewArea (uiAreaHandler *ah)
 
uiAreauiNewScrollingArea (uiAreaHandler *ah, int width, int height)
 
uiDrawPathuiDrawNewPath (uiDrawFillMode fillMode)
 
void uiDrawFreePath (uiDrawPath *p)
 
void uiDrawPathNewFigure (uiDrawPath *p, double x, double y)
 
void uiDrawPathNewFigureWithArc (uiDrawPath *p, double xCenter, double yCenter, double radius, double startAngle, double sweep, int negative)
 
void uiDrawPathLineTo (uiDrawPath *p, double x, double y)
 
void uiDrawPathArcTo (uiDrawPath *p, double xCenter, double yCenter, double radius, double startAngle, double sweep, int negative)
 
void uiDrawPathBezierTo (uiDrawPath *p, double c1x, double c1y, double c2x, double c2y, double endX, double endY)
 
void uiDrawPathCloseFigure (uiDrawPath *p)
 
void uiDrawPathAddRectangle (uiDrawPath *p, double x, double y, double width, double height)
 
int uiDrawPathEnded (uiDrawPath *p)
 
void uiDrawPathEnd (uiDrawPath *p)
 
void uiDrawStroke (uiDrawContext *c, uiDrawPath *path, uiDrawBrush *b, uiDrawStrokeParams *p)
 
void uiDrawFill (uiDrawContext *c, uiDrawPath *path, uiDrawBrush *b)
 
void uiDrawMatrixSetIdentity (uiDrawMatrix *m)
 
void uiDrawMatrixTranslate (uiDrawMatrix *m, double x, double y)
 
void uiDrawMatrixScale (uiDrawMatrix *m, double xCenter, double yCenter, double x, double y)
 
void uiDrawMatrixRotate (uiDrawMatrix *m, double x, double y, double amount)
 
void uiDrawMatrixSkew (uiDrawMatrix *m, double x, double y, double xamount, double yamount)
 
void uiDrawMatrixMultiply (uiDrawMatrix *dest, uiDrawMatrix *src)
 
int uiDrawMatrixInvertible (uiDrawMatrix *m)
 
int uiDrawMatrixInvert (uiDrawMatrix *m)
 
void uiDrawMatrixTransformPoint (uiDrawMatrix *m, double *x, double *y)
 
void uiDrawMatrixTransformSize (uiDrawMatrix *m, double *x, double *y)
 
void uiDrawTransform (uiDrawContext *c, uiDrawMatrix *m)
 
void uiDrawClip (uiDrawContext *c, uiDrawPath *path)
 
void uiDrawSave (uiDrawContext *c)
 
void uiDrawRestore (uiDrawContext *c)
 
void uiFreeAttribute (uiAttribute *a)
 
uiAttributeType uiAttributeGetType (const uiAttribute *a)
 
uiAttributeuiNewFamilyAttribute (const char *family)
 
const char * uiAttributeFamily (const uiAttribute *a)
 
uiAttributeuiNewSizeAttribute (double size)
 
double uiAttributeSize (const uiAttribute *a)
 
uiAttributeuiNewWeightAttribute (uiTextWeight weight)
 
uiTextWeight uiAttributeWeight (const uiAttribute *a)
 
uiAttributeuiNewItalicAttribute (uiTextItalic italic)
 
uiTextItalic uiAttributeItalic (const uiAttribute *a)
 
uiAttributeuiNewStretchAttribute (uiTextStretch stretch)
 
uiTextStretch uiAttributeStretch (const uiAttribute *a)
 
uiAttributeuiNewColorAttribute (double r, double g, double b, double a)
 
void uiAttributeColor (const uiAttribute *a, double *r, double *g, double *b, double *alpha)
 
uiAttributeuiNewBackgroundAttribute (double r, double g, double b, double a)
 
uiAttributeuiNewUnderlineAttribute (uiUnderline u)
 
uiUnderline uiAttributeUnderline (const uiAttribute *a)
 
uiAttributeuiNewUnderlineColorAttribute (uiUnderlineColor u, double r, double g, double b, double a)
 
void uiAttributeUnderlineColor (const uiAttribute *a, uiUnderlineColor *u, double *r, double *g, double *b, double *alpha)
 
uiOpenTypeFeaturesuiNewOpenTypeFeatures (void)
 
void uiFreeOpenTypeFeatures (uiOpenTypeFeatures *otf)
 
uiOpenTypeFeaturesuiOpenTypeFeaturesClone (const uiOpenTypeFeatures *otf)
 
void uiOpenTypeFeaturesAdd (uiOpenTypeFeatures *otf, char a, char b, char c, char d, uint32_t value)
 
void uiOpenTypeFeaturesRemove (uiOpenTypeFeatures *otf, char a, char b, char c, char d)
 
int uiOpenTypeFeaturesGet (const uiOpenTypeFeatures *otf, char a, char b, char c, char d, uint32_t *value)
 
void uiOpenTypeFeaturesForEach (const uiOpenTypeFeatures *otf, uiOpenTypeFeaturesForEachFunc f, void *data)
 
uiAttributeuiNewFeaturesAttribute (const uiOpenTypeFeatures *otf)
 
const uiOpenTypeFeaturesuiAttributeFeatures (const uiAttribute *a)
 
uiAttributedStringuiNewAttributedString (const char *initialString)
 
void uiFreeAttributedString (uiAttributedString *s)
 
const char * uiAttributedStringString (const uiAttributedString *s)
 
size_t uiAttributedStringLen (const uiAttributedString *s)
 
void uiAttributedStringAppendUnattributed (uiAttributedString *s, const char *str)
 
void uiAttributedStringInsertAtUnattributed (uiAttributedString *s, const char *str, size_t at)
 
void uiAttributedStringDelete (uiAttributedString *s, size_t start, size_t end)
 
void uiAttributedStringSetAttribute (uiAttributedString *s, uiAttribute *a, size_t start, size_t end)
 
void uiAttributedStringForEachAttribute (const uiAttributedString *s, uiAttributedStringForEachAttributeFunc f, void *data)
 
size_t uiAttributedStringNumGraphemes (uiAttributedString *s)
 
size_t uiAttributedStringByteIndexToGrapheme (uiAttributedString *s, size_t pos)
 
size_t uiAttributedStringGraphemeToByteIndex (uiAttributedString *s, size_t pos)
 
void uiLoadControlFont (uiFontDescriptor *f)
 
void uiFreeFontDescriptor (uiFontDescriptor *desc)
 
uiDrawTextLayoutuiDrawNewTextLayout (uiDrawTextLayoutParams *params)
 
void uiDrawFreeTextLayout (uiDrawTextLayout *tl)
 
void uiDrawText (uiDrawContext *c, uiDrawTextLayout *tl, double x, double y)
 
void uiDrawTextLayoutExtents (uiDrawTextLayout *tl, double *width, double *height)
 

Macro Definition Documentation

◆ _UI_ENUM

#define _UI_ENUM (   s)    typedef unsigned int s; enum

◆ _UI_EXTERN

#define _UI_EXTERN   extern

◆ uiArea

#define uiArea (   this)    ((uiArea *) (this))

◆ uiBox

#define uiBox (   this)    ((uiBox *) (this))

◆ uiButton

#define uiButton (   this)    ((uiButton *) (this))

◆ uiCheckbox

#define uiCheckbox (   this)    ((uiCheckbox *) (this))

◆ uiColorButton

#define uiColorButton (   this)    ((uiColorButton *) (this))

◆ uiCombobox

#define uiCombobox (   this)    ((uiCombobox *) (this))

◆ uiControl

#define uiControl (   this)    ((uiControl *) (this))

◆ uiDateTimePicker

#define uiDateTimePicker (   this)    ((uiDateTimePicker *) (this))

◆ uiDrawDefaultMiterLimit

#define uiDrawDefaultMiterLimit   10.0

◆ uiEditableCombobox

#define uiEditableCombobox (   this)    ((uiEditableCombobox *) (this))

◆ uiEntry

#define uiEntry (   this)    ((uiEntry *) (this))

◆ uiFontButton

#define uiFontButton (   this)    ((uiFontButton *) (this))

◆ uiForm

#define uiForm (   this)    ((uiForm *) (this))

◆ uiGrid

#define uiGrid (   this)    ((uiGrid *) (this))

◆ uiGroup

#define uiGroup (   this)    ((uiGroup *) (this))

◆ uiLabel

#define uiLabel (   this)    ((uiLabel *) (this))

◆ uiMenu

#define uiMenu (   this)    ((uiMenu *) (this))

◆ uiMenuItem

#define uiMenuItem (   this)    ((uiMenuItem *) (this))

◆ uiMultilineEntry

#define uiMultilineEntry (   this)    ((uiMultilineEntry *) (this))

◆ uiPi

#define uiPi   3.14159265358979323846264338327950288419716939937510582097494459

◆ uiProgressBar

#define uiProgressBar (   this)    ((uiProgressBar *) (this))

◆ uiRadioButtons

#define uiRadioButtons (   this)    ((uiRadioButtons *) (this))

◆ uiSeparator

#define uiSeparator (   this)    ((uiSeparator *) (this))

◆ uiSlider

#define uiSlider (   this)    ((uiSlider *) (this))

◆ uiSpinbox

#define uiSpinbox (   this)    ((uiSpinbox *) (this))

◆ uiTab

#define uiTab (   this)    ((uiTab *) (this))

◆ uiTable

#define uiTable (   this)    ((uiTable *) (this))

◆ uiTableModelColumnAlwaysEditable

#define uiTableModelColumnAlwaysEditable   (-2)

Parameter to editable model columns to signify all rows are always editable.

◆ uiTableModelColumnNeverEditable

#define uiTableModelColumnNeverEditable   (-1)

Parameter to editable model columns to signify all rows are never editable.

◆ uiWindow

#define uiWindow (   this)    ((uiWindow *) (this))

Typedef Documentation

◆ uiAlign

typedef enum uiAlign uiAlign

◆ uiArea

typedef struct uiArea uiArea

◆ uiAreaDrawParams

◆ uiAreaHandler

typedef struct uiAreaHandler uiAreaHandler

◆ uiAreaKeyEvent

◆ uiAreaMouseEvent

◆ uiAt

typedef enum uiAt uiAt

◆ uiAttribute

typedef struct uiAttribute uiAttribute

◆ uiAttributedString

◆ uiAttributedStringForEachAttributeFunc

typedef uiForEach(* uiAttributedStringForEachAttributeFunc) (const uiAttributedString *s, const uiAttribute *a, size_t start, size_t end, void *data)

◆ uiAttributeType

◆ uiBox

typedef struct uiBox uiBox

◆ uiButton

typedef struct uiButton uiButton

◆ uiCheckbox

typedef struct uiCheckbox uiCheckbox

◆ uiColorButton

typedef struct uiColorButton uiColorButton

◆ uiCombobox

typedef struct uiCombobox uiCombobox

◆ uiControl

typedef struct uiControl uiControl

◆ uiDateTimePicker

◆ uiDrawBrush

typedef struct uiDrawBrush uiDrawBrush

◆ uiDrawBrushGradientStop

◆ uiDrawBrushType

◆ uiDrawContext

typedef struct uiDrawContext uiDrawContext

◆ uiDrawFillMode

◆ uiDrawLineCap

◆ uiDrawLineJoin

◆ uiDrawMatrix

typedef struct uiDrawMatrix uiDrawMatrix

◆ uiDrawPath

typedef struct uiDrawPath uiDrawPath

◆ uiDrawStrokeParams

◆ uiDrawTextAlign

◆ uiDrawTextLayout

◆ uiDrawTextLayoutParams

◆ uiEditableCombobox

◆ uiEntry

typedef struct uiEntry uiEntry

◆ uiExtKey

typedef enum uiExtKey uiExtKey

◆ uiFontButton

typedef struct uiFontButton uiFontButton

◆ uiFontDescriptor

◆ uiForEach

typedef enum uiForEach uiForEach

◆ uiForm

typedef struct uiForm uiForm

◆ uiGrid

typedef struct uiGrid uiGrid

◆ uiGroup

typedef struct uiGroup uiGroup

◆ uiImage

typedef struct uiImage uiImage

◆ uiInitOptions

typedef struct uiInitOptions uiInitOptions

◆ uiLabel

typedef struct uiLabel uiLabel

◆ uiMenu

typedef struct uiMenu uiMenu

◆ uiMenuItem

typedef struct uiMenuItem uiMenuItem

◆ uiModifiers

typedef enum uiModifiers uiModifiers

◆ uiMultilineEntry

◆ uiOpenTypeFeatures

◆ uiOpenTypeFeaturesForEachFunc

typedef uiForEach(* uiOpenTypeFeaturesForEachFunc) (const uiOpenTypeFeatures *otf, char a, char b, char c, char d, uint32_t value, void *data)

◆ uiProgressBar

typedef struct uiProgressBar uiProgressBar

◆ uiRadioButtons

◆ uiSeparator

typedef struct uiSeparator uiSeparator

◆ uiSlider

typedef struct uiSlider uiSlider

◆ uiSortIndicator

◆ uiSpinbox

typedef struct uiSpinbox uiSpinbox

◆ uiTab

typedef struct uiTab uiTab

◆ uiTable

typedef struct uiTable uiTable

◆ uiTableModel

typedef struct uiTableModel uiTableModel

◆ uiTableModelHandler

◆ uiTableParams

typedef struct uiTableParams uiTableParams

◆ uiTableSelection

◆ uiTableSelectionMode

◆ uiTableTextColumnOptionalParams

◆ uiTableValue

typedef struct uiTableValue uiTableValue

◆ uiTableValueType

◆ uiTextItalic

typedef enum uiTextItalic uiTextItalic

◆ uiTextStretch

◆ uiTextWeight

typedef enum uiTextWeight uiTextWeight

◆ uiUnderline

typedef enum uiUnderline uiUnderline

◆ uiUnderlineColor

◆ uiWindow

typedef struct uiWindow uiWindow

◆ uiWindowResizeEdge

Enumeration Type Documentation

◆ uiAlign

enum uiAlign

Alignment specifiers to define placement within the reserved area.

Used in uiGrid.

Enumerator
uiAlignFill 

Fill area.

uiAlignStart 

Place at start.

uiAlignCenter 

Place in center.

uiAlignEnd 

Place at end.

◆ uiAt

enum uiAt

Placement specifier to define placement in relation to another control.

Used in uiGrid.

Enumerator
uiAtLeading 

Place before control.

uiAtTop 

Place above control.

uiAtTrailing 

Place behind control.

uiAtBottom 

Place below control.

◆ uiAttributeType

Enumerator
uiAttributeTypeFamily 
uiAttributeTypeSize 
uiAttributeTypeWeight 
uiAttributeTypeItalic 
uiAttributeTypeStretch 
uiAttributeTypeColor 
uiAttributeTypeBackground 
uiAttributeTypeUnderline 
uiAttributeTypeUnderlineColor 
uiAttributeTypeFeatures 

◆ uiDrawBrushType

Enumerator
uiDrawBrushTypeSolid 
uiDrawBrushTypeLinearGradient 
uiDrawBrushTypeRadialGradient 
uiDrawBrushTypeImage 

◆ uiDrawFillMode

Enumerator
uiDrawFillModeWinding 
uiDrawFillModeAlternate 

◆ uiDrawLineCap

Enumerator
uiDrawLineCapFlat 
uiDrawLineCapRound 
uiDrawLineCapSquare 

◆ uiDrawLineJoin

Enumerator
uiDrawLineJoinMiter 
uiDrawLineJoinRound 
uiDrawLineJoinBevel 

◆ uiDrawTextAlign

Enumerator
uiDrawTextAlignLeft 
uiDrawTextAlignCenter 
uiDrawTextAlignRight 

◆ uiExtKey

enum uiExtKey
Enumerator
uiExtKeyEscape 
uiExtKeyInsert 
uiExtKeyDelete 
uiExtKeyHome 
uiExtKeyEnd 
uiExtKeyPageUp 
uiExtKeyPageDown 
uiExtKeyUp 
uiExtKeyDown 
uiExtKeyLeft 
uiExtKeyRight 
uiExtKeyF1 
uiExtKeyF2 
uiExtKeyF3 
uiExtKeyF4 
uiExtKeyF5 
uiExtKeyF6 
uiExtKeyF7 
uiExtKeyF8 
uiExtKeyF9 
uiExtKeyF10 
uiExtKeyF11 
uiExtKeyF12 
uiExtKeyN0 
uiExtKeyN1 
uiExtKeyN2 
uiExtKeyN3 
uiExtKeyN4 
uiExtKeyN5 
uiExtKeyN6 
uiExtKeyN7 
uiExtKeyN8 
uiExtKeyN9 
uiExtKeyNDot 
uiExtKeyNEnter 
uiExtKeyNAdd 
uiExtKeyNSubtract 
uiExtKeyNMultiply 
uiExtKeyNDivide 

◆ uiForEach

enum uiForEach
Enumerator
uiForEachContinue 
uiForEachStop 

◆ uiModifiers

Keyboard modifier keys.

Usable as bitmasks.

Enumerator
uiModifierCtrl 

Control key.

uiModifierAlt 

Alternate/Option key.

uiModifierShift 

Shift key.

uiModifierSuper 

Super/Command/Windows key.

◆ uiTableValueType

uiTableValue types.

Todo:
Define whether calling any of the getters on the wrong type is undefined behavior or caught error.
Enumerator
uiTableValueTypeString 
uiTableValueTypeImage 
uiTableValueTypeInt 
uiTableValueTypeColor 

◆ uiTextItalic

Enumerator
uiTextItalicNormal 
uiTextItalicOblique 
uiTextItalicItalic 

◆ uiTextStretch

Enumerator
uiTextStretchUltraCondensed 
uiTextStretchExtraCondensed 
uiTextStretchCondensed 
uiTextStretchSemiCondensed 
uiTextStretchNormal 
uiTextStretchSemiExpanded 
uiTextStretchExpanded 
uiTextStretchExtraExpanded 
uiTextStretchUltraExpanded 

◆ uiTextWeight

Enumerator
uiTextWeightMinimum 
uiTextWeightThin 
uiTextWeightUltraLight 
uiTextWeightLight 
uiTextWeightBook 
uiTextWeightNormal 
uiTextWeightMedium 
uiTextWeightSemiBold 
uiTextWeightBold 
uiTextWeightUltraBold 
uiTextWeightHeavy 
uiTextWeightUltraHeavy 
uiTextWeightMaximum 

◆ uiUnderline

Enumerator
uiUnderlineNone 
uiUnderlineSingle 
uiUnderlineDouble 
uiUnderlineSuggestion 

◆ uiUnderlineColor

Enumerator
uiUnderlineColorCustom 
uiUnderlineColorSpelling 
uiUnderlineColorGrammar 
uiUnderlineColorAuxiliary 

◆ uiWindowResizeEdge

Enumerator
uiWindowResizeEdgeLeft 
uiWindowResizeEdgeTop 
uiWindowResizeEdgeRight 
uiWindowResizeEdgeBottom 
uiWindowResizeEdgeTopLeft 
uiWindowResizeEdgeTopRight 
uiWindowResizeEdgeBottomLeft 
uiWindowResizeEdgeBottomRight 

Function Documentation

◆ uiAreaBeginUserWindowMove()

void uiAreaBeginUserWindowMove ( uiArea a)

◆ uiAreaBeginUserWindowResize()

void uiAreaBeginUserWindowResize ( uiArea a,
uiWindowResizeEdge  edge 
)

◆ uiAreaQueueRedrawAll()

void uiAreaQueueRedrawAll ( uiArea a)

◆ uiAreaScrollTo()

void uiAreaScrollTo ( uiArea a,
double  x,
double  y,
double  width,
double  height 
)

◆ uiAreaSetSize()

void uiAreaSetSize ( uiArea a,
int  width,
int  height 
)

◆ uiAttributeColor()

void uiAttributeColor ( const uiAttribute a,
double *  r,
double *  g,
double *  b,
double *  alpha 
)

◆ uiAttributedStringAppendUnattributed()

void uiAttributedStringAppendUnattributed ( uiAttributedString s,
const char *  str 
)

◆ uiAttributedStringByteIndexToGrapheme()

size_t uiAttributedStringByteIndexToGrapheme ( uiAttributedString s,
size_t  pos 
)

◆ uiAttributedStringDelete()

void uiAttributedStringDelete ( uiAttributedString s,
size_t  start,
size_t  end 
)

◆ uiAttributedStringForEachAttribute()

void uiAttributedStringForEachAttribute ( const uiAttributedString s,
uiAttributedStringForEachAttributeFunc  f,
void *  data 
)

◆ uiAttributedStringGraphemeToByteIndex()

size_t uiAttributedStringGraphemeToByteIndex ( uiAttributedString s,
size_t  pos 
)

◆ uiAttributedStringInsertAtUnattributed()

void uiAttributedStringInsertAtUnattributed ( uiAttributedString s,
const char *  str,
size_t  at 
)

◆ uiAttributedStringLen()

size_t uiAttributedStringLen ( const uiAttributedString s)

◆ uiAttributedStringNumGraphemes()

size_t uiAttributedStringNumGraphemes ( uiAttributedString s)

◆ uiAttributedStringSetAttribute()

void uiAttributedStringSetAttribute ( uiAttributedString s,
uiAttribute a,
size_t  start,
size_t  end 
)

◆ uiAttributedStringString()

const char * uiAttributedStringString ( const uiAttributedString s)

◆ uiAttributeFamily()

const char * uiAttributeFamily ( const uiAttribute a)

◆ uiAttributeFeatures()

const uiOpenTypeFeatures * uiAttributeFeatures ( const uiAttribute a)

◆ uiAttributeGetType()

uiAttributeType uiAttributeGetType ( const uiAttribute a)

◆ uiAttributeItalic()

uiTextItalic uiAttributeItalic ( const uiAttribute a)

◆ uiAttributeSize()

double uiAttributeSize ( const uiAttribute a)

◆ uiAttributeStretch()

uiTextStretch uiAttributeStretch ( const uiAttribute a)

◆ uiAttributeUnderline()

uiUnderline uiAttributeUnderline ( const uiAttribute a)

◆ uiAttributeUnderlineColor()

void uiAttributeUnderlineColor ( const uiAttribute a,
uiUnderlineColor u,
double *  r,
double *  g,
double *  b,
double *  alpha 
)

◆ uiAttributeWeight()

uiTextWeight uiAttributeWeight ( const uiAttribute a)

◆ uiDrawClip()

void uiDrawClip ( uiDrawContext c,
uiDrawPath path 
)

◆ uiDrawFill()

void uiDrawFill ( uiDrawContext c,
uiDrawPath path,
uiDrawBrush b 
)

◆ uiDrawFreePath()

void uiDrawFreePath ( uiDrawPath p)

◆ uiDrawFreeTextLayout()

void uiDrawFreeTextLayout ( uiDrawTextLayout tl)

◆ uiDrawMatrixInvert()

int uiDrawMatrixInvert ( uiDrawMatrix m)

◆ uiDrawMatrixInvertible()

int uiDrawMatrixInvertible ( uiDrawMatrix m)

◆ uiDrawMatrixMultiply()

void uiDrawMatrixMultiply ( uiDrawMatrix dest,
uiDrawMatrix src 
)

◆ uiDrawMatrixRotate()

void uiDrawMatrixRotate ( uiDrawMatrix m,
double  x,
double  y,
double  amount 
)

◆ uiDrawMatrixScale()

void uiDrawMatrixScale ( uiDrawMatrix m,
double  xCenter,
double  yCenter,
double  x,
double  y 
)

◆ uiDrawMatrixSetIdentity()

void uiDrawMatrixSetIdentity ( uiDrawMatrix m)

◆ uiDrawMatrixSkew()

void uiDrawMatrixSkew ( uiDrawMatrix m,
double  x,
double  y,
double  xamount,
double  yamount 
)

◆ uiDrawMatrixTransformPoint()

void uiDrawMatrixTransformPoint ( uiDrawMatrix m,
double *  x,
double *  y 
)

◆ uiDrawMatrixTransformSize()

void uiDrawMatrixTransformSize ( uiDrawMatrix m,
double *  x,
double *  y 
)

◆ uiDrawMatrixTranslate()

void uiDrawMatrixTranslate ( uiDrawMatrix m,
double  x,
double  y 
)

◆ uiDrawNewPath()

uiDrawPath * uiDrawNewPath ( uiDrawFillMode  fillMode)

◆ uiDrawNewTextLayout()

uiDrawTextLayout * uiDrawNewTextLayout ( uiDrawTextLayoutParams params)

◆ uiDrawPathAddRectangle()

void uiDrawPathAddRectangle ( uiDrawPath p,
double  x,
double  y,
double  width,
double  height 
)

◆ uiDrawPathArcTo()

void uiDrawPathArcTo ( uiDrawPath p,
double  xCenter,
double  yCenter,
double  radius,
double  startAngle,
double  sweep,
int  negative 
)

◆ uiDrawPathBezierTo()

void uiDrawPathBezierTo ( uiDrawPath p,
double  c1x,
double  c1y,
double  c2x,
double  c2y,
double  endX,
double  endY 
)

◆ uiDrawPathCloseFigure()

void uiDrawPathCloseFigure ( uiDrawPath p)

◆ uiDrawPathEnd()

void uiDrawPathEnd ( uiDrawPath p)

◆ uiDrawPathEnded()

int uiDrawPathEnded ( uiDrawPath p)

◆ uiDrawPathLineTo()

void uiDrawPathLineTo ( uiDrawPath p,
double  x,
double  y 
)

◆ uiDrawPathNewFigure()

void uiDrawPathNewFigure ( uiDrawPath p,
double  x,
double  y 
)

◆ uiDrawPathNewFigureWithArc()

void uiDrawPathNewFigureWithArc ( uiDrawPath p,
double  xCenter,
double  yCenter,
double  radius,
double  startAngle,
double  sweep,
int  negative 
)

◆ uiDrawRestore()

void uiDrawRestore ( uiDrawContext c)

◆ uiDrawSave()

void uiDrawSave ( uiDrawContext c)

◆ uiDrawStroke()

void uiDrawStroke ( uiDrawContext c,
uiDrawPath path,
uiDrawBrush b,
uiDrawStrokeParams p 
)

◆ uiDrawText()

void uiDrawText ( uiDrawContext c,
uiDrawTextLayout tl,
double  x,
double  y 
)

◆ uiDrawTextLayoutExtents()

void uiDrawTextLayoutExtents ( uiDrawTextLayout tl,
double *  width,
double *  height 
)

◆ uiDrawTransform()

void uiDrawTransform ( uiDrawContext c,
uiDrawMatrix m 
)

◆ uiFreeAttribute()

void uiFreeAttribute ( uiAttribute a)

◆ uiFreeAttributedString()

void uiFreeAttributedString ( uiAttributedString s)

◆ uiFreeFontDescriptor()

void uiFreeFontDescriptor ( uiFontDescriptor desc)

◆ uiFreeInitError()

void uiFreeInitError ( const char *  err)

◆ uiFreeOpenTypeFeatures()

void uiFreeOpenTypeFeatures ( uiOpenTypeFeatures otf)

◆ uiFreeText()

void uiFreeText ( char *  text)

Free the memory of a returned string.

Note
Every time a string is returned from the library, this method should be called. Examples of these functions are uiWindowTitle, uiOpenFile, uiSaveFile, and uiEntryText. It is not required for input strings, e.g. in uiWindowSetTitle.
Parameters
textThe string to free memory

◆ uiInit()

const char * uiInit ( uiInitOptions options)

◆ uiLoadControlFont()

void uiLoadControlFont ( uiFontDescriptor f)

◆ uiMain()

void uiMain ( void  )

◆ uiMainStep()

int uiMainStep ( int  wait)

◆ uiMainSteps()

void uiMainSteps ( void  )

◆ uiNewArea()

uiArea * uiNewArea ( uiAreaHandler ah)

◆ uiNewAttributedString()

uiAttributedString * uiNewAttributedString ( const char *  initialString)

◆ uiNewBackgroundAttribute()

uiAttribute * uiNewBackgroundAttribute ( double  r,
double  g,
double  b,
double  a 
)

◆ uiNewColorAttribute()

uiAttribute * uiNewColorAttribute ( double  r,
double  g,
double  b,
double  a 
)

◆ uiNewFamilyAttribute()

uiAttribute * uiNewFamilyAttribute ( const char *  family)

◆ uiNewFeaturesAttribute()

uiAttribute * uiNewFeaturesAttribute ( const uiOpenTypeFeatures otf)

◆ uiNewItalicAttribute()

uiAttribute * uiNewItalicAttribute ( uiTextItalic  italic)

◆ uiNewOpenTypeFeatures()

uiOpenTypeFeatures * uiNewOpenTypeFeatures ( void  )

◆ uiNewScrollingArea()

uiArea * uiNewScrollingArea ( uiAreaHandler ah,
int  width,
int  height 
)

◆ uiNewSizeAttribute()

uiAttribute * uiNewSizeAttribute ( double  size)

◆ uiNewStretchAttribute()

uiAttribute * uiNewStretchAttribute ( uiTextStretch  stretch)

◆ uiNewUnderlineAttribute()

uiAttribute * uiNewUnderlineAttribute ( uiUnderline  u)

◆ uiNewUnderlineColorAttribute()

uiAttribute * uiNewUnderlineColorAttribute ( uiUnderlineColor  u,
double  r,
double  g,
double  b,
double  a 
)

◆ uiNewWeightAttribute()

uiAttribute * uiNewWeightAttribute ( uiTextWeight  weight)

◆ uiOnShouldQuit()

void uiOnShouldQuit ( int(*)(void *data)  f,
void *  data 
)

◆ uiOpenTypeFeaturesAdd()

void uiOpenTypeFeaturesAdd ( uiOpenTypeFeatures otf,
char  a,
char  b,
char  c,
char  d,
uint32_t  value 
)

◆ uiOpenTypeFeaturesClone()

uiOpenTypeFeatures * uiOpenTypeFeaturesClone ( const uiOpenTypeFeatures otf)

◆ uiOpenTypeFeaturesForEach()

void uiOpenTypeFeaturesForEach ( const uiOpenTypeFeatures otf,
uiOpenTypeFeaturesForEachFunc  f,
void *  data 
)

◆ uiOpenTypeFeaturesGet()

int uiOpenTypeFeaturesGet ( const uiOpenTypeFeatures otf,
char  a,
char  b,
char  c,
char  d,
uint32_t *  value 
)

◆ uiOpenTypeFeaturesRemove()

void uiOpenTypeFeaturesRemove ( uiOpenTypeFeatures otf,
char  a,
char  b,
char  c,
char  d 
)

◆ uiQueueMain()

void uiQueueMain ( void(*)(void *data)  f,
void *  data 
)

◆ uiQuit()

void uiQuit ( void  )

◆ uiTimer()

void uiTimer ( int  milliseconds,
int(*)(void *data)  f,
void *  data 
)

◆ uiUninit()

void uiUninit ( void  )

◆ uiUserBugCannotSetParentOnToplevel()

void uiUserBugCannotSetParentOnToplevel ( const char *  type)