adg: provide example on how to customize a style
[adg.git] / src / adg / adg-dim-private.h
blob76db87779ec1855c5fb728285f7022b9bb0ef3c5
1 /* ADG - Automatic Drawing Generation
2 * Copyright (C) 2007-2017 Nicola Fontana <ntd at entidi.it>
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the
16 * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
17 * Boston, MA 02110-1301, USA.
21 #ifndef __ADG_DIM_PRIVATE_H__
22 #define __ADG_DIM_PRIVATE_H__
25 G_BEGIN_DECLS
27 #define _ADG_GET_DIM_STYLE(dim) (((AdgDimPrivate *) ((AdgDim *) (dim))->data)->dim_style)
30 typedef struct _AdgDimPrivate AdgDimPrivate;
31 typedef struct _AdgDimReplaceData AdgDimReplaceData;
33 struct _AdgDimPrivate {
34 AdgDress dim_dress;
35 AdgPoint *ref1;
36 AdgPoint *ref2;
37 AdgPoint *pos;
38 gdouble level;
39 AdgThreeState outside;
40 AdgThreeState detached;
41 gchar *value;
42 gchar *min;
43 gchar *max;
45 AdgDimStyle *dim_style;
47 struct {
48 AdgAlignment *entity;
49 AdgTextual *value;
50 AdgTextual *min;
51 AdgTextual *max;
52 } quote;
55 struct _AdgDimReplaceData {
56 AdgDimStyle *dim_style;
57 gdouble value;
58 const gchar *format;
59 const gchar *argument;
60 AdgThreeState valorized;
61 /* Just for conveniency */
62 GRegex *regex;
65 G_END_DECLS
68 #endif /* __ADG_DIM_PRIVATE_H__ */