diff options
Diffstat (limited to 'hwpfilter/source/hinfo.h')
-rw-r--r-- | hwpfilter/source/hinfo.h | 264 |
1 files changed, 264 insertions, 0 deletions
diff --git a/hwpfilter/source/hinfo.h b/hwpfilter/source/hinfo.h new file mode 100644 index 000000000000..62f90ef92ae5 --- /dev/null +++ b/hwpfilter/source/hinfo.h @@ -0,0 +1,264 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +/* $Id: hinfo.h,v 1.5 2008-06-04 09:59:14 vg Exp $ */ + +#ifndef _HWPINFO_H_ +#define _HWPINFO_H_ + +#include "hwplib.h" + +#define CHAIN_MAX_PATH 40 +#define ANNOTATION_LEN 24 + +class HWPFile; +class CTextOut; +class CHTMLOut; + +/** + * Information of page (phisical) + */ +typedef struct +{ + unsigned char paper_kind; + unsigned char paper_direction; + hunit paper_height; + hunit paper_width; + hunit top_margin; + hunit bottom_margin; + hunit left_margin; + hunit right_margin; + hunit header_length; + hunit footer_length; + hunit gutter_length; +} PaperInfo; + +/* ?????? ??????, ???????? ???? */ +typedef struct +{ + char type; // 0- background color, 1 - external image, 2- embeded image + char reserved1[8]; + int luminance; /* ???? ( -100 ~ 100 ) */ + int contrast; /* ???? ( -100 ~ 100 ) */ + char effect; /* 0-????????, 1-????????????, 2-???? */ + char reserved2[8]; + char filename[260 + 1]; // filename + unsigned char color[3]; //0 - red, 1 - green, 2 - blue + unsigned short flag; /* 0 - ????????, 1 - ????????, 2 - ??????, 3 - ???????? */ + int range; /* 0-????, 1-????????, 3-??????, 4-?????? */ + char reserved3[27]; + int size; + char *data; // image data + bool isset; +} PaperBackInfo; + +/* ???????? ???? */ +/** + * Information of printing for chained page + */ +typedef struct +{ + unsigned char chain_page_no; + unsigned char chain_footnote_no; + unsigned char chain_filename[CHAIN_MAX_PATH]; +} DocChainInfo; + +/* ???? ???? */ +/** + * Summary of document + */ +struct HWPSummary +{ + unsigned short title[56]; + unsigned short subject[56]; + unsigned short author[56]; + unsigned short date[56]; + unsigned short keyword[2][56]; + unsigned short etc[3][56]; + + bool Read(HWPFile &); +}; + +/** + HWPInfo class?? HWPFile?? ???? ?????? ???? ???? ??????????. + ?????? ???? ???? ????????(layout) ?????? ???????????? + ????????, ???? ???? ?????? ???????? ????. \\ + + HWPInfo ???????? HWPFile?? #GetHWPInfo()# ?????? ???? ???? ?? ????. + + @memo Hwp ???? ???? +*/ +/** + * Contains the basic information of the hwp document: + * margin, layout, paper and internal data. + */ +class DLLEXPORT HWPInfo +{ + public: +/** + * The column index of a document that is saved at last + */ + short cur_col; +/** + * The row index of a document that is saved at last + */ + short cur_row; +/** + * Paper Information + */ + PaperInfo paper; + + PaperBackInfo back_info; +/** + * Sets the attribute of read-only or read/write. + */ + short readonly; + unsigned char reserved1[4]; +/** + * Information about document chain + */ + DocChainInfo chain_info; + unsigned char annotation[ANNOTATION_LEN]; + short encrypted; +// unsigned char reserved2[6]; + short beginpagenum; /* ?????????? ???? */ +/** + * Information about footnote + */ + short beginfnnum; /* ???????????? */ + short countfn; /* ???? ???? */ + hunit splinetext, splinefn; + hunit spfnfn; + unsigned char fnchar; + unsigned char fnlinetype; +// layout info +/** + * Information about page layout + */ + hunit bordermargin[4]; + short borderline; + + unsigned char empty_line_hide; + unsigned char table_move; + unsigned char compressed; + unsigned char reserved3; + short info_block_len; +/* ?????????? 128 ?????????? */ +/** + * Summary of document + */ + HWPSummary summary; + unsigned char *info_block; + + HWPInfo(void); + ~HWPInfo(void); + + bool Read(HWPFile &hwpf); + bool Write(CTextOut &txtf); + bool Write(CHTMLOut &html); + +}; + +/* ???? ???? ?????? */ +/** + * @short Style of character + */ +struct CharShape +{ +/** + * Index of character style + */ + int index; /* ???????? ???????? ????. */ +/** + * Font size + */ + hunit size; + unsigned char font[NLanguage]; + unsigned char ratio[NLanguage]; + signed char space[NLanguage]; /* ???? */ + unsigned char color[2]; + unsigned char shade; + unsigned char attr; + unsigned char reserved[4]; + + bool Read(HWPFile &); +}; + +/* ?? ?????? ???? ?????? */ + +#define MAXTABS 40 +/** + * @short Tab properties + */ +typedef struct +{ + unsigned char type; + unsigned char dot_continue; + hunit position; +} TabSet; + +/** + * @short Column properties + */ +typedef struct +{ + unsigned char ncols; + unsigned char separator; + hunit spacing; + hunit columnlen, columnlen0; +} ColumnDef; + +/** + * @short Style of paragraph + */ +struct ParaShape +{ +/** + * Index of paragraph style + */ + int index; /* ???????? ???????? ???? */ + hunit left_margin; + hunit right_margin; + hunit indent; + hunit lspacing; + hunit pspacing_prev; + hunit pspacing_next; + unsigned char condense; + unsigned char arrange_type; + TabSet tabs[MAXTABS]; + ColumnDef coldef; + unsigned char shade; + unsigned char outline; + unsigned char outline_continue; + unsigned char reserved[2]; + CharShape *cshape; + unsigned char pagebreak; + + bool Read(HWPFile &); +// virtual ~ParaShape(); +}; +#endif /* _HWPINFO_H_ */ |