void ScrolledWindow::set_policy(PolicyType hpolicy, PolicyType vpolicy)throw(BadEnum)
  {
    if(!is_valid_enum_value(hpolicy))
      throw BadEnum();
    if(!is_valid_enum_value(vpolicy))
      throw BadEnum();

    _hpolicy  = hpolicy;
    _vpolicy  = vpolicy;

    recalc_size_request();
    invalidate();
  }
 GLenum Wrap2GL( int wrap )
 {
     switch( wrap )
     {
         case CLAMP: return GL_CLAMP;
         case REPEAT: return GL_REPEAT;
         default: return BadEnum( wrap );
     }
 }
  void ScrolledWindow::set_shadow_type(ShadowType shadow_type)throw(BadEnum)
  {
    if(!is_valid_enum_value(shadow_type))
      throw BadEnum();

    _shadow_type  = shadow_type;

    recalc_size_request();
    invalidate();
  }
 GLenum Type2GL( int type )
 {
     switch( type )
     {
         case UBYTE: return GL_UNSIGNED_BYTE; 
         case USHORT: return GL_UNSIGNED_SHORT;
         case UINT: return GL_UNSIGNED_INT;
         case FLOAT: return GL_FLOAT;
         default: return BadEnum( type );
     }
 }
 GLenum Format2GL( int format )
 {
     switch( format )
     {
         case RGB: return GL_RGB; 
         case RGBA: return GL_RGBA; 
         case BGR: return GL_BGR_EXT; 
         case BGRA: return GL_BGRA_EXT; 
         case ALPHA8: return GL_ALPHA; 
         default: return BadEnum( format );
     }
 }
 GLenum Filter2GL( int filter )
 {
     switch( filter )
     {
         case NEAREST: return GL_NEAREST; 
         case LINEAR:  return GL_LINEAR;
         case NEAREST_MIPMAP_NEAREST:  return GL_NEAREST_MIPMAP_NEAREST;
         case LINEAR_MIPMAP_NEAREST:  return GL_LINEAR_MIPMAP_NEAREST;
         case NEAREST_MIPMAP_LINEAR:  return GL_NEAREST_MIPMAP_LINEAR;
         case LINEAR_MIPMAP_LINEAR:  return GL_LINEAR_MIPMAP_LINEAR;
         default: return BadEnum( filter );
     }
 }
 GLenum Color2GL( int color )
 {
     switch( color )
     {
         case 3: return 3;
         case 4: return 4;
         case RGB: return GL_RGB; 
         case RGBA: return GL_RGBA; 
         case RGB8: return GL_RGB8; 
         case RGBA8: return GL_RGBA8;
         case RGB16: return GL_RGB16; 
         case RGBA16: return GL_RGBA16; 
         case ALPHA8: return GL_ALPHA8; 
         default: return BadEnum( color );
     }
 }