Main Page Alphabetical List Data Structures File List Data Fields Globals

# recorder.c File Reference

## Functions
wmfCanvas * | wmf_canvas (wmfAPI *API, unsigned short width, unsigned short height, unsigned short dpi)
unsigned char * | wmf_canvas_done (wmfAPI *API, wmfCanvas *canvas, unsigned char **buffer, unsigned long *length)
int | wmf_canvas_set_pen (wmfAPI *API, wmfCanvas *canvas, unsigned short line, unsigned short endcap, unsigned short join, unsigned short width, wmfRGB color)
int | wmf_canvas_set_brush (wmfAPI *API, wmfCanvas *canvas, unsigned short style, unsigned short hatch, wmfRGB color)
int | wmf_canvas_set_font (wmfAPI *API, wmfCanvas *canvas, const char *name, unsigned short size, unsigned short orient, unsigned short weight, unsigned short italic, unsigned short strike, unsigned short uscore, unsigned short encode, unsigned short pitch)
int | wmf_canvas_set_polyfill (wmfAPI *API, wmfCanvas *canvas, unsigned short mode)
int | wmf_canvas_set_background (wmfAPI *API, wmfCanvas *canvas, unsigned short mode)
int | wmf_canvas_set_bgcolor (wmfAPI *API, wmfCanvas *canvas, wmfRGB color)
int | wmf_canvas_set_textcolor (wmfAPI *API, wmfCanvas *canvas, wmfRGB color)
int | wmf_canvas_line (wmfAPI *API, wmfCanvas *canvas, unsigned short x1, unsigned short y1, unsigned short x2, unsigned short y2)
int | wmf_canvas_roundrect (wmfAPI *API, wmfCanvas *canvas, unsigned short left, unsigned short top, unsigned short right, unsigned short bottom, unsigned short rx, unsigned short ry)
int | wmf_canvas_rect (wmfAPI *API, wmfCanvas *canvas, unsigned short left, unsigned short top, unsigned short right, unsigned short bottom)
int | wmf_canvas_ellipse (wmfAPI *API, wmfCanvas *canvas, unsigned short left, unsigned short top, unsigned short right, unsigned short bottom)
int | wmf_canvas_arc (wmfAPI *API, wmfCanvas *canvas, unsigned short left, unsigned short top, unsigned short right, unsigned short bottom, unsigned short x1, unsigned short y1, unsigned short x2, unsigned short y2, wmf_canvas_arc_t type)
int | wmf_canvas_polyline (wmfAPI *API, wmfCanvas *canvas, unsigned short *x, unsigned short *y, unsigned short N)
int | wmf_canvas_polygon (wmfAPI *API, wmfCanvas *canvas, unsigned short *x, unsigned short *y, unsigned short N)
int | wmf_canvas_polygons (wmfAPI *API, wmfCanvas *canvas, unsigned short count, unsigned short **x, unsigned short **y, unsigned short *N)
int | wmf_canvas_text (wmfAPI *API, wmfCanvas *canvas, unsigned short x, unsigned short y, const char *str)
int | wmf_canvas_bitmap (wmfAPI *API, wmfCanvas *canvas, unsigned short x, unsigned short y, unsigned short width, unsigned short height, const unsigned char *buffer, unsigned long length)

## Function Documentation

wmfCanvas* wmf_canvas | ( | wmfAPI * | API,
|  | unsigned short | width,
|  | unsigned short | height,
|  | unsigned short | dpi
| ) |

  | Get a handle for creating a new metafile. Parameters:
  API | the API handle
  width | width in 'dots' (a.k.a. 'twips'?)
  height | height in 'dots' (a.k.a. 'twips'?)
  dpi | dots per inch: one of 1440, 2880, 720, or 360
In case you want to use simple drawing routines to create your own metafile; all drawing commands expect a wmfCanvas handle as well as the API handle. Returns: Returns 0 on failure.

int wmf_canvas_arc | ( | wmfAPI * | API,
|  | wmfCanvas * | canvas,
|  | unsigned short | left,
|  | unsigned short | top,
|  | unsigned short | right,
|  | unsigned short | bottom,
|  | unsigned short | x1,
|  | unsigned short | y1,
|  | unsigned short | x2,
|  | unsigned short | y2,
|  | wmf_canvas_arc_t | type
| ) |

  | Draw an arc, open or fill as chord or pie. Parameters:
  API | the API handle
  canvas | the Canvas handle for the metafile you are drawing to
  left | lower x-coordinate
  top | lower y-coordinate
  right | upper x-coordinate
  bottom | upper y-coordinate
  x1 | x-coordinate of start of arc
  y1 | y-coordinate of start of arc
  x2 | x-coordinate of end of arc
  y2 | y-coordinate of end of arc
  type | arc type (open, chord or pie)
Draw an arc in the given bounding box, from (x1,y1) to (x2,y2). Coordinate origin is at the top-left, y increasing down. Returns: Returns 0 on success.

int wmf_canvas_bitmap | ( | wmfAPI * | API,
|  | wmfCanvas * | canvas,
|  | unsigned short | x,
|  | unsigned short | y,
|  | unsigned short | width,
|  | unsigned short | height,
|  | const unsigned char * | buffer,
|  | unsigned long | length
| ) |

  | Place a bitmap. Parameters:
  API | the API handle
  canvas | the Canvas handle for the metafile you are drawing to
  x | x-coordinate of bitmap
  y | y-coordinate of bitmap
  width | (scaled) width of bitmap
  height | (scaled) height of bitmap
  buffer | buffer containing bitmap
  length | length of buffer
Place a bitmap. Returns: Returns 0 on success.

unsigned char* wmf_canvas_done | ( | wmfAPI * | API,
|  | wmfCanvas * | canvas,
|  | unsigned char ** | buffer,
|  | unsigned long * | length
| ) |

  | Last command when creating a new metafile; returns the metafile you have drawn. Parameters:
  API | the API handle
  canvas | the Canvas handle for the metafile you are drawing to
  buffer | metafile buffer return
  length | metafile length return
Cleans up memory etc. associated with the canvas process, except of course for the new metafile itself which gets returned. Returns: Returns 0 on failure, *buffer on success

int wmf_canvas_ellipse | ( | wmfAPI * | API,
|  | wmfCanvas * | canvas,
|  | unsigned short | left,
|  | unsigned short | top,
|  | unsigned short | right,
|  | unsigned short | bottom
| ) |

  | Draw an ellipse. Parameters:
  API | the API handle
  canvas | the Canvas handle for the metafile you are drawing to
  left | lower x-coordinate
  top | lower y-coordinate
  right | upper x-coordinate
  bottom | upper y-coordinate
Draw an ellipse in the given bounding box. Coordinate origin is at the top-left, y increasing down. Returns: Returns 0 on success.

int wmf_canvas_line | ( | wmfAPI * | API,
|  | wmfCanvas * | canvas,
|  | unsigned short | x1,
|  | unsigned short | y1,
|  | unsigned short | x2,
|  | unsigned short | y2
| ) |

  | Draw a line. Parameters:
  API | the API handle
  canvas | the Canvas handle for the metafile you are drawing to
  x1 | x-coordinate of start point
  y1 | y-coordinate of start point
  x2 | x-coordinate of end point
  y2 | y-coordinate of end point
Draw line from (x1,y1) to (x2,y2). Returns: Returns 0 on success.

int wmf_canvas_polygon | ( | wmfAPI * | API,
|  | wmfCanvas * | canvas,
|  | unsigned short * | x,
|  | unsigned short * | y,
|  | unsigned short | N
| ) |

  | Draw a polygon. Parameters:
  API | the API handle
  canvas | the Canvas handle for the metafile you are drawing to
  x | array of N x-coordinates
  y | array of N y-coordinates
  N | number of points of polygon
Draw a polygon. Returns: Returns 0 on success.

int wmf_canvas_polygons | ( | wmfAPI * | API,
|  | wmfCanvas * | canvas,
|  | unsigned short | count,
|  | unsigned short ** | x,
|  | unsigned short ** | y,
|  | unsigned short * | N
| ) |

  | Draw a set of polygons. Parameters:
  API | the API handle
  canvas | the Canvas handle for the metafile you are drawing to
  count | number of polygons [i = 0..count-1]
  x | x[i] is array of N x-coordinates in ith polygon
  y | y[i] is array of N y-coordinates in ith polygon
  N | N[i] is number of points of ith polygon
Draw a set of polygons. Returns: Returns 0 on success.

int wmf_canvas_polyline | ( | wmfAPI * | API,
|  | wmfCanvas * | canvas,
|  | unsigned short * | x,
|  | unsigned short * | y,
|  | unsigned short | N
| ) |

  | Draw a line connecting a sequence of points. Parameters:
  API | the API handle
  canvas | the Canvas handle for the metafile you are drawing to
  x | array of N x-coordinates
  y | array of N y-coordinates
  N | number of points on line
Draw a line connecting a sequence of points. Returns: Returns 0 on success.

int wmf_canvas_rect | ( | wmfAPI * | API,
|  | wmfCanvas * | canvas,
|  | unsigned short | left,
|  | unsigned short | top,
|  | unsigned short | right,
|  | unsigned short | bottom
| ) |

  | Draw a rectangle. Parameters:
  API | the API handle
  canvas | the Canvas handle for the metafile you are drawing to
  left | lower x-coordinate
  top | lower y-coordinate
  right | upper x-coordinate
  bottom | upper y-coordinate
Draw a rectangle. Coordinate origin is at the top-left, y increasing down. Returns: Returns 0 on success.

int wmf_canvas_roundrect | ( | wmfAPI * | API,
|  | wmfCanvas * | canvas,
|  | unsigned short | left,
|  | unsigned short | top,
|  | unsigned short | right,
|  | unsigned short | bottom,
|  | unsigned short | rx,
|  | unsigned short | ry
| ) |

  | Draw a rounded rectangle. Parameters:
  API | the API handle
  canvas | the Canvas handle for the metafile you are drawing to
  left | lower x-coordinate
  top | lower y-coordinate
  right | upper x-coordinate
  bottom | upper y-coordinate
  rx | x-axis of corner ellipse
  ry | y-axis of corner ellipse
Draw a rounded rectangle. Coordinate origin is at the top-left, y increasing down. Returns: Returns 0 on success.

int wmf_canvas_set_background | ( | wmfAPI * | API,
|  | wmfCanvas * | canvas,
|  | unsigned short | mode
| ) |

  | Set background mode. Parameters:
  API | the API handle
  canvas | the Canvas handle for the metafile you are drawing to
  mode | one of TRANSPARENT or OPAQUE
Set background mode. Returns: Returns 0 on success.

int wmf_canvas_set_bgcolor | ( | wmfAPI * | API,
|  | wmfCanvas * | canvas,
|  | wmfRGB | color
| ) |

  | Set background color. Parameters:
  API | the API handle
  canvas | the Canvas handle for the metafile you are drawing to
  color | background color
Set background color. Returns: Returns 0 on success.

int wmf_canvas_set_brush | ( | wmfAPI * | API,
|  | wmfCanvas * | canvas,
|  | unsigned short | style,
|  | unsigned short | hatch,
|  | wmfRGB | color
| ) |

  | Change current brush style. Parameters:
  API | the API handle
  canvas | the Canvas handle for the metafile you are drawing to
  style | one of BS_SOLID, BS_NULL, or BS_HATCHED
  hatch | one of HS_HORIZONTAL, HS_VERTICAL, HS_FDIAGONAL, HS_BDIAGONAL, HS_CROSS or HS_DIAGCROSS
  color | stroke color
Brush settings to be used with next drawing command. Returns: Returns 0 on success.

int wmf_canvas_set_font | ( | wmfAPI * | API,
|  | wmfCanvas * | canvas,
|  | const char * | name,
|  | unsigned short | size,
|  | unsigned short | orient,
|  | unsigned short | weight,
|  | unsigned short | italic,
|  | unsigned short | strike,
|  | unsigned short | uscore,
|  | unsigned short | encode,
|  | unsigned short | pitch
| ) |

  | Change current font. Parameters:
  API | the API handle
  canvas | the Canvas handle for the metafile you are drawing to
  name | font name
  size | font height (in twips)
  orient | text rotation in tenths of degrees
  weight | 400 for normal text, 700 for bold
  italic | 0 for normal text, 1 for oblique/italic
  strike | 0 for normal text, 1 for strike-through
  uscore | 0 for normal text, 1 for underscore (I think; and 2 for double uscore ??)
  encode | encoding; 0 for most fonts, 2 for symbol fonts; presumably others...
  pitch | italic angle; usually 0 (webdings), 16 (times), 32 (arial) or 48 (courier)
Font settings to be used with next drawing command. Returns: Returns 0 on success.

int wmf_canvas_set_pen | ( | wmfAPI * | API,
|  | wmfCanvas * | canvas,
|  | unsigned short | line,
|  | unsigned short | endcap,
|  | unsigned short | join,
|  | unsigned short | width,
|  | wmfRGB | color
| ) |

  | Change current pen style. Parameters:
  API | the API handle
  canvas | the Canvas handle for the metafile you are drawing to
  line | one of PS_SOLID, PS_DASH, PS_DOT, PS_DASHDOT, PS_DASHDOTDOT, PS_NULL, PS_INSIDEFRAME, PS_USERSTYLE, or PS_ALTERNATE
  endcap | one of PS_ENDCAP_ROUND, PS_ENDCAP_SQUARE, or PS_ENDCAP_FLAT
  join | one of PS_JOIN_ROUND, PS_JOIN_BEVEL, or PS_JOIN_MITER
  width | stroke width
  color | stroke color
Pen settings to be used with next drawing command. Returns: Returns 0 on success.

int wmf_canvas_set_polyfill | ( | wmfAPI * | API,
|  | wmfCanvas * | canvas,
|  | unsigned short | mode
| ) |

  | Set polygon fill mode. Parameters:
  API | the API handle
  canvas | the Canvas handle for the metafile you are drawing to
  mode | one of ALTERNATE or WINDING
Set polygon fill mode. Returns: Returns 0 on success.

int wmf_canvas_set_textcolor | ( | wmfAPI * | API,
|  | wmfCanvas * | canvas,
|  | wmfRGB | color
| ) |

  | Set text color. Parameters:
  API | the API handle
  canvas | the Canvas handle for the metafile you are drawing to
  color | text color
Set text color. Returns: Returns 0 on success.

int wmf_canvas_text | ( | wmfAPI * | API,
|  | wmfCanvas * | canvas,
|  | unsigned short | x,
|  | unsigned short | y,
|  | const char * | str
| ) |

  | Draw text. Parameters:
  API | the API handle
  canvas | the Canvas handle for the metafile you are drawing to
  x | x-coordinate of string
  y | y-coordinate of string
  str | the text string to be drawn
Draw text. Returns: Returns 0 on success.