libui-ng
A portable GUI library for C
uiFontButton Struct Reference

A button-like control that opens a font chooser when clicked. More...

#include <ui.h>

Inheritance diagram for uiFontButton:
uiControl

Public Member Functions

void uiFontButtonFont (uiFontButton *b, uiFontDescriptor *desc)
 Returns the selected font. More...
 
void uiFontButtonOnChanged (uiFontButton *b, void(*f)(uiFontButton *sender, void *senderData), void *data)
 Registers a callback for when the font is changed. More...
 
uiFontButtonuiNewFontButton (void)
 Creates a new font button. More...
 
void uiFreeFontButtonFont (uiFontDescriptor *desc)
 Frees a uiFontDescriptor previously filled by uiFontButtonFont(). More...
 
- Public Member Functions inherited from uiControl
void uiControlDestroy (uiControl *c)
 Dispose and free all allocated resources. More...
 
uintptr_t uiControlHandle (uiControl *c)
 Returns the control's OS-level handle. More...
 
uiControluiControlParent (uiControl *c)
 Returns the parent control. More...
 
void uiControlSetParent (uiControl *c, uiControl *parent)
 Sets the control's parent. More...
 
int uiControlToplevel (uiControl *c)
 Returns whether or not the control is a top level control. More...
 
int uiControlVisible (uiControl *c)
 Returns whether or not the control is visible. More...
 
void uiControlShow (uiControl *c)
 Shows the control. More...
 
void uiControlHide (uiControl *c)
 Hides the control. More...
 
int uiControlEnabled (uiControl *c)
 Returns whether or not the control is enabled. More...
 
void uiControlEnable (uiControl *c)
 Enables the control. More...
 
void uiControlDisable (uiControl *c)
 Disables the control. More...
 
uiControluiAllocControl (size_t n, uint32_t OSsig, uint32_t typesig, const char *typenamestr)
 Allocates a uiControl. More...
 
void uiFreeControl (uiControl *c)
 Frees the memory associated with the control reference. More...
 
void uiControlVerifySetParent (uiControl *c, uiControl *parent)
 Makes sure the control's parent can be set to parent. More...
 
int uiControlEnabledToUser (uiControl *c)
 Returns whether or not the control can be interacted with by the user. More...
 

Additional Inherited Members

- Public Attributes inherited from uiControl
uint32_t Signature
 
uint32_t OSSignature
 
uint32_t TypeSignature
 
void(* Destroy )(uiControl *)
 
uintptr_t(* Handle )(uiControl *)
 
uiControl *(* Parent )(uiControl *)
 
void(* SetParent )(uiControl *, uiControl *)
 
int(* Toplevel )(uiControl *)
 
int(* Visible )(uiControl *)
 
void(* Show )(uiControl *)
 
void(* Hide )(uiControl *)
 
int(* Enabled )(uiControl *)
 
void(* Enable )(uiControl *)
 
void(* Disable )(uiControl *)
 

Detailed Description

A button-like control that opens a font chooser when clicked.

@ŧodo SetFont, mechanics

Todo:
Have a function that sets an entire font descriptor to a range in a uiAttributedString at once, for SetFont?

Member Function Documentation

◆ uiFontButtonFont()

void uiFontButtonFont ( uiFontButton b,
uiFontDescriptor desc 
)

Returns the selected font.

Parameters
buiFontButton instance.
[out]descFont descriptor. [Default: OS-dependent].
Note
Make sure to call uiFreeFontButtonFont() to free all allocated resources within desc.

◆ uiFontButtonOnChanged()

void uiFontButtonOnChanged ( uiFontButton b,
void(*)(uiFontButton *sender, void *senderData)  f,
void *  data 
)

Registers a callback for when the font is changed.

Parameters
buiFontButton instance.
fCallback function.
sender Back reference to the instance that triggered the callback.
senderData User data registered with the sender instance.
dataUser data to be passed to the callback.
Note
Only one callback can be registered at a time.

◆ uiFreeFontButtonFont()

void uiFreeFontButtonFont ( uiFontDescriptor desc)

Frees a uiFontDescriptor previously filled by uiFontButtonFont().

After calling this function the contents of desc should be assumed undefined, however you can safely reuse desc.

Calling this function on a uiFontDescriptor not previously filled by uiFontButtonFont() results in undefined behavior.

Parameters
descFont descriptor to free.

◆ uiNewFontButton()

uiFontButton * uiNewFontButton ( void  )

Creates a new font button.

The default font is determined by the OS defaults.

Returns
A new uiFontButton instance.

The documentation for this struct was generated from the following file: