Spade

Mini Shell

Directory:~$ /proc/self/root/usr/include/freetype2/freetype/
Upload File

[Home] [System Details] [Kill Me]
Current File:~$ //proc/self/root/usr/include/freetype2/freetype/ftsizes.h

/***************************************************************************/
/*                                                                        
*/
/*  ftsizes.h                                                             
*/
/*                                                                        
*/
/*    FreeType size objects management (specification).                   
*/
/*                                                                        
*/
/*  Copyright 1996-2017 by                                                
*/
/*  David Turner, Robert Wilhelm, and Werner Lemberg.                     
*/
/*                                                                        
*/
/*  This file is part of the FreeType project, and may only be used,      
*/
/*  modified, and distributed under the terms of the FreeType project     
*/
/*  license, LICENSE.TXT.  By continuing to use, modify, or distribute    
*/
/*  this file you indicate that you have read the license and             
*/
/*  understand and accept it fully.                                       
*/
/*                                                                        
*/
/***************************************************************************/


 
/*************************************************************************/
  /*                                                                      
*/
  /* Typical application would normally not need to use these functions.  
*/
  /* However, they have been placed in a public API for the rare cases    
*/
  /* where they are needed.                                               
*/
  /*                                                                      
*/
 
/*************************************************************************/


#ifndef FTSIZES_H_
#define FTSIZES_H_


#include <ft2build.h>
#include FT_FREETYPE_H

#ifdef FREETYPE_H
#error "freetype.h of FreeType 1 has been loaded!"
#error "Please fix the directory search order for header files"
#error "so that freetype.h of FreeType 2 is found first."
#endif


FT_BEGIN_HEADER


 
/*************************************************************************/
  /*                                                                      
*/
  /* <Section>                                                       
     */
  /*    sizes_management                                                  
*/
  /*                                                                      
*/
  /* <Title>                                                         
     */
  /*    Size Management                                                   
*/
  /*                                                                      
*/
  /* <Abstract>                                                      
     */
  /*    Managing multiple sizes per face.                                 
*/
  /*                                                                      
*/
  /* <Description>                                                   
     */
  /*    When creating a new face object (e.g., with @FT_New_Face), an     
*/
  /*    @FT_Size object is automatically created and used to store all    
*/
  /*    pixel-size dependent information, available in the
`face->size'    */
  /*    field.                                                            
*/
  /*                                                                      
*/
  /*    It is however possible to create more sizes for a given face,     
*/
  /*    mostly in order to manage several character pixel sizes of the    
*/
  /*    same font family and style.  See @FT_New_Size and @FT_Done_Size.  
*/
  /*                                                                      
*/
  /*    Note that @FT_Set_Pixel_Sizes and @FT_Set_Char_Size only          
*/
  /*    modify the contents of the current `active' size; you thus
need    */
  /*    to use @FT_Activate_Size to change it.                            
*/
  /*                                                                      
*/
  /*    99% of applications won't need the functions provided here,   
    */
  /*    especially if they use the caching sub-system, so be cautious     
*/
  /*    when using these.                                                 
*/
  /*                                                                      
*/
 
/*************************************************************************/


 
/*************************************************************************/
  /*                                                                      
*/
  /* <Function>                                                      
     */
  /*    FT_New_Size                                                       
*/
  /*                                                                      
*/
  /* <Description>                                                   
     */
  /*    Create a new size object from a given face object.                
*/
  /*                                                                      
*/
  /* <Input>                                                         
     */
  /*    face :: A handle to a parent face object.                         
*/
  /*                                                                      
*/
  /* <Output>                                                        
     */
  /*    asize :: A handle to a new size object.                           
*/
  /*                                                                      
*/
  /* <Return>                                                        
     */
  /*    FreeType error code.  0~means success.                            
*/
  /*                                                                      
*/
  /* <Note>                                                          
     */
  /*    You need to call @FT_Activate_Size in order to select the new size
*/
  /*    for upcoming calls to @FT_Set_Pixel_Sizes, @FT_Set_Char_Size,     
*/
  /*    @FT_Load_Glyph, @FT_Load_Char, etc.                               
*/
  /*                                                                      
*/
  FT_EXPORT( FT_Error )
  FT_New_Size( FT_Face   face,
               FT_Size*  size );


 
/*************************************************************************/
  /*                                                                      
*/
  /* <Function>                                                      
     */
  /*    FT_Done_Size                                                      
*/
  /*                                                                      
*/
  /* <Description>                                                   
     */
  /*    Discard a given size object.  Note that @FT_Done_Face             
*/
  /*    automatically discards all size objects allocated with            
*/
  /*    @FT_New_Size.                                                     
*/
  /*                                                                      
*/
  /* <Input>                                                         
     */
  /*    size :: A handle to a target size object.                         
*/
  /*                                                                      
*/
  /* <Return>                                                        
     */
  /*    FreeType error code.  0~means success.                            
*/
  /*                                                                      
*/
  FT_EXPORT( FT_Error )
  FT_Done_Size( FT_Size  size );


 
/*************************************************************************/
  /*                                                                      
*/
  /* <Function>                                                      
     */
  /*    FT_Activate_Size                                                  
*/
  /*                                                                      
*/
  /* <Description>                                                   
     */
  /*    Even though it is possible to create several size objects for a   
*/
  /*    given face (see @FT_New_Size for details), functions like         
*/
  /*    @FT_Load_Glyph or @FT_Load_Char only use the one that has been    
*/
  /*    activated last to determine the `current character pixel
size'.    */
  /*                                                                      
*/
  /*    This function can be used to `activate' a previously created
size  */
  /*    object.                                                           
*/
  /*                                                                      
*/
  /* <Input>                                                         
     */
  /*    size :: A handle to a target size object.                         
*/
  /*                                                                      
*/
  /* <Return>                                                        
     */
  /*    FreeType error code.  0~means success.                            
*/
  /*                                                                      
*/
  /* <Note>                                                          
     */
  /*    If `face' is the size's parent face object, this function
changes  */
  /*    the value of `face->size' to the input size handle.        
       */
  /*                                                                      
*/
  FT_EXPORT( FT_Error )
  FT_Activate_Size( FT_Size  size );

  /* */


FT_END_HEADER

#endif /* FTSIZES_H_ */


/* END */