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_DRAWDEF_H
21 #define INCLUDED_HWPFILTER_SOURCE_DRAWDEF_H
29 * Constant for drawing objects
41 HWPDO_ADVANCED_ELLIPSE
,
43 HWPDO_CLOSED_FREEFORM
,
47 #define HWPDO_PAT_TYPE_BITS 0xFF000000
49 #define HWPDO_PAT_SOLID 0x00000000
51 #define HWPDO_COLOR_NONE 0x10000000
53 #define HWPDO_FLAG_DRAW_PIE 0x00000002
56 #define HWPDO_FLAG_GRADATION 0x00010000
57 #define HWPDO_FLAG_ROTATION 0x00020000
58 #define HWPDO_FLAG_BITMAP 0x00040000
59 #define HWPDO_FLAG_AS_TEXTBOX 0x00080000
60 #define HWPDO_FLAG_WATERMARK 0x00100000
63 * @short Basic properties for drawing objects
65 * The order of pstyle, hstyle and tstyle is important.
68 struct BAREHWPDOProperty
73 unsigned int line_color
;
75 unsigned int fill_color
;
77 unsigned int pattern_color
;
84 * @short Gradation properties for drawing object
86 struct GradationProperty
98 * @short Bitmap properties for drawing object
100 struct BitmapProperty
104 char szPatternFile
[260 + 1];
109 * @short Rotation properties for drawing object
111 struct RotationProperty
119 * @short All properties for drawing object
123 int line_pstyle
; /* Style of the middle of line */
124 int line_hstyle
; /* Style of the end of line */
125 int line_tstyle
; /* Style of the start of line */
126 unsigned int line_color
;
128 unsigned int fill_color
;
130 unsigned int pattern_color
;
135 /* Rotation properties */
140 /* Gradation properties */
161 char szPatternFile
[260 + 1];
174 * @short Polygon or Polyline Object
183 * @short Textbox Object
199 * @short Common header for drawing object
201 struct HWPDrawingObject
204 * type of drawing object
208 * offset from origin of current group
212 * offset from origin of drawing object
217 * rectangle with consideration of line width
220 HWPDOProperty property
;
224 HWPDOFreeForm freeform
;
225 HWPDOTextBox textbox
;
227 * extended from hwpw96
232 std::unique_ptr
<struct HWPDrawingObject
> next
;
234 * This exists for container object
236 std::unique_ptr
<struct HWPDrawingObject
> child
;
241 #endif // INCLUDED_HWPFILTER_SOURCE_DRAWDEF_H
243 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */