LibMB  1.9
Defines | Typedefs | Enumerations | Functions
MBFont - Simple font abstraction and rendering tools

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

Defines

#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

MBColormb_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.
MBFontmb_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.
MBFontmb_font_new_from_string (Display *dpy, char *spec)
 Constructs a new MBFont instance.
MBFontmb_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.
MBColormb_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.
MBDrawablemb_drawable_new (MBPixbuf *pixbuf, int width, int height)
 Creates a new MBDrawable instance.
MBDrawablemb_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

Type for representing an mbdrawable.

This basically wraps X pixmaps and Xft Drawables

Its not recommended you touch this directly.

Experimental and therefore not as yet documented.

Its not recommended you touch this directly.


Function Documentation

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:
colMBColor object to query
redred component
greengreen component
blueblue component
alphaalpha component
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:
pbMBPixbuf reference
spec
Returns:
a MBColor object or NULL on failure.
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:
colMBColor object to modify
specNew Color specification
Returns:
True or False on failure.
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:
colMBColor object to modify
redred component
greengreen component
blueblue component
alphaalpha component
void mb_col_unref ( MBColor col)

Unrefs ( frees ) a created MBColor object.

Parameters:
colMBColor object to unref
MBDrawable* mb_drawable_new ( MBPixbuf pixbuf,
int  width,
int  height 
)

Creates a new MBDrawable instance.

MBDrawables are what MBfonts get rendered too.

Parameters:
pixbufA MBPixbuf Instance.
widthWidth of requested drawable.
heightHeight of requested drawable.
Returns:
A MBDrawable Instance
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:
pixbufA MBPixbuf Instance.
pxmthe pixmap to create the drawable from
Returns:
A MBDrawable Instance
void mb_drawable_unref ( MBDrawable drw)

Unrefs ( frees ) a drawable.

Parameters:
drwMBDrawable to unref
int mb_font_get_ascent ( MBFont font)

Gets the fonts ascent in pixels.

Parameters:
fontThe font to query
Returns:
The font ascent in pixels

Gets the fonts point size.

Parameters:
fontThe font to query
Returns:
The fonts color
int mb_font_get_descent ( MBFont font)

Gets the fonts descent in pixels.

Parameters:
fontThe font to query
Returns:
The font descent in pixels
char* mb_font_get_family ( MBFont font)

Gets the fonts family.

Parameters:
fontThe font to query
Returns:
font family name
int mb_font_get_height ( MBFont font)

Gets the fonts height in pixels.

Parameters:
fontThe font to query
Returns:
The font height in pixels
int mb_font_get_point_size ( MBFont font)

Gets the fonts point size.

Parameters:
fontThe font to query
Returns:
The font point size

Gets the fonts weight.

Parameters:
fontThe font to query
Returns:
The font weight
MBFont* mb_font_new ( Display *  dpy,
char *  family 
)

Constructs a new MBFont instance.

Parameters:
dpyX Display
familyfont family name or NULL
Returns:
a MBFont object or NULL on failure.
MBFont* mb_font_new_from_string ( Display *  dpy,
char *  spec 
)

Constructs a new MBFont instance.

Parameters:
dpyX Display
specA description of the font. This will take Gtk2 style font descriptions or Xft style ones
Returns:
a MBFont object or NULL on failure.
void mb_font_ref ( MBFont font)

Refs a created MBFont object.

Parameters:
fontMBFont object to unref
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:
fontThe font to render
drwThe MBDrawable to render too
xThe X position on MBDrawable to render too
yThe Y position on MBDrawable to render too
widthThe maximum width in pixels to render
textThe text to render.
encodingthe encoding of the text to render
optsOr'd MBFontRenderOpts
Returns:
The number of glyths rendered
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:
fontThe font to render
widthThe maximum width in pixels to render
textThe text to render.
encodingthe encoding of the text to render
optsOr'd MBFontRenderOpts
Returns:
The width in pixels
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:
fontThe font to alter
colThe requested color.
void mb_font_set_family ( MBFont font,
const char *  family 
)

Sets the fonts family.

Parameters:
fontthe font to alter
familyfont family name
MBFont* mb_font_set_from_string ( MBFont font,
char *  spec 
)

Sets the font propertys from a textual description.

Parameters:
fontthe font to alter
specA description of the font. This will take Gtk2 style font descriptions or Xft style ones
Returns:
the MBFont object
void mb_font_set_point_size ( MBFont font,
int  points 
)

Sets the fonts size.

Parameters:
fontThe font to alter
pointsrequested size in points
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:
fontThe font to alter
max_pixelsPixel size to fit to
points_to_trya list on point sizes to try or NULL ( to use default values )
Returns:
1 on a successful fit, 0 on failure.
void mb_font_set_slant ( MBFont font,
MBFontSlant  slant 
)

Sets the fonts slant.

Parameters:
fontThe font to alter
slantThe requested font slant
void mb_font_set_weight ( MBFont font,
MBFontWeight  weight 
)

Sets the fonts weight.

Parameters:
fontThe font to alter
weightThe requested font weight
void mb_font_unref ( MBFont font)

Unrefs ( frees ) a created MBColor object.

Parameters:
fontMBFont object to unref