public PolarFunctionCloud(ITextDecoder decoder, ITextHandler textHandler)
 {
     Generator = new ImageGenerator(this);
     _decoder = decoder;
     TextHandler = textHandler;
     frames = new HashSet<Rectangle>();
 }
 public PolarFunctionCloud(int width, int height, ITextDecoder decoder,
     ITextHandler textHandler)
 {
     _decoder = decoder;
     Size = new Size(width, height);
     TextHandler = textHandler;
     frames = new HashSet<Rectangle>();
     MoreDensity = false;
     WordScale = 7;
 }
 public ArchimedSpiralFunctionCloud(int width, int height, ITextDecoder decoder, ITextHandler textHandler)
     : base(width, height, decoder, textHandler)
 {
 }
 public ArchimedSpiralFunctionCloud(ITextDecoder decoder, ITextHandler textHandler)
     : base(decoder, textHandler)
 {
 }
 public IEnumerable<IWordBlock> GetWords(ITextDecoder decoder)
 {
     _decodedLines = decoder.GetDecodedText();
     CreateInnerWords();
     return _words;
 }
 public Html5Decoder(ITextDecoder decoder)
 {
     if(decoder==null)throw new ArgumentException();
     this.decoder=decoder;
 }
   /**
      * Utility method to decode an input byte stream into a _string.
      *
      * @param input an input stream containing character data
      * encoded as bytes. If null,
      * @param decoder a text decoder.
      * @param error an _object that handles encoding errors.  You
      * can use TextEncoding.ENCODING_ERROR_THROW or
      * TextEncoding.ENCODING_ERROR_REPLACE for this.
      *
      * @ if the error handler  exception
      * or another I/O error occurs
      */
   public static string decodeString(
 PeterO.Support.InputStream input, ITextDecoder decoder, IEncodingError error)
   {
       if(decoder==null || input==null || error==null)
         throw new ArgumentException();
       int[] data=new int[64];
       StringBuilder builder=new StringBuilder();
       while(true){
         int count=decoder.decode(input,data,0,data.Length,error);
         if(count<0) {
       break;
         }
         for(int i=0;i<count;i++){
       if(data[i]<=0xFFFF){
         builder.Append((char)data[i]);
       } else {
         int ch=data[i]-0x10000;
         int lead=ch/0x400+0xd800;
         int trail=(ch&0x3FF)+0xdc00;
         builder.Append((char)lead);
         builder.Append((char)trail);
       }
         }
       }
       return builder.ToString();
   }
 public DecoderCharacterInput(PeterO.Support.InputStream input, ITextDecoder decoder, IEncodingError error)
 {
     this.input=input;
     this.decoder=decoder;
     this.error=error;
 }
 public DecoderCharacterInput(PeterO.Support.InputStream input, ITextDecoder decoder)
 {
     this.input=input;
     this.decoder=decoder;
 }