MBFont - Simple font abstraction and rendering tools

mbpixbuf contains simple image manipulation and composition functions for client side images. More...

## Macros

#define | mb_drawable_pixmap(drw) (drw)->xpixmap
| Returns a drawables X pixmap.

## Typedefs

typedef struct MBColor | MBColor
| Its not recommended you touch structure internals directly.
typedef struct MBFont | MBFont
| Its not recommended you touch structure internals directly.
typedef struct MBDrawable | MBDrawable
| Type for representing an mbdrawable.
typedef struct MBLayout | MBLayout
| Experimental and therefore not as yet documented.

## Enumerations

enum | MBEncoding
| enumerated types for text encodings
enum | MBFontWeight
| enumerated types for font weights.
enum | MBFontSlant
| enumerated types for font slant styles
enum | MBFontRenderOpts
| Option flags for text rendering.

## Functions

MBColor * | mb_col_new_from_spec (MBPixbuf *pb, char *spec)
| Constructs a new MBColor from a string specification.
Bool | mb_col_set (MBColor *col, char *spec)
| Sets an existing MBColor from a string specification.
void | mb_col_set_rgba (MBColor *col, unsigned char red, unsigned char green, unsigned char blue, unsigned char alpha)
| Sets an existing MBColor from r,g,b,a values.
void | mb_col_get_rgba (MBColor *col, unsigned char *red, unsigned char *green, unsigned char *blue, unsigned char *alpha)
| Gets an r,g,b,a values from an existing MBColor.
void | mb_col_unref (MBColor *col)
| Unrefs ( frees ) a created MBColor object.
MBFont * | mb_font_new (Display *dpy, char *family)
| Constructs a new MBFont instance.
void | mb_font_ref (MBFont *font)
| Refs a created MBFont object.
void | mb_font_unref (MBFont *font)
| Unrefs ( frees ) a created MBColor object.
MBFont * | mb_font_new_from_string (Display *dpy, char *spec)
| Constructs a new MBFont instance.
MBFont * | mb_font_set_from_string (MBFont *font, char *spec)
| Sets the font propertys from a textual description.
void | mb_font_set_family (MBFont *font, const char *family)
| Sets the fonts family.
char * | mb_font_get_family (MBFont *font)
| Gets the fonts family.
void | mb_font_set_weight (MBFont *font, MBFontWeight weight)
| Sets the fonts weight.
MBFontWeight | mb_font_get_weight (MBFont *font)
| Gets the fonts weight.
void | mb_font_set_slant (MBFont *font, MBFontSlant slant)
| Sets the fonts slant.
void | mb_font_set_point_size (MBFont *font, int points)
| Sets the fonts size.
int | mb_font_get_point_size (MBFont *font)
| Gets the fonts point size.
int | mb_font_set_size_to_pixels (MBFont *font, int max_pixels, int *points_to_try)
| Attempts to fit the point size to a pixel size.
void | mb_font_set_color (MBFont *font, MBColor *col)
| Sets the fonts color.
MBColor * | mb_font_get_color (MBFont *font)
| Gets the fonts point size.
int | mb_font_get_height (MBFont *font)
| Gets the fonts height in pixels.
int | mb_font_get_ascent (MBFont *font)
| Gets the fonts ascent in pixels.
int | mb_font_get_descent (MBFont *font)
| Gets the fonts descent in pixels.
int | mb_font_render_simple (MBFont *font, MBDrawable *drw, int x, int y, int width, unsigned char *text, int encoding, MBFontRenderOpts opts)
| Renders a line of text onto a MBDrawable.
int | mb_font_render_simple_get_width (MBFont *font, int width, unsigned char *text, int encoding, MBFontRenderOpts opts)
| Returns the width in pixels of any text rendered with mb_font_render_simple, taking into account any clipping.
MBDrawable * | mb_drawable_new (MBPixbuf *pixbuf, int width, int height)
| Creates a new MBDrawable instance.
MBDrawable * | mb_drawable_new_from_pixmap (MBPixbuf *pixbuf, Pixmap pxm)
| Creates a new MBDrawable instance from a pre-existing pixmap.
void | mb_drawable_unref (MBDrawable *drw)
| Unrefs ( frees ) a drawable.

## Detailed Description

mbpixbuf contains simple image manipulation and composition functions for client side images.

## Typedef Documentation

## MBDrawable

MBDrawable

Type for representing an mbdrawable.

This basically wraps X pixmaps and Xft Drawables

Its not recommended you touch this directly.

## MBLayout

MBLayout

Experimental and therefore not as yet documented.

Its not recommended you touch this directly.

## Function Documentation

## mb_col_get_rgba()

void mb_col_get_rgba | ( | MBColor * | col,
|  | unsigned char * | red,
|  | unsigned char * | green,
|  | unsigned char * | blue,
|  | unsigned char * | alpha
| ) |  |

Gets an r,g,b,a values from an existing MBColor.

Parameters

  col | MBColor object to query
  red | red component
  green | green component
  blue | blue component
  alpha | alpha component

## mb_col_new_from_spec()

MBColor * mb_col_new_from_spec | ( | MBPixbuf * | pb,
|  | char * | spec
| ) |  |

Constructs a new MBColor from a string specification.

The format of the specification can be a color name or the format '#rrggbb[aa]'

Parameters

  pb | MBPixbuf reference
  spec |

Returns
  a MBColor object or NULL on failure.

## mb_col_set()

Bool mb_col_set | ( | MBColor * | col,
|  | char * | spec
| ) |  |

Sets an existing MBColor from a string specification.

The format of the specification can be a color name or the format '#rrggbb[aa]'

Parameters

  col | MBColor object to modify
  spec | New Color specification

Returns
  True or False on failure.

## mb_col_set_rgba()

void mb_col_set_rgba | ( | MBColor * | col,
|  | unsigned char | red,
|  | unsigned char | green,
|  | unsigned char | blue,
|  | unsigned char | alpha
| ) |  |

Sets an existing MBColor from r,g,b,a values.

Parameters

  col | MBColor object to modify
  red | red component
  green | green component
  blue | blue component
  alpha | alpha component

## mb_col_unref()

void mb_col_unref | ( | MBColor * | col | ) |

Unrefs ( frees ) a created MBColor object.

Parameters

  col | MBColor object to unref

## mb_drawable_new()

MBDrawable * mb_drawable_new | ( | MBPixbuf * | pixbuf,
|  | int | width,
|  | int | height
| ) |  |

Creates a new MBDrawable instance.

MBDrawables are what MBfonts get rendered too.

Parameters

  pixbuf | A MBPixbuf Instance.
  width | Width of requested drawable.
  height | Height of requested drawable.

Returns
  A MBDrawable Instance

## mb_drawable_new_from_pixmap()

MBDrawable * mb_drawable_new_from_pixmap | ( | MBPixbuf * | pixbuf,
|  | Pixmap | pxm
| ) |  |

Creates a new MBDrawable instance from a pre-existing pixmap.

Note, if created like this you are responsable for freeing the the drawables pixmap

Parameters

  pixbuf | A MBPixbuf Instance.
  pxm | the pixmap to create the drawable from

Returns
  A MBDrawable Instance

## mb_drawable_unref()

void mb_drawable_unref | ( | MBDrawable * | drw | ) |

Unrefs ( frees ) a drawable.

Parameters

  drw | MBDrawable to unref

## mb_font_get_ascent()

int mb_font_get_ascent | ( | MBFont * | font | ) |

Gets the fonts ascent in pixels.

Parameters

  font | The font to query

Returns
  The font ascent in pixels

## mb_font_get_color()

MBColor * mb_font_get_color | ( | MBFont * | font | ) |

Gets the fonts point size.

Parameters

  font | The font to query

Returns
  The fonts color

## mb_font_get_descent()

int mb_font_get_descent | ( | MBFont * | font | ) |

Gets the fonts descent in pixels.

Parameters

  font | The font to query

Returns
  The font descent in pixels

## mb_font_get_family()

char * mb_font_get_family | ( | MBFont * | font | ) |

Gets the fonts family.

Parameters

  font | The font to query

Returns
  font family name

## mb_font_get_height()

int mb_font_get_height | ( | MBFont * | font | ) |

Gets the fonts height in pixels.

Parameters

  font | The font to query

Returns
  The font height in pixels

## mb_font_get_point_size()

int mb_font_get_point_size | ( | MBFont * | font | ) |

Gets the fonts point size.

Parameters

  font | The font to query

Returns
  The font point size

## mb_font_get_weight()

MBFontWeight mb_font_get_weight | ( | MBFont * | font | ) |

Gets the fonts weight.

Parameters

  font | The font to query

Returns
  The font weight

## mb_font_new()

MBFont * mb_font_new | ( | Display * | dpy,
|  | char * | family
| ) |  |

Constructs a new MBFont instance.

Parameters

  dpy | X Display
  family | font family name or NULL

Returns
  a MBFont object or NULL on failure.

## mb_font_new_from_string()

MBFont * mb_font_new_from_string | ( | Display * | dpy,
|  | char * | spec
| ) |  |

Constructs a new MBFont instance.

Parameters

  dpy | X Display
  spec | A description of the font. This will take Gtk2 style font descriptions or Xft style ones

Returns
  a MBFont object or NULL on failure.

## mb_font_ref()

void mb_font_ref | ( | MBFont * | font | ) |

Refs a created MBFont object.

Parameters

  font | MBFont object to unref

## mb_font_render_simple()

int mb_font_render_simple | ( | MBFont * | font,
|  | MBDrawable * | drw,
|  | int | x,
|  | int | y,
|  | int | width,
|  | unsigned char * | text,
|  | int | encoding,
|  | MBFontRenderOpts | opts
| ) |  |

Renders a line of text onto a MBDrawable.

Parameters

  font | The font to render
  drw | The MBDrawable to render too
  x | The X position on MBDrawable to render too
  y | The Y position on MBDrawable to render too
  width | The maximum width in pixels to render
  text | The text to render.
  encoding | the encoding of the text to render
  opts | Or'd MBFontRenderOpts

Returns
  The number of glyths rendered

## mb_font_render_simple_get_width()

int mb_font_render_simple_get_width | ( | MBFont * | font,
|  | int | width,
|  | unsigned char * | text,
|  | int | encoding,
|  | MBFontRenderOpts | opts
| ) |  |

Returns the width in pixels of any text rendered with mb_font_render_simple, taking into account any clipping.

Parameters

  font | The font to render
  width | The maximum width in pixels to render
  text | The text to render.
  encoding | the encoding of the text to render
  opts | Or'd MBFontRenderOpts

Returns
  The width in pixels

## mb_font_set_color()

void mb_font_set_color | ( | MBFont * | font,
|  | MBColor * | col
| ) |  |

Sets the fonts color.

Note you must set a fonts color for it to be rendered

- there is no default.

Parameters

  font | The font to alter
  col | The requested color.

## mb_font_set_family()

void mb_font_set_family | ( | MBFont * | font,
|  | const char * | family
| ) |  |

Sets the fonts family.

Parameters

  font | the font to alter
  family | font family name

## mb_font_set_from_string()

MBFont * mb_font_set_from_string | ( | MBFont * | font,
|  | char * | spec
| ) |  |

Sets the font propertys from a textual description.

Parameters

  font | the font to alter
  spec | A description of the font. This will take Gtk2 style font descriptions or Xft style ones

Returns
  the MBFont object

## mb_font_set_point_size()

void mb_font_set_point_size | ( | MBFont * | font,
|  | int | points
| ) |  |

Sets the fonts size.

Parameters

  font | The font to alter
  points | requested size in points

## mb_font_set_size_to_pixels()

int mb_font_set_size_to_pixels | ( | MBFont * | font,
|  | int | max_pixels,
|  | int * | points_to_try
| ) |  |

Attempts to fit the point size to a pixel size.

Parameters

  font | The font to alter
  max_pixels | Pixel size to fit to
  points_to_try | a list on point sizes to try or NULL ( to use default values )

Returns
  1 on a successful fit, 0 on failure.

## mb_font_set_slant()

void mb_font_set_slant | ( | MBFont * | font,
|  | MBFontSlant | slant
| ) |  |

Sets the fonts slant.

Parameters

  font | The font to alter
  slant | The requested font slant

## mb_font_set_weight()

void mb_font_set_weight | ( | MBFont * | font,
|  | MBFontWeight | weight
| ) |  |

Sets the fonts weight.

Parameters

  font | The font to alter
  weight | The requested font weight

## mb_font_unref()

void mb_font_unref | ( | MBFont * | font | ) |

Unrefs ( frees ) a created MBColor object.

Parameters

  font | MBFont object to unref