diff src/gtkwhiteboard.h @ 11475:7fab28c991f3

[gaim-migrate @ 13717] merging gaim-doodle/whiteboard/whatever you like to call it. Needs some cleanups and doxygen comments, but has basic functionality committer: Tailor Script <tailor@pidgin.im>
author Gary Kramlich <grim@reaperworld.com>
date Fri, 09 Sep 2005 04:40:21 +0000
parents
children 2e3a6dcebaf3
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/gtkwhiteboard.h	Fri Sep 09 04:40:21 2005 +0000
@@ -0,0 +1,89 @@
+/**
+ * @file gtkwhiteboard.h The GtkGaimWhiteboard frontend object
+ *
+ * gaim
+ *
+ * Gaim is the legal property of its developers, whose names are too numerous
+ * to list here.  Please refer to the COPYRIGHT file distributed with this
+ * source distribution.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ */
+
+#ifndef _GAIM_GTKWHITEBOARD_H_
+#define _GAIM_GTKWHITEBOARD_H_
+
+// INCLUDES ============================================================================================
+#include "gtkgaim.h"
+
+#include "whiteboard.h"
+
+// DEFINES =============================================================================================
+
+#define FULL_CIRCLE_DEGREES		23040
+
+#define BRUSH_STATE_UP			0
+#define BRUSH_STATE_DOWN		1
+#define BRUSH_STATE_MOTION		2
+
+#define PALETTE_NUM_COLORS		7
+
+// DATATYPES ===========================================================================================
+typedef struct _GaimGtkWhiteboard
+{
+	GaimWhiteboard	*wb;		// backend data for this whiteboard
+	
+	GtkWidget	*window;	// Window for the Doodle session
+	GtkWidget	*drawing_area;	// Drawing area
+	
+	GdkPixmap	*pixmap;	// Memory for drawing area
+	
+	int		width;		// Canvas width
+	int		height;		// Canvas height
+} GaimGtkWhiteboard;
+
+// PROTOTYPES ==========================================================================================
+
+GaimWhiteboardUiOps	*gaim_gtk_whiteboard_get_ui_ops( void );
+
+void			gaim_gtk_whiteboard_create( GaimWhiteboard *wb );
+void			gaim_gtk_whiteboard_destroy( GaimWhiteboard *wb );
+void			gaim_gtk_whiteboard_exit( GtkWidget *widget, gpointer data );
+
+//void			gaim_gtkwhiteboard_button_start_press( GtkButton *button, gpointer data );
+
+gboolean		gaim_gtk_whiteboard_configure_event( GtkWidget *widget, GdkEventConfigure *event, gpointer data );
+gboolean		gaim_gtk_whiteboard_expose_event( GtkWidget *widget, GdkEventExpose *event, gpointer data );
+
+gboolean		gaim_gtk_whiteboard_brush_down( GtkWidget *widget, GdkEventButton *event, gpointer data );
+gboolean		gaim_gtk_whiteboard_brush_motion( GtkWidget *widget, GdkEventMotion *event, gpointer data );
+gboolean		gaim_gtk_whiteboard_brush_up( GtkWidget *widget, GdkEventButton *event, gpointer data );
+
+void			gaim_gtk_whiteboard_draw_brush_point( GaimWhiteboard *wb,
+							      int x, int y, int color, int size );
+void			gaim_gtk_whiteboard_draw_brush_line( GaimWhiteboard *wb,
+							     int x0, int y0, int x1, int y1, int color, int size );
+
+void			gaim_gtk_whiteboard_set_dimensions( GaimWhiteboard *wb, int width, int height );
+void			gaim_gtk_whiteboard_clear( GaimWhiteboard *wb );
+
+void			gaim_gtk_whiteboard_button_clear_press( GtkWidget *widget, gpointer data );
+void			gaim_gtk_whiteboard_button_save_press( GtkWidget *widget, gpointer data );
+
+void			gaim_gtk_whiteboard_set_canvas_as_icon( GaimGtkWhiteboard *gtkwb );
+
+void			gaim_gtk_whiteboard_rgb24_to_rgb48( int color_rgb, GdkColor *color );
+
+#endif // _GAIM_GTKWHITEBOARD_H_