1ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov/***************************************************************************/
2ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov/*                                                                         */
3ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov/*  ftapi.c                                                                */
4ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov/*                                                                         */
5ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov/*    The FreeType compatibility functions (body).                         */
6ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov/*                                                                         */
7ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov/*  Copyright 2002 by                                                      */
8ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov/*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
9ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov/*                                                                         */
10ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov/*  This file is part of the FreeType project, and may only be used,       */
11ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov/*  modified, and distributed under the terms of the FreeType project      */
12ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov/*  license, LICENSE.TXT.  By continuing to use, modify, or distribute     */
13ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov/*  this file you indicate that you have read the license and              */
14ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov/*  understand and accept it fully.                                        */
15ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov/*                                                                         */
16ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov/***************************************************************************/
17ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov
18ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov
19e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#include <ft2build.h>
20e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#include FT_LIST_H
21e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#include FT_OUTLINE_H
22e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#include FT_INTERNAL_OBJECTS_H
23e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#include FT_INTERNAL_DEBUG_H
24e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#include FT_INTERNAL_STREAM_H
25e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#include FT_TRUETYPE_TABLES_H
26e6986e1e8d4a57987f47c215490cb080a65ee29aSvet Ganov#include FT_OUTLINE_H
27ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov
28ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov
29ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov  /*************************************************************************/
30ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov  /*************************************************************************/
31ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov  /*************************************************************************/
32ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov  /****                                                                 ****/
33ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov  /****                                                                 ****/
34ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov  /****                 C O M P A T I B I L I T Y                       ****/
35ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov  /****                                                                 ****/
36ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov  /****                                                                 ****/
37ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov  /*************************************************************************/
38ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov  /*************************************************************************/
39ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov  /*************************************************************************/
40ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov
41ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov  /* backwards compatibility API */
42ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov
43ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov  FT_BASE_DEF( void )
44ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov  FT_New_Memory_Stream( FT_Library  library,
45ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov                        FT_Byte*    base,
46ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov                        FT_ULong    size,
47ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov                        FT_Stream   stream )
48ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov  {
49ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov    FT_UNUSED( library );
50ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov
51ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov    FT_Stream_OpenMemory( stream, base, size );
52ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov  }
53ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov
54ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov
55ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov  FT_BASE_DEF( FT_Error )
56ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov  FT_Seek_Stream( FT_Stream  stream,
57ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov                  FT_ULong   pos )
58ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov  {
59ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov    return FT_Stream_Seek( stream, pos );
60ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov  }
61ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov
62ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov
63ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov  FT_BASE_DEF( FT_Error )
64ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov  FT_Skip_Stream( FT_Stream  stream,
65ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov                  FT_Long    distance )
66ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov  {
67ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov    return FT_Stream_Skip( stream, distance );
68ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov  }
69ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov
70ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov
71ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov  FT_BASE_DEF( FT_Error )
72ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov  FT_Read_Stream( FT_Stream  stream,
73ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov                  FT_Byte*   buffer,
74ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov                  FT_ULong   count )
75ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov  {
76ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov    return FT_Stream_Read( stream, buffer, count );
77ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov  }
78ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov
79ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov
80ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov  FT_BASE_DEF( FT_Error )
81ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov  FT_Read_Stream_At( FT_Stream  stream,
82ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov                     FT_ULong   pos,
83ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov                     FT_Byte*   buffer,
84ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov                     FT_ULong   count )
85ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov  {
86ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov    return FT_Stream_ReadAt( stream, pos, buffer, count );
87ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov  }
88ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov
89ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov
90ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov  FT_BASE_DEF( FT_Error )
91ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov  FT_Extract_Frame( FT_Stream  stream,
92ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov                    FT_ULong   count,
93ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov                    FT_Byte**  pbytes )
94ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov  {
95ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov    return FT_Stream_ExtractFrame( stream, count, pbytes );
96ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov  }
97ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov
98ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov
99ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov  FT_BASE_DEF( void )
100ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov  FT_Release_Frame( FT_Stream  stream,
101ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov                    FT_Byte**  pbytes )
102ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov  {
103ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov    FT_Stream_ReleaseFrame( stream, pbytes );
104ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov  }
105ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov
106ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov  FT_BASE_DEF( FT_Error )
107ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov  FT_Access_Frame( FT_Stream  stream,
108ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov                   FT_ULong   count )
109ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov  {
110ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov    return FT_Stream_EnterFrame( stream, count );
111ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov  }
112ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov
113ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov
114ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov  FT_BASE_DEF( void )
115ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov  FT_Forget_Frame( FT_Stream  stream )
116ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov  {
117ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov    FT_Stream_ExitFrame( stream );
118ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov  }
119ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov
120ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov
121ee451cb395940862dad63c85adfe8f2fd55e864cSvet Ganov/* END */
122