home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2007 September / PCWSEP07.iso / Software / Linux / Linux Mint 3.0 Light / LinuxMint-3.0-Light.iso / casper / filesystem.squashfs / usr / include / pidgin / gtkwhiteboard.h < prev    next >
Encoding:
C/C++ Source or Header  |  2007-05-04  |  2.4 KB  |  84 lines

  1. /**
  2.  * @file gtkwhiteboard.h The PidginWhiteboard frontend object
  3.  *
  4.  * pidgin
  5.  *
  6.  * Pidgin is the legal property of its developers, whose names are too numerous
  7.  * to list here.  Please refer to the COPYRIGHT file distributed with this
  8.  * source distribution.
  9.  *
  10.  * This program is free software; you can redistribute it and/or modify
  11.  * it under the terms of the GNU General Public License as published by
  12.  * the Free Software Foundation; either version 2 of the License, or
  13.  * (at your option) any later version.
  14.  *
  15.  * This program is distributed in the hope that it will be useful,
  16.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  17.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  18.  * GNU General Public License for more details.
  19.  *
  20.  * You should have received a copy of the GNU General Public License
  21.  * along with this program; if not, write to the Free Software
  22.  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  23.  */
  24.  
  25. #ifndef _PIDGINWHITEBOARD_H_
  26. #define _PIDGINWHITEBOARD_H_
  27.  
  28. #include "pidgin.h"
  29.  
  30. #include "whiteboard.h"
  31.  
  32. #define FULL_CIRCLE_DEGREES 23040
  33.  
  34. /* TODO: Make into an enum. */
  35. #define BRUSH_STATE_UP      0
  36. #define BRUSH_STATE_DOWN    1
  37. #define BRUSH_STATE_MOTION  2
  38.  
  39. /* XXX: This seems duplicated with the Yahoo! Doodle prpl code.
  40.  * XXX: How should they work together? */
  41. #define PALETTE_NUM_COLORS  7
  42.  
  43. /**
  44.  * A PidginWhiteboard
  45.  */
  46. typedef struct _PidginWhiteboard
  47. {
  48.     PurpleWhiteboard *wb;      /**< backend data for this whiteboard */
  49.  
  50.     GtkWidget *window;       /**< Window for the Doodle session */
  51.     GtkWidget *drawing_area; /**< Drawing area */
  52.  
  53.     GdkPixmap *pixmap;       /**< Memory for drawing area */
  54.  
  55.     int  width;              /**< Canvas width */
  56.     int  height;             /**< Canvas height */
  57.     int brush_color;         /**< Foreground color */
  58.     int brush_size;          /**< Brush size */
  59. } PidginWhiteboard;
  60.  
  61. #ifdef __cplusplus
  62. extern "C" {
  63. #endif /* __cplusplus */
  64.  
  65. /*****************************************************************************/
  66. /** @name PidginWhiteboard API                                              */
  67. /*****************************************************************************/
  68. /*@{*/
  69.  
  70. /**
  71.  * Gets the GtkWhiteboard UI Operations.
  72.  *
  73.  * @return The GtkWhiteboard UI Operations.
  74.  */
  75. PurpleWhiteboardUiOps *pidgin_whiteboard_get_ui_ops( void );
  76.  
  77. /*@}*/
  78.  
  79. #ifdef __cplusplus
  80. }
  81. #endif /* __cplusplus */
  82.  
  83. #endif /* _PIDGINWHITEBOARD_H_ */
  84.