Branch: Tag:

2000-02-08

2000-02-08 22:40:56 by Per Hedbor <ph@opera.com>

Added support for an 'extra-layers' argument. All layers listed in this list will get added (according to their respective layer modes and offsets) to the background layer. Used in the tablist module to get the black line at the bottom of unselected tabs.

Rev: server/modules/graphics/gbutton.pike:1.22

25:   // must also be aligned left or right.       - constant cvs_version = "$Id: gbutton.pike,v 1.21 2000/02/08 22:13:52 per Exp $"; + constant cvs_version = "$Id: gbutton.pike,v 1.22 2000/02/08 22:40:56 per Exp $";   constant thread_safe = 1;      #include <module.h>
146:    int left, right, top, bottom; /* offsets */    int req_width;    +  mapping ll = ([]); +     if( args->border_image )    {    array layers = roxen.load_layers(args->border_image, id); -  +     foreach( layers, object l )    { -  +  ll[l->get_misc_value( "name" )] = l;    switch( lower_case((l->get_misc_value( "name" )/" ")[0]) )    {    case "background": background = l; break;
167:    array layers = roxen.load_layers("roxen-images/gbutton.xcf", id);    foreach( layers, object l )    { +  ll[l->get_misc_value( "name" )] = l;    switch( lower_case((l->get_misc_value( "name" )/" ")[0]) )    {    case "background": background = l; break;
295:    if (mask != frame)    mask = stretch_layer( mask, left, right, req_width );    +  if( args->extra_layers ) +  { +  array l = ({ });    if( background ) -  +  l = ({ background }); +  foreach( args->extra_layers/",", string q ) +  l += ({ ll[q] }); +  l-=({ 0 }); +  background = Image.lay( l ); +  } +  +  +  if( background )    {    if( !background->alpha() )    background->set_image( background->image(),
400:    "font": (args->font||id->misc->defines->font||    roxen->query("default_font")),    "border_image":fi, +  "extra_layers":args["extra-layers"],    ]);      // array hsv = Image.Color( @new_args->bg )->hsv( );