1 2 // Copyright 2019 - 2021 Michael D. Parker 3 // Distributed under the Boost Software License, Version 1.0. 4 // (See accompanying file LICENSE_1_0.txt or copy at 5 // http://www.boost.org/LICENSE_1_0.txt) 6 7 module bindbc.freeimage.bindstatic; 8 9 version(BindFI_Static): 10 11 import core.stdc.config, 12 core.stdc.stddef; 13 import bindbc.freeimage.types; 14 15 extern(System) @nogc nothrow { 16 void FreeImage_Initialise(BOOL load_local_plugins_only = FALSE); 17 void FreeImage_DeInitialise(); 18 const(char)* FreeImage_GetVersion(); 19 const(char)* FreeImage_GetCopyrightMessage(); 20 void FreeImage_SetOutputMessageStdCall(FreeImage_OutputMessageFunctionStdCall); 21 void FreeImage_SetOutputMessage(FreeImage_OutputMessageFunction); 22 void FreeImage_OutputMessageProc(int,const(char)*, ...); 23 FIBITMAP* FreeImage_Allocate(int,int,int,uint red_mask = 0,uint green_mask = 0,uint blue_mask = 0); 24 FIBITMAP* FreeImage_AllocateT(FREE_IMAGE_TYPE type,int,int,int = 8,uint red_mask = 0,uint green_mask = 0,uint blue_mask = 0); 25 FIBITMAP* FreeImage_Clone(FIBITMAP*); 26 void FreeImage_Unload(FIBITMAP*); 27 BOOL FreeImage_HasPixels(FIBITMAP*); 28 FIBITMAP* FreeImage_Load(FREE_IMAGE_FORMAT,const(char)*,int flags = 0); 29 FIBITMAP* FreeImage_LoadU(FREE_IMAGE_FORMAT,const(wchar_t)*,int flags = 0); 30 FIBITMAP* FreeImage_LoadFromHandle(FREE_IMAGE_FORMAT,FreeImageIO*, fi_handle,int flags = 0); 31 BOOL FreeImage_Save(FREE_IMAGE_FORMAT,FIBITMAP*,const(char)*,int flags = 0); 32 BOOL FreeImage_SaveU(FREE_IMAGE_FORMAT,FIBITMAP*,const(wchar_t)*,int flags = 0); 33 BOOL FreeImage_SaveToHandle(FREE_IMAGE_FORMAT,FIBITMAP*,FreeImageIO*, fi_handle,int flags = 0); 34 FIMEMORY* FreeImage_OpenMemory(BYTE* data = null,DWORD size_in_bytes = 0); 35 void FreeImage_CloseMemory(FIMEMORY* stream); 36 FIBITMAP* FreeImage_LoadFromMemory(FREE_IMAGE_FORMAT,FIMEMORY*,int flags = 0); 37 BOOL FreeImage_SaveToMemory(FREE_IMAGE_FORMAT,FIBITMAP*,FIMEMORY*,int flags = 0); 38 c_long FreeImage_TellMemory(FIMEMORY*); 39 BOOL FreeImage_SeekMemory(FIMEMORY*, c_long,int); 40 BOOL FreeImage_AcquireMemory(FIMEMORY*,BYTE**,DWORD*); 41 uint FreeImage_ReadMemory(void*,uint,uint,FIMEMORY*); 42 uint FreeImage_WriteMemory(const(void*),uint,uint,FIMEMORY*); 43 FIMULTIBITMAP* FreeImage_LoadMultiBitmapFromMemory(FREE_IMAGE_FORMAT fif,FIMEMORY*,int flags = 0); 44 BOOL FreeImage_SaveMultiBitmapToMemory(FREE_IMAGE_FORMAT, FIMULTIBITMAP* bitmap,FIMEMORY*,int flags); 45 FREE_IMAGE_FORMAT FreeImage_RegisterLocalPlugin(FI_InitProc,const(char)* format = null,const(char)* description = null,const(char)* extension = null,const(char)* regexpr = null); 46 47 version(Windows) { 48 FREE_IMAGE_FORMAT _FreeImage_RegisterExternalPlugin(const(char)*,const(char)* format = null,const(char)* description = null,const(char)* extension = null,const(char)* regexpr = null); 49 } 50 51 int FreeImage_GetFIFCount(); 52 int FreeImage_SetPluginEnabled(FREE_IMAGE_FORMAT,BOOL); 53 int FreeImage_IsPluginEnabled(FREE_IMAGE_FORMAT); 54 FREE_IMAGE_FORMAT FreeImage_GetFIFFromFormat(const(char)*); 55 FREE_IMAGE_FORMAT FreeImage_GetFIFFromMime(const(char)*); 56 const(char)* FreeImage_GetFormatFromFIF(FREE_IMAGE_FORMAT); 57 const(char)* FreeImage_GetFIFExtensionList(FREE_IMAGE_FORMAT); 58 const(char)* FreeImage_GetFIFDescription(FREE_IMAGE_FORMAT); 59 const(char)* FreeImage_GetFIFRegExpr(FREE_IMAGE_FORMAT); 60 const(char)* FreeImage_GetFIFMimeType(FREE_IMAGE_FORMAT); 61 FREE_IMAGE_FORMAT FreeImage_GetFIFFromFilename(const(char)*); 62 FREE_IMAGE_FORMAT FreeImage_GetFIFFromFilenameU(const(wchar_t)*); 63 BOOL FreeImage_FIFSupportsReading(FREE_IMAGE_FORMAT); 64 BOOL FreeImage_FIFSupportsWriting(FREE_IMAGE_FORMAT); 65 BOOL FreeImage_FIFSupportsExportBPP(FREE_IMAGE_FORMAT,int); 66 BOOL FreeImage_FIFSupportsExportType(FREE_IMAGE_FORMAT,FREE_IMAGE_TYPE); 67 BOOL FreeImage_FIFSupportsICCProfiles(FREE_IMAGE_FORMAT); 68 BOOL FreeImage_FIFSupportsNoPixels(FREE_IMAGE_FORMAT); 69 FIMULTIBITMAP* FreeImage_OpenMultiBitmap(FREE_IMAGE_FORMAT,const(char)*,BOOL,BOOL,BOOL keep_cache_in_memory = FALSE,int flags = 0); 70 FIMULTIBITMAP* FreeImage_OpenMultiBitmapFromHandle(FREE_IMAGE_FORMAT,FreeImageIO*, fi_handle,int flags = 0); 71 BOOL FreeImage_SaveMultiBitmapToHandle(FREE_IMAGE_FORMAT, FIMULTIBITMAP*,FreeImageIO*, fi_handle,int flags = 0); 72 BOOL FreeImage_CloseMultiBitmap(FIMULTIBITMAP*,int flags = 0); 73 int FreeImage_GetPageCount(FIMULTIBITMAP*); 74 void FreeImage_AppendPage(FIMULTIBITMAP*,FIBITMAP*); 75 void FreeImage_InsertPage(FIMULTIBITMAP*,int,FIBITMAP*); 76 void FreeImage_DeletePage(FIMULTIBITMAP*,int); 77 FIBITMAP* FreeImage_LockPage(FIMULTIBITMAP*,int); 78 void FreeImage_UnlockPage(FIMULTIBITMAP*,FIBITMAP*,BOOL); 79 BOOL FreeImage_MovePage(FIMULTIBITMAP*,int,int); 80 BOOL FreeImage_GetLockedPageNumbers(FIMULTIBITMAP*,int*,int*); 81 FREE_IMAGE_FORMAT FreeImage_GetFileType(const(char)*,int size = 0); 82 FREE_IMAGE_FORMAT FreeImage_GetFileTypeU(const(wchar_t)*,int size = 0); 83 FREE_IMAGE_FORMAT FreeImage_GetFileTypeFromHandle(FreeImageIO*, fi_handle,int size = 0); 84 FREE_IMAGE_FORMAT FreeImage_GetFileTypeFromMemory(FIMEMORY*,int size = 0); 85 FREE_IMAGE_TYPE FreeImage_GetImageType(FIBITMAP*); 86 BOOL FreeImage_IsLittleEndian(); 87 BOOL FreeImage_LookupX11Color(const(char)* ,BYTE*,BYTE*,BYTE*); 88 BOOL FreeImage_LookupSVGColor(const(char)* ,BYTE*,BYTE*,BYTE*); 89 BYTE* FreeImage_GetBits(FIBITMAP*); 90 BYTE* FreeImage_GetScanLine(FIBITMAP*,int scanline); 91 BOOL FreeImage_GetPixelIndex(FIBITMAP*,uint,uint,BYTE*); 92 BOOL FreeImage_GetPixelColor(FIBITMAP*,uint,uint, RGBQUAD*); 93 BOOL FreeImage_SetPixelIndex(FIBITMAP*,uint,uint,BYTE*); 94 BOOL FreeImage_SetPixelColor(FIBITMAP*,uint,uint, RGBQUAD*); 95 uint FreeImage_GetColorsUsed(FIBITMAP*); 96 uint FreeImage_GetBPP(FIBITMAP*); 97 uint FreeImage_GetWidth(FIBITMAP*); 98 uint FreeImage_GetHeight(FIBITMAP*); 99 uint FreeImage_GetLine(FIBITMAP*); 100 uint FreeImage_GetPitch(FIBITMAP*); 101 uint FreeImage_GetDIBSize(FIBITMAP*); 102 uint FreeImage_GetMemorySize(FIBITMAP*); // Added in 3.17.; 103 RGBQUAD* FreeImage_GetPalette(FIBITMAP*); 104 uint FreeImage_GetDotsPerMeterX(FIBITMAP*); 105 uint FreeImage_GetDotsPerMeterY(FIBITMAP*); 106 void FreeImage_SetDotsPerMeterX(FIBITMAP*,uint); 107 void FreeImage_SetDotsPerMeterY(FIBITMAP*,uint); 108 BITMAPINFOHEADER* FreeImage_GetInfoHeader(FIBITMAP*); 109 BITMAPINFO* FreeImage_GetInfo(FIBITMAP*); 110 FREE_IMAGE_COLOR_TYPE FreeImage_GetColorType(FIBITMAP*); 111 uint FreeImage_GetRedMask(FIBITMAP*); 112 uint FreeImage_GetGreenMask(FIBITMAP*); 113 uint FreeImage_GetBlueMask(FIBITMAP*); 114 uint FreeImage_GetTransparencyCount(FIBITMAP*); 115 BYTE* FreeImage_GetTransparencyTable(FIBITMAP*); 116 void FreeImage_SetTransparent(FIBITMAP*,BOOL); 117 void FreeImage_SetTransparencyTable(FIBITMAP*,BYTE*,int); 118 BOOL FreeImage_IsTransparent(FIBITMAP*); 119 void FreeImage_SetTransparentIndex(FIBITMAP*,int); 120 int FreeImage_GetTransparentIndex(FIBITMAP*); 121 BOOL FreeImage_HasBackgroundColor(FIBITMAP*); 122 BOOL FreeImage_GetBackgroundColor(FIBITMAP*,RGBQUAD*); 123 BOOL FreeImage_SetBackgroundColor(FIBITMAP*,RGBQUAD*); 124 FIBITMAP* FreeImage_GetThumbnail(FIBITMAP*); 125 BOOL FreeImage_SetThumbnail(FIBITMAP*,FIBITMAP*); 126 FIICCPROFILE* FreeImage_GetICCProfile(FIBITMAP*); 127 FIICCPROFILE* FreeImage_CreateICCProfile(FIBITMAP*,void*,c_long); 128 void FreeImage_DestroyICCProfile(FIBITMAP*); 129 void FreeImage_ConvertLine1To4(BYTE*,BYTE*,int); 130 void FreeImage_ConvertLine8To4(BYTE*,BYTE*,int,RGBQUAD*); 131 void FreeImage_ConvertLine16To4_555(BYTE*,BYTE*,int); 132 void FreeImage_ConvertLine16To4_565(BYTE*,BYTE*,int); 133 void FreeImage_ConvertLine24To4(BYTE*,BYTE*,int); 134 void FreeImage_ConvertLine32To4(BYTE*,BYTE*,int); 135 void FreeImage_ConvertLine1To8(BYTE*,BYTE*,int); 136 void FreeImage_ConvertLine4To8(BYTE*,BYTE*,int); 137 void FreeImage_ConvertLine16To8_555(BYTE*,BYTE*,int); 138 void FreeImage_ConvertLine16To8_565(BYTE*,BYTE*,int); 139 void FreeImage_ConvertLine24To8(BYTE*,BYTE*,int); 140 void FreeImage_ConvertLine32To8(BYTE*,BYTE*,int); 141 void FreeImage_ConvertLine1To16_555(BYTE*,BYTE*,int,RGBQUAD*); 142 void FreeImage_ConvertLine4To16_555(BYTE*,BYTE*,int,RGBQUAD*); 143 void FreeImage_ConvertLine8To16_555(BYTE*,BYTE*,int,RGBQUAD*); 144 void FreeImage_ConvertLine16_565_To16_555(BYTE*,BYTE*,int); 145 void FreeImage_ConvertLine24To16_555(BYTE*,BYTE*,int); 146 void FreeImage_ConvertLine32To16_555(BYTE*,BYTE*,int); 147 void FreeImage_ConvertLine1To16_565(BYTE*,BYTE*,int,RGBQUAD*); 148 void FreeImage_ConvertLine4To16_565(BYTE*,BYTE*,int,RGBQUAD*); 149 void FreeImage_ConvertLine8To16_565(BYTE*,BYTE*,int,RGBQUAD*); 150 void FreeImage_ConvertLine16_555_To16_565(BYTE*,BYTE*,int); 151 void FreeImage_ConvertLine24To16_565(BYTE*,BYTE*,int); 152 void FreeImage_ConvertLine32To16_565(BYTE*,BYTE*,int); 153 void FreeImage_ConvertLine1To24(BYTE*,BYTE*,int,RGBQUAD*); 154 void FreeImage_ConvertLine4To24(BYTE*,BYTE*,int,RGBQUAD*); 155 void FreeImage_ConvertLine8To24(BYTE*,BYTE*,int,RGBQUAD*); 156 void FreeImage_ConvertLine16To24_555(BYTE*,BYTE*,int); 157 void FreeImage_ConvertLine16To24_565(BYTE*,BYTE*,int); 158 void FreeImage_ConvertLine32To24(BYTE*,BYTE*,int); 159 void FreeImage_ConvertLine1To32(BYTE*,BYTE*,int,RGBQUAD*); 160 void FreeImage_ConvertLine4To32(BYTE*,BYTE*,int,RGBQUAD*); 161 void FreeImage_ConvertLine8To32(BYTE*,BYTE*,int,RGBQUAD*); 162 void FreeImage_ConvertLine16To32_555(BYTE*,BYTE*,int); 163 void FreeImage_ConvertLine16To32_565(BYTE*,BYTE*,int); 164 void FreeImage_ConvertLine24To32(BYTE*,BYTE*,int); 165 FIBITMAP* FreeImage_ConvertTo4Bits(FIBITMAP*); 166 FIBITMAP* FreeImage_ConvertTo8Bits(FIBITMAP*); 167 FIBITMAP* FreeImage_ConvertToGreyscale(FIBITMAP*); 168 FIBITMAP* FreeImage_ConvertTo16Bits555(FIBITMAP*); 169 FIBITMAP* FreeImage_ConvertTo16Bits565(FIBITMAP*); 170 FIBITMAP* FreeImage_ConvertTo24Bits(FIBITMAP*); 171 FIBITMAP* FreeImage_ConvertTo32Bits(FIBITMAP*); 172 FIBITMAP* FreeImage_ColorQuantize(FIBITMAP*,FREE_IMAGE_QUANTIZE); 173 FIBITMAP* FreeImage_ColorQuantizeEx(FIBITMAP*,FREE_IMAGE_QUANTIZE quantize = FIQ_WUQUANT,int PaletteSize = 256,int ReserveSize = 0,RGBQUAD* ReservePalette = null); 174 FIBITMAP* FreeImage_Threshold(FIBITMAP*,BYTE); 175 FIBITMAP* FreeImage_Dither(FIBITMAP*,FREE_IMAGE_DITHER); 176 FIBITMAP* FreeImage_ConvertFromRawBits(BYTE* bits,int,int,int,uint,uint,uint,uint,BOOL topdown = FALSE); 177 FIBITMAP* FreeImage_ConvertFromRawBitsEx(BOOL,BYTE*,FREE_IMAGE_TYPE,int,int,int,uint,uint,uint,uint,BOOL topdown=FALSE); // Added in 3.17.; 178 void FreeImage_ConvertToRawBits(BYTE* bits,FIBITMAP*,int,uint,uint,uint,uint,BOOL topdown = FALSE); 179 FIBITMAP* FreeImage_ConvertToFloat(FIBITMAP*); 180 FIBITMAP* FreeImage_ConvertToRGBF(FIBITMAP*); 181 FIBITMAP* FreeImage_ConvertToRGBAF(FIBITMAP*); // Added in 3.17.; 182 FIBITMAP* FreeImage_ConvertToUINT16(FIBITMAP*); 183 FIBITMAP* FreeImage_ConvertToRGB16(FIBITMAP*); 184 FIBITMAP* FreeImage_ConvertToRGBA16(FIBITMAP*); // Added in 3.17.; 185 FIBITMAP* FreeImage_ConvertToStandardType(FIBITMAP*,BOOL scale_linear = TRUE); 186 FIBITMAP* FreeImage_ConvertToType(FIBITMAP*,FREE_IMAGE_TYPE,BOOL scale_linear = TRUE); 187 FIBITMAP* FreeImage_ToneMapping(FIBITMAP*,FREE_IMAGE_TMO, double first_param = 0,double second_param = 0); 188 FIBITMAP* FreeImage_TmoDrago03(FIBITMAP*,double = 2.2,double exposure = 0); 189 FIBITMAP* FreeImage_TmoReinhard05(FIBITMAP*,double intensity = 0,double constrast = 0); 190 FIBITMAP* FreeImage_TmoReinhard05Ex(FIBITMAP*,double intensity = 0,double constrast = 0,double adaptation = 1,double color_correction = 0); 191 FIBITMAP* FreeImage_TmoFattal02(FIBITMAP*,double color_saturation = 0.5,double attenuation = 0.85); 192 DWORD FreeImage_ZLibCompress(BYTE*,DWORD,BYTE*,DWORD); 193 DWORD FreeImage_ZLibUncompress(BYTE*,DWORD,BYTE*,DWORD); 194 DWORD FreeImage_ZLibGZip(BYTE*,DWORD,BYTE*,DWORD); 195 DWORD FreeImage_ZLibGUnzip(BYTE*,DWORD,BYTE*,DWORD); 196 DWORD FreeImage_ZLibCRC32(DWORD crc,BYTE*,DWORD); 197 FITAG* FreeImage_CreateTag(); 198 void FreeImage_DeleteTag(FITAG*); 199 FITAG* FreeImage_CloneTag(FITAG*); 200 const(char)* FreeImage_GetTagKey(FITAG*); 201 const(char)* FreeImage_GetTagDescription(FITAG*); 202 WORD FreeImage_GetTagID(FITAG*); 203 FREE_IMAGE_MDTYPE FreeImage_GetTagType(FITAG*); 204 DWORD FreeImage_GetTagCount(FITAG*); 205 DWORD FreeImage_GetTagLength(FITAG*); 206 const(void)* FreeImage_GetTagValue(FITAG*); 207 BOOL FreeImage_SetTagKey(FITAG*,const(char)*); 208 BOOL FreeImage_SetTagDescription(FITAG*,const(char)*); 209 BOOL FreeImage_SetTagID(FITAG*, WORD id); 210 BOOL FreeImage_SetTagType(FITAG*, FREE_IMAGE_MDTYPE); 211 BOOL FreeImage_SetTagCount(FITAG*,DWORD); 212 BOOL FreeImage_SetTagLength(FITAG*,DWORD); 213 BOOL FreeImage_SetTagValue(FITAG*,const(void)*); 214 FIMETADATA* FreeImage_FindFirstMetadata(FREE_IMAGE_MDMODEL,FIBITMAP*,FITAG**); 215 BOOL FreeImage_FindNextMetadata(FIMETADATA*,FITAG**); 216 void FreeImage_FindCloseMetadata(FIMETADATA*); 217 BOOL FreeImage_SetMetadata(FREE_IMAGE_MDMODEL,FIBITMAP*,const(char)*,FITAG*); 218 BOOL FreeImage_GetMetadata(FREE_IMAGE_MDMODEL,FIBITMAP*,const(char)*,FITAG**); 219 BOOL FreeImage_SetMetadataKeyValue(FREE_IMAGE_MDMODEL,FIBITMAP*,const(char)*,const(char)*); // Added in 3.17.; 220 uint FreeImage_GetMetadataCount(FREE_IMAGE_MDMODEL,FIBITMAP*); 221 BOOL FreeImage_CloneMetadata(FIBITMAP*,FIBITMAP*); 222 const(char)* FreeImage_TagToString(FREE_IMAGE_MDMODEL,FITAG*,char* = null); 223 224 version(BindFI_JPEGTransform) { 225 BOOL FreeImage_JPEGTransform(const(char)*,const(char)*,FREE_IMAGE_JPEG_OPERATION,BOOL perfect=TRUE); 226 BOOL FreeImage_JPEGTransformU(const(wchar_t)*,const(wchar_t)*,FREE_IMAGE_JPEG_OPERATION,BOOL perfect=TRUE); 227 BOOL FreeImage_JPEGCrop(const(char)*,const(char)*,int,int,int,int); 228 BOOL FreeImage_JPEGCropU(const(wchar_t)*,const(wchar_t)*,int,int,int,int); 229 BOOL FreeImage_JPEGTransformFromHandle(FreeImageIO*,fi_handle,FreeImageIO*,fi_handle,FREE_IMAGE_JPEG_OPERATION,int*,int*,int*,int*,BOOL perfect=TRUE); 230 BOOL FreeImage_JPEGTransformCombined(const(char)*,const(char)*,FREE_IMAGE_JPEG_OPERATION,int*,int*,int*,int*,BOOL perfect=TRUE); 231 BOOL FreeImage_JPEGTransformCombinedU(const(wchar_t)*,const(wchar_t)*,FREE_IMAGE_JPEG_OPERATION,int*,int*,int*,int*,BOOL perfect=TRUE); 232 BOOL FreeImage_JPEGTransformCombinedFromMemory(FIMEMORY*,FIMEMORY*,FREE_IMAGE_JPEG_OPERATION,int*,int*,int*,int*,BOOL perfect=TRUE); 233 } 234 235 FIBITMAP* FreeImage_Rotate(FIBITMAP*,double angle,const(void*) bkcolor = null); 236 FIBITMAP* FreeImage_RotateEx(FIBITMAP*,double,double,double,double,double,BOOL); 237 BOOL FreeImage_FlipHorizontal(FIBITMAP*); 238 BOOL FreeImage_FlipVertical(FIBITMAP*); 239 FIBITMAP* FreeImage_Rescale(FIBITMAP*,int,int,FREE_IMAGE_FILTER); 240 FIBITMAP* FreeImage_MakeThumbnail(FIBITMAP*,int,BOOL convert = TRUE); 241 FIBITMAP* FreeImage_RescaleRect(FIBITMAP*,int,int,int,int,int,int,FREE_IMAGE_FILTER filter = FILTER_CATMULLROM,uint flags = 0); // Added in 3.17.; 242 BOOL FreeImage_AdjustCurve(FIBITMAP*,BYTE*,FREE_IMAGE_COLOR_CHANNEL); 243 BOOL FreeImage_AdjustGamma(FIBITMAP*,double); 244 BOOL FreeImage_AdjustBrightness(FIBITMAP*,double); 245 BOOL FreeImage_AdjustContrast(FIBITMAP*,double); 246 BOOL FreeImage_Invert(FIBITMAP*); 247 BOOL FreeImage_GetHistogram(FIBITMAP*,DWORD*,FREE_IMAGE_COLOR_CHANNEL = FICC_BLACK); 248 int FreeImage_GetAdjustColorsLookupTable(BYTE* LUT,double,double,double,BOOL); 249 BOOL FreeImage_AdjustColors(FIBITMAP*,double,double,double,BOOL invert = FALSE); 250 uint FreeImage_ApplyColorMapping(FIBITMAP*,RGBQUAD*, RGBQUAD*,uint,BOOL,BOOL); 251 uint FreeImage_SwapColors(FIBITMAP*,RGBQUAD*,RGBQUAD*,BOOL); 252 uint FreeImage_ApplyPaletteIndexMapping(FIBITMAP*,BYTE*,BYTE*,uint,BOOL); 253 uint FreeImage_SwapPaletteIndices(FIBITMAP*,BYTE*,BYTE*); 254 FIBITMAP* FreeImage_GetChannel(FIBITMAP*,FREE_IMAGE_COLOR_CHANNEL); 255 BOOL FreeImage_SetChannel(FIBITMAP*,FIBITMAP*,FREE_IMAGE_COLOR_CHANNEL); 256 FIBITMAP* FreeImage_GetComplexChannel(FIBITMAP*,FREE_IMAGE_COLOR_CHANNEL); 257 BOOL FreeImage_SetComplexChannel(FIBITMAP*,FIBITMAP*,FREE_IMAGE_COLOR_CHANNEL); 258 FIBITMAP* FreeImage_Copy(FIBITMAP*,int,int,int,int); 259 BOOL FreeImage_Paste(FIBITMAP*,FIBITMAP*,int,int,int); 260 FIBITMAP* FreeImage_CreateView(FIBITMAP*,uint,uint,uint,uint); // Added in 3.17.; 261 FIBITMAP* FreeImage_Composite(FIBITMAP*,BOOL useFileBkg = FALSE,RGBQUAD* appBkColor = null,FIBITMAP*bg = null); 262 BOOL FreeImage_PreMultiplyWithAlpha(FIBITMAP*); 263 BOOL FreeImage_FillBackground(FIBITMAP*,const(void*),int options = 0); 264 FIBITMAP* FreeImage_EnlargeCanvas(FIBITMAP*,int,int,int,int,const(void*),int options = 0); 265 FIBITMAP* FreeImage_AllocateEx(int,int,int,const(RGBQUAD)*,int options = 0,const(RGBQUAD)* palette = null,uint red_mask = 0,uint green_mask = 0,uint blue_mask = 0); 266 FIBITMAP* FreeImage_AllocateExT(FREE_IMAGE_TYPE,int,int,int,const(void*),int options = 0,const(RGBQUAD)* palette = null,uint red_mask = 0,uint green_mask = 0,uint blue_mask = 0); 267 FIBITMAP* FreeImage_MultigridPoissonSolver(FIBITMAP*,int ncycle = 3); 268 269 static if(fiSupport >= FISupport.fi318) { 270 BOOL FreeImage_Validate(FREE_IMAGE_FORMAT,const(char)*); 271 BOOL FreeImage_ValidateU(FREE_IMAGE_FORMAT,const(wchar_t)*); 272 BOOL FreeImage_ValidateFromHandle(FREE_IMAGE_FORMAT,FreeImageIO*,fi_handle); 273 BOOL FreeImage_ValidateFromMemory(FREE_IMAGE_FORMAT,FIMEMORY); 274 void FreeImage_ConvertLine1To32MapTransparency(BYTE*,BYTE*,int,RGBQUAD*,BYTE*,int); 275 void FreeImage_ConvertLine4To32MapTransparency(BYTE*,BYTE*,int,RGBQUAD*,BYTE*,int); 276 void FreeImage_ConvertLine8To32MapTransparency(BYTE*,BYTE*,int,RGBQUAD*,BYTE*,int); 277 } 278 }