gaim/gaim

Yo.
gtk1-stable v0_59_9
2003-03-01, Sean Egan
87952f35ac6d
Yo.
/*
* 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 _GtkSmileyTree GtkSmileyTree;
typedef struct _GtkIMHtml GtkIMHtml;
typedef struct _GtkIMHtmlClass GtkIMHtmlClass;
struct _GtkIMHtml {
GtkLayout layout;
GdkFont *default_font;
GdkColor *default_fg_color;
GdkColor *default_bg_color;
GdkColor *default_hl_color;
GdkColor *default_hlfg_color;
GdkCursor *hand_cursor;
GdkCursor *arrow_cursor;
GList *bits;
GList *click;
struct _GtkIMHtmlBit *tip_bit;
GList *im_images;
GtkWidget *tip_window;
guint tip_timer;
guint sel_startx, sel_starty;
guint sel_endx, sel_endy;
gboolean selection;
guint sel_mode;
GString *selected_text;
struct line_info *sel_endchunk;
guint scroll_timer;
guint x, y;
guint xsize;
guint llheight;
guint llascent;
GList *line;
GtkIMHtmlImage img;
gboolean smileys;
gboolean comments;
gboolean use_pointsize;
GtkSmileyTree *smiley_data;
};
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,
GdkColor *bg_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_init_smileys (GtkIMHtml *imhtml);
void gtk_imhtml_remove_smileys (GtkIMHtml *imhtml);
void gtk_imhtml_reset_smileys (GtkIMHtml *imhtml);
void gtk_imhtml_show_smileys (GtkIMHtml *imhtml,
gboolean show);
void gtk_imhtml_show_comments (GtkIMHtml *imhtml,
gboolean show);
void gtk_imhtml_set_use_pointsize(GtkIMHtml *imhtml,
gboolean point);
GString* gtk_imhtml_append_text (GtkIMHtml *imhtml,
const gchar *text,
gint len,
GtkIMHtmlOptions options);
void gtk_imhtml_clear (GtkIMHtml *imhtml);
void gtk_imhtml_page_up (GtkIMHtml *imhtml);
void gtk_imhtml_page_down (GtkIMHtml *imhtml);
#ifdef __cplusplus
}
#endif
#endif