/*
 * DO NOT EDIT.  THIS FILE IS GENERATED FROM nsIFreeType2.idl
 */

#ifndef __gen_nsIFreeType2_h__
#define __gen_nsIFreeType2_h__


#ifndef __gen_nsISupports_h__
#include "nsISupports.h"
#endif

/* For IDL files that don't want to include root IDL files. */
#ifndef NS_NO_VTABLE
#define NS_NO_VTABLE
#endif
#include <ft2build.h>
#include FT_FREETYPE_H
#include FT_CACHE_H
#include FT_CACHE_IMAGE_H
#include FT_OUTLINE_H
#include FT_TRUETYPE_TABLES_H
#define NS_FREETYPE2_CONTRACTID "@mozilla.org/freetype2;1"
#define NS_FREETYPE2_CID NS_IFREETYPE2_IID
// macros to handle FreeType2 26.6 numbers (26 bit number with 6 bit fraction)
#define FT_REG_TO_16_16(x) ((x)<<16)
#ifndef FT_MulFix
#define FT_MulFix(v, s) (((v)*(s))>>16)
#endif
#define FT_ROUND(x) (((x) + 32) & ~63) // 63 = 2^6 - 1
#define FT_TRUNC(x) ((x) >> 6)
#define FT_DESIGN_UNITS_TO_PIXELS(v, s) FT_TRUNC(FT_ROUND(FT_MulFix((v) , (s))))

/* starting interface:    nsIFreeType2 */
#define NS_IFREETYPE2_IID_STR "c6e09354-1bb1-4ec2-aaa3-a26d0aafe36d"

#define NS_IFREETYPE2_IID \
  {0xc6e09354, 0x1bb1, 0x4ec2, \
    { 0xaa, 0xa3, 0xa2, 0x6d, 0x0a, 0xaf, 0xe3, 0x6d }}

class NS_NO_VTABLE nsIFreeType2 : public nsISupports {
 public: 

  NS_DEFINE_STATIC_IID_ACCESSOR(NS_IFREETYPE2_IID)

  /* readonly attribute FT_Library library; */
  NS_IMETHOD GetLibrary(FT_Library *aLibrary) = 0;

  /* readonly attribute FTC_Manager FTCacheManager; */
  NS_IMETHOD GetFTCacheManager(FTC_Manager *aFTCacheManager) = 0;

  /* readonly attribute FTC_ImageCache ImageCache; */
  NS_IMETHOD GetImageCache(FTC_ImageCache *aImageCache) = 0;

  /* void doneFace (in FT_Face face); */
  NS_IMETHOD DoneFace(FT_Face face) = 0;

  /* void doneFreeType (in FT_Library lib); */
  NS_IMETHOD DoneFreeType(FT_Library lib) = 0;

  /* void doneGlyph (in FT_Glyph glyph); */
  NS_IMETHOD DoneGlyph(FT_Glyph glyph) = 0;

  /* FT_UInt getCharIndex (in FT_Face face, in FT_ULong charcode); */
  NS_IMETHOD GetCharIndex(FT_Face face, FT_ULong charcode, FT_UInt *_retval) = 0;

  /* void getGlyph (in FT_GlyphSlot slot, out FT_Glyph glyph); */
  NS_IMETHOD GetGlyph(FT_GlyphSlot slot, FT_Glyph *glyph) = 0;

  /* voidPtr getSfntTable (in FT_Face face, in FT_Sfnt_Tag tag); */
  NS_IMETHOD GetSfntTable(FT_Face face, FT_Sfnt_Tag tag, void * *_retval) = 0;

  /* void glyphGetCBox (in FT_Glyph glyph, in FT_UInt mode, out FT_BBox box); */
  NS_IMETHOD GlyphGetCBox(FT_Glyph glyph, FT_UInt mode, FT_BBox *box) = 0;

  /* void initFreeType (out FT_Library lib); */
  NS_IMETHOD InitFreeType(FT_Library *lib) = 0;

  /* void loadGlyph (in FT_Face face, in FT_UInt gindex, in FT_Int flags); */
  NS_IMETHOD LoadGlyph(FT_Face face, FT_UInt gindex, FT_Int flags) = 0;

  /* void newFace (in FT_Library lib, in constCharPtr filename, in FT_Long face_num, out FT_Face face); */
  NS_IMETHOD NewFace(FT_Library lib, const char * filename, FT_Long face_num, FT_Face *face) = 0;

  /* void outlineDecompose (in FT_Outline_p outline, in const_FT_Outline_Funcs_p funcs, in voidPtr p); */
  NS_IMETHOD OutlineDecompose(FT_Outline * outline, const FT_Outline_Funcs * funcs, void * p) = 0;

  /* void setCharmap (in FT_Face face, in FT_CharMap charmap); */
  NS_IMETHOD SetCharmap(FT_Face face, FT_CharMap charmap) = 0;

  /* void imageCacheLookup (in FTC_ImageCache cache, in FTC_ImageType_p desc, in FT_UInt gindex, out FT_Glyph glyph); */
  NS_IMETHOD ImageCacheLookup(FTC_ImageCache cache, FTC_ImageType * desc, FT_UInt gindex, FT_Glyph *glyph) = 0;

  /* void managerLookupFace (in FTC_Manager manager, in FTC_FaceID face_id, out FT_Face face); */
  NS_IMETHOD ManagerLookupFace(FTC_Manager manager, FTC_FaceID face_id, FT_Face *face) = 0;

  /* void managerDone (in FTC_Manager manager); */
  NS_IMETHOD ManagerDone(FTC_Manager manager) = 0;

  /* void managerNew (in FT_Library lib, in FT_UInt max_faces, in FT_UInt max_sizes, in FT_ULong max_bytes, in FTC_Face_Requester requester, in FT_Pointer req_data, out FTC_Manager manager); */
  NS_IMETHOD ManagerNew(FT_Library lib, FT_UInt max_faces, FT_UInt max_sizes, FT_ULong max_bytes, FTC_Face_Requester requester, FT_Pointer req_data, FTC_Manager *manager) = 0;

  /* void imageCacheNew (in FTC_Manager manager, out FTC_ImageCache cache); */
  NS_IMETHOD ImageCacheNew(FTC_Manager manager, FTC_ImageCache *cache) = 0;

  /* void glyphTransform (in FT_Glyph glyph, in FT_Matrix_p matrix, in FT_Vector_p delta); */
  NS_IMETHOD GlyphTransform(FT_Glyph glyph, FT_Matrix * matrix, FT_Vector * delta) = 0;

  /* void getKerning (in FT_Face face, in FT_UInt left_glyph, in FT_UInt right_glyph, in FT_UInt kern_mode, out FT_Vector akerning); */
  NS_IMETHOD GetKerning(FT_Face face, FT_UInt left_glyph, FT_UInt right_glyph, FT_UInt kern_mode, FT_Vector *akerning) = 0;

  /* void glyphCopy (in FT_Glyph source, out FT_Glyph target); */
  NS_IMETHOD GlyphCopy(FT_Glyph source, FT_Glyph *target) = 0;

  /* void glyphToBitmap (inout FT_Glyph the_glyph, in FT_Render_Mode render_mode, in FT_Vector_p origin, in FT_Bool destroy); */
  NS_IMETHOD GlyphToBitmap(FT_Glyph *the_glyph, FT_Render_Mode render_mode, FT_Vector * origin, FT_Bool destroy) = 0;

  /* FT_ULong getFirstChar (in FT_Face face, out FT_UInt gindex); */
  NS_IMETHOD GetFirstChar(FT_Face face, FT_UInt *gindex, FT_ULong *_retval) = 0;

  /* FT_ULong getNextChar (in FT_Face face, in FT_ULong charcode, out FT_UInt gindex); */
  NS_IMETHOD GetNextChar(FT_Face face, FT_ULong charcode, FT_UInt *gindex, FT_ULong *_retval) = 0;

  /* void supportsExtFunc (out PRBool res); */
  NS_IMETHOD SupportsExtFunc(PRBool *res) = 0;

};

/* Use this macro when declaring classes that implement this interface. */
#define NS_DECL_NSIFREETYPE2 \
  NS_IMETHOD GetLibrary(FT_Library *aLibrary); \
  NS_IMETHOD GetFTCacheManager(FTC_Manager *aFTCacheManager); \
  NS_IMETHOD GetImageCache(FTC_ImageCache *aImageCache); \
  NS_IMETHOD DoneFace(FT_Face face); \
  NS_IMETHOD DoneFreeType(FT_Library lib); \
  NS_IMETHOD DoneGlyph(FT_Glyph glyph); \
  NS_IMETHOD GetCharIndex(FT_Face face, FT_ULong charcode, FT_UInt *_retval); \
  NS_IMETHOD GetGlyph(FT_GlyphSlot slot, FT_Glyph *glyph); \
  NS_IMETHOD GetSfntTable(FT_Face face, FT_Sfnt_Tag tag, void * *_retval); \
  NS_IMETHOD GlyphGetCBox(FT_Glyph glyph, FT_UInt mode, FT_BBox *box); \
  NS_IMETHOD InitFreeType(FT_Library *lib); \
  NS_IMETHOD LoadGlyph(FT_Face face, FT_UInt gindex, FT_Int flags); \
  NS_IMETHOD NewFace(FT_Library lib, const char * filename, FT_Long face_num, FT_Face *face); \
  NS_IMETHOD OutlineDecompose(FT_Outline * outline, const FT_Outline_Funcs * funcs, void * p); \
  NS_IMETHOD SetCharmap(FT_Face face, FT_CharMap charmap); \
  NS_IMETHOD ImageCacheLookup(FTC_ImageCache cache, FTC_ImageType * desc, FT_UInt gindex, FT_Glyph *glyph); \
  NS_IMETHOD ManagerLookupFace(FTC_Manager manager, FTC_FaceID face_id, FT_Face *face); \
  NS_IMETHOD ManagerDone(FTC_Manager manager); \
  NS_IMETHOD ManagerNew(FT_Library lib, FT_UInt max_faces, FT_UInt max_sizes, FT_ULong max_bytes, FTC_Face_Requester requester, FT_Pointer req_data, FTC_Manager *manager); \
  NS_IMETHOD ImageCacheNew(FTC_Manager manager, FTC_ImageCache *cache); \
  NS_IMETHOD GlyphTransform(FT_Glyph glyph, FT_Matrix * matrix, FT_Vector * delta); \
  NS_IMETHOD GetKerning(FT_Face face, FT_UInt left_glyph, FT_UInt right_glyph, FT_UInt kern_mode, FT_Vector *akerning); \
  NS_IMETHOD GlyphCopy(FT_Glyph source, FT_Glyph *target); \
  NS_IMETHOD GlyphToBitmap(FT_Glyph *the_glyph, FT_Render_Mode render_mode, FT_Vector * origin, FT_Bool destroy); \
  NS_IMETHOD GetFirstChar(FT_Face face, FT_UInt *gindex, FT_ULong *_retval); \
  NS_IMETHOD GetNextChar(FT_Face face, FT_ULong charcode, FT_UInt *gindex, FT_ULong *_retval); \
  NS_IMETHOD SupportsExtFunc(PRBool *res); 

/* Use this macro to declare functions that forward the behavior of this interface to another object. */
#define NS_FORWARD_NSIFREETYPE2(_to) \
  NS_IMETHOD GetLibrary(FT_Library *aLibrary) { return _to GetLibrary(aLibrary); } \
  NS_IMETHOD GetFTCacheManager(FTC_Manager *aFTCacheManager) { return _to GetFTCacheManager(aFTCacheManager); } \
  NS_IMETHOD GetImageCache(FTC_ImageCache *aImageCache) { return _to GetImageCache(aImageCache); } \
  NS_IMETHOD DoneFace(FT_Face face) { return _to DoneFace(face); } \
  NS_IMETHOD DoneFreeType(FT_Library lib) { return _to DoneFreeType(lib); } \
  NS_IMETHOD DoneGlyph(FT_Glyph glyph) { return _to DoneGlyph(glyph); } \
  NS_IMETHOD GetCharIndex(FT_Face face, FT_ULong charcode, FT_UInt *_retval) { return _to GetCharIndex(face, charcode, _retval); } \
  NS_IMETHOD GetGlyph(FT_GlyphSlot slot, FT_Glyph *glyph) { return _to GetGlyph(slot, glyph); } \
  NS_IMETHOD GetSfntTable(FT_Face face, FT_Sfnt_Tag tag, void * *_retval) { return _to GetSfntTable(face, tag, _retval); } \
  NS_IMETHOD GlyphGetCBox(FT_Glyph glyph, FT_UInt mode, FT_BBox *box) { return _to GlyphGetCBox(glyph, mode, box); } \
  NS_IMETHOD InitFreeType(FT_Library *lib) { return _to InitFreeType(lib); } \
  NS_IMETHOD LoadGlyph(FT_Face face, FT_UInt gindex, FT_Int flags) { return _to LoadGlyph(face, gindex, flags); } \
  NS_IMETHOD NewFace(FT_Library lib, const char * filename, FT_Long face_num, FT_Face *face) { return _to NewFace(lib, filename, face_num, face); } \
  NS_IMETHOD OutlineDecompose(FT_Outline * outline, const FT_Outline_Funcs * funcs, void * p) { return _to OutlineDecompose(outline, funcs, p); } \
  NS_IMETHOD SetCharmap(FT_Face face, FT_CharMap charmap) { return _to SetCharmap(face, charmap); } \
  NS_IMETHOD ImageCacheLookup(FTC_ImageCache cache, FTC_ImageType * desc, FT_UInt gindex, FT_Glyph *glyph) { return _to ImageCacheLookup(cache, desc, gindex, glyph); } \
  NS_IMETHOD ManagerLookupFace(FTC_Manager manager, FTC_FaceID face_id, FT_Face *face) { return _to ManagerLookupFace(manager, face_id, face); } \
  NS_IMETHOD ManagerDone(FTC_Manager manager) { return _to ManagerDone(manager); } \
  NS_IMETHOD ManagerNew(FT_Library lib, FT_UInt max_faces, FT_UInt max_sizes, FT_ULong max_bytes, FTC_Face_Requester requester, FT_Pointer req_data, FTC_Manager *manager) { return _to ManagerNew(lib, max_faces, max_sizes, max_bytes, requester, req_data, manager); } \
  NS_IMETHOD ImageCacheNew(FTC_Manager manager, FTC_ImageCache *cache) { return _to ImageCacheNew(manager, cache); } \
  NS_IMETHOD GlyphTransform(FT_Glyph glyph, FT_Matrix * matrix, FT_Vector * delta) { return _to GlyphTransform(glyph, matrix, delta); } \
  NS_IMETHOD GetKerning(FT_Face face, FT_UInt left_glyph, FT_UInt right_glyph, FT_UInt kern_mode, FT_Vector *akerning) { return _to GetKerning(face, left_glyph, right_glyph, kern_mode, akerning); } \
  NS_IMETHOD GlyphCopy(FT_Glyph source, FT_Glyph *target) { return _to GlyphCopy(source, target); } \
  NS_IMETHOD GlyphToBitmap(FT_Glyph *the_glyph, FT_Render_Mode render_mode, FT_Vector * origin, FT_Bool destroy) { return _to GlyphToBitmap(the_glyph, render_mode, origin, destroy); } \
  NS_IMETHOD GetFirstChar(FT_Face face, FT_UInt *gindex, FT_ULong *_retval) { return _to GetFirstChar(face, gindex, _retval); } \
  NS_IMETHOD GetNextChar(FT_Face face, FT_ULong charcode, FT_UInt *gindex, FT_ULong *_retval) { return _to GetNextChar(face, charcode, gindex, _retval); } \
  NS_IMETHOD SupportsExtFunc(PRBool *res) { return _to SupportsExtFunc(res); } 

/* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
#define NS_FORWARD_SAFE_NSIFREETYPE2(_to) \
  NS_IMETHOD GetLibrary(FT_Library *aLibrary) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetLibrary(aLibrary); } \
  NS_IMETHOD GetFTCacheManager(FTC_Manager *aFTCacheManager) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetFTCacheManager(aFTCacheManager); } \
  NS_IMETHOD GetImageCache(FTC_ImageCache *aImageCache) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetImageCache(aImageCache); } \
  NS_IMETHOD DoneFace(FT_Face face) { return !_to ? NS_ERROR_NULL_POINTER : _to->DoneFace(face); } \
  NS_IMETHOD DoneFreeType(FT_Library lib) { return !_to ? NS_ERROR_NULL_POINTER : _to->DoneFreeType(lib); } \
  NS_IMETHOD DoneGlyph(FT_Glyph glyph) { return !_to ? NS_ERROR_NULL_POINTER : _to->DoneGlyph(glyph); } \
  NS_IMETHOD GetCharIndex(FT_Face face, FT_ULong charcode, FT_UInt *_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetCharIndex(face, charcode, _retval); } \
  NS_IMETHOD GetGlyph(FT_GlyphSlot slot, FT_Glyph *glyph) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetGlyph(slot, glyph); } \
  NS_IMETHOD GetSfntTable(FT_Face face, FT_Sfnt_Tag tag, void * *_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetSfntTable(face, tag, _retval); } \
  NS_IMETHOD GlyphGetCBox(FT_Glyph glyph, FT_UInt mode, FT_BBox *box) { return !_to ? NS_ERROR_NULL_POINTER : _to->GlyphGetCBox(glyph, mode, box); } \
  NS_IMETHOD InitFreeType(FT_Library *lib) { return !_to ? NS_ERROR_NULL_POINTER : _to->InitFreeType(lib); } \
  NS_IMETHOD LoadGlyph(FT_Face face, FT_UInt gindex, FT_Int flags) { return !_to ? NS_ERROR_NULL_POINTER : _to->LoadGlyph(face, gindex, flags); } \
  NS_IMETHOD NewFace(FT_Library lib, const char * filename, FT_Long face_num, FT_Face *face) { return !_to ? NS_ERROR_NULL_POINTER : _to->NewFace(lib, filename, face_num, face); } \
  NS_IMETHOD OutlineDecompose(FT_Outline * outline, const FT_Outline_Funcs * funcs, void * p) { return !_to ? NS_ERROR_NULL_POINTER : _to->OutlineDecompose(outline, funcs, p); } \
  NS_IMETHOD SetCharmap(FT_Face face, FT_CharMap charmap) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetCharmap(face, charmap); } \
  NS_IMETHOD ImageCacheLookup(FTC_ImageCache cache, FTC_ImageType * desc, FT_UInt gindex, FT_Glyph *glyph) { return !_to ? NS_ERROR_NULL_POINTER : _to->ImageCacheLookup(cache, desc, gindex, glyph); } \
  NS_IMETHOD ManagerLookupFace(FTC_Manager manager, FTC_FaceID face_id, FT_Face *face) { return !_to ? NS_ERROR_NULL_POINTER : _to->ManagerLookupFace(manager, face_id, face); } \
  NS_IMETHOD ManagerDone(FTC_Manager manager) { return !_to ? NS_ERROR_NULL_POINTER : _to->ManagerDone(manager); } \
  NS_IMETHOD ManagerNew(FT_Library lib, FT_UInt max_faces, FT_UInt max_sizes, FT_ULong max_bytes, FTC_Face_Requester requester, FT_Pointer req_data, FTC_Manager *manager) { return !_to ? NS_ERROR_NULL_POINTER : _to->ManagerNew(lib, max_faces, max_sizes, max_bytes, requester, req_data, manager); } \
  NS_IMETHOD ImageCacheNew(FTC_Manager manager, FTC_ImageCache *cache) { return !_to ? NS_ERROR_NULL_POINTER : _to->ImageCacheNew(manager, cache); } \
  NS_IMETHOD GlyphTransform(FT_Glyph glyph, FT_Matrix * matrix, FT_Vector * delta) { return !_to ? NS_ERROR_NULL_POINTER : _to->GlyphTransform(glyph, matrix, delta); } \
  NS_IMETHOD GetKerning(FT_Face face, FT_UInt left_glyph, FT_UInt right_glyph, FT_UInt kern_mode, FT_Vector *akerning) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetKerning(face, left_glyph, right_glyph, kern_mode, akerning); } \
  NS_IMETHOD GlyphCopy(FT_Glyph source, FT_Glyph *target) { return !_to ? NS_ERROR_NULL_POINTER : _to->GlyphCopy(source, target); } \
  NS_IMETHOD GlyphToBitmap(FT_Glyph *the_glyph, FT_Render_Mode render_mode, FT_Vector * origin, FT_Bool destroy) { return !_to ? NS_ERROR_NULL_POINTER : _to->GlyphToBitmap(the_glyph, render_mode, origin, destroy); } \
  NS_IMETHOD GetFirstChar(FT_Face face, FT_UInt *gindex, FT_ULong *_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetFirstChar(face, gindex, _retval); } \
  NS_IMETHOD GetNextChar(FT_Face face, FT_ULong charcode, FT_UInt *gindex, FT_ULong *_retval) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetNextChar(face, charcode, gindex, _retval); } \
  NS_IMETHOD SupportsExtFunc(PRBool *res) { return !_to ? NS_ERROR_NULL_POINTER : _to->SupportsExtFunc(res); } 

#if 0
/* Use the code below as a template for the implementation class for this interface. */

/* Header file */
class nsFreeType2 : public nsIFreeType2
{
public:
  NS_DECL_ISUPPORTS
  NS_DECL_NSIFREETYPE2

  nsFreeType2();

private:
  ~nsFreeType2();

protected:
  /* additional members */
};

/* Implementation file */
NS_IMPL_ISUPPORTS1(nsFreeType2, nsIFreeType2)

nsFreeType2::nsFreeType2()
{
  /* member initializers and constructor code */
}

nsFreeType2::~nsFreeType2()
{
  /* destructor code */
}

/* readonly attribute FT_Library library; */
NS_IMETHODIMP nsFreeType2::GetLibrary(FT_Library *aLibrary)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute FTC_Manager FTCacheManager; */
NS_IMETHODIMP nsFreeType2::GetFTCacheManager(FTC_Manager *aFTCacheManager)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute FTC_ImageCache ImageCache; */
NS_IMETHODIMP nsFreeType2::GetImageCache(FTC_ImageCache *aImageCache)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void doneFace (in FT_Face face); */
NS_IMETHODIMP nsFreeType2::DoneFace(FT_Face face)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void doneFreeType (in FT_Library lib); */
NS_IMETHODIMP nsFreeType2::DoneFreeType(FT_Library lib)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void doneGlyph (in FT_Glyph glyph); */
NS_IMETHODIMP nsFreeType2::DoneGlyph(FT_Glyph glyph)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* FT_UInt getCharIndex (in FT_Face face, in FT_ULong charcode); */
NS_IMETHODIMP nsFreeType2::GetCharIndex(FT_Face face, FT_ULong charcode, FT_UInt *_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void getGlyph (in FT_GlyphSlot slot, out FT_Glyph glyph); */
NS_IMETHODIMP nsFreeType2::GetGlyph(FT_GlyphSlot slot, FT_Glyph *glyph)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* voidPtr getSfntTable (in FT_Face face, in FT_Sfnt_Tag tag); */
NS_IMETHODIMP nsFreeType2::GetSfntTable(FT_Face face, FT_Sfnt_Tag tag, void * *_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void glyphGetCBox (in FT_Glyph glyph, in FT_UInt mode, out FT_BBox box); */
NS_IMETHODIMP nsFreeType2::GlyphGetCBox(FT_Glyph glyph, FT_UInt mode, FT_BBox *box)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void initFreeType (out FT_Library lib); */
NS_IMETHODIMP nsFreeType2::InitFreeType(FT_Library *lib)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void loadGlyph (in FT_Face face, in FT_UInt gindex, in FT_Int flags); */
NS_IMETHODIMP nsFreeType2::LoadGlyph(FT_Face face, FT_UInt gindex, FT_Int flags)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void newFace (in FT_Library lib, in constCharPtr filename, in FT_Long face_num, out FT_Face face); */
NS_IMETHODIMP nsFreeType2::NewFace(FT_Library lib, const char * filename, FT_Long face_num, FT_Face *face)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void outlineDecompose (in FT_Outline_p outline, in const_FT_Outline_Funcs_p funcs, in voidPtr p); */
NS_IMETHODIMP nsFreeType2::OutlineDecompose(FT_Outline * outline, const FT_Outline_Funcs * funcs, void * p)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void setCharmap (in FT_Face face, in FT_CharMap charmap); */
NS_IMETHODIMP nsFreeType2::SetCharmap(FT_Face face, FT_CharMap charmap)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void imageCacheLookup (in FTC_ImageCache cache, in FTC_ImageType_p desc, in FT_UInt gindex, out FT_Glyph glyph); */
NS_IMETHODIMP nsFreeType2::ImageCacheLookup(FTC_ImageCache cache, FTC_ImageType * desc, FT_UInt gindex, FT_Glyph *glyph)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void managerLookupFace (in FTC_Manager manager, in FTC_FaceID face_id, out FT_Face face); */
NS_IMETHODIMP nsFreeType2::ManagerLookupFace(FTC_Manager manager, FTC_FaceID face_id, FT_Face *face)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void managerDone (in FTC_Manager manager); */
NS_IMETHODIMP nsFreeType2::ManagerDone(FTC_Manager manager)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void managerNew (in FT_Library lib, in FT_UInt max_faces, in FT_UInt max_sizes, in FT_ULong max_bytes, in FTC_Face_Requester requester, in FT_Pointer req_data, out FTC_Manager manager); */
NS_IMETHODIMP nsFreeType2::ManagerNew(FT_Library lib, FT_UInt max_faces, FT_UInt max_sizes, FT_ULong max_bytes, FTC_Face_Requester requester, FT_Pointer req_data, FTC_Manager *manager)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void imageCacheNew (in FTC_Manager manager, out FTC_ImageCache cache); */
NS_IMETHODIMP nsFreeType2::ImageCacheNew(FTC_Manager manager, FTC_ImageCache *cache)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void glyphTransform (in FT_Glyph glyph, in FT_Matrix_p matrix, in FT_Vector_p delta); */
NS_IMETHODIMP nsFreeType2::GlyphTransform(FT_Glyph glyph, FT_Matrix * matrix, FT_Vector * delta)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void getKerning (in FT_Face face, in FT_UInt left_glyph, in FT_UInt right_glyph, in FT_UInt kern_mode, out FT_Vector akerning); */
NS_IMETHODIMP nsFreeType2::GetKerning(FT_Face face, FT_UInt left_glyph, FT_UInt right_glyph, FT_UInt kern_mode, FT_Vector *akerning)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void glyphCopy (in FT_Glyph source, out FT_Glyph target); */
NS_IMETHODIMP nsFreeType2::GlyphCopy(FT_Glyph source, FT_Glyph *target)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void glyphToBitmap (inout FT_Glyph the_glyph, in FT_Render_Mode render_mode, in FT_Vector_p origin, in FT_Bool destroy); */
NS_IMETHODIMP nsFreeType2::GlyphToBitmap(FT_Glyph *the_glyph, FT_Render_Mode render_mode, FT_Vector * origin, FT_Bool destroy)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* FT_ULong getFirstChar (in FT_Face face, out FT_UInt gindex); */
NS_IMETHODIMP nsFreeType2::GetFirstChar(FT_Face face, FT_UInt *gindex, FT_ULong *_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* FT_ULong getNextChar (in FT_Face face, in FT_ULong charcode, out FT_UInt gindex); */
NS_IMETHODIMP nsFreeType2::GetNextChar(FT_Face face, FT_ULong charcode, FT_UInt *gindex, FT_ULong *_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void supportsExtFunc (out PRBool res); */
NS_IMETHODIMP nsFreeType2::SupportsExtFunc(PRBool *res)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* End of implementation class template. */
#endif


#endif /* __gen_nsIFreeType2_h__ */
