Mercurial > pidgin.yaz
diff src/whiteboard.h @ 11802:2e3a6dcebaf3
[gaim-migrate @ 14093]
This should be it for the // -> /* */ for the doodle/whiteboard stuff. This could use a bit of cleaning yet....
committer: Tailor Script <tailor@pidgin.im>
author | Gary Kramlich <grim@reaperworld.com> |
---|---|
date | Mon, 24 Oct 2005 22:45:24 +0000 |
parents | 7fab28c991f3 |
children | 2219f4bf4a57 |
line wrap: on
line diff
--- a/src/whiteboard.h Mon Oct 24 21:48:21 2005 +0000 +++ b/src/whiteboard.h Mon Oct 24 22:45:24 2005 +0000 @@ -25,64 +25,160 @@ #ifndef _GAIM_WHITEBOARD_H_ #define _GAIM_WHITEBOARD_H_ -// DEFINES ============================================================================================= - -typedef struct _GaimWhiteboardPrplOps GaimWhiteboardPrplOps; // NOTE A nasty compiler dependency fix +/** + * Whiteboard PRPL Operations + */ +typedef struct _GaimWhiteboardPrplOps GaimWhiteboardPrplOps; #include "account.h" -// INCLUDES ============================================================================================ - -// DATATYPES =========================================================================================== +/** + * A GaimWhiteboard + */ typedef struct _GaimWhiteboard { - int state; // State of whiteboard session - - GaimAccount *account; // Account associated with this session - char *who; // Name of the remote user - - void *ui_data; // Graphical user-interface data - void *proto_data; // Protocol specific data - GaimWhiteboardPrplOps *prpl_ops; // Protocol-plugin operations - - GList *draw_list; // List of drawing elements/deltas to send + int state; /**< State of whiteboard session */ + + GaimAccount *account; /**< Account associated with this session */ + char *who; /**< Name of the remote user */ + + void *ui_data; /**< Graphical user-interface data */ + void *proto_data; /**< Protocol specific data */ + GaimWhiteboardPrplOps *prpl_ops; /**< Protocol-plugin operations */ + + GList *draw_list; /**< List of drawing elements/deltas to send */ } GaimWhiteboard; +/** + * The GaimWhiteboard UI Operations + */ typedef struct _GaimWhiteboardUiOps { - void ( *create )( GaimWhiteboard *wb ); - void ( *destroy )( GaimWhiteboard *wb ); - void ( *set_dimensions)( GaimWhiteboard *wb, int width, int height ); - void ( *draw_point )( GaimWhiteboard *wb, int x, int y, int color, int size ); - void ( *draw_line )( GaimWhiteboard *wb, int x1, int y1, int x2, int y2, int color, int size ); - void ( *clear )( GaimWhiteboard *wb ); + void ( *create )( GaimWhiteboard *wb ); /**< create function */ + void ( *destroy )( GaimWhiteboard *wb ); /**< destory function */ + void ( *set_dimensions)( GaimWhiteboard *wb, int width, int height ); /**< set_dimensions function */ + void ( *draw_point )( GaimWhiteboard *wb, int x, int y, int color, int size ); /**< draw_point function */ + void ( *draw_line )( GaimWhiteboard *wb, int x1, int y1, int x2, int y2, int color, int size ); /**< draw_line function */ + void ( *clear )( GaimWhiteboard *wb ); /**< clear function */ } GaimWhiteboardUiOps; +/** + * GaimWhiteboard PRPL Operations + */ struct _GaimWhiteboardPrplOps { - void ( *start )( GaimWhiteboard *wb ); - void ( *end )( GaimWhiteboard *wb ); - void ( *get_dimensions )( GaimWhiteboard *wb, int *width, int *height ); - void ( *set_dimensions )( GaimWhiteboard *wb, int width, int height ); - void ( *send_draw_list )( GaimWhiteboard *wb, GList *draw_list ); - void ( *clear )( GaimWhiteboard *wb ); + void ( *start )( GaimWhiteboard *wb ); /**< start function */ + void ( *end )( GaimWhiteboard *wb ); /**< end function */ + void ( *get_dimensions )( GaimWhiteboard *wb, int *width, int *height ); /**< get_dimensions function */ + void ( *set_dimensions )( GaimWhiteboard *wb, int width, int height ); /**< set_dimensions function */ + void ( *send_draw_list )( GaimWhiteboard *wb, GList *draw_list ); /**< send_draw_list function */ + void ( *clear )( GaimWhiteboard *wb ); /**< clear function */ }; -// PROTOTYPES ========================================================================================== +#ifdef __cplusplus +extern "C" { +#endif /* __cplusplus */ +/******************************************************************************/ +/** @name GaimWhiteboard API */ +/******************************************************************************/ +/*@{*/ + +/** + * Sets the UI Operations + * + * @param ops The UI Operations to set + */ void gaim_whiteboard_set_ui_ops( GaimWhiteboardUiOps *ops ); +/** + * Creates a whiteboard + * + * @param account The account. + * @param who Who you're drawing with. + * @param state The state. + * + * @return The new whiteboard + */ GaimWhiteboard *gaim_whiteboard_create( GaimAccount *account, char *who, int state ); + +/** + * Destroys a whiteboard + * + * @param wb The whiteboard. + */ void gaim_whiteboard_destroy( GaimWhiteboard *wb ); + +/** + * Starts a whiteboard + * + * @param wb The whiteboard. + */ void gaim_whiteboard_start( GaimWhiteboard *wb ); +/** + * Finds a whiteboard from an account and user. + * + * @param account The account. + * @param who The user. + * + * @return The whiteboard if found, otherwise @c NULL. + */ GaimWhiteboard *gaim_whiteboard_get_session( GaimAccount *account, char *who ); +/** + * Destorys a drawing list for a whiteboard + * + * @param draw_list The drawing list. + * + * @return The start of the new drawing list (?) + */ GList *gaim_whiteboard_draw_list_destroy( GList *draw_list ); +/** + * Sets the dimensions for a whiteboard. + * + * @param wb The whiteboard. + * @param width The width. + * @param height The height. + */ void gaim_whiteboard_set_dimensions( GaimWhiteboard *wb, int width, int height ); + +/** + * Draws a point on a whiteboard. + * + * @param wb The whiteboard. + * @param x The x coordinate. + * @param y The y coordinate. + * @param color The color to use. + * @param size The brush size. + */ void gaim_whiteboard_draw_point( GaimWhiteboard *wb, int x, int y, int color, int size ); + +/** + * Draws a line on a whiteboard + * + * @param wb The whiteboard. + * @param x1 The top-left x coordinate. + * @param y1 The top-left y coordinate. + * @param x2 The bottom-right x coordinate. + * @param y2 The bottom-right y coordinate. + * @param color The color to use. + * @param size The brush size. + */ void gaim_whiteboard_draw_line( GaimWhiteboard *wb, int x1, int y1, int x2, int y2, int color, int size ); + +/** + * Clears a whiteboard + * + * @param wb The whiteboard. + */ void gaim_whiteboard_clear( GaimWhiteboard *wb ); -#endif // _GAIM_WHITEBOARD_H_ +/*@}*/ + +#ifdef __cplusplus +} +#endif /* __cplusplus */ + +#endif /* _GAIM_WHITEBOARD_H_ */