source: trunk/poppler/freetype-2.1.10/src/autofit/afmodule.c @ 2

Last change on this file since 2 was 2, checked in by Eugene Romanenko, 16 years ago

First import

File size: 2.7 KB
RevLine 
[2]1/***************************************************************************/
2/*                                                                         */
3/*  afmodule.c                                                             */
4/*                                                                         */
5/*    Auto-fitter module implementation (body).                            */
6/*                                                                         */
7/*  Copyright 2003, 2004, 2005 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#include "afmodule.h"
20#include "afloader.h"
21
22#include FT_INTERNAL_OBJECTS_H
23
24
25  typedef struct  FT_AutofitterRec_
26  {
27    FT_ModuleRec  root;
28    AF_LoaderRec  loader[1];
29
30  } FT_AutofitterRec, *FT_Autofitter;
31
32
33  FT_CALLBACK_DEF( FT_Error )
34  af_autofitter_init( FT_Autofitter  module )
35  {
36    return af_loader_init( module->loader, module->root.library->memory );
37  }
38
39
40  FT_CALLBACK_DEF( void )
41  af_autofitter_done( FT_Autofitter  module )
42  {
43    af_loader_done( module->loader );
44  }
45
46
47  FT_CALLBACK_DEF( FT_Error )
48  af_autofitter_load_glyph( FT_Autofitter  module,
49                            FT_GlyphSlot   slot,
50                            FT_Size        size,
51                            FT_UInt        glyph_index,
52                            FT_Int32       load_flags )
53  {
54    FT_UNUSED( size );
55
56    return af_loader_load_glyph( module->loader, slot->face,
57                                 glyph_index, load_flags );
58  }
59
60
61  FT_CALLBACK_TABLE_DEF
62  const FT_AutoHinter_ServiceRec  af_autofitter_service =
63  {
64    NULL,
65    NULL,
66    NULL,
67    (FT_AutoHinter_GlyphLoadFunc)af_autofitter_load_glyph
68  };
69
70
71  FT_CALLBACK_TABLE_DEF
72  const FT_Module_Class  autofit_module_class =
73  {
74    FT_MODULE_HINTER,
75    sizeof ( FT_AutofitterRec ),
76
77    "autofitter",
78    0x10000L,   /* version 1.0 of the autofitter  */
79    0x20000L,   /* requires FreeType 2.0 or above */
80
81    (const void*)&af_autofitter_service,
82
83    (FT_Module_Constructor)af_autofitter_init,
84    (FT_Module_Destructor) af_autofitter_done,
85    (FT_Module_Requester)  NULL
86  };
87
88
89/* END */
Note: See TracBrowser for help on using the repository browser.