GPC  v1.0.0-2516
Gorman Print Control
IJS::RecGroup Struct Reference

A 25-byte (0x19) record that appears before each bitmap group. More...

Collaboration diagram for IJS::RecGroup:

Public Attributes

uint32_t unknown1
 0x00 - 0x03: 0xa8 (167d), 0x2e4 (740d), 0xbd4 (3028d), 0xc63 (3171d), 0x1c6 (454d) More...
 
uint8_t unknown2
 0x04: some kind of flag, always 1? More...
 
uint32_t horizontal_offset
 0x05 - 0x08: small number, such as 0x00, 0xa1 (161d), 0x9c (156d), 0xc0 (192d) More...
 
uint32_t vertical_offset
 0x09 - 0x0c: small number, such as 0x00, 0x1be (446d), 0x96 (150d) More...
 
uint32_t unknown3
 0x0d - 0x10: small number, such as 0x244 (580d), 0x246 (582d), 0x248 (584d), 0x252 (594d), 0x245 (581d), 0x249 (585d) More...
 
uint32_t unknown4
 0x11 - 0x14: small number, such as 0x96 (150d), 0x93 (147d), 0x90 (144d) More...
 
uint32_t number_of_images
 0x15 - 0x18: number of images to expect in this group; remember to use ByteOrder::swap()! More...
 

Detailed Description

A 25-byte (0x19) record that appears before each bitmap group.

Note
For 2-byte and 4-byte values, remember to convert endianness, as the IJS files seem to be big-endian. See ByteOrder::swap().

Example #1:

0x00: 00 00 02 e4 01 00 00 00 a1 00 00 00 00 00 00 02
0x10: 46 00 00 00 96 00 00 00 05

Example #2:

0x00: 00 00 01 c6 01 00 00 00 9e 00 00 00 96 00 00 02
0x10: 49 00 00 00 96 00 00 00 03

Example #3:

0x00: 00 00 01 c6 01 00 00 00 9e 00 00 01 29 00 00 02
0x10: 49 00 00 00 99 00 00 00 03

Example #4:

0x00: 00 00 00 A8 01 00 00 00 00 00 00 00 00 00 00 02
0x10: 44 00 00 00 96 00 00 00 01
Warning
Beware, we've seen some IJS files where the groups appear out-of-order. Meaning we have group #2, 3, 4, and then #1. Since the group id appears in the bitmap record and not in the group record, the only way we can determine the group is by peeking ahead at the image that comes immediately after a group. Important: This also means the vectors of structures in the IJS file are not going to be ordered correctly!

Member Data Documentation

◆ unknown1

uint32_t IJS::RecGroup::unknown1

0x00 - 0x03: 0xa8 (167d), 0x2e4 (740d), 0xbd4 (3028d), 0xc63 (3171d), 0x1c6 (454d)

◆ unknown2

uint8_t IJS::RecGroup::unknown2

0x04: some kind of flag, always 1?

◆ horizontal_offset

uint32_t IJS::RecGroup::horizontal_offset

0x05 - 0x08: small number, such as 0x00, 0xa1 (161d), 0x9c (156d), 0xc0 (192d)

◆ vertical_offset

uint32_t IJS::RecGroup::vertical_offset

0x09 - 0x0c: small number, such as 0x00, 0x1be (446d), 0x96 (150d)

◆ unknown3

uint32_t IJS::RecGroup::unknown3

0x0d - 0x10: small number, such as 0x244 (580d), 0x246 (582d), 0x248 (584d), 0x252 (594d), 0x245 (581d), 0x249 (585d)

◆ unknown4

uint32_t IJS::RecGroup::unknown4

0x11 - 0x14: small number, such as 0x96 (150d), 0x93 (147d), 0x90 (144d)

◆ number_of_images

uint32_t IJS::RecGroup::number_of_images

0x15 - 0x18: number of images to expect in this group; remember to use ByteOrder::swap()!

Referenced by IJS::load().