comparison src/gtkimhtml.h @ 7346:15155dbc768a

[gaim-migrate @ 7937] GtkIMHtmlCopyable allows non-text items in gtkimhtml to have alternate text associated with it. Right now only smileys use it, but it can easily be extended to <hr>s or images or whatnot. committer: Tailor Script <tailor@pidgin.im>
author Sean Egan <seanegan@gmail.com>
date Mon, 27 Oct 2003 06:54:50 +0000
parents c7f0a4397d9e
children 6a9acef3b867
comparison
equal deleted inserted replaced
7345:565b5bca5e8a 7346:15155dbc768a
35 #define GTK_IMHTML(obj) (GTK_CHECK_CAST ((obj), GTK_TYPE_IMHTML, GtkIMHtml)) 35 #define GTK_IMHTML(obj) (GTK_CHECK_CAST ((obj), GTK_TYPE_IMHTML, GtkIMHtml))
36 #define GTK_IMHTML_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_IMHTML, GtkIMHtmlClass)) 36 #define GTK_IMHTML_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_IMHTML, GtkIMHtmlClass))
37 #define GTK_IS_IMHTML(obj) (GTK_CHECK_TYPE ((obj), GTK_TYPE_IMHTML)) 37 #define GTK_IS_IMHTML(obj) (GTK_CHECK_TYPE ((obj), GTK_TYPE_IMHTML))
38 #define GTK_IS_IMHTML_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_IMHTML)) 38 #define GTK_IS_IMHTML_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_IMHTML))
39 #define GTK_IMHTML_SCALABLE(obj) ((GtkIMHtmlScalable *)obj) 39 #define GTK_IMHTML_SCALABLE(obj) ((GtkIMHtmlScalable *)obj)
40 #define GTK_IMHTML_COPYABLE(obj) ((GtkIMHtmlCopyable *)obj)
40 41
41 typedef struct _GtkIMHtml GtkIMHtml; 42 typedef struct _GtkIMHtml GtkIMHtml;
42 typedef struct _GtkIMHtmlClass GtkIMHtmlClass; 43 typedef struct _GtkIMHtmlClass GtkIMHtmlClass;
43 typedef struct _GtkIMHtmlFontDetail GtkIMHtmlFontDetail; /* The five elements contained in a FONT tag */ 44 typedef struct _GtkIMHtmlFontDetail GtkIMHtmlFontDetail; /* The five elements contained in a FONT tag */
44 typedef struct _GtkSmileyTree GtkSmileyTree; 45 typedef struct _GtkSmileyTree GtkSmileyTree;
45 typedef struct _GtkIMHtmlSmiley GtkIMHtmlSmiley; 46 typedef struct _GtkIMHtmlSmiley GtkIMHtmlSmiley;
46 typedef struct _GtkIMHtmlScalable GtkIMHtmlScalable; 47 typedef struct _GtkIMHtmlScalable GtkIMHtmlScalable;
47 typedef struct _GtkIMHtmlImage GtkIMHtmlImage; 48 typedef struct _GtkIMHtmlImage GtkIMHtmlImage;
48 typedef struct _GtkIMHtmlHr GtkIMHtmlHr; 49 typedef struct _GtkIMHtmlHr GtkIMHtmlHr;
50 typedef struct _GtkIMHtmlCopyable GtkIMHtmlCopyable;
49 51
50 struct _GtkIMHtml { 52 struct _GtkIMHtml {
51 GtkTextView text_view; 53 GtkTextView text_view;
52 GtkTextBuffer *text_buffer; 54 GtkTextBuffer *text_buffer;
53 GtkTextMark *end; 55 GtkTextMark *end;
64 char *tip; 66 char *tip;
65 guint tip_timer; 67 guint tip_timer;
66 68
67 GList *scalables; 69 GList *scalables;
68 GdkRectangle old_rect; 70 GdkRectangle old_rect;
71
72 GSList *copyables;
69 73
70 gchar *search_string; 74 gchar *search_string;
71 }; 75 };
72 76
73 struct _GtkIMHtmlClass { 77 struct _GtkIMHtmlClass {
99 103
100 struct _GtkIMHtmlScalable { 104 struct _GtkIMHtmlScalable {
101 void (*scale)(struct _GtkIMHtmlScalable *, int, int); 105 void (*scale)(struct _GtkIMHtmlScalable *, int, int);
102 void (*add_to)(struct _GtkIMHtmlScalable *, GtkIMHtml *, GtkTextIter *); 106 void (*add_to)(struct _GtkIMHtmlScalable *, GtkIMHtml *, GtkTextIter *);
103 void (*free)(struct _GtkIMHtmlScalable *); 107 void (*free)(struct _GtkIMHtmlScalable *);
108 };
109
110 struct _GtkIMHtmlCopyable {
111 GtkTextMark *mark;
112 char *text;
104 }; 113 };
105 114
106 struct _GtkIMHtmlImage { 115 struct _GtkIMHtmlImage {
107 GtkIMHtmlScalable scalable; 116 GtkIMHtmlScalable scalable;
108 GtkImage *image; 117 GtkImage *image;