Mercurial > hgrepos > Python2 > PyMuPDF
diff mupdf-source/thirdparty/jbig2dec/jbig2_page.h @ 2:b50eed0cc0ef upstream
ADD: MuPDF v1.26.7: the MuPDF source as downloaded by a default build of PyMuPDF 1.26.4.
The directory name has changed: no version number in the expanded directory now.
| author | Franz Glasner <fzglas.hg@dom66.de> |
|---|---|
| date | Mon, 15 Sep 2025 11:43:07 +0200 |
| parents | |
| children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mupdf-source/thirdparty/jbig2dec/jbig2_page.h Mon Sep 15 11:43:07 2025 +0200 @@ -0,0 +1,53 @@ +/* Copyright (C) 2001-2023 Artifex Software, Inc. + All Rights Reserved. + + This software is provided AS-IS with no warranty, either express or + implied. + + This software is distributed under license and may not be copied, + modified or distributed except as expressly authorized under the terms + of the license contained in the file LICENSE in this distribution. + + Refer to licensing information at http://www.artifex.com or contact + Artifex Software, Inc., 39 Mesa Street, Suite 108A, San Francisco, + CA 94129, USA, for further information. +*/ + +/* + jbig2dec +*/ + +#ifndef _JBIG2_PAGE_H +#define _JBIG2_PAGE_H + +/* the page structure handles decoded page + results. it's allocated by a 'page info' + segment and marked complete by an 'end of page' + segment. +*/ +typedef enum { + JBIG2_PAGE_FREE, + JBIG2_PAGE_NEW, + JBIG2_PAGE_COMPLETE, + JBIG2_PAGE_RETURNED, + JBIG2_PAGE_RELEASED +} Jbig2PageState; + +struct _Jbig2Page { + Jbig2PageState state; + uint32_t number; + uint32_t height, width; /* in pixels */ + uint32_t x_resolution, y_resolution; /* in pixels per meter */ + uint16_t stripe_size; + bool striped; + uint32_t end_row; + uint8_t flags; + Jbig2Image *image; +}; + +int jbig2_page_info(Jbig2Ctx *ctx, Jbig2Segment *segment, const uint8_t *segment_data); +int jbig2_end_of_stripe(Jbig2Ctx *ctx, Jbig2Segment *segment, const uint8_t *segment_data); +int jbig2_end_of_page(Jbig2Ctx *ctx, Jbig2Segment *segment, const uint8_t *segment_data); +int jbig2_page_add_result(Jbig2Ctx *ctx, Jbig2Page *page, Jbig2Image *src, uint32_t x, uint32_t y, Jbig2ComposeOp op); + +#endif /* _JBIG2_PAGE_H */
