From 2170c2408bb32ad74f7e4ec0ef2611f860d50b2e Mon Sep 17 00:00:00 2001 From: sbarman Date: Fri, 17 Jun 2011 13:32:26 -0700 Subject: [PATCH] Rearranged predictor interface --- pdf.js | 39 +++++++++++++++++++-------------------- 1 file changed, 19 insertions(+), 20 deletions(-) diff --git a/pdf.js b/pdf.js index 256e56adf..b591c20f1 100644 --- a/pdf.js +++ b/pdf.js @@ -232,23 +232,6 @@ var FlateStream = (function() { ]), 5]; function constructor(stream, params) { - if (IsDict(params)) { - var predType = params.get("Predictor"); - if (predType && predType > 1) { - var colors = params.get("Colors"); - if (!colors) - colors = 1; - var bpc = params.get("BitsPerComponent"); - if (!bpc) - bpc = 8; - var cols = params.get("Columns"); - if (!cols) - cols = 1; - - this.pred = new FilterPredictor(this, predType, cols, - colors, bpc); - } - } this.stream = stream; this.dict = stream.dict; var cmf = stream.getByte(); @@ -1297,9 +1280,25 @@ var Parser = (function() { }, makeFilter: function(stream, name, params) { if (name == "FlateDecode" || name == "Fl") { - if (params) - error("params not supported yet for FlateDecode"); - return new FlateStream(stream); + var flateStr = new FlateStream(stream); + if (IsDict(params)) { + var predType = params.get("Predictor"); + if (predType && predType > 1) { + var colors = params.get("Colors"); + if (!colors) + colors = 1; + var bpc = params.get("BitsPerComponent"); + if (!bpc) + bpc = 8; + var cols = params.get("Columns"); + if (!cols) + cols = 1; + + flateStr = new FilterPredictor(flateStr, predType, cols, + colors, bpc); + } + } + return flateStr; } else { error("filter '" + name + "' not supported yet"); }