1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
3 * This file is part of the LibreOffice project.
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
9 * This file incorporates work covered by the following license notice:
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
20 #ifndef INCLUDED_HWPFILTER_SOURCE_HWPLIB_H
21 #define INCLUDED_HWPFILTER_SOURCE_HWPLIB_H
22 #include "precompile.h"
26 /* hwp96부터 hunit가 4byte가 되었다. */
28 * size of hunit is 4 since hwp96 version
32 typedef unsigned short hchar
;
34 typedef unsigned char kchar
;
39 typedef unsigned char uchar
;
40 typedef unsigned short ushort
;
41 typedef unsigned int uint
;
44 typedef ::std::basic_string
<hchar
> hchar_string
;
56 inline void allocPoint(ZZPoint
&target
, ZZPoint
&src
)
97 #if !defined(_WIN32) && !defined(MAX_PATH)
106 // HWP unit information
108 * HWP unit information
111 #define ONE_ENG_CH_WIDTH (ONE_POINT*(10/2))
112 #define ONE_MILI (71)
123 #define CH_ALIGNSPACE 0
125 #define CH_BOOKMARK 6
127 #define CH_DATE_FORM 7
128 #define CH_DATE_CODE 8
130 #define CH_TEXT_BOX 10
131 #define CH_PICTURE 11
133 #define CH_END_PARA 13
136 #define CH_HEADER_FOOTER 16
137 #define CH_FOOTNOTE 17
138 #define CH_AUTO_NUM 18 /* pgnum, footnote/endnote, picture num */
139 #define CH_NEW_NUM 19 /* pgnum, footnote/endnote, picture num */
141 #define CH_SHOW_PAGE_NUM 20
142 #define CH_PAGE_NUM_CTRL 21 /* new chapter, hide pagenum */
143 #define CH_MAIL_MERGE 22
144 #define CH_COMPOSE 23
147 #define CH_TOC_MARK 25 /* CONT_MARK, TBL_MARK, PIC_MARK */
148 #define CH_INDEX_MARK 26
150 #define CH_COL_DEF 27
151 #define CH_OUTLINE 28
152 #define CH_CROSSREF 29
154 #define CH_KEEP_SPACE 30
155 #define CH_FIXED_SPACE 31
158 #define HAVE_SUBPARA_MASK ((1<<CH_TEXT_BOX) | (1<<CH_PICTURE) | (1<<CH_HIDDEN) | (1<<CH_HEADER_FOOTER) | (1<<CH_FOOTNOTE))
160 #define IS_SP_SKIP_BLOCK(hch) ((hch<5) || (hch==12) || (hch==27) || (hch == 29))
163 #define FILETAG_END_OF_COMPRESSED 0x00000000
165 #define FILETAG_EMBEDDED_PICTURE 0x00000001
166 #define FILETAG_OLE_OBJECT 0x00000002
167 #define FILETAG_HYPERTEXT 0x00000003
168 #define FILETAG_PRESENTATION 0x00000004
170 #define FILETAG_END_OF_UNCOMPRESSED 0x80000000
171 #define FILETAG_PREVIEW_IMAGE 0x80000001
172 #define FILETAG_PREVIEW_TEXT 0x80000002
178 // system error = errno
179 // USER_ERROR_BIT = (1 << 16),
181 HWP_InvalidFileFormat
,
183 HWP_UNSUPPORTED_VERSION
,
196 //# define DLLEXPORT __declspec(dllexport)
199 //# define DLLEXPORT __declspec(dllimport)
206 #include <sys/stat.h>
207 #include <sys/types.h>
213 # define access _access
215 # define mkdir(x,y) _mkdir(x)
216 # define rmdir _rmdir
218 # define write _write
219 # define close _close
220 # define unlink _unlink
226 #endif // INCLUDED_HWPFILTER_SOURCE_HWPLIB_H
228 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */