diff options
author | Sebastian Rasmussen <sebras@gmail.com> | 2018-05-26 14:51:42 +0800 |
---|---|---|
committer | Sebastian Rasmussen <sebras@gmail.com> | 2018-07-13 16:54:30 +0800 |
commit | 8f4288807d659f72734d41dd8b7d434b1e15dfc2 (patch) | |
tree | ade73599553c0fd5760f02c9c1796e65bad0afb7 /jbig2dec/jbig2_page.h | |
parent | 55925ee6220fe371b1fe34fdc27cfd4dad8847b2 (diff) | |
download | ghostpdl-8f4288807d659f72734d41dd8b7d434b1e15dfc2.tar.gz |
jbig2dec: Create jbig2_page.h with page declarations.
Diffstat (limited to 'jbig2dec/jbig2_page.h')
-rw-r--r-- | jbig2dec/jbig2_page.h | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/jbig2dec/jbig2_page.h b/jbig2dec/jbig2_page.h new file mode 100644 index 000000000..316824f04 --- /dev/null +++ b/jbig2dec/jbig2_page.h @@ -0,0 +1,53 @@ +/* Copyright (C) 2001-2018 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., 1305 Grant Avenue - Suite 200, Novato, + CA 94945, U.S.A., +1(415)492-9861, 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, int x, int y, Jbig2ComposeOp op); + +#endif /* _JBIG2_PAGE_H */ |