1 #ifndef _GNM_RENDERED_VALUE_H_
2 # define _GNM_RENDERED_VALUE_H_
5 #include <pango/pango.h>
9 struct _GnmRenderedValue
{
13 int layout_natural_width
, layout_natural_height
;
16 guint16 indent_left
, indent_right
;
18 GOColor go_fore_color
;
20 guint effective_halign
: 8;
21 guint effective_valign
: 5;
22 guint variable_width
: 1; /* result depends on the width of cell */
26 guint might_overflow
: 1; /* Subject to ####### treatment. */
27 guint numeric_overflow
: 1; /* ####### has happened. */
28 guint noborders
: 1; /* Valid for rotated only. */
29 guint drawn
: 1; /* Has drawing layout taken place? */
30 signed int rotation
: 10;
33 struct _GnmRenderedRotatedValue
{
37 struct GnmRenderedRotatedValueInfo
{
42 GnmRenderedValue
*gnm_rendered_value_new (GnmCell
const *cell
,
43 PangoContext
*context
,
44 gboolean variable_width
,
46 void gnm_rendered_value_destroy (GnmRenderedValue
*rv
);
48 void gnm_rendered_value_remeasure (GnmRenderedValue
*rv
);
50 /* Return the value as a single string without format infomation. */
51 char const *gnm_rendered_value_get_text (GnmRenderedValue
const * rv
);
53 GOColor
gnm_rendered_value_get_color (GnmRenderedValue
const * rv
);
55 /* ------------------------------------------------------------------------- */
57 struct _GnmRenderedValueCollection
{
58 PangoContext
*context
;
64 GnmRenderedValueCollection
*gnm_rvc_new (PangoContext
*context
,
66 void gnm_rvc_free (GnmRenderedValueCollection
*rvc
);
67 GnmRenderedValue
*gnm_rvc_query (GnmRenderedValueCollection
*rvc
,
69 void gnm_rvc_store (GnmRenderedValueCollection
*rvc
,
71 GnmRenderedValue
*rv
);
72 void gnm_rvc_remove (GnmRenderedValueCollection
*rvc
,
75 /* ------------------------------------------------------------------------- */
77 void gnm_rendered_value_init (void);
78 void gnm_rendered_value_shutdown (void);
82 #endif /* _GNM_RENDERED_VALUE_H_ */