12 lines
195 KiB
Go
Raw Normal View History

2020-08-27 21:45:09 +00:00
//
// Copyright 2020 FoxyUtils ehf. All rights reserved.
//
// This is a commercial product and requires a license to operate.
// A trial license can be obtained at https://unidoc.io
//
// DO NOT EDIT: generated by unitwist Go source code obfuscator.
//
// Use of this source code is governed by the UniDoc End User License Agreement
// terms that can be accessed at https://unidoc.io/eula/
2020-09-21 01:20:10 +00:00
package bitmap ;import (_fd "encoding/binary";_g "github.com/stretchr/testify/require";_dfc "github.com/unidoc/unipdf/v3/common";_cf "github.com/unidoc/unipdf/v3/internal/bitwise";_b "github.com/unidoc/unipdf/v3/internal/imageutil";_e "github.com/unidoc/unipdf/v3/internal/jbig2/basic";_f "github.com/unidoc/unipdf/v3/internal/jbig2/errors";_df "image";_cfc "math";_c "sort";_gd "strings";_a "testing";);func _eddg (_eaec *Bitmap ,_adde *_e .Stack ,_ccca ,_fcbf int )(_bcdfb *_df .Rectangle ,_bdbe error ){const _bgge ="\u0073e\u0065d\u0046\u0069\u006c\u006c\u0053\u0074\u0061\u0063\u006b\u0042\u0042";if _eaec ==nil {return nil ,_f .Error (_bgge ,"\u0070\u0072\u006fvi\u0064\u0065\u0064\u0020\u006e\u0069\u006c\u0020\u0027\u0073\u0027\u0020\u0042\u0069\u0074\u006d\u0061\u0070");};if _adde ==nil {return nil ,_f .Error (_bgge ,"p\u0072o\u0076\u0069\u0064\u0065\u0064\u0020\u006e\u0069l\u0020\u0027\u0073\u0074ac\u006b\u0027");};_dbcf ,_defd :=_eaec .Width ,_eaec .Height ;_fcec :=_dbcf -1;_bded :=_defd -1;if _ccca < 0||_ccca > _fcec ||_fcbf < 0||_fcbf > _bded ||!_eaec .GetPixel (_ccca ,_fcbf ){return nil ,nil ;};_cdec :=_df .Rect (100000,100000,0,0);if _bdbe =_fefgf (_adde ,_ccca ,_ccca ,_fcbf ,1,_bded ,&_cdec );_bdbe !=nil {return nil ,_f .Wrap (_bdbe ,_bgge ,"\u0069\u006e\u0069t\u0069\u0061\u006c\u0020\u0070\u0075\u0073\u0068");};if _bdbe =_fefgf (_adde ,_ccca ,_ccca ,_fcbf +1,-1,_bded ,&_cdec );_bdbe !=nil {return nil ,_f .Wrap (_bdbe ,_bgge ,"\u0032\u006ed\u0020\u0069\u006ei\u0074\u0069\u0061\u006c\u0020\u0070\u0075\u0073\u0068");};_cdec .Min .X ,_cdec .Max .X =_ccca ,_ccca ;_cdec .Min .Y ,_cdec .Max .Y =_fcbf ,_fcbf ;var (_ddcf *fillSegment ;_bgbf int ;);for _adde .Len ()> 0{if _ddcf ,_bdbe =_cafa (_adde );_bdbe !=nil {return nil ,_f .Wrap (_bdbe ,_bgge ,"");};_fcbf =_ddcf ._gdba ;for _ccca =_ddcf ._dccc -1;_ccca >=0&&_eaec .GetPixel (_ccca ,_fcbf );_ccca --{if _bdbe =_eaec .SetPixel (_ccca ,_fcbf ,0);_bdbe !=nil {return nil ,_f .Wrap (_bdbe ,_bgge ,"\u0031s\u0074\u0020\u0073\u0065\u0074");};};if _ccca >=_ddcf ._dccc -1{for {for _ccca ++;_ccca <=_ddcf ._eccc +1&&_ccca <=_fcec &&!_eaec .GetPixel (_ccca ,_fcbf );_ccca ++{};_bgbf =_ccca ;if !(_ccca <=_ddcf ._eccc +1&&_ccca <=_fcec ){break ;};for ;_ccca <=_fcec &&_eaec .GetPixel (_ccca ,_fcbf );_ccca ++{if _bdbe =_eaec .SetPixel (_ccca ,_fcbf ,0);_bdbe !=nil {return nil ,_f .Wrap (_bdbe ,_bgge ,"\u0032n\u0064\u0020\u0073\u0065\u0074");};};if _bdbe =_fefgf (_adde ,_bgbf ,_ccca -1,_ddcf ._gdba ,_ddcf ._faac ,_bded ,&_cdec );_bdbe !=nil {return nil ,_f .Wrap (_bdbe ,_bgge ,"n\u006f\u0072\u006d\u0061\u006c\u0020\u0070\u0075\u0073\u0068");};if _ccca > _ddcf ._eccc {if _bdbe =_fefgf (_adde ,_ddcf ._eccc +1,_ccca -1,_ddcf ._gdba ,-_ddcf ._faac ,_bded ,&_cdec );_bdbe !=nil {return nil ,_f .Wrap (_bdbe ,_bgge ,"\u006ce\u0061k\u0020\u006f\u006e\u0020\u0072i\u0067\u0068t\u0020\u0073\u0069\u0064\u0065");};};};continue ;};_bgbf =_ccca +1;if _bgbf < _ddcf ._dccc {if _bdbe =_fefgf (_adde ,_bgbf ,_ddcf ._dccc -1,_ddcf ._gdba ,-_ddcf ._faac ,_bded ,&_cdec );_bdbe !=nil {return nil ,_f .Wrap (_bdbe ,_bgge ,"\u006c\u0065\u0061\u006b\u0020\u006f\u006e\u0020\u006c\u0065\u0066\u0074 \u0073\u0069\u0064\u0065");};};_ccca =_ddcf ._dccc ;for {for ;_ccca <=_fcec &&_eaec .GetPixel (_ccca ,_fcbf );_ccca ++{if _bdbe =_eaec .SetPixel (_ccca ,_fcbf ,0);_bdbe !=nil {return nil ,_f .Wrap (_bdbe ,_bgge ,"\u0032n\u0064\u0020\u0073\u0065\u0074");};};if _bdbe =_fefgf (_adde ,_bgbf ,_ccca -1,_ddcf ._gdba ,_ddcf ._faac ,_bded ,&_cdec );_bdbe !=nil {return nil ,_f .Wrap (_bdbe ,_bgge ,"n\u006f\u0072\u006d\u0061\u006c\u0020\u0070\u0075\u0073\u0068");};if _ccca > _ddcf ._eccc {if _bdbe =_fefgf (_adde ,_ddcf ._eccc +1,_ccca -1,_ddcf ._gdba ,-_ddcf ._faac ,_bded ,&_cdec );_bdbe !=nil {return nil ,_f .Wrap (_bdbe ,_bgge ,"\u006ce\u0061k\u0020\u006f\u006e\u0020\u0072i\u0067\u0068t\u0020\u0073\u0069\u0064\u0065");};};for _ccca ++;_ccca <=_ddcf ._eccc +1&&_ccca <=_fcec &&!_eaec .GetPixel (_ccca ,_fcbf );_ccca ++{};_bgbf =_ccca ;if !(_ccca <=_ddcf ._eccc +1&&_ccca <=_fcec ){break ;};};};_cdec .Max .X ++;_cdec .Max .Y ++;return &_cd