ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

pspic.c
Go to the documentation of this file.
00001 /***************************************************************************/
00002 /*                                                                         */
00003 /*  pspic.c                                                                */
00004 /*                                                                         */
00005 /*    The FreeType position independent code services for psnames module.  */
00006 /*                                                                         */
00007 /*  Copyright 2009, 2010 by                                                */
00008 /*  Oran Agra and Mickey Gabel.                                            */
00009 /*                                                                         */
00010 /*  This file is part of the FreeType project, and may only be used,       */
00011 /*  modified, and distributed under the terms of the FreeType project      */
00012 /*  license, LICENSE.TXT.  By continuing to use, modify, or distribute     */
00013 /*  this file you indicate that you have read the license and              */
00014 /*  understand and accept it fully.                                        */
00015 /*                                                                         */
00016 /***************************************************************************/
00017 
00018 
00019 #include <ft2build.h>
00020 #include FT_FREETYPE_H
00021 #include FT_INTERNAL_OBJECTS_H
00022 #include "pspic.h"
00023 
00024 #ifdef FT_CONFIG_OPTION_PIC
00025 
00026   /* forward declaration of PIC init functions from psmodule.c */
00027   FT_Error FT_Create_Class_pscmaps_services( FT_Library, FT_ServiceDescRec**);
00028   void FT_Destroy_Class_pscmaps_services( FT_Library, FT_ServiceDescRec*);
00029   void FT_Init_Class_pscmaps_interface( FT_Library, FT_Service_PsCMapsRec*);
00030 
00031   void
00032   psnames_module_class_pic_free(  FT_Library library )
00033   {
00034     FT_PIC_Container* pic_container = &library->pic_container;
00035     FT_Memory memory = library->memory;
00036     if ( pic_container->psnames )
00037     {
00038       PSModulePIC* container = (PSModulePIC*)pic_container->psnames;
00039       if(container->pscmaps_services)
00040         FT_Destroy_Class_pscmaps_services(library, container->pscmaps_services);
00041       container->pscmaps_services = NULL;
00042       FT_FREE( container );
00043       pic_container->psnames = NULL;
00044     }
00045   }
00046 
00047 
00048   FT_Error
00049   psnames_module_class_pic_init( FT_Library  library )
00050   {
00051     FT_PIC_Container*  pic_container = &library->pic_container;
00052     FT_Error           error         = PSnames_Err_Ok;
00053     PSModulePIC*       container;
00054     FT_Memory          memory        = library->memory;
00055 
00056 
00057     /* allocate pointer, clear and set global container pointer */
00058     if ( FT_ALLOC ( container, sizeof ( *container ) ) )
00059       return error;
00060     FT_MEM_SET( container, 0, sizeof(*container) );
00061     pic_container->psnames = container;
00062 
00063     /* initialize pointer table - this is how the module usually expects this data */
00064     error = FT_Create_Class_pscmaps_services(library, &container->pscmaps_services);
00065     if(error) 
00066       goto Exit;
00067     FT_Init_Class_pscmaps_interface(library, &container->pscmaps_interface);
00068     
00069 Exit:
00070     if(error)
00071       psnames_module_class_pic_free(library);
00072     return error;
00073   }
00074 
00075 
00076 #endif /* FT_CONFIG_OPTION_PIC */
00077 
00078 
00079 /* END */

Generated on Sun May 27 2012 04:34:00 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.