hbfimage

Top  Previous  Next

c:\harbour\contrib\hbfimage
fi_winfu.c
TypeFunctionSourceLine
HB_FUNCFI_FITOBITMAP(void)
HB_FUNC( FI_FITOBITMAP )
{
   if ( hb_pcount() == 1 &&
        hb_parinfo( 1 ) & HB_IT_POINTER
      )
   {
      FIBITMAP *dib;
      HBITMAP bitmap;
      HDC hDC;

      /* Retrieve parameters */
      dib = ( FIBITMAP * ) hb_parptr( 1 );

      /* run function */
      hDC = GetDC( NULL );
      bitmap = CreateDIBitmap(hDC, FreeImage_GetInfoHeader(dib),
                              CBM_INIT, FreeImage_GetBits(dib),
                              FreeImage_GetInfo(dib), DIB_RGB_COLORS);
      ReleaseDC( NULL, hDC );

      /* return value */
      if ( bitmap != NULL )
      {
         hb_retptr( bitmap );
      }

   }
   else
   {
      // Parameter error
      {
         hb_errRT_BASE_SubstR( EG_ARG, 0, NULL,
            HB_ERR_FUNCNAME, 1,
            hb_paramError( 1 ) );
         return;
      }
   }
}
fi_winfu.c81
HB_FUNCFI_BITMAPTOFI(void)
HB_FUNC( FI_BITMAPTOFI )
{
   if ( hb_pcount() == 1 &&
        hb_parinfo( 1 ) & HB_IT_POINTER
      )
   {
      FIBITMAP *dib;
      HBITMAP bitmap;

      /* Retrieve parameters */
      bitmap = (HBITMAP) hb_parptr( 1 );

      /* run function */
      dib = NULL;

      if( bitmap ) {
        BITMAP bm;
        HDC hDC;

        GetObject( bitmap, sizeof(BITMAP), (LPSTR) &bm );
        dib = FreeImage_Allocate(bm.bmWidth, bm.bmHeight, bm.bmBitsPixel, 0, 0, 0);
        hDC = GetDC( NULL );
        GetDIBits( hDC, bitmap, 0, FreeImage_GetHeight(dib),
                   FreeImage_GetBits(dib), FreeImage_GetInfo(dib), DIB_RGB_COLORS);
        ReleaseDC( NULL, hDC );
      }

      /* return value */
      if ( dib != NULL )
      {
         hb_retptr( dib );
      }

   }
   else
   {
      // Parameter error
      {
         hb_errRT_BASE_SubstR( EG_ARG, 0, NULL,
            HB_ERR_FUNCNAME, 1,
            hb_paramError( 1 ) );
         return;
      }
   }
}
fi_winfu.c127
HB_FUNCFI_WINDRAW(void)
HB_FUNC( FI_WINDRAW )
{
   if ( hb_pcount() == 6 &&
        hb_parinfo( 1 ) & HB_IT_POINTER &&
        hb_parinfo( 2 ) & HB_IT_NUMERIC &&
        hb_parinfo( 3 ) & HB_IT_NUMERIC &&
        hb_parinfo( 4 ) & HB_IT_NUMERIC &&
        hb_parinfo( 5 ) & HB_IT_NUMERIC &&
        hb_parinfo( 6 ) & HB_IT_NUMERIC
      )
   {
      FIBITMAP *dib;
      HDC hDC;
      RECT rcDest;
      int scanlines;

      /* Retrieve parameters */
      dib  = ( FIBITMAP * ) hb_parptr( 1 );
      hDC  = (HDC) hb_parnl( 2 );
      rcDest.top    = hb_parni( 3 );
      rcDest.left   = hb_parni( 4 );
      rcDest.bottom = hb_parni( 5 );
      rcDest.right  = hb_parni( 6 );

      /* run function */
      SetStretchBltMode(hDC, COLORONCOLOR);

      scanlines = StretchDIBits(hDC, rcDest.left,
                                     rcDest.top,
                                     rcDest.right-rcDest.left,
                                     rcDest.bottom-rcDest.top,
                                     0, 0, FreeImage_GetWidth(dib), FreeImage_GetHeight(dib),
                                     FreeImage_GetBits(dib), FreeImage_GetInfo(dib),
                                     DIB_RGB_COLORS, SRCCOPY);

      /* return value */
      hb_retni( scanlines );

   }
   else
   {
      // Parameter error
      {
         hb_errRT_BASE_SubstR( EG_ARG, 0, NULL,
            HB_ERR_FUNCNAME, 6,
            hb_paramError( 1 ), hb_paramError( 2 ), hb_paramError( 3 ),
            hb_paramError( 4 ), hb_paramError( 5 ), hb_paramError( 6 )
         );
         return;
      }
   }
}
fi_winfu.c180
fi_wrp.c
TypeFunctionSourceLine
HB_FUNCFI_INITIALISE(void)
HB_FUNC( FI_INITIALISE )
{
      BOOL bLoadPluginsOnly;

      /* Retrieve parameters */
      bLoadPluginsOnly = ( hb_parinfo( 1 ) & HB_IT_LOGICAL ? hb_parl( 1 ) : FALSE );

      /* Run function */
      FreeImage_Initialise( bLoadPluginsOnly );
}
fi_wrp.c85
HB_FUNCFI_DEINITIALISE(void)
HB_FUNC( FI_DEINITIALISE )
{
      /* Run function */
      FreeImage_DeInitialise();
}
fi_wrp.c99
HB_FUNCFI_GETVERSION(void)
HB_FUNC( FI_GETVERSION )
{
      /* Run function & return value */
      hb_retc( FreeImage_GetVersion() );
}
fi_wrp.c110
HB_FUNCFI_GETCOPYRIGHTMESSAGE(void)
HB_FUNC( FI_GETCOPYRIGHTMESSAGE )
{
      /* Run function & return value */
      hb_retc( FreeImage_GetCopyrightMessage() );
}
fi_wrp.c119
VOIDFreeImageErrorHandler(FREE_IMAGE_FORMAT fif, const char *message)
void FreeImageErrorHandler(FREE_IMAGE_FORMAT fif, const char *message)
{
   const char *format;
   PHB_SYMB pSymbol;

   if ( pErrorHandler == NULL )
   {
      // Do nothing
      return;
   }

   pSymbol = (PHB_SYMB) pErrorHandler;

   //TraceLog( NULL, "ErrorHandle %p\n\r", pErrorHandler );

   if( pSymbol == NULL )
   {
      hb_errRT_BASE_SubstR( EG_ARG, 0, NULL, "FreeImageErrorHandler", 1, hb_paramError( 1 ) );
      return;
   }

   format = FreeImage_GetFormatFromFIF(fif);

   /* launch error function at prg level */
   hb_vmPushSymbol( pSymbol );
   hb_vmPushNil();
   hb_vmPushString( format, strlen( format ) );
   hb_vmPushString( message, strlen( message ) );
   hb_vmDo( 2 );

}
fi_wrp.c137
HB_FUNCFI_SETOUTPUTMESSAGE(void)
HB_FUNC( FI_SETOUTPUTMESSAGE )
{
   pErrorHandler = NULL;
   FreeImage_SetOutputMessage(FreeImageErrorHandler);

/* TraceLog( NULL, "PCount = %i\n\r", hb_pcount() ); */

   if ( hb_pcount() == 1 )
   {
      if ( hb_parinfo( 1 ) & HB_IT_POINTER )
      {
         // Set the pointer
         pErrorHandler = hb_parptr( 1 );
      }
      else if ( ISNIL( 1 ) )
      {
         // do nothing
      }
      else
      {
         // Parameter error
         {
            hb_errRT_BASE_SubstR( EG_ARG, 0, NULL,
               HB_ERR_FUNCNAME, 1,
               hb_paramError( 1 )
            );
            return;
         }
      }
   }
}
fi_wrp.c174
HB_FUNCFI_ALLOCATE(void)
HB_FUNC( FI_ALLOCATE )
{
   if ( hb_pcount() >= 3 &&
        hb_parinfo( 1 ) & HB_IT_NUMERIC &&
        hb_parinfo( 2 ) & HB_IT_NUMERIC &&
        hb_parinfo( 3 ) & HB_IT_NUMERIC
      )
   {
      int width, height, bpp;
      UINT red_mask, green_mask, blue_mask;

      /* Retrieve parameters */
      width      = hb_parni( 1 );
      height     = hb_parni( 2 );
      bpp        = hb_parni( 3 );
      red_mask   = ( hb_parinfo( 4 ) & HB_IT_NUMERIC ? hb_parni( 4 ) : 0 );
      green_mask = ( hb_parinfo( 5 ) & HB_IT_NUMERIC ? hb_parni( 5 ) : 0 );
      blue_mask  = ( hb_parinfo( 6 ) & HB_IT_NUMERIC ? hb_parni( 6 ) : 0 );

      /* run function & return value */
      hb_retptr( FreeImage_Allocate(width, height, bpp, red_mask, green_mask, blue_mask) );

   }
   else
   {
      // Parameter error
      {
         hb_errRT_BASE_SubstR( EG_ARG, 0, NULL,
            HB_ERR_FUNCNAME, 3,
            hb_paramError( 1 ), hb_paramError( 2 ), hb_paramError( 3 )
         );
         return;
      }
   }
}
fi_wrp.c209
HB_FUNCFI_ALLOCATET(void)
HB_FUNC( FI_ALLOCATET )
{
   if ( hb_pcount() >= 3 &&
        hb_parinfo( 1 ) & HB_IT_NUMERIC &&
        hb_parinfo( 2 ) & HB_IT_NUMERIC &&
        hb_parinfo( 3 ) & HB_IT_NUMERIC
      )
   {
      FREE_IMAGE_TYPE type;
      int width, height, bpp;
      UINT red_mask, green_mask, blue_mask;

      /* Retrieve parameters */
      type       = ( FREE_IMAGE_TYPE ) hb_parni( 1 );
      width      = hb_parni( 2 );
      height     = hb_parni( 3 );
      bpp        = ( hb_parinfo( 3 ) & HB_IT_NUMERIC ? hb_parni( 3 ) : 8 );
      red_mask   = ( hb_parinfo( 4 ) & HB_IT_NUMERIC ? hb_parni( 4 ) : 0 );
      green_mask = ( hb_parinfo( 5 ) & HB_IT_NUMERIC ? hb_parni( 5 ) : 0 );
      blue_mask  = ( hb_parinfo( 6 ) & HB_IT_NUMERIC ? hb_parni( 6 ) : 0 );

      /* run function & return value */
      hb_retptr( FreeImage_AllocateT(type, width, height, bpp, red_mask, green_mask, blue_mask) );

   }
   else
   {
      // Parameter error
      {
         hb_errRT_BASE_SubstR( EG_ARG, 0, NULL,
            HB_ERR_FUNCNAME, 3,
            hb_paramError( 1 ), hb_paramError( 2 ), hb_paramError( 3 )
         );
         return;
      }
   }
}
fi_wrp.c248
HB_FUNCFI_CLONE(void)
HB_FUNC( FI_CLONE )
{
   if ( hb_pcount() == 1 &&
        hb_parinfo( 1 ) & HB_IT_POINTER
      )
   {
      FIBITMAP *dib;
      FIBITMAP *fiClonePtr;

      /* Retrieve parameters */
      dib = ( FIBITMAP * ) hb_parptr( 1 );

      /* run function */
      fiClonePtr = FreeImage_Clone( dib );

      /* return value */
      if ( fiClonePtr != NULL )
      {
         hb_retptr( fiClonePtr );
      }

   }
   else
   {
      // Parameter error
      {
         hb_errRT_BASE_SubstR( EG_ARG, 0, NULL,
            HB_ERR_FUNCNAME, 1,
            hb_paramError( 1 ) );
         return;
      }
   }
}
fi_wrp.c289
HB_FUNCFI_UNLOAD(void)
HB_FUNC( FI_UNLOAD )
{
   if ( hb_pcount() == 1 &&
        hb_parinfo( 1 ) & HB_IT_POINTER
      )
   {
      FIBITMAP *dib;

      /* Retrieve parameters */
      dib = ( FIBITMAP * ) hb_parptr( 1 );

      /* run function */
      FreeImage_Unload( dib );

      /* return value */

   }
   else
   {
      // Parameter error
      {
         hb_errRT_BASE_SubstR( EG_ARG, 0, NULL,
            HB_ERR_FUNCNAME, 1,
            hb_paramError( 1 ) );
         return;
      }
   }
}
fi_wrp.c326
HB_FUNCFI_LOADFROMMEM(void)
HB_FUNC( FI_LOADFROMMEM )
{
   if ( hb_pcount() == 3 &&
        hb_parinfo( 1 ) & HB_IT_NUMERIC &&
        hb_parinfo( 2 ) & HB_IT_STRING  &&
        hb_parinfo( 3 ) & HB_IT_NUMERIC
      )
   {
      FIBITMAP *dib;
      FREE_IMAGE_FORMAT fif;
      FIMEMORY *stream;
      BYTE *szImage;
      int flags;

      /* Retrieve parameters */
      fif      = (FREE_IMAGE_FORMAT) hb_parni( 1 );
      szImage  = ( BYTE * ) hb_parcx( 2 );
      flags    = hb_parni( 3 );

      /* run function */
      stream   = FreeImage_OpenMemory( szImage, hb_parclen(2) );
      dib = FreeImage_LoadFromMemory(fif, stream, flags);
      FreeImage_CloseMemory( stream );

      /* return value */
      if ( dib != NULL )
      {
         hb_retptr( dib );
      }

   }
   else
   {
      // Parameter error
      {
         hb_errRT_BASE_SubstR( EG_ARG, 0, NULL,
            HB_ERR_FUNCNAME, 3,
            hb_paramError( 1 ), hb_paramError( 2 ), hb_paramError( 3 ) );
         return;
      }
   }
}
fi_wrp.c356
HB_FUNCFI_LOAD(void)
HB_FUNC( FI_LOAD )
{
   if ( hb_pcount() == 3 &&
        hb_parinfo( 1 ) & HB_IT_NUMERIC &&
        hb_parinfo( 2 ) & HB_IT_STRING  &&
        hb_parinfo( 3 ) & HB_IT_NUMERIC
      )
   {
      FIBITMAP *dib;
      FREE_IMAGE_FORMAT fif;
      const char *filename;
      int flags;

      /* Retrieve parameters */
      fif      = ( FREE_IMAGE_FORMAT ) hb_parni( 1 );
      filename = hb_parcx( 2 );
      flags    = hb_parni( 3 );

      /* run function */
      dib = FreeImage_Load(fif, filename, flags);

      /* return value */
      if ( dib != NULL )
      {
         hb_retptr( dib );
      }

   }
   else
   {
      // Parameter error
      {
         hb_errRT_BASE_SubstR( EG_ARG, 0, NULL,
            HB_ERR_FUNCNAME, 3,
            hb_paramError( 1 ), hb_paramError( 2 ), hb_paramError( 3 ) );
         return;
      }
   }
}
fi_wrp.c405
HB_FUNCFI_SAVE(void)
HB_FUNC( FI_SAVE )
{
   if ( hb_pcount() == 4 &&
        hb_parinfo( 1 ) & HB_IT_NUMERIC &&
        hb_parinfo( 2 ) & HB_IT_POINTER &&
        hb_parinfo( 3 ) & HB_IT_STRING  &&
        hb_parinfo( 4 ) & HB_IT_NUMERIC
      )
   {
      FREE_IMAGE_FORMAT fif;
      FIBITMAP *dib;
      const char *filename;
      int flags;

      /* Retrieve parameters */
      fif        = ( FREE_IMAGE_FORMAT ) hb_parni( 1 );
      dib        = ( FIBITMAP * ) hb_parptr( 2 );
      filename   = hb_parcx( 3 );
      flags      = hb_parni( 4 );

      /* run function & return value */
      hb_retl( FreeImage_Save(fif, dib, filename, flags) );

   }
   else
   {
      // Parameter error
      {
         hb_errRT_BASE_SubstR( EG_ARG, 0, NULL,
            HB_ERR_FUNCNAME, 4,
            hb_paramError( 1 ), hb_paramError( 2 ), hb_paramError( 3 ), hb_paramError( 4 ) );
         return;
      }
   }
}
fi_wrp.c453
HB_FUNCFI_OPENMULTIBITMAP(void)
HB_FUNC( FI_OPENMULTIBITMAP )
{
   if ( hb_pcount() >= 4 &&
        hb_parinfo( 1 ) & HB_IT_NUMERIC &&
        hb_parinfo( 2 ) & HB_IT_STRING  &&
        hb_parinfo( 3 ) & HB_IT_LOGICAL &&
        hb_parinfo( 4 ) & HB_IT_LOGICAL
      )
   {
      FIMULTIBITMAP *dib;
      FREE_IMAGE_FORMAT fif;
      const char *filename;
      BOOL create_new;
      BOOL read_only;
      BOOL keep_cache_in_memory;
      int flags;

      /* Retrieve parameters */
      fif        = ( FREE_IMAGE_FORMAT) hb_parni( 1 );
      filename   = hb_parcx( 2 );
      create_new = hb_parl( 3 );
      read_only  = hb_parl( 4 );
      keep_cache_in_memory = ( hb_parinfo( 5 ) & HB_IT_LOGICAL ? hb_parl( 5 ) : FALSE );
      flags      = ( hb_parinfo( 6 ) & HB_IT_NUMERIC ? hb_parni( 6 ) : 0 );

      /* run function */
      dib = FreeImage_OpenMultiBitmap(fif, filename, create_new, read_only, keep_cache_in_memory, flags);

      /* return value */
      if ( dib != NULL )
      {
         hb_retptr( dib );
      }

   }
   else
   {
      // Parameter error
      {
         hb_errRT_BASE_SubstR( EG_ARG, 0, NULL,
            HB_ERR_FUNCNAME, 4,
            hb_paramError( 1 ), hb_paramError( 2 ), hb_paramError( 3 ), hb_paramError( 4 ) );
         return;
      }
   }
}
fi_wrp.c535
HB_FUNCFI_CLOSEMULTIBITMAP(void)
HB_FUNC( FI_CLOSEMULTIBITMAP )
{
   if ( hb_pcount() >= 1 &&
        hb_parinfo( 1 ) & HB_IT_POINTER
      )
   {
      FIMULTIBITMAP *bitmap;
      int flags;

      /* Retrieve parameters */
      bitmap = ( FIMULTIBITMAP * ) hb_parptr( 1 );
      flags  = ( hb_parinfo( 2 ) & HB_IT_NUMERIC ? hb_parni( 2 ) : 0 );

      /* run function & return value */
      hb_retl( FreeImage_CloseMultiBitmap(bitmap, flags) );

   }
   else
   {
      // Parameter error
      {
         hb_errRT_BASE_SubstR( EG_ARG, 0, NULL,
            HB_ERR_FUNCNAME, 1,
            hb_paramError( 1 ) );
         return;
      }
   }
}
fi_wrp.c585
HB_FUNCFI_GETPAGECOUNT(void)
HB_FUNC( FI_GETPAGECOUNT )
{
   if ( hb_pcount() >= 1 &&
        hb_parinfo( 1 ) & HB_IT_POINTER
      )
   {
      FIMULTIBITMAP *bitmap;

      /* Retrieve parameters */
      bitmap = ( FIMULTIBITMAP * ) hb_parptr( 1 );

      /* run function & return value */
      hb_retni( FreeImage_GetPageCount(bitmap) );

   }
   else
   {
      // Parameter error
      {
         hb_errRT_BASE_SubstR( EG_ARG, 0, NULL,
            HB_ERR_FUNCNAME, 1,
            hb_paramError( 1 ) );
         return;
      }
   }
}
fi_wrp.c617
HB_FUNCFI_APPENDPAGE(void)
HB_FUNC( FI_APPENDPAGE )
{
   if ( hb_pcount() == 2 &&
        hb_parinfo( 1 ) & HB_IT_POINTER &&
        hb_parinfo( 2 ) & HB_IT_POINTER
      )
   {
      FIMULTIBITMAP *bitmap;
      FIBITMAP *data;

      /* Retrieve parameters */
      bitmap = ( FIMULTIBITMAP * ) hb_parptr( 1 );
      data   = ( FIBITMAP * ) hb_parptr( 2 );

      /* run function & return value */
      FreeImage_AppendPage(bitmap, data);

   }
   else
   {
      // Parameter error
      {
         hb_errRT_BASE_SubstR( EG_ARG, 0, NULL,
            HB_ERR_FUNCNAME, 2,
            hb_paramError( 1 ), hb_paramError( 2 ) );
         return;
      }
   }
}
fi_wrp.c647
HB_FUNCFI_INSERTPAGE(void)
HB_FUNC( FI_INSERTPAGE )
{
   if ( hb_pcount() == 3 &&
        hb_parinfo( 1 ) & HB_IT_POINTER &&
        hb_parinfo( 2 ) & HB_IT_NUMERIC &&
        hb_parinfo( 3 ) & HB_IT_POINTER
      )
   {
      FIMULTIBITMAP *bitmap;
      int page;
      FIBITMAP *data;

      /* Retrieve parameters */
      bitmap = ( FIMULTIBITMAP * ) hb_parptr( 1 );
      page   = hb_parni( 2 ) - 1; // 0-based index
      data   = ( FIBITMAP * ) hb_parptr( 3 );

      /* run function & return value */
      FreeImage_InsertPage(bitmap, page, data);

   }
   else
   {
      // Parameter error
      {
         hb_errRT_BASE_SubstR( EG_ARG, 0, NULL,
            HB_ERR_FUNCNAME, 3,
            hb_paramError( 1 ), hb_paramError( 2 ), hb_paramError( 3 ) );
         return;
      }
   }
}
fi_wrp.c680
HB_FUNCFI_DELETEPAGE(void)
HB_FUNC( FI_DELETEPAGE )
{
   if ( hb_pcount() == 2 &&
        hb_parinfo( 1 ) & HB_IT_POINTER &&
        hb_parinfo( 2 ) & HB_IT_NUMERIC
      )
   {
      FIMULTIBITMAP *bitmap;
      int page;

      /* Retrieve parameters */
      bitmap = ( FIMULTIBITMAP * ) hb_parptr( 1 );
      page   = hb_parni( 2 ) - 1; // 0-based index

      /* run function & return value */
      FreeImage_DeletePage(bitmap, page);

   }
   else
   {
      // Parameter error
      {
         hb_errRT_BASE_SubstR( EG_ARG, 0, NULL,
            HB_ERR_FUNCNAME, 2,
            hb_paramError( 1 ), hb_paramError( 2 ) );
         return;
      }
   }
}
fi_wrp.c716
HB_FUNCFI_LOCKPAGE(void)
HB_FUNC( FI_LOCKPAGE )
{
   if ( hb_pcount() == 2 &&
        hb_parinfo( 1 ) & HB_IT_POINTER &&
        hb_parinfo( 2 ) & HB_IT_NUMERIC
      )
   {
      FIMULTIBITMAP *bitmap;
      int page;

      /* Retrieve parameters */
      bitmap = ( FIMULTIBITMAP * ) hb_parptr( 1 );
      page   = hb_parni( 2 ) - 1; // 0-based index

      /* run function & return value */
      hb_retptr( FreeImage_LockPage(bitmap, page) );

   }
   else
   {
      // Parameter error
      {
         hb_errRT_BASE_SubstR( EG_ARG, 0, NULL,
            HB_ERR_FUNCNAME, 2,
            hb_paramError( 1 ), hb_paramError( 2 ) );
         return;
      }
   }
}
fi_wrp.c749
HB_FUNCFI_UNLOCKPAGE(void)
HB_FUNC( FI_UNLOCKPAGE )
{
   if ( hb_pcount() == 3 &&
        hb_parinfo( 1 ) & HB_IT_POINTER &&
        hb_parinfo( 2 ) & HB_IT_NUMERIC &&
        hb_parinfo( 3 ) & HB_IT_LOGICAL
      )
   {
      FIMULTIBITMAP *bitmap;
      FIBITMAP *page;
      BOOL changed;

      /* Retrieve parameters */
      bitmap  = ( FIMULTIBITMAP * ) hb_parptr( 1 );
      page    = ( FIBITMAP * ) hb_parptr( 2 );
      changed = hb_parl( 3 );

      /* run function & return value */
      FreeImage_UnlockPage(bitmap, page, changed);

   }
   else
   {
      // Parameter error
      {
         hb_errRT_BASE_SubstR( EG_ARG, 0, NULL,
            HB_ERR_FUNCNAME, 3,
            hb_paramError( 1 ), hb_paramError( 2 ), hb_paramError( 3 ) );
         return;
      }
   }
}
fi_wrp.c782
HB_FUNCFI_MOVEPAGE(void)
HB_FUNC( FI_MOVEPAGE )
{
   if ( hb_pcount() == 3 &&
        hb_parinfo( 1 ) & HB_IT_POINTER &&
        hb_parinfo( 2 ) & HB_IT_NUMERIC &&
        hb_parinfo( 3 ) & HB_IT_NUMERIC
      )
   {
      FIMULTIBITMAP *bitmap;
      int target, source;

      /* Retrieve parameters */
      bitmap  = ( FIMULTIBITMAP * ) hb_parptr( 1 );
      target  = hb_parni( 2 );
      source  = hb_parni( 3 );

      /* run function & return value */
      hb_retl( FreeImage_MovePage(bitmap, target, source) );

   }
   else
   {
      // Parameter error
      {
         hb_errRT_BASE_SubstR( EG_ARG, 0, NULL,
            HB_ERR_FUNCNAME, 3,
            hb_paramError( 1 ), hb_paramError( 2 ), hb_paramError( 3 ) );
         return;
      }
   }
}
fi_wrp.c818
HB_FUNCFI_GETFILETYPE(void)
HB_FUNC( FI_GETFILETYPE )
{
   if ( hb_pcount() >= 1 &&
        hb_parinfo( 1 ) & HB_IT_STRING
      )
   {
      const char *filename;
      int size;

      /* Retrieve parameters */
      filename   = hb_parcx( 1 );
      size       = ( hb_parinfo( 2 ) & HB_IT_NUMERIC ? hb_parni( 1 ) : 0 );

      /* run function & return value */
      hb_retni( FreeImage_GetFileType(filename, size) );

   }
   else
   {
      // Parameter error
      {
         hb_errRT_BASE_SubstR( EG_ARG, 0, NULL,
            HB_ERR_FUNCNAME, 1,
            hb_paramError( 1 ) );
         return;
      }
   }
}
fi_wrp.c861
HB_FUNCFI_GETFILETYPEFROMMEM(void)
HB_FUNC( FI_GETFILETYPEFROMMEM )
{
   if ( hb_pcount() >= 1 &&
        hb_parinfo( 1 ) & HB_IT_STRING
      )
   {
      BYTE * szImage;
      FIMEMORY *stream;
      int size;

      /* Retrieve parameters */
      szImage = ( BYTE * ) hb_parcx( 1 );
      stream  = FreeImage_OpenMemory( szImage, hb_parclen(1) );
      size    = ( hb_parinfo( 2 ) & HB_IT_NUMERIC ? hb_parni( 1 ) : 0 );

      /* run function & return value */
      hb_retni( FreeImage_GetFileTypeFromMemory(stream, size) );
      FreeImage_CloseMemory( stream );

   }
   else
   {
      // Parameter error
      {
         hb_errRT_BASE_SubstR( EG_ARG, 0, NULL,
            HB_ERR_FUNCNAME, 1,
            hb_paramError( 1 ) );
         return;
      }
   }
}
fi_wrp.c893
HB_FUNCFI_GETIMAGETYPE(void)
HB_FUNC( FI_GETIMAGETYPE )
{
   if ( hb_pcount() == 1 &&
        hb_parinfo( 1 ) & HB_IT_POINTER
      )
   {
      FIBITMAP *dib;

      /* Retrieve parameters */
      dib = ( FIBITMAP * ) hb_parptr( 1 );

      /* run function & return value */
      hb_retni( FreeImage_GetImageType(dib) );

   }
   else
   {
      // Parameter error
      {
         hb_errRT_BASE_SubstR( EG_ARG, 0, NULL,
            HB_ERR_FUNCNAME, 1,
            hb_paramError( 1 ) );
         return;
      }
   }
}
fi_wrp.c932
HB_FUNCFI_ISLITTLEENDIAN(void)
HB_FUNC( FI_ISLITTLEENDIAN )
{
      /* run function & return value */
      hb_retl( FreeImage_IsLittleEndian() );
}
fi_wrp.c964
HB_FUNCFI_GETBITS(void)
HB_FUNC( FI_GETBITS )
{
   if ( hb_pcount() == 1 &&
        hb_parinfo( 1 ) & HB_IT_POINTER
      )
   {
      FIBITMAP *dib;

      /* Retrieve parameters */
      dib = ( FIBITMAP * ) hb_parptr( 1 );

      /* run function & return value */
      hb_retptr( FreeImage_GetBits(dib) );

   }
   else
   {
      // Parameter error
      {
         hb_errRT_BASE_SubstR( EG_ARG, 0, NULL,
            HB_ERR_FUNCNAME, 1,
            hb_paramError( 1 ) );
         return;
      }
   }
}
fi_wrp.c981
HB_FUNCFI_GETSCANLINE(void)
HB_FUNC( FI_GETSCANLINE )
{
   if ( hb_pcount() == 2 &&
        hb_parinfo( 1 ) & HB_IT_POINTER &&
        hb_parinfo( 2 ) & HB_IT_NUMERIC
      )
   {
      FIBITMAP *dib;
      int scanline;

      /* Retrieve parameters */
      dib      = ( FIBITMAP * ) hb_parptr( 1 );
      scanline = hb_parni( 2 );

      /* run function & return value */
      hb_retptr( FreeImage_GetScanLine(dib, scanline) );

   }
   else
   {
      // Parameter error
      {
         hb_errRT_BASE_SubstR( EG_ARG, 0, NULL,
            HB_ERR_FUNCNAME, 2,
            hb_paramError( 1 ), hb_paramError( 2 ) );
         return;
      }
   }
}
fi_wrp.c1011
HB_FUNCFI_GETCOLORSUSED(void)
HB_FUNC( FI_GETCOLORSUSED )
{
   if ( hb_pcount() == 1 &&
        hb_parinfo( 1 ) & HB_IT_POINTER
      )
   {
      FIBITMAP *dib;

      /* Retrieve parameters */
      dib = ( FIBITMAP * ) hb_parptr( 1 );

      /* run function & return value */
      hb_retnl( FreeImage_GetColorsUsed(dib) );

   }
   else
   {
      // Parameter error
      {
         hb_errRT_BASE_SubstR( EG_ARG, 0, NULL,
            HB_ERR_FUNCNAME, 1,
            hb_paramError( 1 ) );
         return;
      }
   }
}
fi_wrp.c1054
HB_FUNCFI_GETBPP(void)
HB_FUNC( FI_GETBPP )
{
   if ( hb_pcount() == 1 &&
        hb_parinfo( 1 ) & HB_IT_POINTER
      )
   {
      FIBITMAP *dib;

      /* Retrieve parameters */
      dib = ( FIBITMAP * ) hb_parptr( 1 );

      /* run function & return value*/
      hb_retnl( FreeImage_GetBPP(dib) );

   }
   else
   {
      // Parameter error
      {
         hb_errRT_BASE_SubstR( EG_ARG, 0, NULL,
            HB_ERR_FUNCNAME, 1,
            hb_paramError( 1 ) );
         return;
      }
   }
}
fi_wrp.c1084
HB_FUNCFI_GETWIDTH(void)
HB_FUNC( FI_GETWIDTH )
{
   if ( hb_pcount() == 1 &&
        hb_parinfo( 1 ) & HB_IT_POINTER
      )
   {
      FIBITMAP *dib;

      /* Retrieve parameters */
      dib = ( FIBITMAP * ) hb_parptr( 1 );

      /* run function & return value */
      hb_retnl( FreeImage_GetWidth(dib) );

   }
   else
   {
      // Parameter error
      {
         hb_errRT_BASE_SubstR( EG_ARG, 0, NULL,
            HB_ERR_FUNCNAME, 1,
            hb_paramError( 1 ) );
         return;
      }
   }
}
fi_wrp.c1114
HB_FUNCFI_GETHEIGHT(void)
HB_FUNC( FI_GETHEIGHT )
{
   if ( hb_pcount() == 1 &&
        hb_parinfo( 1 ) & HB_IT_POINTER
      )
   {
      FIBITMAP *dib;

      /* Retrieve parameters */
      dib = ( FIBITMAP * ) hb_parptr( 1 );

      /* run function & return value */
      hb_retnl( FreeImage_GetHeight(dib) );

   }
   else
   {
      // Parameter error
      {
         hb_errRT_BASE_SubstR( EG_ARG, 0, NULL,
            HB_ERR_FUNCNAME, 1,
            hb_paramError( 1 ) );
         return;
      }
   }
}
fi_wrp.c1144
HB_FUNCFI_GETLINE(void)
HB_FUNC( FI_GETLINE )
{
   if ( hb_pcount() == 1 &&
        hb_parinfo( 1 ) & HB_IT_POINTER
      )
   {
      FIBITMAP *dib;

      /* Retrieve parameters */
      dib = ( FIBITMAP * ) hb_parptr( 1 );

      /* run function & return value */
      hb_retnl( FreeImage_GetLine(dib) );

   }
   else
   {
      // Parameter error
      {
         hb_errRT_BASE_SubstR( EG_ARG, 0, NULL,
            HB_ERR_FUNCNAME, 1,
            hb_paramError( 1 ) );
         return;
      }
   }
}
fi_wrp.c1174
HB_FUNCFI_GETPITCH(void)
HB_FUNC( FI_GETPITCH )
{
   if ( hb_pcount() == 1 &&
        hb_parinfo( 1 ) & HB_IT_POINTER
      )
   {
      FIBITMAP *dib;

      /* Retrieve parameters */
      dib = ( FIBITMAP * ) hb_parptr( 1 );

      /* run function & return value */
      hb_retnl( FreeImage_GetPitch(dib) );

   }
   else
   {
      // Parameter error
      {
         hb_errRT_BASE_SubstR( EG_ARG, 0, NULL,
            HB_ERR_FUNCNAME, 1,
            hb_paramError( 1 ) );
         return;
      }
   }
}
fi_wrp.c1204
HB_FUNCFI_GETDIBSIZE(void)
HB_FUNC( FI_GETDIBSIZE )
{
   if ( hb_pcount() == 1 &&
        hb_parinfo( 1 ) & HB_IT_POINTER
      )
   {
      FIBITMAP *dib;

      /* Retrieve parameters */
      dib = ( FIBITMAP * ) hb_parptr( 1 );

      /* run function & return value */
      hb_retnl( FreeImage_GetDIBSize(dib) );

   }
   else
   {
      // Parameter error
      {
         hb_errRT_BASE_SubstR( EG_ARG, 0, NULL,
            HB_ERR_FUNCNAME, 1,
            hb_paramError( 1 ) );
         return;
      }
   }
}
fi_wrp.c1234
HB_FUNCFI_GETPALETTE(void)
HB_FUNC( FI_GETPALETTE )
{
   if ( hb_pcount() == 1 &&
        hb_parinfo( 1 ) & HB_IT_POINTER
      )
   {
      FIBITMAP *dib;

      /* Retrieve parameters */
      dib = ( FIBITMAP * ) hb_parptr( 1 );

      /* run function & return value */
      hb_retptr( FreeImage_GetPalette(dib) );

   }
   else
   {
      // Parameter error
      {
         hb_errRT_BASE_SubstR( EG_ARG, 0, NULL,
            HB_ERR_FUNCNAME, 1,
            hb_paramError( 1 ) );
         return;
      }
   }
}
fi_wrp.c1264
HB_FUNCFI_GETDOTSPERMETERX(void)
HB_FUNC( FI_GETDOTSPERMETERX )
{
   if ( hb_pcount() == 1 &&
        hb_parinfo( 1 ) & HB_IT_POINTER
      )
   {
      FIBITMAP *dib;

      /* Retrieve parameters */
      dib = ( FIBITMAP * ) hb_parptr( 1 );

      /* run function & return value */
      hb_retnl( FreeImage_GetDotsPerMeterX(dib) );

   }
   else
   {
      // Parameter error
      {
         hb_errRT_BASE_SubstR( EG_ARG, 0, NULL,
            HB_ERR_FUNCNAME, 1,
            hb_paramError( 1 ) );
         return;
      }
   }
}
fi_wrp.c1294
HB_FUNCFI_GETDOTSPERMETERY(void)
HB_FUNC( FI_GETDOTSPERMETERY )
{
   if ( hb_pcount() == 1 &&
        hb_parinfo( 1 ) & HB_IT_POINTER
      )
   {
      FIBITMAP *dib;

      /* Retrieve parameters */
      dib = ( FIBITMAP * ) hb_parptr( 1 );

      /* run function & return value */
      hb_retnl( FreeImage_GetDotsPerMeterY(dib) );

   }
   else
   {
      // Parameter error
      {
         hb_errRT_BASE_SubstR( EG_ARG, 0, NULL,
            HB_ERR_FUNCNAME, 1,
            hb_paramError( 1 ) );
         return;
      }
   }
}
fi_wrp.c1324
HB_FUNCFI_SETDOTSPERMETERX(void)
HB_FUNC( FI_SETDOTSPERMETERX )
{
   if ( hb_pcount() == 2 &&
        hb_parinfo( 1 ) & HB_IT_POINTER &&
        hb_parinfo( 2 ) & HB_IT_NUMERIC
      )
   {
      FIBITMAP *dib;
      UINT res;

      /* Retrieve parameters */
      dib = ( FIBITMAP * ) hb_parptr( 1 );
      res = hb_parni( 2 );

      /* run function & return value */
      FreeImage_SetDotsPerMeterX(dib, res);

   }
   else
   {
      // Parameter error
      {
         hb_errRT_BASE_SubstR( EG_ARG, 0, NULL,
            HB_ERR_FUNCNAME, 2,
            hb_paramError( 1 ), hb_paramError( 2 ) );
         return;
      }
   }
}
fi_wrp.c1354
HB_FUNCFI_SETDOTSPERMETERY(void)
HB_FUNC( FI_SETDOTSPERMETERY )
{
   if ( hb_pcount() == 2 &&
        hb_parinfo( 1 ) & HB_IT_POINTER &&
        hb_parinfo( 2 ) & HB_IT_NUMERIC
      )
   {
      FIBITMAP *dib;
      UINT res;

      /* Retrieve parameters */
      dib = ( FIBITMAP * ) hb_parptr( 1 );
      res = hb_parni( 2 );

      /* run function & return value */
      FreeImage_SetDotsPerMeterY(dib, res);

   }
   else
   {
      // Parameter error
      {
         hb_errRT_BASE_SubstR( EG_ARG, 0, NULL,
            HB_ERR_FUNCNAME, 2,
            hb_paramError( 1 ), hb_paramError( 2 ) );
         return;
      }
   }
}
fi_wrp.c1387
HB_FUNCFI_GETINFOHEADER(void)
HB_FUNC( FI_GETINFOHEADER )
{

   if ( hb_pcount() == 1 &&
        hb_parinfo( 1 ) & HB_IT_POINTER
      )
   {
      FIBITMAP *dib;
      // We need not worry about Memory Management - will be automatically released!
      //BITMAPINFOHEADER *bmpinfoheader = (BITMAPINFOHEADER *) hb_xgrab( sizeof( BITMAPINFOHEADER ) );
      BITMAPINFOHEADER *bmpinfoheader;

      /* Retrieve parameters */
      dib = ( FIBITMAP * ) hb_parptr( 1 );

      /* run function & return value */
      bmpinfoheader = FreeImage_GetInfoHeader(dib);

      //hb_retclenAdoptRaw( (char *) bmpinfoheader, sizeof( BITMAPINFOHEADER ) );
      hb_retptr( bmpinfoheader );

   }
   else
   {
      // Parameter error
      {
         hb_errRT_BASE_SubstR( EG_ARG, 0, NULL,
            HB_ERR_FUNCNAME, 1,
            hb_paramError( 1 ) );
         return;
      }
   }
}
fi_wrp.c1420
HB_FUNCFI_GETINFO(void)
HB_FUNC( FI_GETINFO )
{

   if ( hb_pcount() == 1 &&
        hb_parinfo( 1 ) & HB_IT_POINTER
      )
   {
      FIBITMAP *dib;
      BITMAPINFO *bmpinfo;

      /* Retrieve parameters */
      dib = ( FIBITMAP * ) hb_parptr( 1 );

      /* run function & return value */
      bmpinfo = FreeImage_GetInfo(dib);

      hb_retptr( bmpinfo );

   }
   else
   {
      // Parameter error
      {
         hb_errRT_BASE_SubstR( EG_ARG, 0, NULL,
            HB_ERR_FUNCNAME, 1,
            hb_paramError( 1 ) );
         return;
      }
   }
}
fi_wrp.c1458
HB_FUNCFI_GETCOLORTYPE(void)
HB_FUNC( FI_GETCOLORTYPE )
{
   if ( hb_pcount() == 1 &&
        hb_parinfo( 1 ) & HB_IT_POINTER
      )
   {
      FIBITMAP *dib;

      /* Retrieve parameters */
      dib = ( FIBITMAP * ) hb_parptr( 1 );

      /* run function & return value */
      hb_retni( FreeImage_GetColorType(dib) );

   }
   else
   {
      // Parameter error
      {
         hb_errRT_BASE_SubstR( EG_ARG, 0, NULL,
            HB_ERR_FUNCNAME, 1,
            hb_paramError( 1 ) );
         return;
      }
   }
}
fi_wrp.c1492
HB_FUNCFI_GETREDMASK(void)
HB_FUNC( FI_GETREDMASK )
{
   if ( hb_pcount() == 1 &&
        hb_parinfo( 1 ) & HB_IT_POINTER
      )
   {
      FIBITMAP *dib;

      /* Retrieve parameters */
      dib = ( FIBITMAP * ) hb_parptr( 1 );

      /* run function & return value */
      hb_retni( FreeImage_GetRedMask(dib) );

   }
   else
   {
      // Parameter error
      {
         hb_errRT_BASE_SubstR( EG_ARG, 0, NULL,
            HB_ERR_FUNCNAME, 1,
            hb_paramError( 1 ) );
         return;
      }
   }
}
fi_wrp.c1522
HB_FUNCFI_GETGREENMASK(void)
HB_FUNC( FI_GETGREENMASK )
{
   if ( hb_pcount() == 1 &&
        hb_parinfo( 1 ) & HB_IT_POINTER
      )
   {
      FIBITMAP *dib;

      /* Retrieve parameters */
      dib = ( FIBITMAP * ) hb_parptr( 1 );

      /* run function & return value */
      hb_retni( FreeImage_GetGreenMask(dib) );

   }
   else
   {
      // Parameter error
      {
         hb_errRT_BASE_SubstR( EG_ARG, 0, NULL,
            HB_ERR_FUNCNAME, 1,
            hb_paramError( 1 ) );
         return;
      }
   }
}
fi_wrp.c1553
HB_FUNCFI_GETBLUEMASK(void)
HB_FUNC( FI_GETBLUEMASK )
{
   if ( hb_pcount() == 1 &&
        hb_parinfo( 1 ) & HB_IT_POINTER
      )
   {
      FIBITMAP *dib;

      /* Retrieve parameters */
      dib = ( FIBITMAP * ) hb_parptr( 1 );

      /* run function & return value */
      hb_retni( FreeImage_GetBlueMask(dib) );

   }
   else
   {
      // Parameter error
      {
         hb_errRT_BASE_SubstR( EG_ARG, 0, NULL,
            HB_ERR_FUNCNAME, 1,
            hb_paramError( 1 ) );
         return;
      }
   }
}
fi_wrp.c1583
HB_FUNCFI_GETTRANSPARENCYCOUNT(void)
HB_FUNC( FI_GETTRANSPARENCYCOUNT )
{
   if ( hb_pcount() == 1 &&
        hb_parinfo( 1 ) & HB_IT_POINTER
      )
   {
      FIBITMAP *dib;

      /* Retrieve parameters */
      dib = ( FIBITMAP * ) hb_parptr( 1 );

      /* run function & return value */
      hb_retni( FreeImage_GetTransparencyCount(dib) );

   }
   else
   {
      // Parameter error
      {
         hb_errRT_BASE_SubstR( EG_ARG, 0, NULL,
            HB_ERR_FUNCNAME, 1,
            hb_paramError( 1 ) );
         return;
      }
   }
}
fi_wrp.c1613
HB_FUNCFI_GETTRANSPARENCYTABLE(void)
HB_FUNC( FI_GETTRANSPARENCYTABLE )
{
   if ( hb_pcount() == 1 &&
        hb_parinfo( 1 ) & HB_IT_POINTER
      )
   {
      FIBITMAP *dib;

      /* Retrieve parameters */
      dib = ( FIBITMAP * ) hb_parptr( 1 );

      /* run function & return value */
      hb_retptr( FreeImage_GetTransparencyTable(dib) );

   }
   else
   {
      // Parameter error
      {
         hb_errRT_BASE_SubstR( EG_ARG, 0, NULL,
            HB_ERR_FUNCNAME, 1,
            hb_paramError( 1 ) );
         return;
      }
   }
}
fi_wrp.c1644
HB_FUNCFI_SETTRANSPARENT(void)
HB_FUNC( FI_SETTRANSPARENT )
{
   if ( hb_pcount() == 2 &&
        hb_parinfo( 1 ) & HB_IT_POINTER &&
        hb_parinfo( 2 ) & HB_IT_LOGICAL
      )
   {
      FIBITMAP *dib;
      BOOL enabled;

      /* Retrieve parameters */
      dib     = ( FIBITMAP * ) hb_parptr( 1 );
      enabled = hb_parl( 2 );

      /* run function & return value */
      FreeImage_SetTransparent(dib, enabled);

   }
   else
   {
      // Parameter error
      {
         hb_errRT_BASE_SubstR( EG_ARG, 0, NULL,
            HB_ERR_FUNCNAME, 2,
            hb_paramError( 1 ), hb_paramError( 2 ) );
         return;
      }
   }
}
fi_wrp.c1674
HB_FUNCFI_SETTRANSPARENCYTABLE(void)
HB_FUNC( FI_SETTRANSPARENCYTABLE )
{
   if ( hb_pcount() == 3 &&
        hb_parinfo( 1 ) & HB_IT_POINTER &&
        hb_parinfo( 2 ) & HB_IT_POINTER &&
        hb_parinfo( 3 ) & HB_IT_NUMERIC
      )
   {
      FIBITMAP *dib;
      BYTE *table;
      int count;

      /* Retrieve parameters */
      dib   = ( FIBITMAP * ) hb_parptr( 1 );
      table = ( BYTE * ) hb_parptr( 2 );
      count = hb_parni( 3 );

      /* run function & return value */
      FreeImage_SetTransparencyTable(dib, table, count);

   }
   else
   {
      // Parameter error
      {
         hb_errRT_BASE_SubstR( EG_ARG, 0, NULL,
            HB_ERR_FUNCNAME, 3,
            hb_paramError( 1 ), hb_paramError( 2 ), hb_paramError( 3 ) );
         return;
      }
   }
}
fi_wrp.c1707
HB_FUNCFI_ISTRANSPARENT(void)
HB_FUNC( FI_ISTRANSPARENT )
{
   if ( hb_pcount() == 1 &&
        hb_parinfo( 1 ) & HB_IT_POINTER
      )
   {
      FIBITMAP *dib;

      /* Retrieve parameters */
      dib = ( FIBITMAP * ) hb_parptr( 1 );

      /* run function & return value */
      hb_retl( FreeImage_IsTransparent(dib) );

   }
   else
   {
      // Parameter error
      {
         hb_errRT_BASE_SubstR( EG_ARG, 0, NULL,
            HB_ERR_FUNCNAME, 1,
            hb_paramError( 1 ) );
         return;
      }
   }
}
fi_wrp.c1743
HB_FUNCFI_HASBACKGROUNDCOLOR(void)
HB_FUNC( FI_HASBACKGROUNDCOLOR )
{
   if ( hb_pcount() == 1 &&
        hb_parinfo( 1 ) & HB_IT_POINTER
      )
   {
      FIBITMAP *dib;

      /* Retrieve parameters */
      dib = ( FIBITMAP * ) hb_parptr( 1 );

      /* run function & return value */
      hb_retl( FreeImage_HasBackgroundColor(dib) );

   }
   else
   {
      // Parameter error
      {
         hb_errRT_BASE_SubstR( EG_ARG, 0, NULL,
            HB_ERR_FUNCNAME, 1,
            hb_paramError( 1 ) );
         return;
      }
   }
}
fi_wrp.c1773
HB_FUNCFI_GETBACKGROUNDCOLOR(void)
HB_FUNC( FI_GETBACKGROUNDCOLOR )
{

   if ( hb_pcount() == 1 &&
        hb_parinfo( 1 ) & HB_IT_POINTER //&&
        //hb_parinfo( 2 ) & HB_IT_STRING
      )
   {
      FIBITMAP *dib;
      RGBQUAD *bkcolor = NULL;

      /* Retrieve parameters */
      dib     = ( FIBITMAP * ) hb_parptr( 1 );
      //bkcolor = ( RGBQUAD * ) hb_param( 2, HB_IT_STRING )->item.asString.value;
      //bkcolor = ( RGBQUAD * ) hb_parptr( 2 );

      /* run function & return value */
      //hb_retl( FreeImage_GetBackgroundColor(dib, bkcolor) );
      FreeImage_GetBackgroundColor(dib, bkcolor);
      //hb_storptr( bkcolor, 2 );
      hb_retptr( bkcolor );
   }
   else
   {
      // Parameter error
      {
         hb_errRT_BASE_SubstR( EG_ARG, 0, NULL,
            HB_ERR_FUNCNAME, 2,
            hb_paramError( 1 ), hb_paramError( 2 ) );
         return;
      }
   }
}
fi_wrp.c1804
HB_FUNCFI_SETBACKGROUNDCOLOR(void)
HB_FUNC( FI_SETBACKGROUNDCOLOR )
{

   if ( hb_pcount() == 2 &&
        hb_parinfo( 1 ) & HB_IT_POINTER &&
        //hb_parinfo( 2 ) & HB_IT_POINTER
        hb_parinfo( 2 ) & HB_IT_STRING
      )
   {
      FIBITMAP *dib;
      RGBQUAD *bkcolor;

      /* Retrieve parameters */
      dib     = ( FIBITMAP * ) hb_parptr( 1 );
      bkcolor = (RGBQUAD * ) hb_itemGetCPtr( hb_param( 2, HB_IT_STRING ) );
      //bkcolor = ( RGBQUAD * ) hb_parptr( 2 );

      /* run function & return value */
      hb_retl( FreeImage_SetBackgroundColor(dib, bkcolor) );
      //FreeImage_GetBackgroundColor(dib, bkcolor);
      //hb_retptr( bkcolor );

   }
   else
   {
      // Parameter error
      {
         hb_errRT_BASE_SubstR( EG_ARG, 0, NULL,
            HB_ERR_FUNCNAME, 2,
            hb_paramError( 1 ), hb_paramError( 2 ) );
         return;
      }
   }
}
fi_wrp.c1841
HB_FUNCFI_GETICCPROFILE(void)
HB_FUNC( FI_GETICCPROFILE )
{

   if ( hb_pcount() == 1 &&
        hb_parinfo( 1 ) & HB_IT_POINTER
      )
   {
      FIBITMAP *dib;

      /* Retrieve parameters */
      dib     = ( FIBITMAP * ) hb_parptr( 1 );

      /* run function & return value */
      hb_retptr( FreeImage_GetICCProfile(dib) );

   }
   else
   {
      // Parameter error
      {
         hb_errRT_BASE_SubstR( EG_ARG, 0, NULL,
            HB_ERR_FUNCNAME, 1,
            hb_paramError( 1 ) );
         return;
      }
   }
}
fi_wrp.c1885
HB_FUNCFI_CREATEICCPROFILE(void)
HB_FUNC( FI_CREATEICCPROFILE )
{

   if ( hb_pcount() == 3 &&
        hb_parinfo( 1 ) & HB_IT_POINTER &&
        hb_parinfo( 2 ) & HB_IT_POINTER &&
        hb_parinfo( 3 ) & HB_IT_NUMERIC
      )
   {
      FIBITMAP *dib;
      void *data;
      long size;

      /* Retrieve parameters */
      dib     = ( FIBITMAP * ) hb_parptr( 1 );
      data    = hb_parptr( 2 );
      size    = hb_parnl( 3 );

      /* run function & return value */
      hb_retptr( FreeImage_CreateICCProfile(dib, data, size) );

   }
   else
   {
      // Parameter error
      {
         hb_errRT_BASE_SubstR( EG_ARG, 0, NULL,
            HB_ERR_FUNCNAME, 3,
            hb_paramError( 1 ), hb_paramError( 2 ), hb_paramError( 3 )
         );
         return;
      }
   }
}
fi_wrp.c1916
HB_FUNCFI_DESTROYICCPROFILE(void)
HB_FUNC( FI_DESTROYICCPROFILE )
{

   if ( hb_pcount() == 1 &&
        hb_parinfo( 1 ) & HB_IT_POINTER
      )
   {
      FIBITMAP *dib;

      /* Retrieve parameters */
      dib     = ( FIBITMAP * ) hb_parptr( 1 );

      /* run function & return value */
      FreeImage_DestroyICCProfile(dib);

   }
   else
   {
      // Parameter error
      {
         hb_errRT_BASE_SubstR( EG_ARG, 0, NULL,
            HB_ERR_FUNCNAME, 1,
            hb_paramError( 1 ) );
         return;
      }
   }
}
fi_wrp.c1954
HB_FUNCFI_CONVERTTO4BITS(void)
HB_FUNC( FI_CONVERTTO4BITS )
{
   if ( hb_pcount() == 1 &&
        hb_parinfo( 1 ) & HB_IT_POINTER
      )
   {
      FIBITMAP *dib;

      /* Retrieve parameters */
      dib    = ( FIBITMAP * ) hb_parptr( 1 );

      /* run function & return value */
      hb_retptr( FreeImage_ConvertTo4Bits(dib) );

   }
   else
   {
      // Parameter error
      {
         hb_errRT_BASE_SubstR( EG_ARG, 0, NULL,
            HB_ERR_FUNCNAME, 1,
            hb_paramError( 1 )
         );
         return;
      }
   }
}
fi_wrp.c2028
HB_FUNCFI_CONVERTTO8BITS(void)
HB_FUNC( FI_CONVERTTO8BITS )
{
   if ( hb_pcount() == 1 &&
        hb_parinfo( 1 ) & HB_IT_POINTER
      )
   {
      FIBITMAP *dib;

      /* Retrieve parameters */
      dib    = ( FIBITMAP * ) hb_parptr( 1 );

      /* run function & return value */
      hb_retptr( FreeImage_ConvertTo8Bits(dib) );

   }
   else
   {
      // Parameter error
      {
         hb_errRT_BASE_SubstR( EG_ARG, 0, NULL,
            HB_ERR_FUNCNAME, 1,
            hb_paramError( 1 )
         );
         return;
      }
   }
}
fi_wrp.c2059
HB_FUNCFI_CONVERTTOGREYSCALE(void)
HB_FUNC( FI_CONVERTTOGREYSCALE )
{
   if ( hb_pcount() == 1 &&
        hb_parinfo( 1 ) & HB_IT_POINTER
      )
   {
      FIBITMAP *dib;

      /* Retrieve parameters */
      dib    = ( FIBITMAP * ) hb_parptr( 1 );

      /* run function & return value */
      hb_retptr( FreeImage_ConvertToGreyscale(dib) );

   }
   else
   {
      // Parameter error
      {
         hb_errRT_BASE_SubstR( EG_ARG, 0, NULL,
            HB_ERR_FUNCNAME, 1,
            hb_paramError( 1 )
         );
         return;
      }
   }
}
fi_wrp.c2090
HB_FUNCFI_CONVERTTO16BITS555(void)
HB_FUNC( FI_CONVERTTO16BITS555 )
{
   if ( hb_pcount() == 1 &&
        hb_parinfo( 1 ) & HB_IT_POINTER
      )
   {
      FIBITMAP *dib;

      /* Retrieve parameters */
      dib    = ( FIBITMAP * ) hb_parptr( 1 );

      /* run function & return value */
      hb_retptr( FreeImage_ConvertTo16Bits555(dib) );

   }
   else
   {
      // Parameter error
      {
         hb_errRT_BASE_SubstR( EG_ARG, 0, NULL,
            HB_ERR_FUNCNAME, 1,
            hb_paramError( 1 )
         );
         return;
      }
   }
}
fi_wrp.c2121
HB_FUNCFI_CONVERTTO16BITS565(void)
HB_FUNC( FI_CONVERTTO16BITS565 )
{
   if ( hb_pcount() == 1 &&
        hb_parinfo( 1 ) & HB_IT_POINTER
      )
   {
      FIBITMAP *dib;

      /* Retrieve parameters */
      dib    = ( FIBITMAP * ) hb_parptr( 1 );

      /* run function & return value */
      hb_retptr( FreeImage_ConvertTo16Bits565(dib) );

   }
   else
   {
      // Parameter error
      {
         hb_errRT_BASE_SubstR( EG_ARG, 0, NULL,
            HB_ERR_FUNCNAME, 1,
            hb_paramError( 1 )
         );
         return;
      }
   }
}
fi_wrp.c2152
HB_FUNCFI_CONVERTTO24BITS(void)
HB_FUNC( FI_CONVERTTO24BITS )
{
   if ( hb_pcount() == 1 &&
        hb_parinfo( 1 ) & HB_IT_POINTER
      )
   {
      FIBITMAP *dib;

      /* Retrieve parameters */
      dib    = ( FIBITMAP * ) hb_parptr( 1 );

      /* run function & return value */
      hb_retptr( FreeImage_ConvertTo24Bits(dib) );

   }
   else
   {
      // Parameter error
      {
         hb_errRT_BASE_SubstR( EG_ARG, 0, NULL,
            HB_ERR_FUNCNAME, 1,
            hb_paramError( 1 )
         );
         return;
      }
   }
}
fi_wrp.c2183
HB_FUNCFI_CONVERTTO32BITS(void)
HB_FUNC( FI_CONVERTTO32BITS )
{
   if ( hb_pcount() == 1 &&
        hb_parinfo( 1 ) & HB_IT_POINTER
      )
   {
      FIBITMAP *dib;

      /* Retrieve parameters */
      dib    = ( FIBITMAP * ) hb_parptr( 1 );

      /* run function & return value */
      hb_retptr( FreeImage_ConvertTo32Bits(dib) );

   }
   else
   {
      // Parameter error
      {
         hb_errRT_BASE_SubstR( EG_ARG, 0, NULL,
            HB_ERR_FUNCNAME, 1,
            hb_paramError( 1 )
         );
         return;
      }
   }
}
fi_wrp.c2214
HB_FUNCFI_COLORQUANTIZE(void)
HB_FUNC( FI_COLORQUANTIZE )
{
   if ( hb_pcount() == 1 &&
        hb_parinfo( 1 ) & HB_IT_POINTER &&
        hb_parinfo( 2 ) & HB_IT_NUMERIC
      )
   {
      FIBITMAP *dib;
      FREE_IMAGE_QUANTIZE quantize;

      /* Retrieve parameters */
      dib      = ( FIBITMAP * ) hb_parptr( 1 );
      quantize = ( FREE_IMAGE_QUANTIZE ) hb_parni( 2 );

      /* run function & return value */
      hb_retptr( FreeImage_ColorQuantize(dib, quantize) );

   }
   else
   {
      // Parameter error
      {
         hb_errRT_BASE_SubstR( EG_ARG, 0, NULL,
            HB_ERR_FUNCNAME, 2,
            hb_paramError( 1 ), hb_paramError( 2 )
         );
         return;
      }
   }
}
fi_wrp.c2245
HB_FUNCFI_DITHER(void)
HB_FUNC( FI_DITHER )
{
   if ( hb_pcount() == 1 &&
        hb_parinfo( 1 ) & HB_IT_POINTER &&
        hb_parinfo( 2 ) & HB_IT_NUMERIC
      )
   {
      FIBITMAP *dib;
      FREE_IMAGE_DITHER algorithm;

      /* Retrieve parameters */
      dib       = ( FIBITMAP * ) hb_parptr( 1 );
      algorithm = ( FREE_IMAGE_DITHER ) hb_parni( 2 );

      /* run function & return value */
      hb_retptr( FreeImage_Dither(dib, algorithm) );

   }
   else
   {
      // Parameter error
      {
         hb_errRT_BASE_SubstR( EG_ARG, 0, NULL,
            HB_ERR_FUNCNAME, 2,
            hb_paramError( 1 ), hb_paramError( 2 )
         );
         return;
      }
   }
}
fi_wrp.c2284
HB_FUNCFI_CONVERTTORGBF(void)
HB_FUNC( FI_CONVERTTORGBF )
{
   if ( hb_pcount() == 1 &&
        hb_parinfo( 1 ) & HB_IT_POINTER
      )
   {
      FIBITMAP *dib;

      /* Retrieve parameters */
      dib    = ( FIBITMAP * ) hb_parptr( 1 );

      /* run function & return value */
      hb_retptr( FreeImage_ConvertToRGBF(dib) );

   }
   else
   {
      // Parameter error
      {
         hb_errRT_BASE_SubstR( EG_ARG, 0, NULL,
            HB_ERR_FUNCNAME, 1,
            hb_paramError( 1 )
         );
         return;
      }
   }
}
fi_wrp.c2324
HB_FUNCFI_CONVERTTOSTANDARDTYPE(void)
HB_FUNC( FI_CONVERTTOSTANDARDTYPE )
{
   if ( hb_pcount() >= 1 &&
        hb_parinfo( 1 ) & HB_IT_POINTER
      )
   {
      FIBITMAP *dib;
      BOOL scale_linear;

      /* Retrieve parameters */
      dib          = ( FIBITMAP * ) hb_parptr( 1 );
      scale_linear = ( hb_parinfo( 2 ) & HB_IT_LOGICAL ) ? hb_parl( 2 ) : TRUE;

      /* run function & return value */
      hb_retptr( FreeImage_ConvertToStandardType(dib, scale_linear) );

   }
   else
   {
      // Parameter error
      {
         hb_errRT_BASE_SubstR( EG_ARG, 0, NULL,
            HB_ERR_FUNCNAME, 1,
            hb_paramError( 1 )
         );
         return;
      }
   }
}
fi_wrp.c2355
HB_FUNCFI_CONVERTTOTYPE(void)
HB_FUNC( FI_CONVERTTOTYPE )
{
   if ( hb_pcount() >= 2 &&
        hb_parinfo( 1 ) & HB_IT_POINTER &&
        hb_parinfo( 2 ) & HB_IT_NUMERIC
      )
   {
      FIBITMAP *dib;
      FREE_IMAGE_TYPE dst_type;
      BOOL scale_linear;

      /* Retrieve parameters */
      dib          = ( FIBITMAP * ) hb_parptr( 1 );
      dst_type     = ( FREE_IMAGE_TYPE ) hb_parni( 2 );
      scale_linear = ( hb_parinfo( 3 ) & HB_IT_LOGICAL ) ? hb_parl( 3 ) : TRUE;

      /* run function & return value */
      hb_retptr( FreeImage_ConvertToType(dib, dst_type, scale_linear) );

   }
   else
   {
      // Parameter error
      {
         hb_errRT_BASE_SubstR( EG_ARG, 0, NULL,
            HB_ERR_FUNCNAME, 2,
            hb_paramError( 1 ), hb_paramError( 2 )
         );
         return;
      }
   }
}
fi_wrp.c2389
HB_FUNCFI_ROTATECLASSIC(void)
HB_FUNC( FI_ROTATECLASSIC )
{
   if ( hb_pcount() == 2 &&
        hb_parinfo( 1 ) & HB_IT_POINTER &&
        hb_parinfo( 2 ) & HB_IT_NUMERIC
      )
   {
      FIBITMAP *dib;
      double angle;

      /* Retrieve parameters */
      dib   = ( FIBITMAP * ) hb_parptr( 1 );
      angle = hb_parnd( 2 );

      /* run function & return value */
      hb_retptr( FreeImage_RotateClassic(dib, angle) );

   }
   else
   {
      // Parameter error
      {
         hb_errRT_BASE_SubstR( EG_ARG, 0, NULL,
            HB_ERR_FUNCNAME, 2,
            hb_paramError( 1 ), hb_paramError( 2 ) );
         return;
      }
   }
}
fi_wrp.c2490
HB_FUNCFI_ROTATEEX(void)
HB_FUNC( FI_ROTATEEX )
{
   if ( hb_pcount() == 7 &&
        hb_parinfo( 1 ) & HB_IT_POINTER &&
        hb_parinfo( 2 ) & HB_IT_NUMERIC &&
        hb_parinfo( 3 ) & HB_IT_NUMERIC &&
        hb_parinfo( 4 ) & HB_IT_NUMERIC &&
        hb_parinfo( 5 ) & HB_IT_NUMERIC &&
        hb_parinfo( 6 ) & HB_IT_NUMERIC &&
        hb_parinfo( 7 ) & HB_IT_LOGICAL
      )
   {
      FIBITMAP *dib;
      double angle, x_shift, y_shift, x_origin, y_origin;
      BOOL use_mask;

      /* Retrieve parameters */
      dib      = ( FIBITMAP * ) hb_parptr( 1 );
      angle    = hb_parnd( 2 );
      x_shift  = hb_parnd( 3 );
      y_shift  = hb_parnd( 4 );
      x_origin = hb_parnd( 5 );
      y_origin = hb_parnd( 6 );
      use_mask = hb_parl( 7 );

      /* run function & return value */
      hb_retptr( FreeImage_RotateEx(dib, angle, x_shift, y_shift, x_origin, y_origin, use_mask) );

   }
   else
   {
      // Parameter error
      {
         hb_errRT_BASE_SubstR( EG_ARG, 0, NULL,
            HB_ERR_FUNCNAME, 7,
            hb_paramError( 1 ), hb_paramError( 2 ), hb_paramError( 3 ), hb_paramError( 4 ),
            hb_paramError( 5 ), hb_paramError( 6 ), hb_paramError( 7 )
         );
         return;
      }
   }
}
fi_wrp.c2523
HB_FUNCFI_FLIPHORIZONTAL(void)
HB_FUNC( FI_FLIPHORIZONTAL )
{
   if ( hb_pcount() == 1 &&
        hb_parinfo( 1 ) & HB_IT_POINTER
      )
   {
      FIBITMAP *dib;

      /* Retrieve parameters */
      dib = ( FIBITMAP * ) hb_parptr( 1 );

      /* run function & return value */
      hb_retl( FreeImage_FlipHorizontal(dib) );

   }
   else
   {
      // Parameter error
      {
         hb_errRT_BASE_SubstR( EG_ARG, 0, NULL,
            HB_ERR_FUNCNAME, 1,
            hb_paramError( 1 ) );
         return;
      }
   }
}
fi_wrp.c2569
HB_FUNCFI_FLIPVERTICAL(void)
HB_FUNC( FI_FLIPVERTICAL )
{
   if ( hb_pcount() == 1 &&
        hb_parinfo( 1 ) & HB_IT_POINTER
      )
   {
      FIBITMAP *dib;

      /* Retrieve parameters */
      dib = ( FIBITMAP * ) hb_parptr( 1 );

      /* run function & return value */
      hb_retl( FreeImage_FlipVertical(dib) );

   }
   else
   {
      // Parameter error
      {
         hb_errRT_BASE_SubstR( EG_ARG, 0, NULL,
            HB_ERR_FUNCNAME, 1,
            hb_paramError( 1 ) );
         return;
      }
   }
}
fi_wrp.c2599
HB_FUNCFI_RESCALE(void)
HB_FUNC( FI_RESCALE )
{
   if ( hb_pcount() == 4 &&
        hb_parinfo( 1 ) & HB_IT_POINTER &&
        hb_parinfo( 2 ) & HB_IT_NUMERIC &&
        hb_parinfo( 3 ) & HB_IT_NUMERIC &&
        hb_parinfo( 4 ) & HB_IT_NUMERIC
      )
   {
      FIBITMAP *dib;
      int dst_width, dst_height;
      FREE_IMAGE_FILTER filter;

      /* Retrieve parameters */
      dib        = ( FIBITMAP * ) hb_parptr( 1 );
      dst_width  = hb_parni( 2 );
      dst_height = hb_parni( 3 );
      filter     = ( FREE_IMAGE_FILTER ) hb_parni( 4 );

      /* run function & return value */
      hb_retptr( FreeImage_Rescale(dib, dst_width, dst_height, filter) );

   }
   else
   {
      // Parameter error
      {
         hb_errRT_BASE_SubstR( EG_ARG, 0, NULL,
            HB_ERR_FUNCNAME, 4,
            hb_paramError( 1 ), hb_paramError( 2 ), hb_paramError( 3 ), hb_paramError( 4 )
         );
         return;
      }
   }
}
fi_wrp.c2637
HB_FUNCFI_ADJUSTGAMMA(void)
HB_FUNC( FI_ADJUSTGAMMA )
{
   if ( hb_pcount() == 2 &&
        hb_parinfo( 1 ) & HB_IT_POINTER &&
        hb_parinfo( 2 ) & HB_IT_NUMERIC
      )
   {
      FIBITMAP *dib;
      double gamma;

      /* Retrieve parameters */
      dib   = ( FIBITMAP * ) hb_parptr( 1 );
      gamma = hb_parnd( 2 );

      /* run function & return value */
      hb_retl( FreeImage_AdjustGamma(dib, gamma) );

   }
   else
   {
      // Parameter error
      {
         hb_errRT_BASE_SubstR( EG_ARG, 0, NULL,
            HB_ERR_FUNCNAME, 2,
            hb_paramError( 1 ), hb_paramError( 2 )
         );
         return;
      }
   }
}
fi_wrp.c2684
HB_FUNCFI_ADJUSTBRIGHTNESS(void)
HB_FUNC( FI_ADJUSTBRIGHTNESS )
{
   if ( hb_pcount() == 2 &&
        hb_parinfo( 1 ) & HB_IT_POINTER &&
        hb_parinfo( 2 ) & HB_IT_NUMERIC
      )
   {
      FIBITMAP *dib;
      double percentage;

      /* Retrieve parameters */
      dib        = ( FIBITMAP * ) hb_parptr( 1 );
      percentage = hb_parnd( 2 );

      /* run function & return value */
      hb_retl( FreeImage_AdjustBrightness(dib, percentage) );

   }
   else
   {
      // Parameter error
      {
         hb_errRT_BASE_SubstR( EG_ARG, 0, NULL,
            HB_ERR_FUNCNAME, 2,
            hb_paramError( 1 ), hb_paramError( 2 )
         );
         return;
      }
   }
}
fi_wrp.c2718
HB_FUNCFI_ADJUSTCONTRAST(void)
HB_FUNC( FI_ADJUSTCONTRAST )
{
   if ( hb_pcount() == 2 &&
        hb_parinfo( 1 ) & HB_IT_POINTER &&
        hb_parinfo( 2 ) & HB_IT_NUMERIC
      )
   {
      FIBITMAP *dib;
      double percentage;

      /* Retrieve parameters */
      dib        = ( FIBITMAP * ) hb_parptr( 1 );
      percentage = hb_parnd( 2 );

      /* run function & return value */
      hb_retl( FreeImage_AdjustContrast(dib, percentage) );

   }
   else
   {
      // Parameter error
      {
         hb_errRT_BASE_SubstR( EG_ARG, 0, NULL,
            HB_ERR_FUNCNAME, 2,
            hb_paramError( 1 ), hb_paramError( 2 )
         );
         return;
      }
   }
}
fi_wrp.c2752
HB_FUNCFI_INVERT(void)
HB_FUNC( FI_INVERT )
{
   if ( hb_pcount() == 1 &&
        hb_parinfo( 1 ) & HB_IT_POINTER
      )
   {
      FIBITMAP *dib;

      /* Retrieve parameters */
      dib = ( FIBITMAP * ) hb_parptr( 1 );

      /* run function & return value */
      hb_retl( FreeImage_Invert(dib) );

   }
   else
   {
      // Parameter error
      {
         hb_errRT_BASE_SubstR( EG_ARG, 0, NULL,
            HB_ERR_FUNCNAME, 1,
            hb_paramError( 1 )
         );
         return;
      }
   }
}
fi_wrp.c2786
HB_FUNCFI_GETCHANNEL(void)
HB_FUNC( FI_GETCHANNEL )
{
   if ( hb_pcount() == 2 &&
        hb_parinfo( 1 ) & HB_IT_POINTER &&
        hb_parinfo( 2 ) & HB_IT_NUMERIC
      )
   {
      FIBITMAP *dib;
      FREE_IMAGE_COLOR_CHANNEL channel;

      /* Retrieve parameters */
      dib     = ( FIBITMAP * ) hb_parptr( 1 );
      channel = ( FREE_IMAGE_COLOR_CHANNEL ) hb_parni( 2 );

      /* run function & return value */
      hb_retptr( FreeImage_GetChannel(dib, channel) );

   }
   else
   {
      // Parameter error
      {
         hb_errRT_BASE_SubstR( EG_ARG, 0, NULL,
            HB_ERR_FUNCNAME, 2,
            hb_paramError( 1 ), hb_paramError( 2 )
         );
         return;
      }
   }
}
fi_wrp.c2825
HB_FUNCFI_COPY(void)
HB_FUNC( FI_COPY )
{
   if ( hb_pcount() == 5 &&
        hb_parinfo( 1 ) & HB_IT_POINTER &&
        hb_parinfo( 2 ) & HB_IT_NUMERIC &&
        hb_parinfo( 3 ) & HB_IT_NUMERIC &&
        hb_parinfo( 4 ) & HB_IT_NUMERIC &&
        hb_parinfo( 5 ) & HB_IT_NUMERIC
      )
   {
      FIBITMAP *dib;
      int left, top, right, bottom;

      /* Retrieve parameters */
      dib    = ( FIBITMAP * ) hb_parptr( 1 );
      left   = hb_parni( 2 );
      top    = hb_parni( 3 );
      right  = hb_parni( 4 );
      bottom = hb_parni( 5 );

      /* run function & return value */
      hb_retptr( FreeImage_Copy(dib, left, top, right, bottom) );

   }
   else
   {
      // Parameter error
      {
         hb_errRT_BASE_SubstR( EG_ARG, 0, NULL,
            HB_ERR_FUNCNAME, 5,
            hb_paramError( 1 ), hb_paramError( 2 ), hb_paramError( 3 ), hb_paramError( 4 ),
            hb_paramError( 5 )
         );
         return;
      }
   }
}
fi_wrp.c2869
HB_FUNCFI_PASTE(void)
HB_FUNC( FI_PASTE )
{
   if ( hb_pcount() == 5 &&
        hb_parinfo( 1 ) & HB_IT_POINTER &&
        hb_parinfo( 2 ) & HB_IT_POINTER &&
        hb_parinfo( 3 ) & HB_IT_NUMERIC &&
        hb_parinfo( 4 ) & HB_IT_NUMERIC &&
        hb_parinfo( 5 ) & HB_IT_NUMERIC
      )
   {
      FIBITMAP *dst;
      FIBITMAP *src;
      int left, top, alpha;

      /* Retrieve parameters */
      dst   = ( FIBITMAP * ) hb_parptr( 1 );
      src   = ( FIBITMAP * ) hb_parptr( 2 );
      left  = hb_parni( 3 );
      top   = hb_parni( 4 );
      alpha = hb_parni( 5 );

      /* run function & return value */
      hb_retl( FreeImage_Paste(dst, src, left, top, alpha) );

   }
   else
   {
      // Parameter error
      {
         hb_errRT_BASE_SubstR( EG_ARG, 0, NULL,
            HB_ERR_FUNCNAME, 5,
            hb_paramError( 1 ), hb_paramError( 2 ), hb_paramError( 3 ), hb_paramError( 4 ),
            hb_paramError( 5 )
         );
         return;
      }
   }
}
fi_wrp.c2910