Mercurial > pidgin
diff src/gtkimhtml.h @ 1428:00b3d02a2168
[gaim-migrate @ 1438]
gtkhtml has gotten replaced by gtkimhtml.
committer: Tailor Script <tailor@pidgin.im>
author | Eric Warmenhoven <eric@warmenhoven.org> |
---|---|
date | Fri, 26 Jan 2001 02:02:36 +0000 |
parents | |
children | 36c56d591674 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/gtkimhtml.h Fri Jan 26 02:02:36 2001 +0000 @@ -0,0 +1,127 @@ +/* + * GtkIMHtml + * + * Copyright (C) 2000, Eric Warmenhoven <warmenhoven@yahoo.com> + * + * This program is free software; you can redistribute it and/or modify + * 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 __GTK_IMHTML_H +#define __GTK_IMHTML_H + +#include <gdk/gdk.h> +#include <gtk/gtklayout.h> + +#ifdef __cplusplus +extern "C" { +#endif + +#define GTK_TYPE_IMHTML (gtk_imhtml_get_type ()) +#define GTK_IMHTML(obj) (GTK_CHECK_CAST ((obj), GTK_TYPE_IMHTML, GtkIMHtml)) +#define GTK_IMHTML_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_IMHTML, GtkIMHtmlClass)) +#define GTK_IS_IMHTML(obj) (GTK_CHECK_TYPE ((obj), GTK_TYPE_IMHTML)) +#define GTK_IS_IMHTML_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_IMHTML)) + +typedef gchar** (*GtkIMHtmlImage) (gchar *url); + +typedef struct _GtkIMHtml GtkIMHtml; +typedef struct _GtkIMHtmlClass GtkIMHtmlClass; + +struct _GtkIMHtml { + GtkLayout layout; + + GdkFont *default_font; + GdkColor *default_fg_color; + + GdkCursor *hand_cursor; + GdkCursor *arrow_cursor; + + GList *bits; + GList *urls; + + guint sel_startx, sel_starty; + guint sel_endx, sel_endy; + gboolean selection; + GString *selected_text; + guint scroll_timer; + + guint x, y; + guint xsize; + guint llheight; + guint llascent; + GList *line; + + GtkIMHtmlImage img; + + gboolean smileys; + gboolean comments; + + GHashTable *smiley_hash; + gint smin, smax; +}; + +struct _GtkIMHtmlClass { + GtkLayoutClass parent_class; + + void (*url_clicked) (GtkIMHtml *, const gchar *); +}; + +typedef enum +{ + GTK_IMHTML_NO_COLOURS = 1 << 0, + GTK_IMHTML_NO_FONTS = 1 << 1, + GTK_IMHTML_NO_COMMENTS = 1 << 2, + GTK_IMHTML_NO_TITLE = 1 << 3, + GTK_IMHTML_NO_NEWLINE = 1 << 4, + GTK_IMHTML_NO_SIZES = 1 << 5, + GTK_IMHTML_NO_SCROLL = 1 << 6, + GTK_IMHTML_RETURN_LOG = 1 << 7 +} GtkIMHtmlOptions; + +GtkType gtk_imhtml_get_type (void); +GtkWidget* gtk_imhtml_new (GtkAdjustment *hadj, + GtkAdjustment *vadj); + +void gtk_imhtml_set_adjustments (GtkIMHtml *imhtml, + GtkAdjustment *hadj, + GtkAdjustment *vadj); + +void gtk_imhtml_set_defaults (GtkIMHtml *imhtml, + GdkFont *font, + GdkColor *fg_color); + +void gtk_imhtml_set_img_handler (GtkIMHtml *imhtml, + GtkIMHtmlImage handler); + +void gtk_imhtml_associate_smiley (GtkIMHtml *imhtml, + gchar *text, + gchar **xpm); + +void gtk_imhtml_show_smileys (GtkIMHtml *imhtml, + gboolean show); + +void gtk_imhtml_show_comments (GtkIMHtml *imhtml, + gboolean show); + +GString* gtk_imhtml_append_text (GtkIMHtml *imhtml, + const gchar *text, + GtkIMHtmlOptions options); + +#ifdef __cplusplus +} +#endif + +#endif