Shutdown: help the style leak printer out a bit.
[gnumeric.git] / plugins / excel / ms-escher.h
blob0c980f7ad321f7e9c612fc02dd07fddefb2dde9a
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
5 /**
6 * ms-escher.h: MS Office drawing layer support
8 * Authors:
9 * Jody Goldberg (jody@gnome.org)
10 * Michael Meeks (michael@ximian.com)
12 * (C) 1998-2001 Michael Meeks
13 * (C) 2002-2005 Jody Goldberg
14 **/
15 #include "ms-excel-read.h"
16 #include "ms-container.h"
17 #include "ms-obj.h"
18 #include <sheet-object.h>
20 enum {
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,
30 MSEP_TXID = 0x0080,
31 MSEP_WRAPTEXT = 0x0085,
32 MSEP_TXDIR = 0x008b,
33 MSEP_SELECTTEXT = 0x00bb,
34 MSEP_AUTOTEXTMARGIN = 0x00bc,
35 MSEP_FITTEXTTOSHAPE = 0x00bf,
36 MSEP_BLIPINDEX = 0x0104,
37 MSEP_SHAPEPATH = 0x0144,
38 MSEP_SHADOWOK = 0x017a,
39 MSEP_LINEOK = 0x017c,
40 MSEP_FILLOK = 0x017f,
41 MSEP_FILLTYPE = 0x0180,
42 MSEP_FILLCOLOR = 0x0181,
43 MSEP_FILLBACKCOLOR = 0x0183,
44 MSEP_FILLED = 0x01bb,
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,
56 MSEP_LINE = 0x01fc,
57 MSEP_NOLINEDRAWDASH = 0x01ff,
58 MSEP_SHADOWOBSCURED = 0x023f,
59 MSEP_NAME = 0x0380,
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 {
68 char const *type;
69 guint8 *data;
70 guint32 data_len;
71 gboolean needs_free;
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 */