Library: karmagraphics Link With: -lkarmagraphics
Create a managed overlay object list.
Parameters:
This routine will specify horizontal and vertical label matching for an overlay list based on the dimension names of a 2-dimensional Intelligent Array. No further restrictions are imposed (any existing restrictions are removed) if the Intelligent Array is a pure 2-dimensional array. If the array is an alias of a plane of a 3-dimensional (or greater) array, then further restrictions are imposed.
This routine will register a world canvas to extract specification information from for all future overlay objects which are created with an overlay object list.
This routine will register a world canvas to display overlay objects on when overlay objects received (either by overlay_* function calls within the application or over a "2D_overlay" connection). Multiple canvases may be associated with an overlay list.
Dissassociate a world canvas to display overlay objects.
Redraw an overlay list onto a world canvas.
Add a line to an overlay object list. See also []. Parameters:olist : The overlay list object. type0 : The type of the first co-ordinate. x0 : The horizontal position of the first co-ordinate. y0 : The vertical position of the first co-ordinate. type1 : The type of the second co-ordinate. x1 : The horizontal position of the second co-ordinate. y1 : The vertical position of the second co-ordinate. colourname : The colourname. Returns: The objectID on success, else 0. Multithreading Level: Unsafe unsigned int overlay_lines (KOverlayList olist, unsigned int num_coords, unsigned int *types, double *x_arr, double *y_arr, char *colourname) This routine will add a number of connected lines to an overlay object list. These lines will form a single object. Using this routine is far more efficient than calling overlay_line repeatedly. Parameters:olist : The overlay list. num_coords : The number of co-ordinates. The number of lines is one less than this value. types : An array of co-ordinate types. If this is NULL, all co-ordinates are assumed to be world co-ordinates. x_arr : The horizontal co-ordinate values. y_arr : The vertical co-ordinate values. colourname : The colourname. Returns: The objectID on success, else 0. Multithreading Level: Unsafe unsigned int overlay_text (KOverlayList olist, char *string, unsigned int type, double x, double y, char *colourname, char *fontname, flag clear_under) Add a text string to an overlay object list. Parameters:olist : The overlay list object. string : The text string. type : The type of the co-ordinate. x : The horizontal position of the co-ordinate. y : The vertical position of the co-ordinate. colourname : The colourname. fontname : The font name. clear_under : If TRUE, then both the foreground and background of the characters will be drawn. Returns: The objectID on success, else 0. Multithreading Level: Unsafe unsigned int overlay_ellipse (KOverlayList olist, unsigned int ctype,double cx, double cy, unsigned int rtype, double rx, double ry, char *colourname, flag filled) Add an ellipse to an overlay list. See also [] Parameters:olist : The overlay list object. ctype : The type of the centre co-ordinate. cx : The horizontal position of the centre co-ordinate. cy : The vertical position of the centre co-ordinate. rtype : The type of the radius co-ordinate. rx : The horizontal radius. ry : The vertical radius. colourname : The colourname. filled : If TRUE the ellipse will be filled. Returns: The objectID on success, else 0. Multithreading Level: Unsafe unsigned int overlay_filled_polygon (KOverlayList olist, unsigned int num_coords, unsigned int *types, double *x_arr, double *y_arr, char *colourname) Add a filled polygon to an overlay object list. Parameters:olist : The overlay list object. num_coords : The number of co-ordinates (vertices). types : The array of co-ordinate type values. If this is NULL, all co-ordinates are assumed to be world co-ordinates. x_arr : The array of horizontal co-ordinate values. y_arr : The array of vertical co-ordinate values. colourname : The colour name. Returns: The objectID on success, else 0. Multithreading Level: Unsafe unsigned int overlay_vector (KOverlayList olist, unsigned int stype, double sx, double sy, unsigned int dtype, double dx, double dy, char *colourname) This routine will add a vector (directed line) to an overlay object list. See also overlay_vectors. Parameters:olist : The overlay list object. stype : The type of the start co-ordinate. sx : The horizontal position of the start co-ordinate. sy : The vertical position of the start co-ordinate. dtype : The type of the vector direction. dx : The horizontal vector direction. dy : The vertical vector direction. colourname : The colour name. Returns: The objectID on success, else 0. Multithreading Level: Unsafe unsigned int overlay_ellipses (KOverlayList olist, unsigned int num_ellipses, unsigned int *ctypes, double *cx, double *cy, unsigned int *rtypes, double *rx, double *ry, char *colourname, flag filled) This routine will add a number of ellipses to an overlay object list. These ellipses will form a single object. Using this routine is far more efficient than calling overlay_ellipse repeatedly. Parameters:olist : The overlay list object. num_ellipses : The number of ellipses. ctypes : The types of the centre co-ordinates. If this is NULL, all co-ordinates are assumed to be world co-ordinates. cx : The horizontal positions of the centre co-ordinates. cy : The vertical positions of the centre co-ordinates. rtypes : The types of the radii co-ordinates. If this is NULL, all co-ordinates are assumed to be world co-ordinates. rx : The horizontal radii. ry : The vertical radii. colourname : The colour name. filled : If TRUE the ellipses will be filled. Returns: The objectID on success, else 0. Multithreading Level: Unsafe unsigned int overlay_segments (KOverlayList olist, unsigned int num_segments, unsigned int *types0, double *x0, double *y0, unsigned int *types1, double *x1, double *y1, char *colourname) This routine will add a number of disjoint line segments to an overlay object list. These segments will form a single object. Using this routine is far more efficient than calling overlay_line repeatedly. Parameters:olist : The overlay list object. num_segments : The number of segments. types0 : The types of the start co-ordinates. If this is NULL, all co-ordinates are assumed to be world co-ordinates. x0 : The horizontal positions of the start co-ordinates. y0 : The vertical positions of the start co-ordinates. types1 : The types of the stop co-ordinates. If this is NULL, all co-ordinates are assumed to be world co-ordinates. x1 : The horizontal positions of the stop co-ordinates. y1 : The vertical positions of the stop co-ordinates. colourname : The colour name. Returns: The objectID on success, else 0. Multithreading Level: Unsafe unsigned int overlay_vectors (KOverlayList olist, unsigned int num_vectors, unsigned int *stypes, double *sx, double *sy, unsigned int *dtypes, double *dx, double *dy, char *colourname) This routine will add a number of vectors (directed lines) to an overlay object list. These vectors will form a single object. Using this routine is far more efficient than calling overlay_vector repeatedly. Parameters:olist : The overlay list object. num_vectors : The number of vectors. stypes : The types of the start co-ordinates. If this is NULL, all co-ordinates are assumed to be world co-ordinates. sx : The horizontal positions of the start co-ordinates. sy : The vertical positions of the start co-ordinates. dtypes : The types of the vector directions. If this is NULL, all directions are assumed to be in world co-ordinates. dx : The horizontal vector directions. dy : The vertical vector directions. colourname : The colour name. Returns: The objectID on success, else 0. Multithreading Level: Unsafe flag overlay_remove_objects (KOverlayList olist, unsigned int num_objects) Remove objects from the end of an overlay object list. Parameters:olist : The overlay list object. num_objects : The number of objects to remove. If this is 0, then the list is emptied. Returns: TRUE on success, else FALSE. Multithreading Level: Unsafe flag overlay_remove_object (KOverlayList olist, unsigned int id_in_list, unsigned int list_id) Remove one object from an overlay object list. Parameters:olist : The overlay list object. id_in_list : The object ID. This ID refers to an object created by a particular list master or slave. list_id : The ID of the list which created the object. If this is 0, the list given by olist is assumed. Returns: TRUE on success, else FALSE. Multithreading Level: Unsafe flag overlay_move_object (KOverlayList olist, unsigned int id_in_list, unsigned int list_id, double dx, double dy) Move a object in an overlay object list. Parameters:olist : The overlay list object. id_in_list : The object ID. This ID refers to an object created by a particular list master or slave. list_id : The ID of the list which created the object. If this is 0, the list given by olist is assumed. dx : The horizontal distance to move. dy : The vertical distance to move. Returns: TRUE on success, else FALSE. Multithreading Level: UnsafeContact: Richard GoochWeb Development: Ariel Internet Services
This routine will add a number of connected lines to an overlay object list. These lines will form a single object. Using this routine is far more efficient than calling overlay_line repeatedly.
Add a text string to an overlay object list.
Add an ellipse to an overlay list. See also [] Parameters:olist : The overlay list object. ctype : The type of the centre co-ordinate. cx : The horizontal position of the centre co-ordinate. cy : The vertical position of the centre co-ordinate. rtype : The type of the radius co-ordinate. rx : The horizontal radius. ry : The vertical radius. colourname : The colourname. filled : If TRUE the ellipse will be filled. Returns: The objectID on success, else 0. Multithreading Level: Unsafe unsigned int overlay_filled_polygon (KOverlayList olist, unsigned int num_coords, unsigned int *types, double *x_arr, double *y_arr, char *colourname) Add a filled polygon to an overlay object list. Parameters:olist : The overlay list object. num_coords : The number of co-ordinates (vertices). types : The array of co-ordinate type values. If this is NULL, all co-ordinates are assumed to be world co-ordinates. x_arr : The array of horizontal co-ordinate values. y_arr : The array of vertical co-ordinate values. colourname : The colour name. Returns: The objectID on success, else 0. Multithreading Level: Unsafe unsigned int overlay_vector (KOverlayList olist, unsigned int stype, double sx, double sy, unsigned int dtype, double dx, double dy, char *colourname) This routine will add a vector (directed line) to an overlay object list. See also overlay_vectors. Parameters:olist : The overlay list object. stype : The type of the start co-ordinate. sx : The horizontal position of the start co-ordinate. sy : The vertical position of the start co-ordinate. dtype : The type of the vector direction. dx : The horizontal vector direction. dy : The vertical vector direction. colourname : The colour name. Returns: The objectID on success, else 0. Multithreading Level: Unsafe unsigned int overlay_ellipses (KOverlayList olist, unsigned int num_ellipses, unsigned int *ctypes, double *cx, double *cy, unsigned int *rtypes, double *rx, double *ry, char *colourname, flag filled) This routine will add a number of ellipses to an overlay object list. These ellipses will form a single object. Using this routine is far more efficient than calling overlay_ellipse repeatedly. Parameters:olist : The overlay list object. num_ellipses : The number of ellipses. ctypes : The types of the centre co-ordinates. If this is NULL, all co-ordinates are assumed to be world co-ordinates. cx : The horizontal positions of the centre co-ordinates. cy : The vertical positions of the centre co-ordinates. rtypes : The types of the radii co-ordinates. If this is NULL, all co-ordinates are assumed to be world co-ordinates. rx : The horizontal radii. ry : The vertical radii. colourname : The colour name. filled : If TRUE the ellipses will be filled. Returns: The objectID on success, else 0. Multithreading Level: Unsafe unsigned int overlay_segments (KOverlayList olist, unsigned int num_segments, unsigned int *types0, double *x0, double *y0, unsigned int *types1, double *x1, double *y1, char *colourname) This routine will add a number of disjoint line segments to an overlay object list. These segments will form a single object. Using this routine is far more efficient than calling overlay_line repeatedly. Parameters:olist : The overlay list object. num_segments : The number of segments. types0 : The types of the start co-ordinates. If this is NULL, all co-ordinates are assumed to be world co-ordinates. x0 : The horizontal positions of the start co-ordinates. y0 : The vertical positions of the start co-ordinates. types1 : The types of the stop co-ordinates. If this is NULL, all co-ordinates are assumed to be world co-ordinates. x1 : The horizontal positions of the stop co-ordinates. y1 : The vertical positions of the stop co-ordinates. colourname : The colour name. Returns: The objectID on success, else 0. Multithreading Level: Unsafe unsigned int overlay_vectors (KOverlayList olist, unsigned int num_vectors, unsigned int *stypes, double *sx, double *sy, unsigned int *dtypes, double *dx, double *dy, char *colourname) This routine will add a number of vectors (directed lines) to an overlay object list. These vectors will form a single object. Using this routine is far more efficient than calling overlay_vector repeatedly. Parameters:olist : The overlay list object. num_vectors : The number of vectors. stypes : The types of the start co-ordinates. If this is NULL, all co-ordinates are assumed to be world co-ordinates. sx : The horizontal positions of the start co-ordinates. sy : The vertical positions of the start co-ordinates. dtypes : The types of the vector directions. If this is NULL, all directions are assumed to be in world co-ordinates. dx : The horizontal vector directions. dy : The vertical vector directions. colourname : The colour name. Returns: The objectID on success, else 0. Multithreading Level: Unsafe flag overlay_remove_objects (KOverlayList olist, unsigned int num_objects) Remove objects from the end of an overlay object list. Parameters:olist : The overlay list object. num_objects : The number of objects to remove. If this is 0, then the list is emptied. Returns: TRUE on success, else FALSE. Multithreading Level: Unsafe flag overlay_remove_object (KOverlayList olist, unsigned int id_in_list, unsigned int list_id) Remove one object from an overlay object list. Parameters:olist : The overlay list object. id_in_list : The object ID. This ID refers to an object created by a particular list master or slave. list_id : The ID of the list which created the object. If this is 0, the list given by olist is assumed. Returns: TRUE on success, else FALSE. Multithreading Level: Unsafe flag overlay_move_object (KOverlayList olist, unsigned int id_in_list, unsigned int list_id, double dx, double dy) Move a object in an overlay object list. Parameters:olist : The overlay list object. id_in_list : The object ID. This ID refers to an object created by a particular list master or slave. list_id : The ID of the list which created the object. If this is 0, the list given by olist is assumed. dx : The horizontal distance to move. dy : The vertical distance to move. Returns: TRUE on success, else FALSE. Multithreading Level: UnsafeContact: Richard GoochWeb Development: Ariel Internet Services
Add a filled polygon to an overlay object list.
This routine will add a vector (directed line) to an overlay object list. See also overlay_vectors.
This routine will add a number of ellipses to an overlay object list. These ellipses will form a single object. Using this routine is far more efficient than calling overlay_ellipse repeatedly.
This routine will add a number of disjoint line segments to an overlay object list. These segments will form a single object. Using this routine is far more efficient than calling overlay_line repeatedly.
This routine will add a number of vectors (directed lines) to an overlay object list. These vectors will form a single object. Using this routine is far more efficient than calling overlay_vector repeatedly.
Remove objects from the end of an overlay object list.
Remove one object from an overlay object list.
Move a object in an overlay object list.