Mercurial > pidgin.yaz
diff src/gtkhtml.h @ 1:2846a03bda67
[gaim-migrate @ 10]
The other missing files :)
committer: Tailor Script <tailor@pidgin.im>
author | Rob Flynn <gaim@robflynn.com> |
---|---|
date | Thu, 23 Mar 2000 03:13:54 +0000 |
parents | |
children | f5b199e20d12 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/gtkhtml.h Thu Mar 23 03:13:54 2000 +0000 @@ -0,0 +1,161 @@ +/* + * gaim + * + * Copyright (C) 1998-1999, Mark Spencer <markster@marko.net> + * + * 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 __GTK_HTML_H__ +#define __GTK_HTML_H__ + +#include <gdk/gdk.h> +#include <gtk/gtkwidget.h> + +#ifdef __cplusplus +/*extern "C" {*/ +#endif /* __cplusplus */ + +#define GTK_TYPE_HTML (gtk_html_get_type()) +#define GTK_HTML(obj) (GTK_CHECK_CAST ((obj), GTK_TYPE_HTML, GtkHtml)) +#define GTK_HTML_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_HTML, GtkHtmlClass)) +#define GTK_IS_HTML(obj) (GTK_CHECK_TYPE ((obj), GTK_TYPE_HTML)) +#define GTK_IS_HTML_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_HTML) + +typedef struct _GtkHtml GtkHtml; +typedef struct _GtkHtmlClass GtkHtmlClass; +typedef struct _GtkHtmlBit GtkHtmlBit; + + +struct _GtkHtmlBit { + int type; + GdkColor *fore; + GdkColor *back; + GdkFont *font; + int uline; + int strike; + int width, height; + int x, y; + char *url; + int was_selected; + int sel_s, sel_e; + int newline; + char *text; + GdkPixmap *pm; + int fit; +}; + + +struct _GtkHtml { + GtkWidget widget; + + GdkWindow *html_area; + + GtkAdjustment *hadj; + GtkAdjustment *vadj; + + gint xoffset; + gint yoffset; + + int current_x; + int current_y; + GdkGC *gc; + GdkGC *bg_gc; + GList *html_bits; + GList *urls; + int start_sel_x, start_sel_y; + GtkHtmlBit *start_sel, *end_sel; + int num_start, num_end; + char *selected_text; + gint editable; + gint transparent; + gint timer; + gint last_ver_value; + char *title; + gint frozen; + GtkHtmlBit *cursor_hb; + GtkWidget *tooltip_window; + GtkHtmlBit *tooltip_hb; + int tooltip_timer; + int cursor_pos; + GdkPixmap *pm; + +}; + + +struct _GtkHtmlClass { + GtkWidgetClass parent_class; + + void (*set_scroll_adjustments) (GtkHtml *html, + GtkAdjustment *hadjustment, + GtkAdjustment *vadjustment); + +}; + + +#define HTML_BIT_TEXT 0 +#define HTML_BIT_PIXMAP 1 +#define HTML_BIT_SEP 2 + + +#define HTML_OPTION_NO_COLOURS 0x01 +#define HTML_OPTION_NO_FONTS 0x02 + +#define STYLE_ITALIC 0x01000000 +#define STYLE_BOLD 0x020000000 + +#define FIXED_FONT "-*-courier-medium-r-*-*-*-%d-*-*-*-*-*-*" +#define FIXED_BOLD_FONT "-*-courier-bold-r-*-*-*-%d-*-*-*-*-*-*" +#define FIXED_ITALIC_FONT "-*-courier-medium-o-*-*-*-%d-*-*-*-*-*-*" +#define FIXED_BOLD_ITALIC_FONT "-*-courier-bold-o-*-*-*-%d-*-*-*-*-*-*" +#define PROP_FONT "-*-helvetica-medium-r-*-*-*-%d-*-*-*-*-*-*" +#define PROP_BOLD_FONT "-*-helvetica-bold-r-*-*-*-%d-*-*-*-*-*-*" +#define PROP_ITALIC_FONT "-*-helvetica-medium-o-*-*-*-%d-*-*-*-*-*-*" +#define PROP_BOLD_ITALIC_FONT "-*-helvetica-bold-o-*-*-*-%d-*-*-*-*-*-*" + + + +#define HTML_TOOLTIP_DELAY 500 + + + +GtkType gtk_html_get_type (void); +GtkWidget* gtk_html_new (GtkAdjustment *hadj, + GtkAdjustment *vadj); +void gtk_html_set_editable (GtkHtml *html, + gboolean is_editable); +void gtk_html_set_transparent (GtkHtml *html, + gboolean is_transparent); +void gtk_html_set_adjustments (GtkHtml *html, + GtkAdjustment *hadj, + GtkAdjustment *vadj); +void gtk_html_append_text (GtkHtml *html, + char *text, + gint options); +void gtk_html_freeze (GtkHtml *html); +void gtk_html_thaw (GtkHtml *html); + + + + +#ifdef __cplusplus +/*}*/ +#endif /* __cplusplus */ + +#endif /* __GTK_HTML_H__ */ + + +