Roxen.git / server / modules / graphics / cimg.pike

version» Context lines:

Roxen.git/server/modules/graphics/cimg.pike:1:   // This is a roxen module. Copyright © 1999 - 2001, Roxen IS.   //      #include <module.h>   inherit "module";   constant thread_safe=1;      roxen.ImageCache the_cache;    - constant cvs_version = "$Id: cimg.pike,v 1.49 2001/10/08 12:32:52 anders Exp $"; + constant cvs_version = "$Id: cimg.pike,v 1.50 2002/06/18 16:17:13 nilsson Exp $";   constant module_type = MODULE_TAG;   constant module_name = "Graphics: Image converter";   constant module_doc = "Provides the tag <tt>&lt;cimg&gt;</tt> that can be used "   "to convert images between different image formats.";         mapping tagdocumentation()   {    Stdio.File file=Stdio.File();    if(!file->open(__FILE__,"r")) return 0;
Roxen.git/server/modules/graphics/cimg.pike:133:    the_cache->flush();   }      string status() {    array s=the_cache->status();    return sprintf("<b>Images in cache:</b> %d images<br />\n"    "<b>Cache size:</b> %s",    s[0], Roxen.sizetostring(s[1]));   }    - array(Image.Layer) generate_image( mapping args, RequestID id ) + array(Image.Layer)|mapping generate_image( mapping args, RequestID id )   {    array layers;    mapping opts = ([]);    if( args["process-all-layers"] )    opts->draw_all_layers = 1;       if( args["jpeg-shrink" ] )    {    opts->scale_denom = (int)args["jpeg-shrink" ];    opts->scale_num = 1;    }       if( args->data )    layers = roxen.decode_layers( args->data, opts );    else -  layers = roxen.load_layers( args->src, id, opts ); +  { +  mixed tmp = roxen.load_layers( args->src, id, opts ); +  if (mappingp(tmp) && tmp->error == 401) +  return tmp; +  else layers = tmp; +  }       if(!layers)    {    if( args->data )    error("Failed to decode specified data\n");    else    error("Failed to load specified image [%O]\n", args->src);    }       layers->set_misc_value( "visible",1 );