diff options
Diffstat (limited to 'vendor/x11iraf/obm/ObmW/HTMLP.h')
-rw-r--r-- | vendor/x11iraf/obm/ObmW/HTMLP.h | 246 |
1 files changed, 246 insertions, 0 deletions
diff --git a/vendor/x11iraf/obm/ObmW/HTMLP.h b/vendor/x11iraf/obm/ObmW/HTMLP.h new file mode 100644 index 00000000..6e75819e --- /dev/null +++ b/vendor/x11iraf/obm/ObmW/HTMLP.h @@ -0,0 +1,246 @@ +/**************************************************************************** + * NCSA Mosaic for the X Window System * + * Software Development Group * + * National Center for Supercomputing Applications * + * University of Illinois at Urbana-Champaign * + * 605 E. Springfield, Champaign IL 61820 * + * mosaic@ncsa.uiuc.edu * + * * + * Copyright (C) 1993, Board of Trustees of the University of Illinois * + * * + * NCSA Mosaic software, both binary and source (hereafter, Software) is * + * copyrighted by The Board of Trustees of the University of Illinois * + * (UI), and ownership remains with the UI. * + * * + * The UI grants you (hereafter, Licensee) a license to use the Software * + * for academic, research and internal business purposes only, without a * + * fee. Licensee may distribute the binary and source code (if released) * + * to third parties provided that the copyright notice and this statement * + * appears on all copies and that no charge is associated with such * + * copies. * + * * + * Licensee may make derivative works. However, if Licensee distributes * + * any derivative work based on or derived from the Software, then * + * Licensee will (1) notify NCSA regarding its distribution of the * + * derivative work, and (2) clearly notify users that such derivative * + * work is a modified version and not the original NCSA Mosaic * + * distributed by the UI. * + * * + * Any Licensee wishing to make commercial use of the Software should * + * contact the UI, c/o NCSA, to negotiate an appropriate license for such * + * commercial use. Commercial use includes (1) integration of all or * + * part of the source code into a product for sale or license by or on * + * behalf of Licensee to third parties, or (2) distribution of the binary * + * code or source code to third parties that need it to utilize a * + * commercial product sold or licensed by or on behalf of Licensee. * + * * + * UI MAKES NO REPRESENTATIONS ABOUT THE SUITABILITY OF THIS SOFTWARE FOR * + * ANY PURPOSE. IT IS PROVIDED "AS IS" WITHOUT EXPRESS OR IMPLIED * + * WARRANTY. THE UI SHALL NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY THE * + * USERS OF THIS SOFTWARE. * + * * + * By using or copying this Software, Licensee agrees to abide by the * + * copyright law and all other applicable laws of the U.S. including, but * + * not limited to, export control laws, and the terms of this license. * + * UI shall have the right to terminate this license immediately by * + * written notice upon Licensee's breach of, or non-compliance with, any * + * of its terms. Licensee may be held legally responsible for any * + * copyright infringement that is caused or encouraged by Licensee's * + * failure to abide by the terms of this license. * + * * + * Comments and questions are welcome and can be sent to * + * mosaic-x@ncsa.uiuc.edu. * + ****************************************************************************/ + +#ifndef HTMLP_H +#define HTMLP_H + +#include "HTML.h" + +#ifdef MOTIF +#include <Xm/XmP.h> +# ifdef MOTIF1_2 +# include <Xm/ManagerP.h> +# endif /* MOTIF1_2 */ +#else +#include <X11/IntrinsicP.h> +#include <X11/ConstrainP.h> +#endif /* MOTIF */ + +#include <X11/Xatom.h> +#include <X11/Xmu/Atoms.h> + +#if defined(SYSV) || defined(SVR4) || defined(__svr4__) || defined(VMS) +#define bcopy(source, dest, count) memcpy(dest, source, count) +#define bzero(b, len) memset(b, 0, len) +#endif + + +/* + * Used for special images + */ +#define INTERNAL_IMAGE "internal-" + + +/* New fields for the HTML widget class */ +typedef struct _HTMLClassPart +{ + int none; /* no extra HTML class stuff */ +} HTMLClassPart; + + +typedef struct _HTMLClassRec +{ + CoreClassPart core_class; + CompositeClassPart composite_class; + ConstraintClassPart constraint_class; +#ifdef MOTIF + XmManagerClassPart manager_class; +#endif /* MOTIF */ + HTMLClassPart html_class; +} HTMLClassRec; + + +extern HTMLClassRec htmlClassRec; + + +/* New fields for the HTML widget */ +typedef struct _HTMLPart +{ + /* Resources */ + Dimension margin_width; + Dimension margin_height; + + Widget view; + Widget hbar; + Widget vbar; + Boolean hbar_top; + Boolean vbar_right; + + XtCallbackList anchor_callback; + XtCallbackList link_callback; + XtCallbackList form_callback; + + char *title; + char *raw_text; + char *header_text; + char *footer_text; +/* + * Without motif we have to define our own forground resource + * instead of using the manager's + */ +#ifndef MOTIF + Pixel foreground; +#endif + Pixel anchor_fg; + Pixel visitedAnchor_fg; + Pixel activeAnchor_fg; + Pixel activeAnchor_bg; + int num_anchor_underlines; + int num_visitedAnchor_underlines; + Boolean dashed_anchor_lines; + Boolean dashed_visitedAnchor_lines; + Boolean fancy_selections; + Boolean border_images; + Boolean delay_images; + Boolean is_index; + int percent_vert_space; + + XFontStruct *font; + XFontStruct *italic_font; + XFontStruct *bold_font; + XFontStruct *fixed_font; + XFontStruct *fixedbold_font; + XFontStruct *fixeditalic_font; + XFontStruct *header1_font; + XFontStruct *header2_font; + XFontStruct *header3_font; + XFontStruct *header4_font; + XFontStruct *header5_font; + XFontStruct *header6_font; + XFontStruct *address_font; + XFontStruct *plain_font; + XFontStruct *plainbold_font; + XFontStruct *plainitalic_font; + XFontStruct *listing_font; + + XtPointer previously_visited_test; + XtPointer vt_client_data; + XtPointer resolveImage; + XtPointer resolveDelayedImage; + + XtPointer pointer_motion_callback; + XtPointer pm_client_data; + + /* PRIVATE */ + Dimension max_pre_width; + Dimension view_width; + Dimension view_height; + int doc_width; + int doc_height; + int scroll_x; + int scroll_y; + Boolean use_hbar; + Boolean use_vbar; + struct ele_rec *formatted_elements; + int line_count; + struct ele_rec **line_array; + struct ele_rec *select_start; + struct ele_rec *select_end; + int sel_start_pos; + int sel_end_pos; + struct ele_rec *new_start; + struct ele_rec *new_end; + int new_start_pos; + int new_end_pos; + struct ele_rec *active_anchor; + GC drawGC; + int press_x; + int press_y; + Time but_press_time; + Time selection_time; + struct mark_up *html_objects; + struct mark_up *html_header_objects; + struct mark_up *html_footer_objects; + struct ref_rec *my_visited_hrefs; + struct delay_rec *my_delayed_images; + WidgetInfo *widget_list; + FormInfo *form_list; + + struct ele_rec *cached_tracked_ele; +} HTMLPart; + + +typedef struct _HTMLRec +{ + CorePart core; + CompositePart composite; + ConstraintPart constraint; +#ifdef MOTIF + XmManagerPart manager; +#endif /* MOTIF */ + HTMLPart html; +} HTMLRec; + +/* + * to reduce the number of MOTIF/ATHENA ifdefs around the code + * we use some generalized constants + */ +#ifdef MOTIF +# define XxNx XmNx +# define XxNy XmNy +# define XxNwidth XmNwidth +# define XxNheight XmNheight +# define XxNset XmNset +# define XxNvalue XmNvalue +#else +# define XxNx XtNx +# define XxNy XtNy +# define XxNwidth XtNwidth +# define XxNheight XtNheight +# define XxNset XtNstate +# define XxNvalue XtNstring +#endif /* MOTIF */ + + +#endif /* HTMLP_H */ |