Subversion Repositories Kolibri OS

Rev

Blame | Last modification | View Log | Download | RSS feed

  1. /*
  2.  * Copyright (C) 2003 Maxim Stepin ( maxst@hiend3d.com )
  3.  *
  4.  * Copyright (C) 2010 Cameron Zemek ( grom@zeminvaders.net)
  5.  *
  6.  * This program is free software; you can redistribute it and/or
  7.  * modify it under the terms of the GNU Lesser General Public
  8.  * License as published by the Free Software Foundation; either
  9.  * version 2.1 of the License, or (at your option) any later version.
  10.  *
  11.  * This program is distributed in the hope that it will be useful,
  12.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  13.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  14.  * Lesser General Public License for more details.
  15.  *
  16.  * You should have received a copy of the GNU Lesser General Public
  17.  * License along with this program; if not, write to the Free Software
  18.  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
  19.  */
  20.  
  21. #ifndef __HQX_H_
  22. #define __HQX_H_
  23.  
  24. #include <stdint.h>
  25.  
  26. #if !defined(HQX_NO_CALLCONV) && defined(__GNUC__)
  27.     #ifdef __MINGW32__
  28.         #define HQX_CALLCONV __stdcall
  29.     #else
  30.         #define HQX_CALLCONV
  31.     #endif
  32. #else
  33.     #define HQX_CALLCONV
  34. #endif
  35.  
  36. #if !defined(HQX_NO_API) && defined(_WIN32)
  37.     #ifdef DLL_EXPORT
  38.         #define HQX_API __declspec(dllexport)
  39.     #else
  40.         #define HQX_API __declspec(dllimport)
  41.     #endif
  42. #else
  43.     #define HQX_API
  44. #endif
  45.  
  46. #ifdef __cplusplus
  47. extern "C" {
  48. #endif
  49.  
  50. #ifndef HQX_NO_UINT24
  51. typedef uint8_t uint24_t[3];
  52. #endif
  53.  
  54. HQX_API void HQX_CALLCONV hqxInit(void);
  55.  
  56. HQX_API void HQX_CALLCONV hq2x_16( uint16_t * src, uint16_t * dest, int width, int height );
  57. HQX_API void HQX_CALLCONV hq3x_16( uint16_t * src, uint16_t * dest, int width, int height );
  58. HQX_API void HQX_CALLCONV hq4x_16( uint16_t * src, uint16_t * dest, int width, int height );
  59.  
  60. HQX_API void HQX_CALLCONV hq2x_24( uint24_t * src, uint24_t * dest, int width, int height );
  61. HQX_API void HQX_CALLCONV hq3x_24( uint24_t * src, uint24_t * dest, int width, int height );
  62. HQX_API void HQX_CALLCONV hq4x_24( uint24_t * src, uint24_t * dest, int width, int height );
  63.  
  64. HQX_API void HQX_CALLCONV hq2x_32( uint32_t * src, uint32_t * dest, int width, int height );
  65. HQX_API void HQX_CALLCONV hq3x_32( uint32_t * src, uint32_t * dest, int width, int height );
  66. HQX_API void HQX_CALLCONV hq4x_32( uint32_t * src, uint32_t * dest, int width, int height );
  67.  
  68. HQX_API void HQX_CALLCONV hq2x_16_rb( uint16_t * src, uint32_t src_rowBytes, uint16_t * dest, uint32_t dest_rowBytes, int width, int height );
  69. HQX_API void HQX_CALLCONV hq3x_16_rb( uint16_t * src, uint32_t src_rowBytes, uint16_t * dest, uint32_t dest_rowBytes, int width, int height );
  70. HQX_API void HQX_CALLCONV hq4x_16_rb( uint16_t * src, uint32_t src_rowBytes, uint16_t * dest, uint32_t dest_rowBytes, int width, int height );
  71.  
  72. HQX_API void HQX_CALLCONV hq2x_24_rb( uint24_t * src, uint32_t src_rowBytes, uint24_t * dest, uint32_t dest_rowBytes, int width, int height );
  73. HQX_API void HQX_CALLCONV hq3x_24_rb( uint24_t * src, uint32_t src_rowBytes, uint24_t * dest, uint32_t dest_rowBytes, int width, int height );
  74. HQX_API void HQX_CALLCONV hq4x_24_rb( uint24_t * src, uint32_t src_rowBytes, uint24_t * dest, uint32_t dest_rowBytes, int width, int height );
  75.  
  76. HQX_API void HQX_CALLCONV hq2x_32_rb( uint32_t * src, uint32_t src_rowBytes, uint32_t * dest, uint32_t dest_rowBytes, int width, int height );
  77. HQX_API void HQX_CALLCONV hq3x_32_rb( uint32_t * src, uint32_t src_rowBytes, uint32_t * dest, uint32_t dest_rowBytes, int width, int height );
  78. HQX_API void HQX_CALLCONV hq4x_32_rb( uint32_t * src, uint32_t src_rowBytes, uint32_t * dest, uint32_t dest_rowBytes, int width, int height );
  79.  
  80. #ifdef __cplusplus
  81. }
  82. #endif
  83.  
  84. #endif
  85.