Logo Search packages:      
Sourcecode: blender version File versions

void IMB_dit0 ( struct ImBuf ibuf,
short  ofs,
short  bits 
)

Attention:
defined in dither.c
***** BEGIN GPL/BL DUAL 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. The Blender Foundation also sells licenses for use in proprietary software under the Blender License. See http://www.blender.org/BL/ for information about this.

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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 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/BL DUAL LICENSE BLOCK ***** dither.c

Id
dither.c,v 1.3 2002/11/25 12:02:00 mein Exp

Definition at line 46 of file dither.c.

References IMB_dit0(), ImBuf::rect, ImBuf::x, and ImBuf::y.

Referenced by IMB_converttocmap(), and IMB_dit0().

{
      int x, y, and, add, pix;
      uchar *rect;

      rect= (uchar *)ibuf->rect;
      rect +=ofs;

      bits = 8 - bits;
      and = ~((1 << bits)-1);
      add = 1 << (bits - 1);
      
      for (y = ibuf->y; y > 0; y--){
            for (x = ibuf->x; x > 0; x--) {
                  pix = *rect + add;
                  if (pix > 255) pix = 255; 
                  *rect = pix & and;
                  rect += 4;
            }
      }
}


Generated by  Doxygen 1.6.0   Back to index