This file is indexed.

/usr/include/libgoffice-0.10/goffice/utils/go-style.h is in libgoffice-0.10-dev 0.10.39-1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
/*
 * go-style.h :
 *
 * Copyright (C) 2003-2004 Jody Goldberg (jody@gnome.org)
 *
 * This program is free software; you can redistribute it and/or
 * modify it under the terms of the GNU General Public License as
 * published by the Free Software Foundation; either version 2 of the
 * License, or (at your option) version 3.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301
 * USA
 */
#ifndef GO_UTILS_STYLE_H
#define GO_UTILS_STYLE_H

#include <goffice/goffice.h>
#include <goffice/utils/go-editor.h>

G_BEGIN_DECLS

#define GO_TYPE_STYLE	(go_style_get_type ())
#define GO_STYLE(o)	(G_TYPE_CHECK_INSTANCE_CAST ((o), GO_TYPE_STYLE, GOStyle))
#define GO_IS_STYLE(o)	(G_TYPE_CHECK_INSTANCE_TYPE ((o), GO_TYPE_STYLE))

GType go_style_get_type (void);

typedef enum {
	GO_STYLE_OUTLINE	= 1 << 0,
	GO_STYLE_FILL		= 1 << 1,
	GO_STYLE_LINE		= 1 << 2,
	GO_STYLE_MARKER	= 1 << 3,
	GO_STYLE_FONT		= 1 << 4,
	GO_STYLE_TEXT_LAYOUT	= 1 << 5,
	GO_STYLE_INTERPOLATION	= 1 << 6,
	GO_STYLE_MARKER_NO_COLOR	= 1 << 7,
	GO_STYLE_ALL		= 0x1F
} GOStyleFlag;

typedef enum {
	GO_STYLE_FILL_NONE	= 0,
	GO_STYLE_FILL_PATTERN	= 1,
	GO_STYLE_FILL_GRADIENT	= 2,
	GO_STYLE_FILL_IMAGE	= 3
} GOStyleFill;

typedef enum {
	GO_IMAGE_STRETCHED,
	GO_IMAGE_WALLPAPER,
	GO_IMAGE_CENTERED,
	GO_IMAGE_CENTERED_WALLPAPER
} GOImageType;

typedef struct {
	/* <0 == no outline,
	 * =0 == hairline : unscaled, minimum useful (can be bigger than visible) size.
	 * >0 in pts */
	double	 	 width;
	GOLineDashType 	 dash_type;
	gboolean	 auto_dash;
	GOColor	 	 color; /* color is used as background for compatibility
						(pattern == 0 means filled with background color) */
	GOColor	 	 fore;
	gboolean 	 auto_color;
	gboolean 	 auto_fore;
	gboolean 	 auto_width;
	GOPatternType	 pattern;
	cairo_line_cap_t cap;
	cairo_line_join_t join;
	double		 miter_limit;
} GOStyleLine;

typedef struct {
	GOMarker *mark;
	gboolean auto_shape;
	gboolean auto_outline_color;
	gboolean auto_fill_color;
} GOStyleMark;

struct _GOStyle {
	GObject	base;

	GOStyleFlag	interesting_fields;
	GOStyleFlag	disable_theming;

	GOStyleLine	line;
	struct {
		GOStyleFill	type;
		gboolean	auto_type;
		gboolean	auto_fore, auto_back;	/* share between pattern and gradient */
		gboolean		auto_pattern;
		gboolean	invert_if_negative;	/* placeholder for XL */

		/* This could all be a union but why bother ? */
		GOPattern pattern;
		struct _GOStyleGradient {
			GOGradientDirection dir;
			double brightness; /* < 0 => 2 color */
			gboolean auto_dir;
			gboolean auto_brightness;
		} gradient;
		struct _GOStyleImage {
			GOImageType	 type;
			GOImage	 *image;
		} image;
	} fill;
	GOStyleMark marker;
	struct {
		GOColor		 color;
		GOFont const 	*font;
		gboolean 	 auto_scale;
		gboolean	 auto_color;
		gboolean	 auto_font;
	} font;
	struct {
		double		 angle;
		gboolean	 auto_angle;
	} text_layout;
};

GOStyle  *go_style_new			(void);
GOStyle  *go_style_dup			(GOStyle const *style);
void	   go_style_assign		(GOStyle *dst, GOStyle const *src);
void	   go_style_apply_theme		(GOStyle *dst, GOStyle const *src,
					 GOStyleFlag fields);

GOMarker const *go_style_get_marker 	(GOStyle const *style);
void            go_style_set_marker 	(GOStyle *style, GOMarker *marker);

void	   go_style_set_font_desc	(GOStyle *style,
					 PangoFontDescription *desc);
void	   go_style_set_font		(GOStyle *style, GOFont const *font);
void	   go_style_set_fill_brightness	(GOStyle *style, double brightness);
void	   go_style_set_text_angle     	(GOStyle *style, double angle);

gboolean   go_style_is_different_size	(GOStyle const *a, GOStyle const *b);
gboolean   go_style_is_marker_visible	(GOStyle const *style);
gboolean   go_style_is_line_visible	(GOStyle const *style);
gboolean   go_style_is_outline_visible	(GOStyle const *style);
gboolean   go_style_is_fill_visible	(GOStyle const *style);
void	   go_style_force_auto		(GOStyle *style);
void	   go_style_clear_auto		(GOStyle *style);
gboolean   go_style_is_auto		(GOStyle *style);

#ifdef GOFFICE_WITH_GTK
void 	   go_style_populate_editor 	(GOStyle *style,
					 GOEditor *editor,
					 GOStyle *default_style,
					 GOCmdContext *cc,
					 GObject *object_with_style,
					 gboolean watch_for_external_change);
gpointer   go_style_get_editor	     	(GOStyle *style,
					 GOStyle *default_style,
					 GOCmdContext *cc,
					 GObject *object_with_style);
#endif

void     go_style_fill			(GOStyle const *style, cairo_t *cr,
			                 gboolean preserve);
gboolean go_style_set_cairo_line (GOStyle const *style, cairo_t *cr);

G_END_DECLS

#endif /* GO_UTILS_STYLE_H */