Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
5496 leency 1
/***************************************************************************/
2
/*                                                                         */
3
/*  ftlist.h                                                               */
4
/*                                                                         */
5
/*    Generic list support for FreeType (specification).                   */
6
/*                                                                         */
7
/*  Copyright 1996-2001, 2003, 2007, 2010 by                               */
8
/*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
9
/*                                                                         */
10
/*  This file is part of the FreeType project, and may only be used,       */
11
/*  modified, and distributed under the terms of the FreeType project      */
12
/*  license, LICENSE.TXT.  By continuing to use, modify, or distribute     */
13
/*  this file you indicate that you have read the license and              */
14
/*  understand and accept it fully.                                        */
15
/*                                                                         */
16
/***************************************************************************/
17
 
18
 
19
  /*************************************************************************/
20
  /*                                                                       */
21
  /*  This file implements functions relative to list processing.  Its     */
22
  /*  data structures are defined in `freetype.h'.                         */
23
  /*                                                                       */
24
  /*************************************************************************/
25
 
26
 
27
#ifndef __FTLIST_H__
28
#define __FTLIST_H__
29
 
30
 
31
#include 
32
#include FT_FREETYPE_H
33
 
34
#ifdef FREETYPE_H
35
#error "freetype.h of FreeType 1 has been loaded!"
36
#error "Please fix the directory search order for header files"
37
#error "so that freetype.h of FreeType 2 is found first."
38
#endif
39
 
40
 
41
FT_BEGIN_HEADER
42
 
43
 
44
  /*************************************************************************/
45
  /*                                                                       */
46
  /* 
*/
47
  /*    list_processing                                                    */
48
  /*                                                                       */
49
  /*                                                                */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l50">50</a></td>
           <td class="code"><pre>  /*    List Processing                                                    */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l51">51</a></td>
           <td class="code"><pre>  /*                                                                       */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l52">52</a></td>
           <td class="code"><pre>  /* <Abstract>                                                            */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l53">53</a></td>
           <td class="code"><pre>  /*    Simple management of lists.                                        */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l54">54</a></td>
           <td class="code"><pre>  /*                                                                       */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l55">55</a></td>
           <td class="code"><pre>  /* <Description>                                                         */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l56">56</a></td>
           <td class="code"><pre>  /*    This section contains various definitions related to list          */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l57">57</a></td>
           <td class="code"><pre>  /*    processing using doubly-linked nodes.                              */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l58">58</a></td>
           <td class="code"><pre>  /*                                                                       */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l59">59</a></td>
           <td class="code"><pre>  /* <Order>                                                               */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l60">60</a></td>
           <td class="code"><pre>  /*    FT_List                                                            */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l61">61</a></td>
           <td class="code"><pre>  /*    FT_ListNode                                                        */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l62">62</a></td>
           <td class="code"><pre>  /*    FT_ListRec                                                         */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l63">63</a></td>
           <td class="code"><pre>  /*    FT_ListNodeRec                                                     */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l64">64</a></td>
           <td class="code"><pre>  /*                                                                       */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l65">65</a></td>
           <td class="code"><pre>  /*    FT_List_Add                                                        */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l66">66</a></td>
           <td class="code"><pre>  /*    FT_List_Insert                                                     */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l67">67</a></td>
           <td class="code"><pre>  /*    FT_List_Find                                                       */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l68">68</a></td>
           <td class="code"><pre>  /*    FT_List_Remove                                                     */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l69">69</a></td>
           <td class="code"><pre>  /*    FT_List_Up                                                         */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l70">70</a></td>
           <td class="code"><pre>  /*    FT_List_Iterate                                                    */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l71">71</a></td>
           <td class="code"><pre>  /*    FT_List_Iterator                                                   */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l72">72</a></td>
           <td class="code"><pre>  /*    FT_List_Finalize                                                   */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l73">73</a></td>
           <td class="code"><pre>  /*    FT_List_Destructor                                                 */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l74">74</a></td>
           <td class="code"><pre>  /*                                                                       */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l75">75</a></td>
           <td class="code"><pre>  /*************************************************************************/</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l76">76</a></td>
           <td class="code"><pre> </pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l77">77</a></td>
           <td class="code"><pre> </pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l78">78</a></td>
           <td class="code"><pre>  /*************************************************************************/</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l79">79</a></td>
           <td class="code"><pre>  /*                                                                       */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l80">80</a></td>
           <td class="code"><pre>  /* <Function>                                                            */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l81">81</a></td>
           <td class="code"><pre>  /*    FT_List_Find                                                       */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l82">82</a></td>
           <td class="code"><pre>  /*                                                                       */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l83">83</a></td>
           <td class="code"><pre>  /* <Description>                                                         */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l84">84</a></td>
           <td class="code"><pre>  /*    Find the list node for a given listed object.                      */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l85">85</a></td>
           <td class="code"><pre>  /*                                                                       */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l86">86</a></td>
           <td class="code"><pre>  /* <Input>                                                               */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l87">87</a></td>
           <td class="code"><pre>  /*    list :: A pointer to the parent list.                              */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l88">88</a></td>
           <td class="code"><pre>  /*    data :: The address of the listed object.                          */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l89">89</a></td>
           <td class="code"><pre>  /*                                                                       */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l90">90</a></td>
           <td class="code"><pre>  /* <Return>                                                              */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l91">91</a></td>
           <td class="code"><pre>  /*    List node.  NULL if it wasn't found.                               */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l92">92</a></td>
           <td class="code"><pre>  /*                                                                       */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l93">93</a></td>
           <td class="code"><pre>  FT_EXPORT( FT_ListNode )</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l94">94</a></td>
           <td class="code"><pre>  FT_List_Find( FT_List  list,</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l95">95</a></td>
           <td class="code"><pre>                void*    data );</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l96">96</a></td>
           <td class="code"><pre> </pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l97">97</a></td>
           <td class="code"><pre> </pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l98">98</a></td>
           <td class="code"><pre>  /*************************************************************************/</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l99">99</a></td>
           <td class="code"><pre>  /*                                                                       */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l100">100</a></td>
           <td class="code"><pre>  /* <Function>                                                            */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l101">101</a></td>
           <td class="code"><pre>  /*    FT_List_Add                                                        */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l102">102</a></td>
           <td class="code"><pre>  /*                                                                       */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l103">103</a></td>
           <td class="code"><pre>  /* <Description>                                                         */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l104">104</a></td>
           <td class="code"><pre>  /*    Append an element to the end of a list.                            */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l105">105</a></td>
           <td class="code"><pre>  /*                                                                       */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l106">106</a></td>
           <td class="code"><pre>  /* <InOut>                                                               */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l107">107</a></td>
           <td class="code"><pre>  /*    list :: A pointer to the parent list.                              */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l108">108</a></td>
           <td class="code"><pre>  /*    node :: The node to append.                                        */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l109">109</a></td>
           <td class="code"><pre>  /*                                                                       */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l110">110</a></td>
           <td class="code"><pre>  FT_EXPORT( void )</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l111">111</a></td>
           <td class="code"><pre>  FT_List_Add( FT_List      list,</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l112">112</a></td>
           <td class="code"><pre>               FT_ListNode  node );</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l113">113</a></td>
           <td class="code"><pre> </pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l114">114</a></td>
           <td class="code"><pre> </pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l115">115</a></td>
           <td class="code"><pre>  /*************************************************************************/</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l116">116</a></td>
           <td class="code"><pre>  /*                                                                       */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l117">117</a></td>
           <td class="code"><pre>  /* <Function>                                                            */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l118">118</a></td>
           <td class="code"><pre>  /*    FT_List_Insert                                                     */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l119">119</a></td>
           <td class="code"><pre>  /*                                                                       */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l120">120</a></td>
           <td class="code"><pre>  /* <Description>                                                         */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l121">121</a></td>
           <td class="code"><pre>  /*    Insert an element at the head of a list.                           */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l122">122</a></td>
           <td class="code"><pre>  /*                                                                       */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l123">123</a></td>
           <td class="code"><pre>  /* <InOut>                                                               */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l124">124</a></td>
           <td class="code"><pre>  /*    list :: A pointer to parent list.                                  */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l125">125</a></td>
           <td class="code"><pre>  /*    node :: The node to insert.                                        */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l126">126</a></td>
           <td class="code"><pre>  /*                                                                       */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l127">127</a></td>
           <td class="code"><pre>  FT_EXPORT( void )</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l128">128</a></td>
           <td class="code"><pre>  FT_List_Insert( FT_List      list,</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l129">129</a></td>
           <td class="code"><pre>                  FT_ListNode  node );</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l130">130</a></td>
           <td class="code"><pre> </pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l131">131</a></td>
           <td class="code"><pre> </pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l132">132</a></td>
           <td class="code"><pre>  /*************************************************************************/</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l133">133</a></td>
           <td class="code"><pre>  /*                                                                       */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l134">134</a></td>
           <td class="code"><pre>  /* <Function>                                                            */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l135">135</a></td>
           <td class="code"><pre>  /*    FT_List_Remove                                                     */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l136">136</a></td>
           <td class="code"><pre>  /*                                                                       */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l137">137</a></td>
           <td class="code"><pre>  /* <Description>                                                         */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l138">138</a></td>
           <td class="code"><pre>  /*    Remove a node from a list.  This function doesn't check whether    */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l139">139</a></td>
           <td class="code"><pre>  /*    the node is in the list!                                           */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l140">140</a></td>
           <td class="code"><pre>  /*                                                                       */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l141">141</a></td>
           <td class="code"><pre>  /* <Input>                                                               */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l142">142</a></td>
           <td class="code"><pre>  /*    node :: The node to remove.                                        */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l143">143</a></td>
           <td class="code"><pre>  /*                                                                       */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l144">144</a></td>
           <td class="code"><pre>  /* <InOut>                                                               */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l145">145</a></td>
           <td class="code"><pre>  /*    list :: A pointer to the parent list.                              */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l146">146</a></td>
           <td class="code"><pre>  /*                                                                       */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l147">147</a></td>
           <td class="code"><pre>  FT_EXPORT( void )</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l148">148</a></td>
           <td class="code"><pre>  FT_List_Remove( FT_List      list,</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l149">149</a></td>
           <td class="code"><pre>                  FT_ListNode  node );</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l150">150</a></td>
           <td class="code"><pre> </pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l151">151</a></td>
           <td class="code"><pre> </pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l152">152</a></td>
           <td class="code"><pre>  /*************************************************************************/</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l153">153</a></td>
           <td class="code"><pre>  /*                                                                       */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l154">154</a></td>
           <td class="code"><pre>  /* <Function>                                                            */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l155">155</a></td>
           <td class="code"><pre>  /*    FT_List_Up                                                         */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l156">156</a></td>
           <td class="code"><pre>  /*                                                                       */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l157">157</a></td>
           <td class="code"><pre>  /* <Description>                                                         */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l158">158</a></td>
           <td class="code"><pre>  /*    Move a node to the head/top of a list.  Used to maintain LRU       */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l159">159</a></td>
           <td class="code"><pre>  /*    lists.                                                             */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l160">160</a></td>
           <td class="code"><pre>  /*                                                                       */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l161">161</a></td>
           <td class="code"><pre>  /* <InOut>                                                               */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l162">162</a></td>
           <td class="code"><pre>  /*    list :: A pointer to the parent list.                              */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l163">163</a></td>
           <td class="code"><pre>  /*    node :: The node to move.                                          */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l164">164</a></td>
           <td class="code"><pre>  /*                                                                       */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l165">165</a></td>
           <td class="code"><pre>  FT_EXPORT( void )</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l166">166</a></td>
           <td class="code"><pre>  FT_List_Up( FT_List      list,</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l167">167</a></td>
           <td class="code"><pre>              FT_ListNode  node );</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l168">168</a></td>
           <td class="code"><pre> </pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l169">169</a></td>
           <td class="code"><pre> </pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l170">170</a></td>
           <td class="code"><pre>  /*************************************************************************/</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l171">171</a></td>
           <td class="code"><pre>  /*                                                                       */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l172">172</a></td>
           <td class="code"><pre>  /* <FuncType>                                                            */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l173">173</a></td>
           <td class="code"><pre>  /*    FT_List_Iterator                                                   */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l174">174</a></td>
           <td class="code"><pre>  /*                                                                       */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l175">175</a></td>
           <td class="code"><pre>  /* <Description>                                                         */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l176">176</a></td>
           <td class="code"><pre>  /*    An FT_List iterator function which is called during a list parse   */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l177">177</a></td>
           <td class="code"><pre>  /*    by @FT_List_Iterate.                                               */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l178">178</a></td>
           <td class="code"><pre>  /*                                                                       */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l179">179</a></td>
           <td class="code"><pre>  /* <Input>                                                               */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l180">180</a></td>
           <td class="code"><pre>  /*    node :: The current iteration list node.                           */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l181">181</a></td>
           <td class="code"><pre>  /*                                                                       */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l182">182</a></td>
           <td class="code"><pre>  /*    user :: A typeless pointer passed to @FT_List_Iterate.             */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l183">183</a></td>
           <td class="code"><pre>  /*            Can be used to point to the iteration's state.             */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l184">184</a></td>
           <td class="code"><pre>  /*                                                                       */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l185">185</a></td>
           <td class="code"><pre>  typedef FT_Error</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l186">186</a></td>
           <td class="code"><pre>  (*FT_List_Iterator)( FT_ListNode  node,</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l187">187</a></td>
           <td class="code"><pre>                       void*        user );</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l188">188</a></td>
           <td class="code"><pre> </pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l189">189</a></td>
           <td class="code"><pre> </pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l190">190</a></td>
           <td class="code"><pre>  /*************************************************************************/</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l191">191</a></td>
           <td class="code"><pre>  /*                                                                       */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l192">192</a></td>
           <td class="code"><pre>  /* <Function>                                                            */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l193">193</a></td>
           <td class="code"><pre>  /*    FT_List_Iterate                                                    */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l194">194</a></td>
           <td class="code"><pre>  /*                                                                       */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l195">195</a></td>
           <td class="code"><pre>  /* <Description>                                                         */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l196">196</a></td>
           <td class="code"><pre>  /*    Parse a list and calls a given iterator function on each element.  */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l197">197</a></td>
           <td class="code"><pre>  /*    Note that parsing is stopped as soon as one of the iterator calls  */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l198">198</a></td>
           <td class="code"><pre>  /*    returns a non-zero value.                                          */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l199">199</a></td>
           <td class="code"><pre>  /*                                                                       */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l200">200</a></td>
           <td class="code"><pre>  /* <Input>                                                               */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l201">201</a></td>
           <td class="code"><pre>  /*    list     :: A handle to the list.                                  */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l202">202</a></td>
           <td class="code"><pre>  /*    iterator :: An iterator function, called on each node of the list. */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l203">203</a></td>
           <td class="code"><pre>  /*    user     :: A user-supplied field which is passed as the second    */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l204">204</a></td>
           <td class="code"><pre>  /*                argument to the iterator.                              */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l205">205</a></td>
           <td class="code"><pre>  /*                                                                       */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l206">206</a></td>
           <td class="code"><pre>  /* <Return>                                                              */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l207">207</a></td>
           <td class="code"><pre>  /*    The result (a FreeType error code) of the last iterator call.      */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l208">208</a></td>
           <td class="code"><pre>  /*                                                                       */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l209">209</a></td>
           <td class="code"><pre>  FT_EXPORT( FT_Error )</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l210">210</a></td>
           <td class="code"><pre>  FT_List_Iterate( FT_List           list,</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l211">211</a></td>
           <td class="code"><pre>                   FT_List_Iterator  iterator,</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l212">212</a></td>
           <td class="code"><pre>                   void*             user );</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l213">213</a></td>
           <td class="code"><pre> </pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l214">214</a></td>
           <td class="code"><pre> </pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l215">215</a></td>
           <td class="code"><pre>  /*************************************************************************/</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l216">216</a></td>
           <td class="code"><pre>  /*                                                                       */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l217">217</a></td>
           <td class="code"><pre>  /* <FuncType>                                                            */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l218">218</a></td>
           <td class="code"><pre>  /*    FT_List_Destructor                                                 */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l219">219</a></td>
           <td class="code"><pre>  /*                                                                       */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l220">220</a></td>
           <td class="code"><pre>  /* <Description>                                                         */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l221">221</a></td>
           <td class="code"><pre>  /*    An @FT_List iterator function which is called during a list        */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l222">222</a></td>
           <td class="code"><pre>  /*    finalization by @FT_List_Finalize to destroy all elements in a     */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l223">223</a></td>
           <td class="code"><pre>  /*    given list.                                                        */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l224">224</a></td>
           <td class="code"><pre>  /*                                                                       */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l225">225</a></td>
           <td class="code"><pre>  /* <Input>                                                               */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l226">226</a></td>
           <td class="code"><pre>  /*    system :: The current system object.                               */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l227">227</a></td>
           <td class="code"><pre>  /*                                                                       */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l228">228</a></td>
           <td class="code"><pre>  /*    data   :: The current object to destroy.                           */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l229">229</a></td>
           <td class="code"><pre>  /*                                                                       */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l230">230</a></td>
           <td class="code"><pre>  /*    user   :: A typeless pointer passed to @FT_List_Iterate.  It can   */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l231">231</a></td>
           <td class="code"><pre>  /*              be used to point to the iteration's state.               */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l232">232</a></td>
           <td class="code"><pre>  /*                                                                       */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l233">233</a></td>
           <td class="code"><pre>  typedef void</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l234">234</a></td>
           <td class="code"><pre>  (*FT_List_Destructor)( FT_Memory  memory,</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l235">235</a></td>
           <td class="code"><pre>                         void*      data,</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l236">236</a></td>
           <td class="code"><pre>                         void*      user );</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l237">237</a></td>
           <td class="code"><pre> </pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l238">238</a></td>
           <td class="code"><pre> </pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l239">239</a></td>
           <td class="code"><pre>  /*************************************************************************/</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l240">240</a></td>
           <td class="code"><pre>  /*                                                                       */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l241">241</a></td>
           <td class="code"><pre>  /* <Function>                                                            */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l242">242</a></td>
           <td class="code"><pre>  /*    FT_List_Finalize                                                   */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l243">243</a></td>
           <td class="code"><pre>  /*                                                                       */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l244">244</a></td>
           <td class="code"><pre>  /* <Description>                                                         */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l245">245</a></td>
           <td class="code"><pre>  /*    Destroy all elements in the list as well as the list itself.       */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l246">246</a></td>
           <td class="code"><pre>  /*                                                                       */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l247">247</a></td>
           <td class="code"><pre>  /* <Input>                                                               */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l248">248</a></td>
           <td class="code"><pre>  /*    list    :: A handle to the list.                                   */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l249">249</a></td>
           <td class="code"><pre>  /*                                                                       */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l250">250</a></td>
           <td class="code"><pre>  /*    destroy :: A list destructor that will be applied to each element  */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l251">251</a></td>
           <td class="code"><pre>  /*               of the list.                                            */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l252">252</a></td>
           <td class="code"><pre>  /*                                                                       */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l253">253</a></td>
           <td class="code"><pre>  /*    memory  :: The current memory object which handles deallocation.   */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l254">254</a></td>
           <td class="code"><pre>  /*                                                                       */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l255">255</a></td>
           <td class="code"><pre>  /*    user    :: A user-supplied field which is passed as the last       */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l256">256</a></td>
           <td class="code"><pre>  /*               argument to the destructor.                             */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l257">257</a></td>
           <td class="code"><pre>  /*                                                                       */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l258">258</a></td>
           <td class="code"><pre>  /* <Note>                                                                */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l259">259</a></td>
           <td class="code"><pre>  /*    This function expects that all nodes added by @FT_List_Add or      */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l260">260</a></td>
           <td class="code"><pre>  /*    @FT_List_Insert have been dynamically allocated.                   */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l261">261</a></td>
           <td class="code"><pre>  /*                                                                       */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l262">262</a></td>
           <td class="code"><pre>  FT_EXPORT( void )</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l263">263</a></td>
           <td class="code"><pre>  FT_List_Finalize( FT_List             list,</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l264">264</a></td>
           <td class="code"><pre>                    FT_List_Destructor  destroy,</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l265">265</a></td>
           <td class="code"><pre>                    FT_Memory           memory,</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l266">266</a></td>
           <td class="code"><pre>                    void*               user );</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l267">267</a></td>
           <td class="code"><pre> </pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l268">268</a></td>
           <td class="code"><pre> </pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l269">269</a></td>
           <td class="code"><pre>  /* */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l270">270</a></td>
           <td class="code"><pre> </pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l271">271</a></td>
           <td class="code"><pre> </pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l272">272</a></td>
           <td class="code"><pre>FT_END_HEADER</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l273">273</a></td>
           <td class="code"><pre> </pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l274">274</a></td>
           <td class="code"><pre>#endif /* __FTLIST_H__ */</pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l275">275</a></td>
           <td class="code"><pre> </pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l276">276</a></td>
           <td class="code"><pre> </pre></td>
        </tr>
        <tr valign="middle">
           <td></td>
           <td></td>
           <td><a name="l277">277</a></td>
           <td class="code"><pre>/* END */</Note></Input></Description></Function></Input></Description></FuncType></Return></Input></Description></Function></Input></Description></FuncType></InOut></Description></Function></InOut></Input></Description></Function></InOut></Description></Function></InOut></Description></Function></Return></Input></Description></Function></Order></Description></Abstract>