File: //usr/share/libharu/if/python/hpdf_types.py
###
## * << Haru Free PDF Library 2.0.3 >> -- hpdf_types.h
## *
## * URL http://libharu.org/
## *
## * Copyright (c) 1999-2006 Takeshi Kanno
## *
## * Permission to use, copy, modify, distribute and sell this software
## * and its documentation for any purpose is hereby granted without fee,
## * provided that the above copyright notice appear in all copies and
## * that both that copyright notice and this permission notice appear
## * in supporting documentation.
## * It is provided "as is" without express or implied warranty.
## *
##
## port to python by Li Jun
## http://groups.google.com/group/pythoncia
from ctypes import *
#----------------------------------------------------------------------------
#----- type definition ------------------------------------------------------
# native OS integer types
HPDF_INT=c_int
HPDF_UINT=c_uint
# 32bit integer types
HPDF_INT32=c_int
HPDF_UINT32=c_uint
# 16bit integer types
HPDF_INT16=c_short
HPDF_UINT16=c_ushort
# 8bit integer types
HPDF_INT8=c_char
HPDF_UINT8=c_ubyte
# 8bit binary types
HPDF_BYTE=c_ubyte
# float type (32bit IEEE754)
HPDF_REAL=c_float
# double type (64bit IEEE754)
HPDF_DOUBLE=c_double
# boolean type (0: False, !0: True)
HPDF_BOOL=c_int
# error-no type (32bit unsigned integer)
HPDF_STATUS=c_ulong
# charactor-code type (16bit)
HPDF_CID=HPDF_UINT16
HPDF_UNICODE=HPDF_UINT16
# HPDF_Point struct
class _HPDF_Point(Structure):
_fields_=[
('x', HPDF_REAL),
('y', HPDF_REAL),
]
HPDF_Point = _HPDF_Point
class _HPDF_Rect(Structure):
_fields_=[
('left', HPDF_REAL),
('bottom', HPDF_REAL),
('right', HPDF_REAL),
('top', HPDF_REAL),
]
HPDF_Rect = _HPDF_Rect
HPDF_Box= _HPDF_Rect
# HPDF_Date struct
class _HPDF_Date(Structure):
_fields_=[
('year', HPDF_INT),
('month', HPDF_INT),
('day', HPDF_INT),
('hour', HPDF_INT),
('minutes', HPDF_INT),
('seconds', HPDF_INT),
('ind', c_char),
('off_hour', HPDF_INT),
('off_minutes', HPDF_INT),
]
HPDF_Date = _HPDF_Date
#enum starts
## date-time type parameters
HPDF_INFO_CREATION_DATE =0
HPDF_INFO_MOD_DATE =1
## string type parameters
HPDF_INFO_AUTHOR =2
HPDF_INFO_CREATOR =3
HPDF_INFO_PRODUCER =4
HPDF_INFO_TITLE =5
HPDF_INFO_SUBJECT =6
HPDF_INFO_KEYWORDS =7
HPDF_INFO_EOF =8
HPDF_InfoType =c_int
#enum ends
#enum starts
HPDF_VER_12 =0
HPDF_VER_13 =1
HPDF_VER_14 =2
HPDF_VER_15 =3
HPDF_VER_16 =4
HPDF_VER_EOF =5
HPDF_PDFVer =c_int
#enum ends
#enum starts
HPDF_ENCRYPT_R2 =2
HPDF_ENCRYPT_R3 =3
HPDF_EncryptMode =c_int
#enum ends
##typedef void
##(HPDF_STDCALL *HPDF_Error_Handler) (HPDF_STATUS error_no,
## HPDF_STATUS detail_no,
## void *user_data)
def HPDF_Error_Handler(restype,
error_no,
detail_no,
user_data):
return CFUNCTYPE(restype,
error_no,
detail_no,
user_data,
)
#typedef void*
#(HPDF_STDCALL *HPDF_Alloc_Func) (HPDF_UINT size)
HPDF_Alloc_Func=CFUNCTYPE(c_void_p,
HPDF_UINT, #size
)
#typedef void
#(HPDF_STDCALL *HPDF_Free_Func) (void *aptr)
HPDF_Free_Func=CFUNCTYPE(None,
c_void_p, #aptr
)
#---------------------------------------------------------------------------
#------ text width struct --------------------------------------------------
class _HPDF_TextWidth(Structure):
_fields_=[
('numchars', HPDF_UINT),
# don't use this value (it may be change in the feature).
# use numspace as alternated.
('numwords', HPDF_UINT),
('width', HPDF_UINT),
('numspace', HPDF_UINT),
]
HPDF_TextWidth = _HPDF_TextWidth
#---------------------------------------------------------------------------
#------ dash mode ----------------------------------------------------------
class _HPDF_DashMode(Structure):
_fields_=[
('ptn', HPDF_UINT16*8),
('num_ptn', HPDF_UINT),
('phase', HPDF_UINT),
]
HPDF_DashMode = _HPDF_DashMode
#---------------------------------------------------------------------------
#----- HPDF_TransMatrix struct ---------------------------------------------
class _HPDF_TransMatrix(Structure):
_fields_=[
('a', HPDF_REAL),
('b', HPDF_REAL),
('c', HPDF_REAL),
('d', HPDF_REAL),
('x', HPDF_REAL),
('y', HPDF_REAL),
]
HPDF_TransMatrix = _HPDF_TransMatrix
#---------------------------------------------------------------------------
#enum starts
HPDF_CS_DEVICE_GRAY =0
HPDF_CS_DEVICE_RGB =1
HPDF_CS_DEVICE_CMYK =2
HPDF_CS_CAL_GRAY =3
HPDF_CS_CAL_RGB =4
HPDF_CS_LAB =5
HPDF_CS_ICC_BASED =6
HPDF_CS_SEPARATION =7
HPDF_CS_DEVICE_N =8
HPDF_CS_INDEXED =9
HPDF_CS_PATTERN =10
HPDF_CS_EOF =11
HPDF_ColorSpace =c_int
#enum ends
#---------------------------------------------------------------------------
#----- HPDF_RGBColor struct ------------------------------------------------
class _HPDF_RGBColor(Structure):
_fields_=[
('r', HPDF_REAL),
('g', HPDF_REAL),
('b', HPDF_REAL),
]
HPDF_RGBColor = _HPDF_RGBColor
#---------------------------------------------------------------------------
#----- HPDF_CMYKColor struct -----------------------------------------------
class _HPDF_CMYKColor(Structure):
_fields_=[
('c', HPDF_REAL),
('m', HPDF_REAL),
('y', HPDF_REAL),
('k', HPDF_REAL),
]
HPDF_CMYKColor=_HPDF_CMYKColor
#---------------------------------------------------------------------------
#------ The line cap style -------------------------------------------------
#enum starts
HPDF_BUTT_END =0
HPDF_ROUND_END =1
HPDF_PROJECTING_SCUARE_END =2
HPDF_LINECAP_EOF =3
HPDF_LineCap =c_int
#enum ends
#----------------------------------------------------------------------------
#------ The line join style -------------------------------------------------
#enum starts
HPDF_MITER_JOIN =0
HPDF_ROUND_JOIN =1
HPDF_BEVEL_JOIN =2
HPDF_LINEJOIN_EOF =3
HPDF_LineJoin =c_int
#enum ends
#----------------------------------------------------------------------------
#------ The text rendering mode ---------------------------------------------
#enum starts
HPDF_FILL =0
HPDF_STROKE =1
HPDF_FILL_THEN_STROKE =2
HPDF_INVISIBLE =3
HPDF_FILL_CLIPPING =4
HPDF_STROKE_CLIPPING =5
HPDF_FILL_STROKE_CLIPPING =6
HPDF_CLIPPING =7
HPDF_RENDERING_MODE_EOF =8
HPDF_TextRenderingMode =c_int
#enum ends
#enum starts
HPDF_WMODE_HORIZONTAL =0
HPDF_WMODE_VERTICAL =1
HPDF_WMODE_EOF =2
HPDF_WritingMode =c_int
#enum ends
#enum starts
HPDF_PAGE_LAYOUT_SINGLE =0
HPDF_PAGE_LAYOUT_ONE_COLUMN =1
HPDF_PAGE_LAYOUT_TWO_COLUMN_LEFT =2
HPDF_PAGE_LAYOUT_TWO_COLUMN_RIGHT =3
HPDF_PAGE_LAYOUT_EOF =4
HPDF_PageLayout =c_int
#enum ends
#enum starts
HPDF_PAGE_MODE_USE_NONE =0
HPDF_PAGE_MODE_USE_OUTLINE =1
HPDF_PAGE_MODE_USE_THUMBS =2
HPDF_PAGE_MODE_FULL_SCREEN =3
HPDF_PAGE_MODE_USE_OC =4 #???
HPDF_PAGE_MODE_USE_ATTACHMENTS =5 #???
HPDF_PAGE_MODE_EOF =6
HPDF_PageMode =c_int
#enum ends
#enum starts
HPDF_PAGE_NUM_STYLE_DECIMAL =0
HPDF_PAGE_NUM_STYLE_UPPER_ROMAN =1
HPDF_PAGE_NUM_STYLE_LOWER_ROMAN =2
HPDF_PAGE_NUM_STYLE_UPPER_LETTERS =3
HPDF_PAGE_NUM_STYLE_LOWER_LETTERS =4
HPDF_PAGE_NUM_STYLE_EOF =5
HPDF_PageNumStyle =c_int
#enum ends
#enum starts
HPDF_XYZ =0
HPDF_FIT =1
HPDF_FIT_H =2
HPDF_FIT_V =3
HPDF_FIT_R =4
HPDF_FIT_B =5
HPDF_FIT_BH =6
HPDF_FIT_BV =7
HPDF_DST_EOF =8
HPDF_DestinationType =c_int
#enum ends
#enum starts
HPDF_ANNOT_TEXT_NOTES =0
HPDF_ANNOT_LINK =1
HPDF_ANNOT_SOUND =2
HPDF_ANNOT_FREE_TEXT =3
HPDF_ANNOT_STAMP =4
HPDF_ANNOT_SQUARE =5
HPDF_ANNOT_CIRCLE =6
HPDF_ANNOT_STRIKE_OUT =7
HPDF_ANNOT_HIGHTLIGHT =8
HPDF_ANNOT_UNDERLINE =9
HPDF_ANNOT_INK =10
HPDF_ANNOT_FILE_ATTACHMENT =11
HPDF_ANNOT_POPUP =12
HPDF_AnnotType =c_int
#enum ends
#enum starts
HPDF_ANNOT_INVISIBLE =0
HPDF_ANNOT_HIDDEN =1
HPDF_ANNOT_PRINT =2
HPDF_ANNOT_NOZOOM =3
HPDF_ANNOT_NOROTATE =4
HPDF_ANNOT_NOVIEW =5
HPDF_ANNOT_READONLY =6
HPDF_AnnotFlgs =c_int
#enum ends
#enum starts
HPDF_ANNOT_NO_HIGHTLIGHT =0
HPDF_ANNOT_INVERT_BOX =1
HPDF_ANNOT_INVERT_BORDER =2
HPDF_ANNOT_DOWN_APPEARANCE =3
HPDF_ANNOT_HIGHTLIGHT_MODE_EOF =4
HPDF_AnnotHighlightMode =c_int
#enum ends
#enum starts
HPDF_ANNOT_ICON_COMMENT =0
HPDF_ANNOT_ICON_KEY =1
HPDF_ANNOT_ICON_NOTE =2
HPDF_ANNOT_ICON_HELP =3
HPDF_ANNOT_ICON_NEW_PARAGRAPH =4
HPDF_ANNOT_ICON_PARAGRAPH =5
HPDF_ANNOT_ICON_INSERT =6
HPDF_ANNOT_ICON_EOF =7
HPDF_AnnotIcon =c_int
#enum ends
#----------------------------------------------------------------------------
#------ border stype --------------------------------------------------------
#enum starts
HPDF_BS_SOLID =0
HPDF_BS_DASHED =1
HPDF_BS_BEVELED =2
HPDF_BS_INSET =3
HPDF_BS_UNDERLINED =4
HPDF_BSSubtype =c_int
#enum ends
#----- blend modes ----------------------------------------------------------
#enum starts
HPDF_BM_NORMAL =0
HPDF_BM_MULTIPLY =1
HPDF_BM_SCREEN =2
HPDF_BM_OVERLAY =3
HPDF_BM_DARKEN =4
HPDF_BM_LIGHTEN =5
HPDF_BM_COLOR_DODGE =6
HPDF_BM_COLOR_BUM =7
HPDF_BM_HARD_LIGHT =8
HPDF_BM_SOFT_LIGHT =9
HPDF_BM_DIFFERENCE =10
HPDF_BM_EXCLUSHON =11
HPDF_BM_EOF =12
HPDF_BlendMode =c_int
#enum ends
#----- slide show -----------------------------------------------------------
#enum starts
HPDF_TS_WIPE_RIGHT =0
HPDF_TS_WIPE_UP =1
HPDF_TS_WIPE_LEFT =2
HPDF_TS_WIPE_DOWN =3
HPDF_TS_BARN_DOORS_HORIZONTAL_OUT =4
HPDF_TS_BARN_DOORS_HORIZONTAL_IN =5
HPDF_TS_BARN_DOORS_VERTICAL_OUT =6
HPDF_TS_BARN_DOORS_VERTICAL_IN =7
HPDF_TS_BOX_OUT =8
HPDF_TS_BOX_IN =9
HPDF_TS_BLINDS_HORIZONTAL =10
HPDF_TS_BLINDS_VERTICAL =11
HPDF_TS_DISSOLVE =12
HPDF_TS_GLITTER_RIGHT =13
HPDF_TS_GLITTER_DOWN =14
HPDF_TS_GLITTER_TOP_LEFT_TO_BOTTOM_RIGHT =15
HPDF_TS_REPLACE =16
HPDF_TS_EOF =17
HPDF_TransitionStyle =c_int
#enum ends
#----------------------------------------------------------------------------
#enum starts
HPDF_PAGE_SIZE_LETTER =0
HPDF_PAGE_SIZE_LEGAL =1
HPDF_PAGE_SIZE_A3 =2
HPDF_PAGE_SIZE_A4 =3
HPDF_PAGE_SIZE_A5 =4
HPDF_PAGE_SIZE_B4 =5
HPDF_PAGE_SIZE_B5 =6
HPDF_PAGE_SIZE_EXECUTIVE =7
HPDF_PAGE_SIZE_US4x6 =8
HPDF_PAGE_SIZE_US4x8 =9
HPDF_PAGE_SIZE_US5x7 =10
HPDF_PAGE_SIZE_COMM10 =11
HPDF_PAGE_SIZE_EOF =12
HPDF_PageSizes =c_int
#enum ends
#enum starts
HPDF_PAGE_PORTRAIT =0
HPDF_PAGE_LANDSCAPE =1
HPDF_PageDirection =c_int
#enum ends
#enum starts
HPDF_ENCODER_TYPE_SINGLE_BYTE =0
HPDF_ENCODER_TYPE_DOUBLE_BYTE =1
HPDF_ENCODER_TYPE_UNINITIALIZED =2
HPDF_ENCODER_UNKNOWN =3
HPDF_EncoderType =c_int
#enum ends
#enum starts
HPDF_BYTE_TYPE_SINGLE =0
HPDF_BYTE_TYPE_LEAD =1
HPDF_BYTE_TYPE_TRIAL =2
HPDF_BYTE_TYPE_UNKNOWN =3
HPDF_ByteType =c_int
#enum ends
#enum starts
HPDF_TALIGN_LEFT =0
HPDF_TALIGN_RIGHT =1
HPDF_TALIGN_CENTER =2
HPDF_TALIGN_JUSTIFY =3
HPDF_TextAlignment =c_int
#enum ends