* @copyright 2011-2026 Nicola Asuni - Tecnick.com LTD * @license https://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE) * @link https://github.com/tecnickcom/tc-lib-pdf-parser * * This file is part of tc-lib-pdf-parser software library. */ namespace Test; use Com\Tecnick\Pdf\Parser\Process\XrefStream; /** * @phpstan-import-type RawObjectArray from \Com\Tecnick\Pdf\Parser\Process\RawObject */ class XrefStreamHarness extends XrefStream { /** * @param array{ * 'trailer': array{ * 'encrypt'?: string, * 'id': array, * 'info': string, * 'root': string, * 'size': int, * }, * 'xref': array, * } $xref * @param array> $sdata * * @throws \Com\Tecnick\Pdf\Parser\Exception */ public function processObjIndexesPublic(array &$xref, int &$obj_num, array $sdata): void { $this->processObjIndexes($xref, $obj_num, $sdata); } /** * @param array{ * 'trailer': array{ * 'encrypt'?: string, * 'id': array, * 'info': string, * 'root': string, * 'size': int, * }, * 'xref': array, * } $xref * @param array $objNumbers * @param array> $sdata * * @throws \Com\Tecnick\Pdf\Parser\Exception */ public function processObjIndexesMapPublic(array &$xref, array $objNumbers, array $sdata): void { $this->processObjIndexesMap($xref, $objNumbers, $sdata); } /** * @param array{ * 'trailer': array{ * 'encrypt'?: string, * 'id': array, * 'info': string, * 'root': string, * 'size': int, * }, * 'xref': array, * } $xref * @param array $sdatum * * @throws \Com\Tecnick\Pdf\Parser\Exception */ public function processSingleObjIndexPublic(array &$xref, int $objNum, array $sdatum): void { $this->processSingleObjIndex($xref, $objNum, $sdatum); } /** * @param RawObjectArray|null $indexObj * * @return array|null * * @throws \Com\Tecnick\Pdf\Parser\Exception */ public function parseXrefIndexSectionsPublic(?array $indexObj): ?array { return $this->parseXrefIndexSections($indexObj); } /** * @param array $indexSections * * @return array */ public function buildXrefObjectNumbersPublic(array $indexSections): array { return $this->buildXrefObjectNumbers($indexSections); } /** * @param array> $sdata * @param array> $ddata * @param array $prev_row * * @throws \Com\Tecnick\Pdf\Parser\Exception */ public function pngUnpredictorPublic(array $sdata, array &$ddata, int $columns, array $prev_row): void { $this->pngUnpredictor($sdata, $ddata, $columns, $prev_row); } /** * @param array> $ddata * @param array{0:int, 1:int, 2:int} $rows */ public function minDistancePublic(array &$ddata, int $key, int $row_value, int $jdx, array $rows): void { $this->minDistance($ddata, $key, $row_value, $jdx, $rows); } /** @param RawObjectArray|null $next */ public function processXrefPrevPublic(?array $next, ?int &$prevxref): void { $this->processXrefPrev($next, $prevxref); } /** @param RawObjectArray|null $next */ public function processXrefDecodeParmsPublic(?array $next, int &$columns, int &$predictor): void { $this->processXrefDecodeParms($next, $columns, $predictor); } /** * @param array $sarr * @param array{ * trailer: array{encrypt?: string, id: array, info: string, root: string, size: int}, * xref: array, * } $xref */ public function processXrefTypeFtPublic(string $type, array $sarr, int $key, array &$xref, bool $filltrailer): void { $this->processXrefTypeFt($type, $sarr, $key, $xref, $filltrailer); } /** * @param array $sarr * @param array{ * trailer: array{encrypt?: string, id: array, info: string, root: string, size: int}, * xref: array, * } $xref * * @return array{ * trailer: array{encrypt?: string, id: array, info: string, root: string, size: int}, * xref: array, * } */ public function processXrefObjrefPublic(string $type, array $sarr, int $key, array $xref): array { return $this->processXrefObjref($type, $sarr, $key, $xref); } /** * @param array $sarr * @param array{ * trailer: array{encrypt?: string, id: array, info: string, root: string, size: int}, * xref: array, * } $xref * @param array $wbt * @param array{ * index_sections: array|null, * prevxref: int|null, * predictor: int, * columns: int, * size: int|null, * valid_crs: bool * } $state * * @throws \Com\Tecnick\Pdf\Parser\Exception */ public function processXrefTypePublic( array $sarr, array &$xref, array &$wbt, array &$state, bool $filltrailer, ): void { $this->processXrefType($sarr, $xref, $wbt, $state, $filltrailer); } }