18 #ifndef _HPDF_OBJECTS_H
19 #define _HPDF_OBJECTS_H
32 #define HPDF_OTYPE_NONE 0x00000000
33 #define HPDF_OTYPE_DIRECT 0x80000000
34 #define HPDF_OTYPE_INDIRECT 0x40000000
35 #define HPDF_OTYPE_ANY (HPDF_OTYPE_DIRECT | HPDF_OTYPE_INDIRECT)
36 #define HPDF_OTYPE_HIDDEN 0x10000000
38 #define HPDF_OCLASS_UNKNOWN 0x0001
39 #define HPDF_OCLASS_NULL 0x0002
40 #define HPDF_OCLASS_BOOLEAN 0x0003
41 #define HPDF_OCLASS_NUMBER 0x0004
42 #define HPDF_OCLASS_REAL 0x0005
43 #define HPDF_OCLASS_NAME 0x0006
44 #define HPDF_OCLASS_STRING 0x0007
45 #define HPDF_OCLASS_BINARY 0x0008
46 #define HPDF_OCLASS_ARRAY 0x0010
47 #define HPDF_OCLASS_DICT 0x0011
48 #define HPDF_OCLASS_PROXY 0x0012
49 #define HPDF_OCLASS_DIRECT 0x00A0
50 #define HPDF_OCLASS_ANY 0x00FF
52 #define HPDF_OSUBCLASS_FONT 0x0100
53 #define HPDF_OSUBCLASS_CATALOG 0x0200
54 #define HPDF_OSUBCLASS_PAGES 0x0300
55 #define HPDF_OSUBCLASS_PAGE 0x0400
56 #define HPDF_OSUBCLASS_XOBJECT 0x0500
57 #define HPDF_OSUBCLASS_OUTLINE 0x0600
58 #define HPDF_OSUBCLASS_DESTINATION 0x0700
59 #define HPDF_OSUBCLASS_ANNOTATION 0x0800
60 #define HPDF_OSUBCLASS_ENCRYPT 0x0900
61 #define HPDF_OSUBCLASS_EXT_GSTATE 0x0A00
62 #define HPDF_OSUBCLASS_EXT_GSTATE_R 0x0B00
63 #define HPDF_OSUBCLASS_NAMEDICT 0x0C00
64 #define HPDF_OSUBCLASS_NAMETREE 0x0D00
65 #define HPDF_OSUBCLASS_SHADING 0x0E00
72 #define HPDF_FREE_ENTRY 'f'
73 #define HPDF_IN_USE_ENTRY 'n'
#define HPDF_LIMIT_MAX_NAME_LEN
Definition: hpdf_consts.h:120
HPDF_STATUS HPDF_String_Write(HPDF_String obj, HPDF_Stream stream, HPDF_Encrypt e)
HPDF_Dict HPDF_DictStream_New(HPDF_MMgr mmgr, HPDF_Xref xref)
HPDF_STATUS HPDF_Array_Write(HPDF_Array array, HPDF_Stream stream, HPDF_Encrypt e)
HPDF_STATUS HPDF_Direct_Write(HPDF_Direct obj, HPDF_Stream stream)
void HPDF_Array_Clear(HPDF_Array array)
HPDF_Dict HPDF_Shading
Definition: hpdf_objects.h:602
HPDF_Dict HPDF_Annotation
Definition: hpdf_objects.h:589
HPDF_STATUS HPDF_Number_Write(HPDF_Number obj, HPDF_Stream stream)
struct _HPDF_Boolean_Rec HPDF_Boolean_Rec
HPDF_STATUS HPDF_Name_Write(HPDF_Name obj, HPDF_Stream stream)
struct _HPDF_Xref_Rec * HPDF_Xref
Definition: hpdf_objects.h:404
HPDF_STATUS HPDF_String_SetValue(HPDF_String obj, const char *value)
HPDF_STATUS HPDF_Dict_Write(HPDF_Dict dict, HPDF_Stream stream, HPDF_Encrypt e)
HPDF_STATUS HPDF_Dict_AddBoolean(HPDF_Dict dict, const char *key, HPDF_BOOL value)
struct _HPDF_DictElement_Rec HPDF_DictElement_Rec
HPDF_Dict HPDF_XObject
Definition: hpdf_objects.h:592
void HPDF_Obj_ForceFree(HPDF_MMgr mmgr, void *obj)
HPDF_Array HPDF_Array_New(HPDF_MMgr mmgr)
HPDF_XrefEntry HPDF_Xref_GetEntryByObjectId(HPDF_Xref xref, HPDF_UINT obj_id)
HPDF_Dict HPDF_3DMeasure
Definition: hpdf_objects.h:590
struct _HPDF_Real_Rec * HPDF_Real
Definition: hpdf_objects.h:186
HPDF_Dict HPDF_NameDict
Definition: hpdf_objects.h:585
HPDF_BYTE * HPDF_Binary_GetValue(HPDF_Binary obj)
void HPDF_String_Free(HPDF_String obj)
struct _HPDF_Proxy_Rec HPDF_Proxy_Rec
HPDF_STATUS HPDF_Xref_WriteToStream(HPDF_Xref xref, HPDF_Stream stream, HPDF_Encrypt e)
HPDF_STATUS HPDF_Real_SetValue(HPDF_Real obj, HPDF_REAL value)
HPDF_UINT HPDF_Binary_GetLen(HPDF_Binary obj)
HPDF_Dict HPDF_Pages
Definition: hpdf_objects.h:587
HPDF_Proxy HPDF_Proxy_New(HPDF_MMgr mmgr, void *obj)
HPDF_Name HPDF_Name_New(HPDF_MMgr mmgr, const char *value)
HPDF_STATUS HPDF_Array_AddReal(HPDF_Array array, HPDF_REAL value)
HPDF_STATUS HPDF_Binary_SetValue(HPDF_Binary obj, HPDF_BYTE *value, HPDF_UINT len)
HPDF_Dict HPDF_NameTree
Definition: hpdf_objects.h:586
HPDF_Boolean HPDF_Boolean_New(HPDF_MMgr mmgr, HPDF_BOOL value)
HPDF_String HPDF_String_New(HPDF_MMgr mmgr, const char *value, HPDF_Encoder encoder)
HPDF_XrefEntry HPDF_Xref_GetEntry(HPDF_Xref xref, HPDF_UINT index)
HPDF_STATUS HPDF_Direct_SetValue(HPDF_Direct obj, HPDF_BYTE *value, HPDF_UINT len)
HPDF_STATUS HPDF_Array_Add(HPDF_Array array, void *obj)
struct _HPDF_Null_Rec * HPDF_Null
Definition: hpdf_objects.h:122
HPDF_STATUS HPDF_Dict_AddReal(HPDF_Dict dict, const char *key, HPDF_REAL value)
struct _HPDF_Direct_Rec * HPDF_Direct
Definition: hpdf_objects.h:607
HPDF_STATUS(* HPDF_Dict_AfterWriteFunc)(HPDF_Dict obj)
Definition: hpdf_objects.h:415
HPDF_STATUS HPDF_Obj_Write(void *obj, HPDF_Stream stream, HPDF_Encrypt e)
HPDF_Real HPDF_Real_New(HPDF_MMgr mmgr, HPDF_REAL value)
struct _HPDF_Xref_Rec HPDF_Xref_Rec
HPDF_Dict HPDF_JavaScript
Definition: hpdf_objects.h:601
HPDF_STATUS(* HPDF_Dict_BeforeWriteFunc)(HPDF_Dict obj)
Definition: hpdf_objects.h:412
HPDF_STATUS(* HPDF_Dict_OnWriteFunc)(HPDF_Dict obj, HPDF_Stream stream)
Definition: hpdf_objects.h:418
HPDF_Dict HPDF_ExData
Definition: hpdf_objects.h:591
HPDF_Dict HPDF_Image
Definition: hpdf_objects.h:593
struct _HPDF_Binary_Rec * HPDF_Binary
Definition: hpdf_objects.h:286
struct _HPDF_String_Rec * HPDF_String
Definition: hpdf_objects.h:245
struct _HPDF_XrefEntry_Rec HPDF_XrefEntry_Rec
void(* HPDF_Dict_FreeFunc)(HPDF_Dict obj)
Definition: hpdf_objects.h:409
void HPDF_Array_Free(HPDF_Array array)
HPDF_Array HPDF_Box_Array_New(HPDF_MMgr mmgr, HPDF_Box box)
struct _HPDF_String_Rec HPDF_String_Rec
const char * HPDF_Dict_GetKeyByObj(HPDF_Dict dict, void *obj)
HPDF_Number HPDF_Number_New(HPDF_MMgr mmgr, HPDF_INT32 value)
HPDF_INT32 HPDF_String_Cmp(HPDF_String s1, HPDF_String s2)
HPDF_Array HPDF_Destination
Definition: hpdf_objects.h:598
void * HPDF_Dict_GetItem(HPDF_Dict dict, const char *key, HPDF_UINT16 obj_class)
HPDF_Dict HPDF_Dict_New(HPDF_MMgr mmgr)
HPDF_Dict HPDF_EmbeddedFile
Definition: hpdf_objects.h:584
HPDF_STATUS HPDF_Array_AddName(HPDF_Array array, const char *value)
HPDF_STATUS HPDF_Dict_RemoveElement(HPDF_Dict dict, const char *key)
struct _HPDF_Null_Rec HPDF_Null_Rec
void HPDF_Direct_Free(HPDF_Direct obj)
struct _HPDF_Direct_Rec HPDF_Direct_Rec
struct _HPDF_Proxy_Rec * HPDF_Proxy
Definition: hpdf_objects.h:515
HPDF_Dict HPDF_Page
Definition: hpdf_objects.h:588
struct _HPDF_Number_Rec * HPDF_Number
Definition: hpdf_objects.h:159
HPDF_Binary HPDF_Binary_New(HPDF_MMgr mmgr, HPDF_BYTE *value, HPDF_UINT len)
struct _HPDF_Boolean_Rec * HPDF_Boolean
Definition: hpdf_objects.h:137
HPDF_STATUS HPDF_Binary_Write(HPDF_Binary obj, HPDF_Stream stream, HPDF_Encrypt e)
HPDF_Null HPDF_Null_New(HPDF_MMgr mmgr)
struct _HPDF_Dict_Rec HPDF_Dict_Rec
HPDF_Dict HPDF_Action
Definition: hpdf_objects.h:596
struct _HPDF_Name_Rec HPDF_Name_Rec
HPDF_STATUS HPDF_Obj_WriteValue(void *obj, HPDF_Stream stream, HPDF_Encrypt e)
HPDF_STATUS HPDF_Name_SetValue(HPDF_Name obj, const char *value)
void HPDF_Xref_Free(HPDF_Xref xref)
struct _HPDF_XrefEntry_Rec * HPDF_XrefEntry
Definition: hpdf_objects.h:532
void HPDF_Binary_Free(HPDF_Binary obj)
HPDF_STATUS HPDF_Array_AddNumber(HPDF_Array array, HPDF_INT32 value)
HPDF_STATUS HPDF_Dict_AddName(HPDF_Dict dict, const char *key, const char *value)
HPDF_STATUS HPDF_Real_Write(HPDF_Real obj, HPDF_Stream stream)
void HPDF_Dict_Free(HPDF_Dict dict)
HPDF_Dict HPDF_Outline
Definition: hpdf_objects.h:594
HPDF_Dict HPDF_EncryptDict
Definition: hpdf_objects.h:595
struct _HPDF_Binary_Rec HPDF_Binary_Rec
struct _HPDF_Array_Rec HPDF_Array_Rec
HPDF_Xref HPDF_Xref_New(HPDF_MMgr mmgr, HPDF_UINT32 offset)
const char * HPDF_Name_GetValue(HPDF_Name obj)
HPDF_Dict HPDF_OutputIntent
Definition: hpdf_objects.h:600
void HPDF_Number_SetValue(HPDF_Number obj, HPDF_INT32 value)
HPDF_Dict HPDF_ExtGState
Definition: hpdf_objects.h:597
struct _HPDF_Dict_Rec * HPDF_Dict
Definition: hpdf_objects.h:406
struct _HPDF_Name_Rec * HPDF_Name
Definition: hpdf_objects.h:214
struct _HPDF_Real_Rec HPDF_Real_Rec
void * HPDF_Array_GetItem(HPDF_Array array, HPDF_UINT index, HPDF_UINT16 obj_class)
HPDF_Dict HPDF_U3D
Definition: hpdf_objects.h:599
struct _HPDF_Obj_Header HPDF_Obj_Header
HPDF_Direct HPDF_Direct_New(HPDF_MMgr mmgr, HPDF_BYTE *value, HPDF_UINT len)
struct _HPDF_Array_Rec * HPDF_Array
Definition: hpdf_objects.h:331
HPDF_STATUS HPDF_Array_Insert(HPDF_Array array, void *target, void *obj)
HPDF_STATUS HPDF_Xref_Add(HPDF_Xref xref, void *obj)
struct _HPDF_Number_Rec HPDF_Number_Rec
struct _HPDF_DictElement_Rec * HPDF_DictElement
Definition: hpdf_objects.h:437
HPDF_STATUS HPDF_Dict_Add(HPDF_Dict dict, const char *key, void *obj)
void HPDF_Obj_Free(HPDF_MMgr mmgr, void *obj)
HPDF_STATUS HPDF_Boolean_Write(HPDF_Boolean obj, HPDF_Stream stream)
HPDF_STATUS HPDF_Dict_AddNumber(HPDF_Dict dict, const char *key, HPDF_INT32 value)
HPDF_STATUS HPDF_Array_AddNull(HPDF_Array array)
HPDF_UINT HPDF_Array_Items(HPDF_Array array)
unsigned short HPDF_UINT16
Definition: hpdf_types.h:63
signed int HPDF_BOOL
Definition: hpdf_types.h:89
unsigned int HPDF_UINT
Definition: hpdf_types.h:45
unsigned int HPDF_UINT32
Definition: hpdf_types.h:57
float HPDF_REAL
Definition: hpdf_types.h:79
signed int HPDF_INT32
Definition: hpdf_types.h:56
unsigned char HPDF_BYTE
Definition: hpdf_types.h:74
unsigned long HPDF_STATUS
Definition: hpdf_types.h:94
Definition: hpdf_objects.h:333
HPDF_MMgr mmgr
Definition: hpdf_objects.h:335
HPDF_Obj_Header header
Definition: hpdf_objects.h:334
HPDF_Error error
Definition: hpdf_objects.h:336
HPDF_List list
Definition: hpdf_objects.h:337
Definition: hpdf_objects.h:288
HPDF_MMgr mmgr
Definition: hpdf_objects.h:290
HPDF_UINT len
Definition: hpdf_objects.h:293
HPDF_BYTE * value
Definition: hpdf_objects.h:292
HPDF_Error error
Definition: hpdf_objects.h:291
HPDF_Obj_Header header
Definition: hpdf_objects.h:289
Definition: hpdf_objects.h:139
HPDF_Obj_Header header
Definition: hpdf_objects.h:140
HPDF_BOOL value
Definition: hpdf_objects.h:141
Definition: hpdf_objects.h:439
char key[HPDF_LIMIT_MAX_NAME_LEN+1]
Definition: hpdf_objects.h:440
void * value
Definition: hpdf_objects.h:441
Definition: hpdf_objects.h:421
HPDF_Obj_Header header
Definition: hpdf_objects.h:422
HPDF_Dict_FreeFunc free_fn
Definition: hpdf_objects.h:429
HPDF_Dict_BeforeWriteFunc before_write_fn
Definition: hpdf_objects.h:426
HPDF_Dict filterParams
Definition: hpdf_objects.h:432
HPDF_UINT filter
Definition: hpdf_objects.h:431
void * attr
Definition: hpdf_objects.h:433
HPDF_Error error
Definition: hpdf_objects.h:424
HPDF_Dict_OnWriteFunc write_fn
Definition: hpdf_objects.h:427
HPDF_MMgr mmgr
Definition: hpdf_objects.h:423
HPDF_Stream stream
Definition: hpdf_objects.h:430
HPDF_List list
Definition: hpdf_objects.h:425
HPDF_Dict_AfterWriteFunc after_write_fn
Definition: hpdf_objects.h:428
Definition: hpdf_objects.h:609
HPDF_MMgr mmgr
Definition: hpdf_objects.h:611
HPDF_Error error
Definition: hpdf_objects.h:612
HPDF_UINT len
Definition: hpdf_objects.h:614
HPDF_BYTE * value
Definition: hpdf_objects.h:613
HPDF_Obj_Header header
Definition: hpdf_objects.h:610
Definition: hpdf_encoder.h:115
Definition: hpdf_encrypt.h:76
Definition: hpdf_error.h:180
Definition: hpdf_list.h:30
Definition: hpdf_mmgr.h:40
Definition: hpdf_objects.h:216
char value[HPDF_LIMIT_MAX_NAME_LEN+1]
Definition: hpdf_objects.h:219
HPDF_Obj_Header header
Definition: hpdf_objects.h:217
HPDF_Error error
Definition: hpdf_objects.h:218
Definition: hpdf_objects.h:124
HPDF_Obj_Header header
Definition: hpdf_objects.h:125
Definition: hpdf_objects.h:161
HPDF_Obj_Header header
Definition: hpdf_objects.h:162
HPDF_INT32 value
Definition: hpdf_objects.h:163
Definition: hpdf_objects.h:517
HPDF_Obj_Header header
Definition: hpdf_objects.h:518
void * obj
Definition: hpdf_objects.h:519
Definition: hpdf_objects.h:188
HPDF_Obj_Header header
Definition: hpdf_objects.h:189
HPDF_REAL value
Definition: hpdf_objects.h:191
HPDF_Error error
Definition: hpdf_objects.h:190
Definition: hpdf_types.h:110
Definition: hpdf_streams.h:99
Definition: hpdf_objects.h:247
HPDF_UINT len
Definition: hpdf_objects.h:253
HPDF_Encoder encoder
Definition: hpdf_objects.h:251
HPDF_BYTE * value
Definition: hpdf_objects.h:252
HPDF_Obj_Header header
Definition: hpdf_objects.h:248
HPDF_Error error
Definition: hpdf_objects.h:250
HPDF_MMgr mmgr
Definition: hpdf_objects.h:249
Definition: hpdf_objects.h:534
void * obj
Definition: hpdf_objects.h:538
HPDF_UINT16 gen_no
Definition: hpdf_objects.h:537
char entry_typ
Definition: hpdf_objects.h:535
HPDF_UINT byte_offset
Definition: hpdf_objects.h:536
Definition: hpdf_objects.h:542
HPDF_MMgr mmgr
Definition: hpdf_objects.h:543
HPDF_Error error
Definition: hpdf_objects.h:544
HPDF_UINT addr
Definition: hpdf_objects.h:547
HPDF_UINT32 start_offset
Definition: hpdf_objects.h:545
HPDF_Dict trailer
Definition: hpdf_objects.h:549
HPDF_List entries
Definition: hpdf_objects.h:546
HPDF_Xref prev
Definition: hpdf_objects.h:548