diff options
Diffstat (limited to 'source/blender/imbuf/IMB_imbuf.h')
-rw-r--r-- | source/blender/imbuf/IMB_imbuf.h | 87 |
1 files changed, 43 insertions, 44 deletions
diff --git a/source/blender/imbuf/IMB_imbuf.h b/source/blender/imbuf/IMB_imbuf.h index 07b99dddfa5..625e684ea67 100644 --- a/source/blender/imbuf/IMB_imbuf.h +++ b/source/blender/imbuf/IMB_imbuf.h @@ -1,13 +1,39 @@ +/* + * $Id$ + * + * ***** BEGIN GPL LICENSE BLOCK ***** + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV. + * All rights reserved. + * + * The Original Code is: all of this file. + * + * Contributor(s): none yet. + * + * ***** END GPL LICENSE BLOCK ***** + */ /** * @file IMB_imbuf.h * @brief IMage Buffer module. * * This module offers import/export of several graphical file formats. - * \ref IMB * @ingroup imbuf - * @ingroup undoc * - * @page IMB - Imbuf module external interface + * @page IMB Imbuf module external interface * * * @section about About the IMB module @@ -30,42 +56,14 @@ * @section dependencies Dependencies * * IMB needs: - * - SDNA module + * - \ref DNA module * The listbase types are used for handling the memory * management. - * - blenlib module + * - \ref blenlib module * blenlib handles guarded memory management in blender-style. * BLI_winstuff.h makes a few windows specific behaviours * posix-compliant. */ -/* - * $Id$ - * - * ***** BEGIN GPL LICENSE BLOCK ***** - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - * - * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV. - * All rights reserved. - * - * The Original Code is: all of this file. - * - * Contributor(s): none yet. - * - * ***** END GPL LICENSE BLOCK ***** - */ #ifndef IMB_IMBUF_H #define IMB_IMBUF_H @@ -93,7 +91,7 @@ void IMB_exit(void); * * @attention Defined in readimage.c */ -struct ImBuf *IMB_ibImageFromMemory(unsigned char *mem, int size, int flags); +struct ImBuf *IMB_ibImageFromMemory(unsigned char *mem, size_t size, int flags); /** * @@ -117,9 +115,8 @@ void IMB_freeImBuf(struct ImBuf *ibuf); * * @attention Defined in allocimbuf.c */ -struct ImBuf *IMB_allocImBuf(short x, short y, - unsigned char d, unsigned int flags, - unsigned char bitmap); +struct ImBuf *IMB_allocImBuf(unsigned int x, unsigned int y, + unsigned char d, unsigned int flags); /** * @@ -207,7 +204,7 @@ void IMB_close_anim(struct anim *anim); * @attention Defined in anim.c */ -int ismovie(char *name); +int ismovie(const char *name); void IMB_anim_set_preseek(struct anim *anim, int preseek); int IMB_anim_get_preseek(struct anim *anim); @@ -245,6 +242,7 @@ void IMB_filter(struct ImBuf *ibuf); void IMB_filterN(struct ImBuf *out, struct ImBuf *in); void IMB_filter_extend(struct ImBuf *ibuf, char *mask); void IMB_makemipmap(struct ImBuf *ibuf, int use_filter); +void IMB_remakemipmap(struct ImBuf *ibuf, int use_filter); struct ImBuf *IMB_getmipmap(struct ImBuf *ibuf, int level); /** @@ -272,19 +270,19 @@ struct ImBuf *IMB_onehalf(struct ImBuf *ibuf1); * * @attention Defined in scaling.c */ -struct ImBuf *IMB_scaleImBuf(struct ImBuf *ibuf, short newx, short newy); +struct ImBuf *IMB_scaleImBuf(struct ImBuf *ibuf, unsigned int newx, unsigned int newy); /** * * @attention Defined in scaling.c */ -struct ImBuf *IMB_scalefastImBuf(struct ImBuf *ibuf, short newx, short newy); +struct ImBuf *IMB_scalefastImBuf(struct ImBuf *ibuf, unsigned int newx, unsigned int newy); /** * * @attention Defined in writeimage.c */ -short IMB_saveiff(struct ImBuf *ibuf,char *naam,int flags); +short IMB_saveiff(struct ImBuf *ibuf, const char *filepath, int flags); /** * Encodes a png image from an ImBuf @@ -297,19 +295,19 @@ short IMB_png_encode(struct ImBuf *ibuf, int file, int flags); * * @attention Defined in util.c */ -int IMB_ispic(char *name); +int IMB_ispic(const char *name); /** * * @attention Defined in util.c */ -int IMB_isanim(char *name); +int IMB_isanim(const char *name); /** * * @attention Defined in util.c */ -int imb_get_anim_type(char *name); +int imb_get_anim_type(const char *name); /** * @@ -322,6 +320,7 @@ void IMB_float_from_rect(struct ImBuf *ibuf); void IMB_float_from_rect_simple(struct ImBuf *ibuf); /* no profile conversion */ /* note, check that the conversion exists, only some are supported */ void IMB_convert_profile(struct ImBuf *ibuf, int profile); +float *IMB_float_profile_ensure(struct ImBuf *ibuf, int profile, int *alloc); /** * Change the ordering of the color bytes pointed to by rect from |