Plupload.PngEncoder.DeflaterEngine.SetLevel C# (CSharp) Method

SetLevel() public method

Set the deflate level (0-9)
public SetLevel ( int level ) : void
level int The value to set the level to.
return void
        public void SetLevel(int level)
        {
            if ((level < 0) || (level > 9)) {
                throw new ArgumentOutOfRangeException("level");
            }

            goodLength = DeflaterConstants.GOOD_LENGTH[level];
            max_lazy = DeflaterConstants.MAX_LAZY[level];
            niceLength = DeflaterConstants.NICE_LENGTH[level];
            max_chain = DeflaterConstants.MAX_CHAIN[level];

            if (DeflaterConstants.COMPR_FUNC[level] != compressionFunction) {

            #if DebugDeflation
                if (DeflaterConstants.DEBUGGING) {
                   Console.WriteLine("Change from " + compressionFunction + " to "
                                          + DeflaterConstants.COMPR_FUNC[level]);
                }
            #endif
                switch (compressionFunction) {
                    case DEFLATE_STORED:
                        if (strstart > blockStart) {
                            huffman.FlushStoredBlock(window, blockStart,
                                strstart - blockStart, false);
                            blockStart = strstart;
                        }
                        UpdateHash();
                        break;

                    case DEFLATE_FAST:
                        if (strstart > blockStart) {
                            huffman.FlushBlock(window, blockStart, strstart - blockStart,
                                false);
                            blockStart = strstart;
                        }
                        break;

                    case DEFLATE_SLOW:
                        if (prevAvailable) {
                            huffman.TallyLit(window[strstart - 1] & 0xff);
                        }
                        if (strstart > blockStart) {
                            huffman.FlushBlock(window, blockStart, strstart - blockStart, false);
                            blockStart = strstart;
                        }
                        prevAvailable = false;
                        matchLen = MIN_MATCH - 1;
                        break;
                }
                compressionFunction = COMPR_FUNC[level];
            }
        }