Annotation of libwww/Library/src/HTIcons.html, revision 2.15
2.1 frystyk 1: <HTML>
2: <HEAD>
3: <TITLE>Icon Management</TITLE>
2.15 ! frystyk 4: <!-- Changed by: Henrik Frystyk Nielsen, 30-Sep-1995 -->
2.1 frystyk 5: </HEAD>
6: <BODY>
7: <H1>Icon Management</H1>
2.8 frystyk 8:
9: <PRE>
10: /*
2.12 frystyk 11: ** (c) COPYRIGHT MIT 1995.
2.8 frystyk 12: ** Please first read the full copyright statement in the file COPYRIGH.
13: */
14: </PRE>
15:
16: This module is implemented by <A HREF="HTIcons.c">HTIcons.c</A>, and
17: it is a part of the <A
2.14 frystyk 18: HREF="http://www.w3.org/pub/WWW/Library/">
2.13 frystyk 19: W3C Reference Library</A>.
2.8 frystyk 20:
2.1 frystyk 21: <PRE>
22: #ifndef HTICONS_H
23: #define HTICONS_H
2.9 roeber 24:
2.2 frystyk 25: #include "HTFormat.h"
2.1 frystyk 26: </PRE>
27:
28: <H2>Icons</H2>
29:
30: Icons are bound to MIME content-types and encoding. These functions
31: bind icon URLs to given content-type or encoding templates. Templates
32: containing a slash are taken to be content-type templates, other are
33: encoding templates. <P>
34:
35: <H2>Controlling globals</H2>
36:
37: <H3>Show brackets around alternative text</H3>
38: By default alternative text is bracketed by square brackets (the
39: <CODE>ALT</CODE> tag to <CODE>IMG</CODE> element). Setting the global
40: <CODE>HTDirShowBrackets</CODE> to false will turn this feature off.
41:
42: <PRE>
43: typedef struct _HTIconNode {
44: char * icon_url;
45: char * icon_alt;
46: char * type_templ;
47: } HTIconNode;
2.3 luotonen 48:
49: /*
50: * The list element definition to bind a CGI to a filetyp for special
51: * presentation like looking in an archiv (AddHref /cgi-bin/unarch? .zip .tar)
52: */
53: typedef struct _HTHrefNode {
54: char * href_url;
55: char * type_templ;
56: } HTHrefNode;
2.15 ! frystyk 57: </PRE>
! 58:
! 59: <H2>File Mode</H2>
2.3 luotonen 60:
2.15 ! frystyk 61: This is a simplified file mode enumeration that can is used in
! 62: directory listings.
2.3 luotonen 63:
2.15 ! frystyk 64: <PRE>
! 65: typedef enum _HTFileMode {
! 66: HT_IS_FILE, /* Normal file */
! 67: HT_IS_DIR, /* Directory */
! 68: HT_IS_BLANK, /* Blank Icon */
! 69: HT_IS_PARENT /* Parent Directory */
! 70: } HTFileMode;
2.1 frystyk 71: </PRE>
72:
73: <PRE>
74: extern BOOL HTDirShowBrackets;
75: </PRE>
76:
77: <H2>Public functions</H2>
78:
79: All of these functions take an absolute URL and alternate text to use. <P>
80:
81: <PRE>
82: /* Generates the alt-tag */
2.7 frystyk 83: extern char * HTIcon_alt_string PARAMS((char * alt,
2.1 frystyk 84: BOOL brackets));
85:
86: /*
87: * General icon binding. Use this icon if content-type or encoding
88: * matches template.
89: */
2.7 frystyk 90: extern void HTAddIcon PARAMS((char * url,
2.1 frystyk 91: char * alt,
92: char * type_templ));
93:
2.3 luotonen 94:
95: /*
96: * Called from HTConfig.c to build the list of all the AddHref's
97: */
2.7 frystyk 98: extern void HTAddHref PARAMS((char * url,
2.3 luotonen 99: char * type_templ));
100:
101:
2.1 frystyk 102: /*
103: * Icon for which no other icon can be used.
104: */
2.7 frystyk 105: extern void HTAddUnknownIcon PARAMS((char * url,
2.1 frystyk 106: char * alt));
107:
108: /*
109: * Invisible icon for the listing header field to make it aligned
110: * with the rest of the listing (this doesn't have to be blank).
111: */
2.7 frystyk 112: extern void HTAddBlankIcon PARAMS((char * url,
2.1 frystyk 113: char * alt));
114:
115: /*
116: * Icon to use for parent directory.
117: */
2.7 frystyk 118: extern void HTAddParentIcon PARAMS((char * url,
2.1 frystyk 119: char * alt));
120:
121: /*
122: * Icon to use for a directory.
123: */
2.7 frystyk 124: extern void HTAddDirIcon PARAMS((char * url,
2.1 frystyk 125: char * alt));
126:
127: /* HTGetIcon()
128: ** returns the icon corresponding to content_type or content_encoding.
129: */
2.15 ! frystyk 130: extern HTIconNode * HTGetIcon PARAMS((HTFileMode mode,
2.11 frystyk 131: HTFormat content_type,
132: HTEncoding content_encoding));
2.3 luotonen 133:
134: /*
135: * returns the HrefNode to get the URL for presentation of a file (indexing)
136: */
2.7 frystyk 137: extern HTHrefNode * HTGetHref PARAMS(( char * filename));
2.3 luotonen 138:
2.1 frystyk 139:
140: </PRE>
141:
142:
143: <H4>A Predifined Set of Icons</H4>
144: The function <CODE>HTStdIconInit(url_prefix)</CODE> can be used to
145: initialize a standard icon set:
146: <UL>
147: <LI> <CODE>blank.xbm</CODE> for the blank icon
148: <LI> <CODE>directory.xbm</CODE> for directory icon
149: <LI> <CODE>back.xbm</CODE> for parent directory
150: <LI> <CODE>unknown.xbm</CODE> for unknown icon
151: <LI> <CODE>binary.xbm</CODE> for binary files
152: <LI> <CODE>text.xbm</CODE> for ascii files
153: <LI> <CODE>image.xbm</CODE> for image files
154: <LI> <CODE>movie.xbm</CODE> for video files
155: <LI> <CODE>sound.xbm</CODE> for audio files
156: <LI> <CODE>tar.xbm</CODE> for tar and gtar files
157: <LI> <CODE>compressed.xbm</CODE> for compressed and gzipped files
158: </UL>
159: <PRE>
2.7 frystyk 160: extern void HTStdIconInit PARAMS((CONST char * url_prefix));
2.1 frystyk 161: </PRE>
162:
163: <PRE>
164: #endif /* HTICONS */
165: </PRE>
166: end
167: </BODY>
168: </HTML>
169:
Webmaster