1 /* vim: set sw=8 ts=8: -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
2 #ifndef GNM_MS_OFFICE_ESCHER_H
3 #define GNM_MS_OFFICE_ESCHER_H
6 * ms-escher.h: MS Office drawing layer support
9 * Jody Goldberg (jody@gnome.org)
10 * Michael Meeks (michael@ximian.com)
12 * (C) 1998-2001 Michael Meeks
13 * (C) 2002-2005 Jody Goldberg
15 #include "ms-excel-read.h"
16 #include "ms-container.h"
18 #include <sheet-object.h>
21 MSEP_LOCKROTATION
= 0x0077,
22 MSEP_LOCKASPECTRATIO
= 0x0078,
23 MSEP_LOCKPOSITION
= 0x0079,
24 MSEP_LOCKAGAINSTSELECT
= 0x007a,
25 MSEP_LOCKCROPPING
= 0x007b,
26 MSEP_LOCKVERTICES
= 0x007c,
27 MSEP_LOCKTEXT
= 0x007d,
28 MSEP_LOCKADJUSTHANDLES
= 0x007e,
29 MSEP_LOCKAGAINSTGROUPING
= 0x007f,
31 MSEP_WRAPTEXT
= 0x0085,
33 MSEP_SELECTTEXT
= 0x00bb,
34 MSEP_AUTOTEXTMARGIN
= 0x00bc,
35 MSEP_FITTEXTTOSHAPE
= 0x00bf,
36 MSEP_BLIPINDEX
= 0x0104,
37 MSEP_SHAPEPATH
= 0x0144,
38 MSEP_SHADOWOK
= 0x017a,
41 MSEP_FILLTYPE
= 0x0180,
42 MSEP_FILLCOLOR
= 0x0181,
43 MSEP_FILLBACKCOLOR
= 0x0183,
45 MSEP_NOFILLHITTEST
= 0x01bf,
46 MSEP_LINECOLOR
= 0x01c0,
47 MSEP_LINEWIDTH
= 0x01cb,
48 MSEP_LINEDASHING
= 0x01ce,
49 MSEP_LINESTARTARROWHEAD
= 0x01d0,
50 MSEP_LINEENDARROWHEAD
= 0x01d1,
51 MSEP_LINESTARTARROWWIDTH
= 0x01d2,
52 MSEP_LINESTARTARROWLENGTH
= 0x01d3,
53 MSEP_LINEENDARROWWIDTH
= 0x01d4,
54 MSEP_LINEENDARROWLENGTH
= 0x01d5,
55 MSEP_ARROWHEADSOK
= 0x01fb,
57 MSEP_NOLINEDRAWDASH
= 0x01ff,
58 MSEP_SHADOWOBSCURED
= 0x023f,
60 MSEP_ISBUTTON
= 0x03bc
63 GOLineDashType
ms_escher_xl_to_line_type (guint16 pattern
);
64 int ms_escher_line_type_to_xl (GOLineDashType ld
);
67 struct _MSEscherBlip
{
74 MSObjAttrBag
*ms_escher_parse (BiffQuery
*q
, MSContainer
*container
,
75 gboolean return_attrs
);
77 void ms_escher_blip_free (MSEscherBlip
*blip
);
79 /******************************************************/
81 guint
ms_escher_get_inst (GString
*buf
, gsize marker
);
82 void ms_escher_set_inst (GString
*buf
, gsize marker
, guint inst
);
84 gsize
ms_escher_spcontainer_start (GString
*buf
);
85 void ms_escher_spcontainer_end (GString
*buf
, gsize marker
);
87 void ms_escher_sp (GString
*buf
, guint32 spid
, guint16 shape
, guint32 flags
);
89 gsize
ms_escher_opt_start (GString
*buf
);
90 void ms_escher_opt_add_simple (GString
*buf
, gsize marker
,
91 guint16 pid
, gint32 val
);
92 void ms_escher_opt_add_bool (GString
*buf
, gsize marker
,
93 guint16 pid
, gboolean b
);
94 void ms_escher_opt_add_color (GString
*buf
, gsize marker
,
95 guint16 pid
, GOColor c
);
96 void ms_escher_opt_add_str_wchar (GString
*buf
, gsize marker
, GString
*extra
,
97 guint16 pid
, const char *str
);
98 void ms_escher_opt_end (GString
*buf
, gsize marker
);
100 void ms_escher_clientanchor (GString
*buf
, SheetObjectAnchor
const *anchor
);
102 void ms_escher_clientdata (GString
*buf
);
104 /******************************************************/
106 #endif /* GNM_MS_OFFICE_ESCHER_H */