00001 /***** 00002 * mi32/html.h - XmHTML Widget public header file. 00003 * Resource defines, enumerations and structures. 00004 * 00005 * This file Version $Revision: 1.3 $ 00006 * 00007 * Creation date: Tue Apr 15 23:39:26 GMT+0100 1997 00008 * Last modification: $Date: 2003/09/15 13:49:56 $ 00009 * By: $Author: fileserver!dwilliss $ 00010 * Current State: $State: Exp $ 00011 * 00012 * Author: newt 00013 * 00014 * Copyright (C) 1994-1997 by Ripley Software Development 00015 * All Rights Reserved 00016 * 00017 * This file is part of the XmHTML Widget Library 00018 * 00019 * This library is free software; you can redistribute it and/or 00020 * modify it under the terms of the GNU Library General Public 00021 * License as published by the Free Software Foundation; either 00022 * version 2 of the License, or (at your option) any later version. 00023 * 00024 * This library is distributed in the hope that it will be useful, 00025 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00026 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00027 * Library General Public License for more details. 00028 * 00029 * You should have received a copy of the GNU Library General Public 00030 * License along with this library; if not, write to the Free 00031 * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 00032 * 00033 *****/ 00034 00035 #ifndef INC_MI32_HTML_H 00036 #define INC_MI32_HTML_H 00037 00038 /***** 00039 * $Source: /fileserver/sdt/tnt71/inc/mi32/RCS/html.h_v $ 00040 *****/ 00041 /***** 00042 * ChangeLog 00043 * $Log: html.h_v $ 00044 * Revision 1.3 2003/09/15 13:49:56 fileserver!dwilliss 00045 * Doxygen 00046 * 00047 * Revision 1.2 1998/09/16 16:48:35 coffee!dwilliss 00048 * Update to 1.1.5 00049 * 00050 * Revision 1.8 1998/04/27 06:54:30 newt 00051 * Changed XmImageProc proto 00052 * 00053 * Revision 1.7 1998/04/04 06:27:46 newt 00054 * XmHTML Beta 1.1.3 00055 * 00056 * Revision 1.6 1997/10/23 00:24:27 newt 00057 * XmHTML Beta 1.1.0 release 00058 * 00059 * Revision 1.5 1997/08/31 17:30:39 newt 00060 * Removed HT_TEXTFLOW 00061 * 00062 * Revision 1.4 1997/08/30 00:22:46 newt 00063 * Alpha channel resources: XmNalphaChannelProcessing and 00064 * XmNimageRGBConversion. Updated comments and reorganized a bunch of things. 00065 * 00066 * Revision 1.3 1997/08/01 12:52:11 newt 00067 * Progressive image loading changes 00068 * 00069 * Revision 1.2 1997/05/28 01:29:28 newt 00070 * XmImage changes: added the XmImageConfig structure and configuration flags. 00071 * Added support for the XmNdecodeGIFProc resource. 00072 * 00073 * Revision 1.1 1997/04/29 14:19:18 newt 00074 * Initial Revision 00075 * 00076 *****/ 00077 00078 #ifndef _HTML_h_ 00079 #define _HTML_h_ 00080 00081 /* include our new resources */ 00082 #include <mi32/htmlstrs.h> 00083 00084 /****************************************************************************** 00085 * Enumerations and other constants 00086 ******************************************************************************/ 00087 00088 /***** 00089 * HTML Elements internal id's 00090 * This list is alphabetically sorted to speed up the searching process. 00091 * DO NOT MODIFY 00092 *****/ 00093 typedef enum{ 00094 HT_DOCTYPE, HT_A, HT_ADDRESS, HT_APPLET, HT_AREA, HT_B, HT_BASE, HT_BASEFONT, 00095 HT_BIG, HT_BLOCKQUOTE, HT_BODY, HT_BR, HT_CAPTION, HT_CENTER, HT_CITE, HT_CODE, 00096 HT_DD, HT_DFN, HT_DIR, HT_DIV, HT_DL, HT_DT, HT_EM, HT_FONT, HT_FORM, HT_FRAME, 00097 HT_FRAMESET, HT_H1, HT_H2, HT_H3, HT_H4, HT_H5, HT_H6, HT_HEAD, HT_HR, HT_HTML, 00098 HT_I, HT_IMG, HT_INPUT, HT_ISINDEX, HT_KBD, HT_LI, HT_LINK, HT_MAP, HT_MENU, 00099 HT_META, HT_NOFRAMES, HT_OL, HT_OPTION, HT_P, HT_PAGE, HT_PARAM, HT_PRE, 00100 HT_SAMP, HT_SCRIPT, HT_SELECT, HT_SMALL, HT_STRIKE, HT_STRONG, HT_STYLE, HT_SUB, 00101 HT_SUP, HT_TAB, HT_TABLE, HT_TD, HT_TEXTAREA, HT_TH, HT_TITLE, 00102 HT_TR, HT_TT, HT_U, HT_UL, HT_VAR, HT_ZTEXT 00103 }htmlEnum; 00104 00105 /***** 00106 * Corresponding HTML element name table. Indexing with the above enumeration 00107 * will give the corresponding element name. 00108 *****/ 00109 extern String *html_tokens; 00110 00111 /***** 00112 * XmHTML defines the following callback reasons. This might produce strange 00113 * results once Motif decides to uses enum values above 16383. 00114 * Send us a mail at ripley@xs4all.nl if you get problems that are due to 00115 * these enumeration values. 00116 *****/ 00117 enum{ 00118 XmCR_HTML_ANCHORTRACK = 16384, 00119 XmCR_HTML_DOCUMENT, 00120 XmCR_HTML_FORM, 00121 XmCR_HTML_FRAME, 00122 XmCR_HTML_FRAMECREATE, 00123 XmCR_HTML_FRAMEDESTROY, 00124 XmCR_HTML_IMAGEMAPACTIVATE, 00125 XmCR_HTML_IMAGEMAP, 00126 XmCR_HTML_LINK, 00127 XmCR_HTML_MODIFYING_TEXT_VALUE, 00128 XmCR_HTML_MOTIONTRACK, 00129 XmCR_HTML_PARSER, 00130 XmCR_HTML_EVENT, 00131 XmCR_HTML_EVENTDESTROY, 00132 XmCR_HTML_OBJECT, 00133 XmCR_HTML_OBJECTCREATE, 00134 XmCR_HTML_OBJECTDESTROY 00135 }; 00136 00137 /***** 00138 * XmNeventCallback sub event types 00139 *****/ 00140 enum{ 00141 /* Document/Frame specific events */ 00142 XmCR_HTML_LOAD = 0, 00143 XmCR_HTML_UNLOAD, 00144 00145 /* HTML Form specific events */ 00146 XmCR_HTML_SUBMIT, 00147 XmCR_HTML_RESET, 00148 XmCR_HTML_FOCUS, 00149 XmCR_HTML_BLUR, 00150 XmCR_HTML_SELECT, 00151 XmCR_HTML_CHANGE, 00152 00153 /* object events */ 00154 XmCR_HTML_CLICK, 00155 XmCR_HTML_DOUBLE_CLICK, 00156 XmCR_HTML_MOUSEDOWN, 00157 XmCR_HTML_MOUSEUP, 00158 XmCR_HTML_MOUSEOVER, 00159 XmCR_HTML_MOUSEMOVE, 00160 XmCR_HTML_MOUSEOUT, 00161 XmCR_HTML_KEYPRESS, 00162 XmCR_HTML_KEYDOWN, 00163 XmCR_HTML_KEYUP, 00164 XmCR_HTML_USEREVENT 00165 }; 00166 00167 /***** 00168 * URL types XmHTML knows of. 00169 * The hostnames, files and port numbers are only shown for demonstration 00170 * purposes, XmHTML doesn't care whether they are present or not. 00171 * The first 16 elements are alphabetically sorted to speed up URL 00172 * translations. 00173 *****/ 00174 typedef enum{ 00175 ANCHOR_ABOUT = 0, 00176 ANCHOR_EXEC, 00177 ANCHOR_FILE_REMOTE, 00178 ANCHOR_FTP, 00179 ANCHOR_GOPHER, 00180 ANCHOR_HTTP, 00181 ANCHOR_SECURE_HTTP, 00182 ANCHOR_INFO, 00183 ANCHOR_MAILTO, 00184 ANCHOR_MAN, 00185 ANCHOR_NEWS, 00186 ANCHOR_PIPE, 00187 ANCHOR_TELNET, 00188 ANCHOR_WAIS, 00189 ANCHOR_XEXEC, 00190 ANCHOR_UNKNOWN, 00191 ANCHOR_FILE_LOCAL, 00192 ANCHOR_FORM_IMAGE, 00193 ANCHOR_JUMP, 00194 ANCHOR_NAMED 00195 }URLType; 00196 00197 /***** 00198 * Various methods of loading documents. 00199 * LOAD_NORMAL 00200 * The entire document is provided. This is the default method of loading 00201 * documents. 00202 * LOAD_PROGRESSIVE 00203 * Progressive document load. A complete source is provided each time: 00204 * caller takes care of appending new text to th current buffer before 00205 * flushing it to XmHTML. 00206 * LOAD_INCREMENTAL 00207 * Progressive document load. A new chunk is provided each time: XmHTML 00208 * takes care of appending new text to the already existing text. 00209 * LOAD_SUSPEND 00210 * Suspend progressive or incremental loading. XmHTML display the document 00211 * upto the last valid combination of tokens. 00212 * LOAD_ABORT 00213 * Abort progressive or icremental loading. XmHTML will flush it's 00214 * buffers and display all the data (including any constructs it 00215 * requires to close the document). 00216 *****/ 00217 typedef enum{ 00218 XmLOAD_NORMAL = 0, 00219 XmLOAD_PROGRESSIVE, 00220 XmLOAD_INCREMENTAL, 00221 XmLOAD_SUSPEND, 00222 XmLOAD_ABORT 00223 }XmHTMLLoadType; 00224 00225 /***** 00226 * Procedure to be called whenever a script is encountered 00227 * Arguments: 00228 * Widget: XmHTMLWidget id 00229 * String: script source text 00230 * XtPointer: XmNclientData value 00231 * Return value: 00232 * data to be stored whenever a document event should be processed. 00233 * This data is unused internally and is provided as the user_data 00234 * argument in the XmHTMLEvent structure. For example, the return value 00235 * could be a pointer into some internal procedural database, a ptr to a 00236 * compiled script procedure or the script source text if you want to 00237 * process it at some later time (when the event occurs). 00238 * 00239 * When NULL is returned the event in question is disabled. 00240 *****/ 00241 typedef XtPointer (*XmHTMLEventProc)(Widget, String, XtPointer); 00242 00243 /***** 00244 * HTML Form component types. Alphabetically sorted to speed up searching. 00245 *****/ 00246 typedef enum{ 00247 FORM_CHECK = 0, 00248 FORM_FILE, 00249 FORM_HIDDEN, 00250 FORM_IMAGE, 00251 FORM_OPTION, 00252 FORM_PASSWD, 00253 FORM_RADIO, 00254 FORM_RESET, 00255 FORM_SELECT, 00256 FORM_SUBMIT, 00257 FORM_TEXT, 00258 FORM_TEXTAREA, 00259 FORM_UNKNOWN 00260 }componentType; 00261 00262 /***** 00263 * Supported HTML Form method types 00264 *****/ 00265 enum{ 00266 XmHTML_FORM_GET = 0, 00267 XmHTML_FORM_POST, 00268 XmHTML_FORM_PIPE 00269 }; 00270 00271 /***** 00272 * possible error codes for XmNparserCallback 00273 *****/ 00274 typedef enum{ 00275 HTML_UNKNOWN_ELEMENT = 1, 00276 HTML_BAD, 00277 HTML_OPEN_BLOCK, 00278 HTML_CLOSE_BLOCK, 00279 HTML_OPEN_ELEMENT, 00280 HTML_NESTED, 00281 HTML_VIOLATION, 00282 HTML_NOTIFY, 00283 HTML_INTERNAL 00284 }parserError; 00285 00286 /***** 00287 * And corresponding values for XmNenableBadHTMLWarnings. 00288 * These are or'd together. 00289 * XmNONE disables warnings and XmHTML_ALL enables all warnings. 00290 * See parserError for their meaning. 00291 *****/ 00292 enum{ 00293 XmHTML_NONE = 0, 00294 XmHTML_UNKNOWN_ELEMENT = 1, 00295 XmHTML_BAD = 2, 00296 XmHTML_OPEN_BLOCK = 4, 00297 XmHTML_CLOSE_BLOCK = 8, 00298 XmHTML_OPEN_ELEMENT = 16, 00299 XmHTML_NESTED = 32, 00300 XmHTML_VIOLATION = 64, 00301 XmHTML_ALL = 127 00302 }; 00303 00304 /***** 00305 * possible action codes for the action field in the XmHTMLParserCallbackStruct 00306 *****/ 00307 enum{ 00308 HTML_REMOVE = 1, 00309 HTML_INSERT, 00310 HTML_SWITCH, 00311 HTML_KEEP, 00312 HTML_IGNORE, 00313 HTML_ALIAS, 00314 HTML_TERMINATE 00315 }; 00316 00317 /***** 00318 * Possible return codes for XmHTMLImageGetType(). 00319 *****/ 00320 enum{ 00321 IMAGE_ERROR = 0, 00322 IMAGE_UNKNOWN, 00323 IMAGE_XPM, 00324 IMAGE_XBM, 00325 IMAGE_GIF, 00326 IMAGE_GIFANIM, 00327 IMAGE_GIFANIMLOOP, 00328 IMAGE_GZF, 00329 IMAGE_GZFANIM, 00330 IMAGE_GZFANIMLOOP, 00331 IMAGE_JPEG, 00332 IMAGE_PNG, 00333 IMAGE_FLG 00334 }; 00335 00336 /***** 00337 * Possible return values for a function installed on the 00338 * XmNprogressiveReadProc resource. 00339 *****/ 00340 #define STREAM_OK 1 00341 #define STREAM_END 0 00342 #define STREAM_SUSPEND -1 00343 #define STREAM_ABORT -2 00344 #define STREAM_RESIZE -3 00345 00346 /***** 00347 * Possible return values for the XmNdecodeGIFProc resource and 00348 * values for the XmHTMLGIFStream state. 00349 *****/ 00350 #define GIF_STREAM_OK 2 00351 #define GIF_STREAM_END 1 00352 #define GIF_STREAM_ERR 0 00353 #define GIF_STREAM_INIT -1 00354 #define GIF_STREAM_FINAL -2 00355 00356 /***** 00357 * Possible return values from a number of image related routines. 00358 * The actual meaning depends on the routine used. 00359 *****/ 00360 typedef enum{ 00361 XmIMAGE_ERROR = 0, 00362 XmIMAGE_BAD, 00363 XmIMAGE_UNKNOWN, 00364 XmIMAGE_ALMOST, 00365 XmIMAGE_OK 00366 }XmImageStatus; 00367 00368 /***** 00369 * Possible values for transparency (value for the "bg" field in both 00370 * XmImage and XmImageInfo structures). Possible values are: 00371 * 00372 * XmIMAGE_NONE 00373 * indicates the image is not transparent 00374 * XmIMAGE_TRANSPARENCY_BG 00375 * indicates the image achieves transparency by substituting the current 00376 * background setting (can be a single color or background image. Internally, 00377 * such transparency is achieved by using a clipmask). 00378 * XmIMAGE_TRANSPARENCY_ALPHA 00379 * indicates the image achieves transparency by using an alpha channel. 00380 * This transparency is currently only used by PNG images with an alpha 00381 * channel or a tRNS chunk (which is expanded to an alpha channel internally). 00382 *****/ 00383 enum{ 00384 XmIMAGE_NONE = 0, 00385 XmIMAGE_TRANSPARENCY_BG, 00386 XmIMAGE_TRANSPARENCY_ALPHA 00387 }; 00388 00389 /***** 00390 * Possible values for the colorspace value. 00391 * 00392 * XmIMAGE_COLORSPACE_GRAYSCALE 00393 * image contains only shades of gray. The colorcube is reduced to a 1D 00394 * representation. All components in a shade have the same value. The 00395 * pixel values are equal to the value of a single color component. 00396 * XmIMAGE_COLORSPACE_INDEXED 00397 * image uses a fixed palette. Colorcube is mapped to a 1D lookup-table. 00398 * XmIMAGE_COLORSPACE_RGB 00399 * image uses a full 3D colorcube. 00400 *****/ 00401 enum{ 00402 /* XmIMAGE_NONE */ 00403 XmIMAGE_COLORSPACE_GRAYSCALE = 1, 00404 XmIMAGE_COLORSPACE_INDEXED, 00405 XmIMAGE_COLORSPACE_RGB 00406 }; 00407 00408 /***** 00409 * XmImageInfo structure options field bits. 00410 * The ``Set by default'' indicates a bit set when the XmHTMLImageDefaultProc 00411 * is used to read an image. The ``Read Only'' indicates a bit you should 00412 * consider as read-only. 00413 * XmIMAGE_DELAYED 00414 * Indicates the image is delayed, e.i. it will be provided at a later stage; 00415 * XmIMAGE_DEFERRED_FREE 00416 * Indicates XmHTML may free this structure when a new document is loaded. 00417 * XmIMAGE_IMMEDIATE_FREE 00418 * Indicates XmHTML may free this structure when XmHTML no longer needs it; 00419 * XmIMAGE_RGB_SINGLE 00420 * Indicates that the reds, greens and blues fields are allocated in a single 00421 * memory area instead of three seperate memory arrays. 00422 * XmIMAGE_ALLOW_SCALE 00423 * Indicates that scaling an image is allowed. 00424 * XmIMAGE_FRAME_IGNORE 00425 * Use with animations: set this bit when a frame falls outside the logical 00426 * screen area. No pixmap is created but the timeout for the frame is kept. 00427 * XmIMAGE_CLIPMASK 00428 * This bit is set when the returned XmImageInfo structure contains clipmask 00429 * data. XmHTML uses this info to create a clipping bitmap. Changing this 00430 * bit from set to unset will lead to a memory leak while changing it from 00431 * unset to set *without* providing a clipmask yourself *will* cause an error 00432 * to happen. You can set this bit when you are providing your own clipmask 00433 * (to provide non-rectangular images for example), PROVIDED you fill the 00434 * ``clip'' field with valid bitmap data (a stream of bytes in XYBitmap format 00435 * and the same size of the image). 00436 * XmIMAGE_SHARED_DATA 00437 * This bit is set when images share data. XmHTML sets this bit when the image 00438 * in question is an internal image, e.i., one for which the image data may 00439 * never be freed. Be carefull setting this bit yourself, since it prevents 00440 * XmHTML from freeing the image data present in the XmImageInfo structure. 00441 * It can easily lead to memory leaks when an image is *not* an internal 00442 * image. 00443 * XmIMAGE_PROGRESSIVE 00444 * Setting this bit will enable XmHTML progressive image loading. A function 00445 * *must* have been installed on the XmNprogressiveReadProc resource *prior* 00446 * to setting this bit. Installing a function on the XmNprogressiveEndProc 00447 * is optional. When this bit is set all other bits will be ignored. 00448 * XmIMAGE_DELAYED_CREATION 00449 * This bit is read-only. It is used internally by XmHTML for images with 00450 * an alpha channel. Alpha channel processing merges the current background 00451 * with the original RGB data from the image and uses the result to compose 00452 * the actual on-screen image (the merged data is stored in the ``data'' 00453 * field of the XmImageInfo structure). XmHTML needs to store the original 00454 * data somewhere, and when this bit is set it is stored in the ``rgb'' field 00455 * of the XmImageInfo structure. 00456 * When this bit is set, the returned XmImageInfo may *NOT BE FREED* as long 00457 * as the current document is alive. You can discard it as soon as a new 00458 * document is loaded. 00459 *****/ 00460 #define XmIMAGE_DELAYED (1<<1) 00461 #define XmIMAGE_DEFERRED_FREE (1<<2) /* set by default */ 00462 #define XmIMAGE_IMMEDIATE_FREE (1<<3) 00463 #define XmIMAGE_RGB_SINGLE (1<<4) /* set by default */ 00464 #define XmIMAGE_ALLOW_SCALE (1<<5) /* set by default */ 00465 #define XmIMAGE_FRAME_IGNORE (1<<6) 00466 #define XmIMAGE_CLIPMASK (1<<7) /* Read Only */ 00467 #define XmIMAGE_SHARED_DATA (1<<8) /* Read Only */ 00468 #define XmIMAGE_PROGRESSIVE (1<<9) 00469 00470 #define XmIMAGE_DELAYED_CREATION (1<<10) /* Read Only */ 00471 00472 /***** 00473 * XmImageInfo animation disposal values 00474 * A disposal method specifies what should be done before the current frame is 00475 * rendered. Possible values are: 00476 * XmIMAGE_DISPOSE_NONE 00477 * do nothing, overlays the previous frame with the current frame. 00478 * XmIMAGE_DISPOSE_BY_BACKGROUND 00479 * Restore to background color. The area used by the previous frame must 00480 * be restored to the background color/image 00481 * XmIMAGE_DISPOSE_BY_PREVIOUS 00482 * Restore to previous. The area used by the previous frame must be 00483 * restored to what was there prior to rendering the previous frame. 00484 *****/ 00485 enum{ 00486 /* XmIMAGE_NONE */ 00487 XmIMAGE_DISPOSE_NONE = 1, 00488 XmIMAGE_DISPOSE_BY_BACKGROUND, 00489 XmIMAGE_DISPOSE_BY_PREVIOUS 00490 }; 00491 00492 /***** 00493 * Primary image cache actions 00494 * (unimplemented) 00495 *****/ 00496 #define IMAGE_STORE 0 00497 #define IMAGE_GET 1 00498 #define IMAGE_DISCARD 2 00499 00500 /***** 00501 * XmNperfectColors/XmNalphaChannelProcessing resource values. 00502 * 00503 * Note: these values are represented by the XmCEnableMode resource class. 00504 *****/ 00505 enum{ 00506 /* XmAUTOMATIC */ 00507 XmALWAYS = 1, 00508 XmNEVER 00509 }; 00510 00511 /***** 00512 * Possible XmNimageMapToPalette/XmNimageRGBConversion resource values: 00513 * 00514 * XmQUICK 00515 * RGBConversion: 00516 * first checks if the 24bit image contains less than XmNmaxImageColors. 00517 * If not, XmHTML will dither to a fixed palette. This is fast but has 00518 * the disadvantage that the background color in an alpha channelled 00519 * image will not be matched exactly. 00520 * MapToPalette: 00521 * Use closest distance algorithm to map colors to the palette. No 00522 * error correction is performed. Reasonably fast, but quality 00523 * heavily depends on the distribution of the colors in the image. 00524 * XmBEST 00525 * RGBConversion (default): 00526 * first checks if the 24bit image contains less than XmNmaxImageColors. 00527 * If it is, the actual image colors are used. If not, a histogram of the 00528 * image is computed, the most used colors are selected and the resulting 00529 * image is dithered to this palette. 00530 * Offers best 24 to 8bit conversion and is probably faster than XmSLOW 00531 * as only images with more than XmNmaxImageColors will be dithered. 00532 * MapToPalette: 00533 * Ordered dithering using predefined error matrices. Reasonably fast and 00534 * quite good results; 00535 * XmFAST 00536 * RGBConversion: 00537 * Skips the check and dithers to a fixed palette right away. This is the 00538 * fastest way to do 24 to 8bit conversion but has the disadvantage that 00539 * every 24bit image is dithered to a fixed palette, regardless of the 00540 * actual no of colors in the image. 00541 * MapToPalette: 00542 * Simple ordered dithering. Fastest but probably the poorest results. 00543 * XmSLOW 00544 * RGBConversion: 00545 * Skips the check and does histogram stuff right away. 00546 * MapToPalette: 00547 * closest distance algorithm to map image colors to the palette and use 00548 * dynamic error correction. Slowest but best results; 00549 * XmDISABLED 00550 * RGBConversion: 00551 * ignored; 00552 * MapToPalette (default): 00553 * Disables palette mapping; 00554 * 00555 * Note: these values are represented by the XmCConversionMode resource class. 00556 *****/ 00557 enum{ 00558 XmQUICK = 0, 00559 XmBEST, 00560 XmFAST, 00561 XmSLOW, 00562 XmDISABLED 00563 }; 00564 00565 /***** 00566 * Embedded object flags. These flags tell XmHTML which attributes are 00567 * defined for an object. 00568 *****/ 00569 #define HT_TAG_CLASSID (1<<1) /* classid, defines an implementation */ 00570 #define HT_TAG_CODEBASE (1<<2) /* base url for applet */ 00571 #define HT_TAG_DATA (1<<3) /* object data */ 00572 #define HT_TAG_SRC (1<<4) /* object data */ 00573 #define HT_TAG_TYPE (1<<5) /* internet data content type */ 00574 #define HT_TAG_CODETYPE (1<<6) /* internet code content type */ 00575 #define HT_TAG_STANDBY (1<<7) /* standby message */ 00576 #define HT_TAG_ALIGN (1<<8) /* global alignment */ 00577 #define HT_TAG_HALIGN (1<<9) /* horizontal alignment */ 00578 #define HT_TAG_VALIGN (1<<10) /* vertical alignment */ 00579 #define HT_TAG_HEIGHT (1<<11) /* suggested height */ 00580 #define HT_TAG_WIDTH (1<<12) /* suggested width */ 00581 #define HT_TAG_BORDER (1<<13) /* suggested border width */ 00582 #define HT_TAG_HSPACE (1<<14) /* suggested horizontal gutting space */ 00583 #define HT_TAG_VSPACE (1<<15) /* suggested vertical gutting space */ 00584 #define HT_TAG_USEMAP (1<<16) /* imagemap reference */ 00585 #define HT_TAG_BACKGROUND (1<<17) /* background image specification */ 00586 #define HT_TAG_BGCOLOR (1<<18) /* background color specification */ 00587 #define HT_TAG_HREF (1<<19) /* hyperlink */ 00588 #define HT_TAG_NAME (1<<20) /* object name/named hyperlink */ 00589 #define HT_TAG_EVENTS (1<<21) /* HTML4.0 events */ 00590 00591 /***** 00592 * Possible return values for the embedded object convenience functions 00593 *****/ 00594 typedef enum{ 00595 OBJECT_ALMOST = 0, 00596 OBJECT_DESTROYED, 00597 OBJECT_EMPTY, 00598 OBJECT_ERROR, 00599 OBJECT_FATAL, 00600 OBJECT_INVALID, 00601 OBJECT_INVALID_LOCATION, 00602 OBJECT_INVALID_SIZE, 00603 OBJECT_LOWERED, 00604 OBJECT_MAPPED, 00605 OBJECT_OK, 00606 OBJECT_ORPHANED, 00607 OBJECT_PARENTED, 00608 OBJECT_RAISED, 00609 OBJECT_UNIMPLEMENTED, 00610 OBJECT_UNKNOWN, 00611 OBJECT_UNKNOWN_ELEMENT, 00612 OBJECT_UNMAPPED, 00613 OBJECT_UNUSED, 00614 OBJECT_USED, 00615 OBJECT_VISIBLE 00616 }XmHTMLObjectStatus; 00617 00618 /***** 00619 * Search directions: forward or backward search 00620 *****/ 00621 typedef enum{ 00622 XmHTML_FORWARD = 0, 00623 XmHTML_BACKWARD 00624 }XmHTMLDirection; 00625 00626 /***** 00627 * XmHTMLTextFind return codes 00628 *****/ 00629 typedef enum{ 00630 XmREG_ERROR = 0, 00631 XmREG_NOMATCH, 00632 XmREG_MATCH 00633 }XmHTMLRegexStatus; 00634 00635 /***** 00636 * In addition to the POXIX regex error codes, XmHTMLTextFinderGetError 00637 * can return the following errors 00638 *****/ 00639 #define RE_EEMPTY -1 00640 #define RE_ENOMEM -2 00641 #define RE_EBADPARENT -3 00642 #define RE_EWORDS -4 00643 #define RE_ERROR -5 00644 00645 /***** 00646 * Finder is a fully opaque types. 00647 *****/ 00648 typedef struct _XmHTMLTextFinder *XmHTMLTextFinder; 00649 00650 /***** 00651 * Custom Papersize dimension unit type 00652 * (under construction) 00653 *****/ 00654 enum{ 00655 XmHTML_CHAR = 0, 00656 XmHTML_CENTIMETER, 00657 XmHTML_MILLIMETER, 00658 XmHTML_INCH, 00659 XmHTML_PICA, 00660 XmHTML_POINT 00661 }; 00662 00663 /***** 00664 * XmHTMLTextGetFormatted paper size defines 00665 * (under construction) 00666 *****/ 00667 enum{ 00668 XmHTMLTEXT_PAPERSIZE_A4 = 0, 00669 XmHTMLTEXT_PAPERSIZE_LETTER, 00670 XmHTMLTEXT_PAPERSIZE_CUSTOM 00671 }; 00672 00673 /***** 00674 * XmHTMLTextGetFormatted type definitions 00675 * (under construction) 00676 *****/ 00677 enum{ 00678 XmHTMLTEXT_PLAIN = 0, 00679 XmHTMLTEXT_FORMATTED, 00680 XmHTMLTEXT_POSTSCRIPT 00681 }; 00682 00683 /***** 00684 * XmHTMLTextGetFormatted Postscript option bits 00685 * (under construction) 00686 * The MIMIC_FONTS bit instructs XmHTML to use any of the supported postscript 00687 * fonts to approach the fonts used in the document. When set, all other font 00688 * bits are ignored. When not used, the PSFONT bits can be or'd together. 00689 * XmHTML will attempt to do the following mapping: 00690 * PSFONT_ROMAN/PSFONT_CENTURY -> default text font; 00691 * PSFONT_HELVETICA/PSFONT_LUCIDA -> fixed width font; 00692 * If only one of the PSFONT bits is set, the entire document will be rendered 00693 * in that font. 00694 *****/ 00695 #define XmHTMLTEXT_ADDHEADER (1<<1) 00696 #define XmHTMLTEXT_ADDFOOTER (1<<2) 00697 #define XmHTMLTEXT_PSFONT_ROMAN (1<<3) 00698 #define XmHTMLTEXT_PSFONT_HELVETICA (1<<4) 00699 #define XmHTMLTEXT_PSFONT_CENTURY (1<<5) 00700 #define XmHTMLTEXT_PSFONT_LUCIDA (1<<6) 00701 #define XmHTMLTEXT_MIMIC_FONTS (1<<7) 00702 00703 /***** 00704 * XmHTMLGetHeadAttributes mask bits 00705 *****/ 00706 #define HeadClear ((unsigned char)0) /* clear everything */ 00707 #define HeadDocType (1<<0) /* fill doctype member */ 00708 #define HeadTitle (1<<1) /* fill title member */ 00709 #define HeadIsIndex (1<<2) /* fill isIndex member */ 00710 #define HeadBase (1<<3) /* fill Base member */ 00711 #define HeadMeta (1<<4) /* fill meta members */ 00712 #define HeadLink (1<<5) /* fill link members */ 00713 #define HeadScript (1<<6) /* fill script members */ 00714 #define HeadStyle (1<<7) /* fill Style members */ 00715 #define HeadAll ((unsigned char)~0) /* fill all members */ 00716 00717 /***** 00718 * XmImage frame selection flags. 00719 * any positive number will return the requested frame. If larger than 00720 * total framecount, last frame is returned. 00721 *****/ 00722 #define AllFrames -1 00723 #define FirstFrame -2 00724 #define LastFrame -3 00725 00726 /***** 00727 * XmImage configuration flags 00728 *****/ 00729 #define ImageFSDither (1L<<1) /* Floyd-Steinberg on quantized images */ 00730 #define ImageCreateGC (1L<<2) /* create gc for image */ 00731 #define ImageWorkSpace (1L<<3) /* create animation workspace */ 00732 #define ImageClipmask (1L<<4) /* create clipmask */ 00733 #define ImageBackground (1L<<5) /* substitute background pixel */ 00734 #define ImageQuantize (1L<<6) /* quantize image */ 00735 #define ImageMaxColors (1L<<7) /* sets maximum colors */ 00736 #define ImageGifDecodeProc (1L<<8) /* gif lzw decoder function */ 00737 #define ImageGifzCmd (1L<<9) /* gif lzw uncompress command */ 00738 #define ImageFrameSelect (1L<<10)/* frame selection */ 00739 #define ImageScreenGamma (1L<<11)/* gamma correction. JPEG and PNG only */ 00740 00741 /****************************************************************************** 00742 * Commonly used structures 00743 ******************************************************************************/ 00744 00745 /***** 00746 * Representation of parsed HTML elements 00747 *****/ 00748 typedef struct _XmHTMLObject{ 00749 htmlEnum id; 00750 String element; 00751 String attributes; 00752 Boolean is_end; 00753 Boolean terminated; 00754 Cardinal line; 00755 struct _XmHTMLObject *next; 00756 struct _XmHTMLObject *prev; 00757 }XmHTMLObject; 00758 00759 /***** 00760 * Custom papersize definition 00761 *****/ 00762 typedef struct _XmHTMLPaperSize{ 00763 unsigned char unit_type; 00764 unsigned char paper_type; 00765 Cardinal width; 00766 Cardinal height; 00767 Cardinal left_margin; 00768 Cardinal right_margin; 00769 Cardinal top_margin; 00770 Cardinal bottom_margin; 00771 }XmHTMLPaperSize; 00772 00773 /***** 00774 * Definition of a HTMLTextPosition. 00775 * Should be considered an opaque object. 00776 *****/ 00777 typedef struct _XmHTMLTextPosition{ 00778 struct _XmHTMLObjectTable *start; 00779 int idx; 00780 int nwords; 00781 int fc; 00782 }XmHTMLTextPosition; 00783 00784 /***** 00785 * The following structure is returned by the XmHTMLImageDefaultProc convenience 00786 * function. When a procedure for the XmNimageProc resource is installed, 00787 * it *must* return this structure. 00788 *****/ 00789 typedef struct _XmImageInfo 00790 { 00791 /* regular image fields */ 00792 String url; 00793 unsigned char *data; 00794 unsigned char *clip; 00795 Dimension width; 00796 Dimension height; 00797 Dimension *reds; 00798 Dimension *greens; 00799 Dimension *blues; 00800 int bg; 00801 unsigned int ncolors; 00802 unsigned int options; 00803 00804 /* image classification fields and original data */ 00805 unsigned char type; 00806 unsigned char depth; 00807 unsigned char colorspace; 00808 unsigned char transparency; 00809 Dimension swidth; 00810 Dimension sheight; 00811 unsigned int scolors; 00812 00813 /* Special fields for images with an alpha channel */ 00814 unsigned char *alpha; 00815 float fg_gamma; 00816 00817 /* Additional animation data */ 00818 int x; 00819 int y; 00820 int loop_count; 00821 unsigned char dispose; 00822 int timeout; 00823 int nframes; 00824 struct _XmImageInfo *frame; 00825 00826 XtPointer user_data; 00827 }XmImageInfo, *XmImageInfoStruct; 00828 00829 /* XmHTML method to load images */ 00830 typedef XmImageInfo* (*XmImageProc)(Widget, String, Dimension, Dimension, 00831 XtPointer); 00832 00833 /**** 00834 * The next two structures constitute the XmImage definition which are used by 00835 * the XmImageCreate and XmImageDestroy routines. Please note that the *only* 00836 * safe way to destroy an XmImage is to use the XmImageDestroy function. 00837 * XmHTML does not use the XmImage structure, it is provided for your 00838 * convenience. 00839 ****/ 00840 /**** 00841 * Animation frame data. 00842 ****/ 00843 typedef struct{ 00844 int x; 00845 int y; 00846 int w; 00847 int h; 00848 int timeout; 00849 unsigned char dispose; 00850 Pixmap pixmap; 00851 Pixmap clip; 00852 Pixmap prev_state; 00853 }XmImageFrame; 00854 00855 /***** 00856 * Actual image definition. 00857 * If you want access to the xcc member, include the XCC.h header file. 00858 *****/ 00859 typedef struct{ 00860 String file; 00861 unsigned char type; 00862 Pixmap pixmap; 00863 Pixmap clip; 00864 unsigned int options; 00865 int width; 00866 int height; 00867 int ncolors; 00868 int scolors; 00869 int swidth; 00870 int sheight; 00871 int depth; 00872 int npixels; 00873 GC gc; 00874 00875 /* animation data */ 00876 XmImageFrame *frames; 00877 int nframes; 00878 int current_frame; 00879 int current_loop; 00880 int loop_count; 00881 XtIntervalId proc_id; 00882 Widget w; 00883 XtAppContext context; 00884 00885 /* private data */ 00886 struct _XColorContext *xcc; 00887 struct _ToolkitAbstraction *tka; 00888 }XmImage; 00889 00890 /***** 00891 * Link member information. 00892 *****/ 00893 typedef struct 00894 { 00895 String url; 00896 String rel; 00897 String rev; 00898 String title; 00899 }XmHTMLLinkDataRec, *XmHTMLLinkDataPtr; 00900 00901 /***** 00902 * Meta member information. 00903 *****/ 00904 typedef struct 00905 { 00906 String http_equiv; 00907 String name; 00908 String content; 00909 }XmHTMLMetaDataRec, *XmHTMLMetaDataPtr; 00910 00911 /***** 00912 * XmHTMLHeadAttributes definition 00913 *****/ 00914 typedef struct{ 00915 String doctype; 00916 String title; 00917 Boolean is_index; 00918 String base; 00919 int num_meta; 00920 XmHTMLMetaDataPtr meta; 00921 int num_link; 00922 XmHTMLLinkDataPtr link; 00923 String style_type; 00924 String style; 00925 String script_lang; 00926 String script; 00927 }XmHTMLHeadAttributes; 00928 00929 /***** 00930 * Document Information. 00931 * images and anchors contain all src and href's in a single string. Entries 00932 * are separated by the null char and terminated by two null chars. 00933 *****/ 00934 typedef struct{ 00935 String bg_image; 00936 String images; 00937 String anchors; 00938 }XmHTMLDocumentInfo; 00939 00940 /***** 00941 * XmHTMLFontCacheInfo definition. This structure is returned by the 00942 * XmHTMLGetFontCacheInfo convenience routine and contains information about 00943 * the font cache bound to the display of a given widget. 00944 * The fonts and mapping arrays are in sync: when a name in the fonts array 00945 * has a non-NULL entry at the corresponding position in the mapping array, 00946 * the value of the mapping entry is the real font being used. 00947 *****/ 00948 typedef struct{ 00949 int nentries; 00950 int nmaps; 00951 int nlookups; 00952 int nrequests; 00953 int hits; 00954 int misses; 00955 String *fonts; 00956 String *mapping; 00957 int nwidgets; 00958 WidgetList widgets; 00959 }XmHTMLFontCacheInfo; 00960 00961 /***** 00962 * forward declaration of XmHTMLAnchorCallback structure 00963 *****/ 00964 typedef struct _XmHTMLAnchorCallbackStruct *XmHTMLAnchorPtr; 00965 00966 /***** 00967 * XmHTMLXYToInfo return value 00968 * This structure and any of it members may *never* be freed by the caller. 00969 *****/ 00970 typedef struct 00971 { 00972 Cardinal line; 00973 Boolean is_map; 00974 int x,y; 00975 XmImageInfo *image; 00976 XmHTMLAnchorPtr anchor; 00977 }XmHTMLInfoStructure, *XmHTMLInfoPtr; 00978 00979 /***** 00980 * XmHTML progressive object loading 00981 * (PLC stands for Progressive Loader Context) 00982 *****/ 00983 typedef struct _XmHTMLPLCStream{ 00984 Cardinal total_in; 00985 Cardinal min_out; 00986 Cardinal max_out; 00987 XtPointer user_data; 00988 unsigned char pad[24]; 00989 }XmHTMLPLCStream; 00990 00991 /***** 00992 * External GIF decoder stream object. This is the only argument to any 00993 * procedure installed on the XmNdecodeGIFProc resource. 00994 * 00995 * The first block is kept up to date by XmHTML and is read-only. When state 00996 * is GIF_STREAM_INIT, the decoder should initialize it's private data and store 00997 * it in the external_state field so that it can be used for successive calls 00998 * to the decoder. When state is GIF_STREAM_FINAL, the decoder should wrapup 00999 * and flush all pending data. It can also choose to destruct it's internal 01000 * data structures here (another call with state set to GIF_STREAM_END will be 01001 * made when the internal loader is destroying it's internal objects as 01002 * well). 01003 * 01004 * All following fields are the ``public'' fields and must be updated by the 01005 * external decoder. The msg field can be set to an error message if the 01006 * external decoder fails for some reason. XmHTML will then display this 01007 * error message and abort this image. 01008 *****/ 01009 typedef struct _XmHTMLGIFStream{ 01010 /* read-only fields */ 01011 int state; 01012 int codesize; 01013 Boolean is_progressive; 01014 unsigned char *next_in; 01015 Cardinal avail_in; 01016 Cardinal total_in; 01017 01018 /* fields to be updated by caller */ 01019 unsigned char *next_out; 01020 Cardinal avail_out; 01021 Cardinal total_out; 01022 01023 String msg; 01024 XtPointer external_state; 01025 }XmHTMLGIFStream; 01026 01027 /* and the proto for the XmNdecodeGIFProc resource */ 01028 typedef int (*XmImageGifProc)(XmHTMLGIFStream*); 01029 01030 /***** 01031 * Progressive Loading function prototypes. 01032 * XmHTMLGetDataProc: proto for function installed on the 01033 * XmNprogressiveReadProc resource; 01034 * XmHTMLEndDataProc: proto for function installed on the 01035 * XmNprogressiveEndProc resource; 01036 *****/ 01037 typedef int (*XmHTMLGetDataProc)(XmHTMLPLCStream*, XtPointer); 01038 typedef void (*XmHTMLEndDataProc)(XmHTMLPLCStream*, XtPointer, int, Boolean); 01039 01040 /***** 01041 * possible values for the third argument on the EndDataProc 01042 *****/ 01043 enum{ 01044 /* XmHTML_NONE = 0 */ /* PLCObject referenced by all objects */ 01045 XmPLC_IMAGE, 01046 XmPLC_DOCUMENT, 01047 XmPLC_FINISHED 01048 }; 01049 01050 /***** 01051 * XmImage configuration 01052 *****/ 01053 typedef struct{ 01054 unsigned long flags; 01055 int ncolors; 01056 int which_frames; 01057 int bg_color; 01058 String z_cmd; 01059 XmImageGifProc gif_proc; 01060 float gamma; 01061 struct _ToolkitAbstraction *tka; 01062 }XmImageConfig; 01063 01064 /***** 01065 * HTML4.0 Event structure 01066 *****/ 01067 typedef struct _XmHTMLEvent{ 01068 int type; 01069 String script; 01070 }XmHTMLEvent; 01071 01072 /***** 01073 * XmNobjectCallback tag_attributes substructure. 01074 *****/ 01075 typedef struct{ 01076 unsigned long flags; 01077 String attributes; 01078 01079 String classid; 01080 String codebase; 01081 String data; 01082 String src; 01083 String type; 01084 String codetype; 01085 String standby; 01086 String align; 01087 String halign; 01088 String valign; 01089 int height; 01090 int width; 01091 int border; 01092 int hspace; 01093 int vspace; 01094 String usemap; 01095 String background; 01096 String bgcolor; 01097 String href; 01098 String name; 01099 XmHTMLEvent *events; 01100 int nevents; 01101 }XmHTMLTagAttributes; 01102 01103 /***** 01104 * The XmHTMLElementId and XmHTMLObjectId are opaque structures. They 01105 * are fully defined in XmHTMLP.h 01106 *****/ 01107 typedef struct _XmHTMLParserTag *XmHTMLElementId; 01108 01109 typedef struct _XmHTMLExtObj *XmHTMLObjectId; 01110 01111 /****************************************************************************** 01112 * Callback structures 01113 * Unless explicitly mentioned, *none* of these structures (or any of its 01114 * members) may be freed. 01115 ******************************************************************************/ 01116 01117 /***** 01118 * XmNactivateCallback and XmNanchorTrackCallback callback structure. 01119 *****/ 01120 typedef struct _XmHTMLAnchorCallbackStruct{ 01121 int reason; 01122 XEvent *event; 01123 URLType url_type; 01124 Cardinal line; 01125 String href; 01126 String target; 01127 String rel; 01128 String rev; 01129 String title; 01130 Boolean is_frame; 01131 Boolean doit; 01132 Boolean visited; 01133 }XmHTMLAnchorCallbackStruct; 01134 01135 typedef Boolean (*XmHTMLAnchorProc)(Widget, String, XtPointer); 01136 01137 /***** 01138 * XmNeventCallback callback structure. 01139 *****/ 01140 typedef struct{ 01141 int reason; 01142 XEvent *event; 01143 int type; 01144 XtPointer data; 01145 }XmHTMLEventCallbackStruct; 01146 01147 /***** 01148 * XmNdocumentCallback callback structure. 01149 *****/ 01150 typedef struct 01151 { 01152 int reason; 01153 XEvent *event; 01154 Boolean html32; 01155 Boolean verified; 01156 Boolean balanced; 01157 Boolean terminated; 01158 int pass_level; 01159 Boolean redo; 01160 }XmHTMLDocumentCallbackStruct, *XmHTMLDocumentPtr; 01161 01162 /***** 01163 * XmNformCallback callback structure. 01164 *****/ 01165 /***** 01166 * Form Component data 01167 *****/ 01168 typedef struct 01169 { 01170 componentType type; 01171 String name; 01172 String value; 01173 }XmHTMLFormDataRec, *XmHTMLFormDataPtr; 01174 01175 /***** 01176 * Actual XmNformCallback callback structure. 01177 *****/ 01178 typedef struct 01179 { 01180 int reason; 01181 XEvent *event; 01182 String action; 01183 String enctype; 01184 int method; 01185 int ncomponents; 01186 XmHTMLFormDataPtr components; 01187 }XmHTMLFormCallbackStruct, *XmHTMLFormPtr; 01188 01189 /***** 01190 * XmNframeCallback callback structure. 01191 * This callback is activated when one of the following events occurs: 01192 * 1. XmHTML wants to create a frame, reason = XmCR_HTML_FRAMECREATE 01193 * can be veto'd by setting doit to False and supplying a HTML widget 01194 * id yourself; 01195 * 2. XmHTML wants to destroy a frame, reason = XmCR_HTML_FRAMEDESTROY 01196 * can be veto'd by setting doit to False (widget reuse). 01197 * 3. XmHTML has finished creating a frame, reason = XmCR_HTML_FRAME. 01198 * This is the time to attach callbacks and set additional resources on the 01199 * newly created XmHTMLWidget. 01200 *****/ 01201 typedef struct 01202 { 01203 int reason; 01204 XEvent *event; 01205 String src; 01206 String name; 01207 Widget html; 01208 Boolean doit; 01209 }XmHTMLFrameCallbackStruct, *XmHTMLFramePtr; 01210 01211 /***** 01212 * XmNimagemapCallback callback structure. 01213 * callback reasons can be one of the following: 01214 * XmCR_HTML_IMAGEMAP_ACTIVATE 01215 * user clicked on an image. Valid fields are x, y and image_name. x and y 01216 * are relative to the upper-left corner of the image. Only invoked when 01217 * an image has it's ismap attribute set and no client-side imagemap is 01218 * present for this image. 01219 * XmCR_HTML_IMAGEMAP 01220 * an image requires an external imagemap. The only valid field is map_name 01221 * which contains the location of the imagemap to fetch. If the contents 01222 * of this imagemap is set in the map_contents field, it will be loaded 01223 * by the widget. Alternatively, one could also use the XmHTMLAddImagemap 01224 * convenience routine to set an imagemap into the widget. 01225 *****/ 01226 typedef struct 01227 { 01228 int reason; 01229 XEvent *event; 01230 int x,y; 01231 String image_name; 01232 String map_name; 01233 String map_contents; 01234 XmImageInfo *image; 01235 }XmHTMLImagemapCallbackStruct, *XmHTMLImagemapPtr; 01236 01237 /***** 01238 * XmNlinkCallback callback structure. 01239 *****/ 01240 typedef struct{ 01241 int reason; 01242 XEvent *event; 01243 int num_link; 01244 XmHTMLLinkDataPtr link; 01245 }XmHTMLLinkCallbackStruct, *XmHTMLLinkPtr; 01246 01247 /***** 01248 * XmNpageCallback callback structure. 01249 *****/ 01250 typedef struct{ 01251 int reason; 01252 XEvent *event; 01253 Cardinal total_pages; 01254 }XmHTMLPageCallbackStruct, *XmHTMLPagePtr; 01255 01256 /***** 01257 * XmNobjectCallback callback structure. 01258 *****/ 01259 typedef struct{ 01260 int reason; 01261 XEvent *event; 01262 01263 int object_id; 01264 01265 int tag_id; 01266 XtPointer tag_user_data; 01267 XmHTMLTagAttributes *attributes; 01268 /* parsed attributes, immutable */ 01269 01270 Widget parent; 01271 Widget object; 01272 Window window; 01273 01274 Boolean scrollable; /* If True, object is part of document 01275 * If False, object stays on top of document. 01276 */ 01277 Boolean wrap; /* Only used when scrollable == False. 01278 * If False, document scrolls underneath 01279 * the object. 01280 * If True, document scrolls around object. 01281 */ 01282 Boolean reparent; 01283 01284 XtPointer user_data; /* additional data registered for this object. 01285 * Unused by XmHTML. 01286 */ 01287 01288 /* Next two fields are only meaningfull when scrollable == False */ 01289 int x; 01290 int y; 01291 01292 Dimension width; 01293 Dimension height; 01294 01295 Boolean is_frame; 01296 Boolean doit; 01297 }XmHTMLObjectCallbackStruct, *XmHTMLObjectPtr; 01298 01299 /* Don't add anything after this endif! */ 01300 #endif 01301 01302 #endif // INC_MI32_HTML_H
1.6.1