#ifndef __GTK_XMHTML_H__
#define __GTK_XMHTML_H__
#include
#include
#ifndef GTK_XMHTML_LIBRARY
#ifndef WITH_GTK
# define WITH_GTK
#endif
#include
#include
#endif
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */
#define GTK_XMHTML(obj) GTK_CHECK_CAST (obj, gtk_xmhtml_get_type (), GtkXmHTML)
#define GTK_XMHTML_CLASS(klass) GTK_CHECK_CLASS_CAST (klass, gtk_xmhtml_get_type (), GtkXmHTMLClass)
#define GTK_IS_XMHTML(obj) GTK_CHECK_TYPE (obj, gtk_xmhtml_get_type ())
/* For compatibility and consistency functions */
#define XmIsHTML(obj) GTK_IS_XMHTML(obj)
#define XmHTML(obj) GTK_XMHTML(obj)
typedef struct _GtkXmHTML GtkXmHTML;
typedef struct _GtkXmHTMLClass GtkXmHTMLClass;
#ifndef GTK_XMHTML_LIBRARY
#include
#endif
struct _GtkXmHTML
{
GtkContainer widget;
XmHTMLPart html;
/* Scrollbar adjustements */
GtkObject *vsba;
GtkObject *hsba;
/* managing our code */
int frozen;
int parse_needed;
int reformat_needed;
int redraw_needed;
int free_images_needed;
int layout_needed;
int initialized;
GList *children;
/* These replace Motif's fields */
gulong background_pixel;
gulong foreground_pixel;
GdkGC *bottom_shadow_gc;
GdkGC *top_shadow_gc;
GdkGC *highlight_gc;
gulong highlight_color;
};
struct _GtkXmHTMLClass
{
GtkContainerClass parent_class;
void (*activate) (GtkXmHTML *, void *);
void (*rearm) (GtkXmHTML *, void *);
void (*anchor_track) (GtkXmHTML *, void *);
void (*frame) (GtkXmHTML *, void *);
void (*form) (GtkXmHTML *, void *);
void (*input) (GtkXmHTML *, void *);
void (*link) (GtkXmHTML *, void *);
void (*motion) (GtkXmHTML *, void *);
void (*imagemap) (GtkXmHTML *, void *);
void (*document) (GtkXmHTML *, void *);
void (*focus) (GtkXmHTML *, void *);
void (*losing_focus) (GtkXmHTML *, void *);
void (*motion_track) (GtkXmHTML *, void *);
void (*html_event) (GtkXmHTML *, void *); /* HTML 4.0 event */
int (*anchor_visited) (GtkXmHTML *, char *, void *);
};
GtkWidget *gtk_xmhtml_new (void);
void gtk_xmhtml_freeze (GtkXmHTML *html);
void gtk_xmhtml_thaw (GtkXmHTML *html);
void gtk_xmhtml_source (GtkXmHTML *html,
char *source);
void gtk_xmhtml_set_string_direction (GtkXmHTML *html,
int direction);
void gtk_xmhtml_set_alignment (GtkXmHTML *html,
int alignment);
void gtk_xmhtml_outline (GtkXmHTML *html,
int flag);
void gtk_xmhtml_set_font_familty (GtkXmHTML *html,
char *family,
char *sizes);
void gtk_xmhtml_set_font_familty_fixed (GtkXmHTML *html,
char *family,
char *sizes);
void gtk_xmhtml_set_font_charset (GtkXmHTML *html,
char *charset);
void gtk_xmhtml_set_allow_body_colors (GtkXmHTML *html,
int enable);
void gtk_xmhtml_set_hilight_on_enter (GtkXmHTML *html,
int flag);
void gtk_xmhtml_set_anchor_underline_type (GtkXmHTML *html,
int underline_type);
void gtk_xmhtml_set_anchor_visited_underline_type (GtkXmHTML *html,
int underline_type);
void gtk_xmhtml_set_anchor_target_underline_type (GtkXmHTML *html,
int underline_type);
void gtk_xmhtml_set_allow_color_switching (GtkXmHTML *html,
int flag);
void gtk_xmhtml_set_dithering (GtkXmHTML *html,
XmHTMLDitherType flag);
void gtk_xmhtml_set_allow_font_switching (GtkXmHTML *html,
int flag);
void gtk_xmhtml_set_max_image_colors (GtkXmHTML *html,
int max_colors);
void gtk_xmhtml_set_allow_images (GtkXmHTML *html,
int flag);
void gtk_xmhtml_set_plc_intervals (GtkXmHTML *html,
int min_delay,
int max_delay,
int def_delay);
void gtk_xmhtml_set_def_body_image_url (GtkXmHTML *html,
char *url);
void gtk_xmhtml_set_anchor_buttons (GtkXmHTML *html,
int flag);
void gtk_xmhtml_set_anchor_cursor (GtkXmHTML *html,
GdkCursor * cursor,
int flag);
void gtk_xmhtml_set_topline (GtkXmHTML *html,
int line);
int gtk_xmhtml_get_topline (GtkXmHTML *html);
void gtk_xmhtml_set_freeze_animations (GtkXmHTML *html,
int flag);
char *gtk_xmhtml_get_source (GtkXmHTML *html);
void gtk_xmhtml_set_screen_gamma (GtkXmHTML *html,
float gamma);
void gtk_xmhtml_set_image_procs (GtkXmHTML *html,
XmImageProc image_proc,
XmImageGifProc gif_proc,
XmHTMLGetDataProc get_data,
XmHTMLEndDataProc end_data);
void gtk_xmhtml_set_event_proc (GtkXmHTML *html,
XmHTMLEventProc event_proc);
void gtk_xmhtml_set_perfect_colors (GtkXmHTML *html, int flag);
void gtk_xmhtml_set_uncompress_command (GtkXmHTML *html, char *cmd);
void gtk_xmhtml_set_strict_checking (GtkXmHTML *html, int flag);
void gtk_xmhtml_set_bad_html_warnings (GtkXmHTML *html, int flag);
void gtk_xmhtml_set_allow_form_coloring (GtkXmHTML *html, int flag);
void gtk_xmhtml_set_imagemap_draw (GtkXmHTML *html, int flag);
void gtk_xmhtml_set_mime_type (GtkXmHTML *html, char *mime_type);
void gtk_xmhtml_set_alpha_processing (GtkXmHTML *html, int flag);
void gtk_xmhtml_set_rgb_conv_mode (GtkXmHTML *html, int val);
void Toolkit_Draw_Shadows(XmHTMLWidget w, TGC top_shadow, TGC bottom_shadow,
gint xs, gint ys, gint xe, gint ye, gint xxx, gint shadow_type);
/* These ones are used internally: */
void gtk_xmhtml_set_geometry (GtkWidget *widget, int x, int y, int width, int height);
guint gtk_xmhtml_get_type (void);
void gtk_xmhtml_manage (GtkContainer *container, GtkWidget *widget);
enum {
GTK_ANCHOR_NOLINE,
GTK_ANCHOR_SINGLE_LINE,
GTK_ANCHOR_DOUBLE_LINE,
GTK_ANCHOR_DASHED_LINE,
GTK_ANCHOR_DOUBLE_DASHED_LINE
};
/* For compatibility with the Motif sources */
typedef struct {
int reason;
GdkEvent *event;
} gtk_xmhtml_callback_info;
#endif