pike.git / src / modules / Image / togif.c

version» Context lines:

pike.git/src/modules/Image/togif.c:1:   /*      togif    - $Id: togif.c,v 1.33 1999/04/13 12:32:36 mirar Exp $ + $Id: togif.c,v 1.34 1999/05/20 17:34:38 mirar Exp $      old GIF API compat stuff      */      /*   **! module Image   **! note - **! $Id: togif.c,v 1.33 1999/04/13 12:32:36 mirar Exp $ + **! $Id: togif.c,v 1.34 1999/05/20 17:34:38 mirar Exp $   **! class Image   */      #include "global.h"      #include <math.h>   #include <ctype.h>      #include "stralloc.h"   #include "global.h"
pike.git/src/modules/Image/togif.c:300:    if (transparent)    {    push_int(transparent->r);    push_int(transparent->g);    push_int(transparent->b);    _image_gif_encode(5,fs);    }    else _image_gif_encode(2,fs);   }    - static INLINE void getrgb(struct image *img, + static INLINE int getrgb(struct image *img,    INT32 args_start,INT32 args,char *name)   {    INT32 i; -  if (args-args_start<3) return; +  if (args-args_start<1) return 0; +  +  if (image_color_svalue(sp-args+args_start,&(img->rgb))) +  return 1; +  +  if (args-args_start<3) return 0; +     for (i=0; i<3; i++)    if (sp[-args+i+args_start].type!=T_INT)    error("Illegal r,g,b argument to %s\n",name);    img->rgb.r=(unsigned char)sp[-args+args_start].u.integer;    img->rgb.g=(unsigned char)sp[1-args+args_start].u.integer;    img->rgb.b=(unsigned char)sp[2-args+args_start].u.integer;    if (args-args_start>=4)    if (sp[3-args+args_start].type!=T_INT)    error("Illegal alpha argument to %s\n",name);    else -  +  {    img->alpha=sp[3-args+args_start].u.integer; -  +  return 4; +  }    else -  +  {    img->alpha=0; -  +  return 3;    } -  + }      void image_togif(INT32 args)   {    rgb_group *transparent=NULL;       if (args>=3)    {    getrgb(THIS,args>3,args,"image->togif() (transparency)");    transparent=&(THIS->rgb);    }