Annotation of libwww/Library/src/HTIcons.html, revision 2.22

2.1       frystyk     1: <HTML>
                      2: <HEAD>
2.22    ! frystyk     3: <!-- Changed by: Henrik Frystyk Nielsen, 23-Jun-1996 -->
        !             4:   <TITLE>W3C Reference Library libwww Icon Management</TITLE>
2.1       frystyk     5: </HEAD>
                      6: <BODY>
2.22    ! frystyk     7: <H1>
        !             8:   Icon Management
        !             9: </H1>
2.8       frystyk    10: <PRE>
                     11: /*
2.12      frystyk    12: **     (c) COPYRIGHT MIT 1995.
2.8       frystyk    13: **     Please first read the full copyright statement in the file COPYRIGH.
                     14: */
                     15: </PRE>
2.22    ! frystyk    16: <P>
        !            17: Icons for directory listsings etc. are bound to MIME
        !            18: <CODE>content-types</CODE> and <CODE>content-encodings</CODE> as described
        !            19: in the <A HREF="HTFormat.html">format manager</A>. These functions bind icon
        !            20: URLs to given <CODE>content-type</CODE> or encoding templates. Templates
        !            21: containing a slash are taken to be <CODE>content-type</CODE> templates, other
        !            22: are <CODE>content-encoding</CODE> templates.
        !            23: <P>
        !            24: This module is implemented by <A HREF="HTIcons.c">HTIcons.c</A>, and it is
        !            25: a part of the <A HREF="http://www.w3.org/pub/WWW/Library/"> W3C Reference
        !            26: Library</A>.
2.1       frystyk    27: <PRE>
                     28: #ifndef HTICONS_H
                     29: #define HTICONS_H
2.9       roeber     30: 
2.22    ! frystyk    31: #include "WWWLib.h"
2.1       frystyk    32: </PRE>
                     33: <PRE>
2.22    ! frystyk    34: typedef struct _HTIconNode HTIconNode;
2.15      frystyk    35: </PRE>
2.22    ! frystyk    36: <H2>
        !            37:   Add new Icons
        !            38: </H2>
        !            39: <P>
        !            40: All of these functions take an absolute URL and alternate text to use. Add
        !            41: an icon the list
        !            42: <H3>
        !            43:   Generic Icons
        !            44: </H3>
        !            45: <PRE>extern BOOL HTIcon_add (const char * url, const char * prefix,
        !            46:                                char * alt, char * type_templ);
        !            47: </PRE>
        !            48: <H3>
        !            49:   Specific Icons
        !            50: </H3>
        !            51: <P>
        !            52: We also have a special set of icons used to represent well-known things in
        !            53: direcctory listings.
        !            54: <H4>
        !            55:   Unknown Icon
        !            56: </H4>
        !            57: <P>
        !            58: Add a unknown icon representing files that we can't figure out what is and
        !            59: hence can`'t come up with a better icon.
        !            60: <PRE>extern BOOL HTIcon_addUnknown (const char * url, const char * prefix,
        !            61:                                char * alt);
        !            62: </PRE>
        !            63: <H4>
        !            64:   Empty Icon
        !            65: </H4>
        !            66: <P>
        !            67: In order to aligned HTML pages for directory listings in preformatted mode,
        !            68: we need an empty (or blank) icon of the same size as the other icons.
        !            69: <PRE>extern BOOL HTIcon_addBlank (const char * url, const char * prefix,
        !            70:                                char * alt);
        !            71: </PRE>
        !            72: <H4>
        !            73:   Parent Icon
        !            74: </H4>
        !            75: <P>
        !            76: Add an icon representing a level up in a directory listing - the parent
        !            77: directory.
        !            78: <PRE>extern BOOL HTIcon_addParent (const char * url, const char * prefix,
        !            79:                                char * alt);
        !            80: </PRE>
        !            81: <H4>
        !            82:   Directory Icon
        !            83: </H4>
        !            84: <P>
        !            85: This icon represents a directory or a folder
        !            86: <PRE>extern BOOL HTIcon_addDir (const char * url, const char * prefix,
        !            87:                                char * alt);
        !            88: </PRE>
        !            89: <H2>
        !            90:   Find an Icon
        !            91: </H2>
        !            92: <P>
        !            93: This is a simplified file mode enumeration that can is used in directory
        !            94: listings.
2.15      frystyk    95: <PRE>
                     96: typedef  enum _HTFileMode {
                     97:     HT_IS_FILE,                                /* Normal file */
                     98:     HT_IS_DIR,                         /* Directory */
                     99:     HT_IS_BLANK,                       /* Blank Icon */
                    100:     HT_IS_PARENT                       /* Parent Directory */
                    101: } HTFileMode;
2.1       frystyk   102: 
2.3       luotonen  103: 
2.22    ! frystyk   104: extern HTIconNode * HTIcon_find (HTFileMode    mode,
        !           105:                                 HTFormat       content_type,
        !           106:                                 HTEncoding     content_encoding);
        !           107: </PRE>
        !           108: <H2>
        !           109:   Icon URL
        !           110: </H2>
        !           111: <P>
        !           112: When you want to add the icon reference into a directory listing, you can
        !           113: get the URL of the icon by using this method. Don't free or modify the string
        !           114: returned!
        !           115: <PRE>extern char * HTIcon_url (HTIconNode * node);
        !           116: </PRE>
        !           117: <H2>
        !           118:   Alternative text
        !           119: </H2>
        !           120: <P>
        !           121: Get the alternative text (if any) for text based clients or if you don't
        !           122: want to download the image right away. The string returned must be freed
        !           123: by the caller.
        !           124: <PRE>extern char * HTIcon_alternative (HTIconNode * node, BOOL brackets);
        !           125: </PRE>
        !           126: <H2>
        !           127:   A Standard Set of Icons
        !           128: </H2>
        !           129: <P>
        !           130: The <A HREF="WWWFile.html">WWWFile</A> interface does not define a default
        !           131: set of icons but the Library distribution files comes with a <I>standard</I>
        !           132: set of icons that can be used if desired. The Icons can be found in
        !           133: <CODE>$(datadir)/www-icons</CODE>.The set covers the types described below
        !           134: and they can be set up using the <A HREF="HTInit.html#icons">HTIconInit()
        !           135: initialization</A> function in the <A HREF="WWWInit.html">WWWInit startup
        !           136: interface</A>
        !           137: <P>
2.1       frystyk   138: <UL>
2.22    ! frystyk   139:   <LI>
        !           140:     <CODE>blank.xbm</CODE> for the blank icon
        !           141:   <LI>
        !           142:     <CODE>directory.xbm</CODE> for directory icon
        !           143:   <LI>
        !           144:     <CODE>back.xbm</CODE> for parent directory
        !           145:   <LI>
        !           146:     <CODE>unknown.xbm</CODE> for unknown icon
        !           147:   <LI>
        !           148:     <CODE>binary.xbm</CODE> for binary files
        !           149:   <LI>
        !           150:     <CODE>text.xbm</CODE> for ascii files
        !           151:   <LI>
        !           152:     <CODE>image.xbm</CODE> for image files
        !           153:   <LI>
        !           154:     <CODE>movie.xbm</CODE> for video files
        !           155:   <LI>
        !           156:     <CODE>sound.xbm</CODE> for audio files
        !           157:   <LI>
        !           158:     <CODE>tar.xbm</CODE> for tar and gtar files
        !           159:   <LI>
        !           160:     <CODE>compressed.xbm</CODE> for compressed and gzipped files
2.1       frystyk   161: </UL>
                    162: <PRE>
                    163: #endif /* HTICONS */
                    164: </PRE>
2.22    ! frystyk   165: <P>
        !           166:   <HR>
2.21      frystyk   167: <ADDRESS>
2.22    ! frystyk   168:   @(#) $Id: HTIcons.html,v 2.21 1996/04/12 17:47:23 frystyk Exp $
2.21      frystyk   169: </ADDRESS>
2.22    ! frystyk   170: </BODY></HTML>

Webmaster