This file is indexed.

/usr/include/gwyddion/libdraw/gwyselection.h is in libgwyddion20-dev 2.50-2.

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
/*
 *  $Id: gwyselection.h 20678 2017-12-18 18:26:55Z yeti-dn $
 *  Copyright (C) 2003 David Necas (Yeti), Petr Klapetek.
 *  E-mail: yeti@gwyddion.net, klapetek@gwyddion.net.
 *
 *  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) any later version.
 *
 *  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 Street, Fifth Floor,
 *  Boston, MA 02110-1301, USA.
 */

#ifndef __GWY_SELECTION_H__
#define __GWY_SELECTION_H__

#include <glib-object.h>

G_BEGIN_DECLS

#define GWY_TYPE_SELECTION                  (gwy_selection_get_type())
#define GWY_SELECTION(obj)                  (G_TYPE_CHECK_INSTANCE_CAST((obj), GWY_TYPE_SELECTION, GwySelection))
#define GWY_SELECTION_CLASS(klass)          (G_TYPE_CHECK_CLASS_CAST((klass), GWY_TYPE_SELECTION, GwySelectionClass))
#define GWY_IS_SELECTION(obj)               (G_TYPE_CHECK_INSTANCE_TYPE((obj), GWY_TYPE_SELECTION))
#define GWY_IS_SELECTION_CLASS(klass)       (G_TYPE_CHECK_CLASS_TYPE((klass), GWY_TYPE_SELECTION))
#define GWY_SELECTION_GET_CLASS(obj)        (G_TYPE_INSTANCE_GET_CLASS((obj), GWY_TYPE_SELECTION, GwySelectionClass))

typedef struct _GwySelection      GwySelection;
typedef struct _GwySelectionClass GwySelectionClass;

struct _GwySelection {
    GObject parent_instance;

    /* Unfortunately, gtk-doc is broken and refuses to display the fields
     * even when marked public. */
    /*< public >*/
    GArray *objects;
    guint n;

    /*< private >*/
    gpointer reserved1;
    gpointer reserved2;
    gint int1;
};

struct _GwySelectionClass {
    GObjectClass parent_class;

    guint object_size;

    /* Virtual table */
    void (*clear)(GwySelection *selection);
    gboolean(*get_object)(GwySelection *selection,
                          gint i,
                          gdouble *data);
    gint (*set_object)(GwySelection *selection,
                       gint i,
                       const gdouble *data);
    void (*delete_object)(GwySelection *selection,
                          gint i);
    gint (*get_data)(GwySelection *selection,
                     gdouble *data);
    void (*set_data)(GwySelection *selection,
                     gint nselected,
                     const gdouble *data);
    void (*set_max_objects)(GwySelection *selection,
                            guint max_objects);
    /* TODO: maybe geometrical methods: clamp, scale */
    void (*crop)(GwySelection *selection,
                 gdouble xmin, gdouble ymin,
                 gdouble xmax, gdouble ymax);
    void (*move)(GwySelection *selection,
                 gdouble xv, gdouble vy);
    void (*reserved3)(void);
    void (*reserved4)(void);
    void (*reserved5)(void);
    void (*reserved6)(void);

    /* Signals */
    void (*changed)(GwySelection *selection,
                    gint i);
    void (*finished)(GwySelection *selection);
};

typedef gboolean (*GwySelectionFilterFunc)(GwySelection *selection,
                                           gint i,
                                           gpointer data);

#define gwy_selection_duplicate(selection) \
        (GWY_SELECTION(gwy_serializable_duplicate(G_OBJECT(selection))))

GType    gwy_selection_get_type       (void) G_GNUC_CONST;
guint    gwy_selection_get_object_size(GwySelection *selection);
void     gwy_selection_clear          (GwySelection *selection);
gboolean gwy_selection_get_object     (GwySelection *selection,
                                       gint i,
                                       gdouble *data);
gint     gwy_selection_set_object     (GwySelection *selection,
                                       gint i,
                                       const gdouble *data);
void     gwy_selection_delete_object  (GwySelection *selection,
                                       gint i);
gint     gwy_selection_get_data       (GwySelection *selection,
                                       gdouble *data);
void     gwy_selection_set_data       (GwySelection *selection,
                                       gint nselected,
                                       const gdouble *data);
guint    gwy_selection_get_max_objects(GwySelection *selection);
void     gwy_selection_set_max_objects(GwySelection *selection,
                                       guint max_objects);
gboolean gwy_selection_is_full        (GwySelection *selection);
void     gwy_selection_crop           (GwySelection *selection,
                                       gdouble xmin,
                                       gdouble ymin,
                                       gdouble xmax,
                                       gdouble ymax);
void     gwy_selection_move           (GwySelection *selection,
                                       gdouble vx,
                                       gdouble vy);
void     gwy_selection_filter         (GwySelection *selection,
                                       GwySelectionFilterFunc filter,
                                       gpointer data);
void     gwy_selection_changed        (GwySelection *selection,
                                       gint i);
void     gwy_selection_finished       (GwySelection *selection);

G_END_DECLS

#endif /*__GWY_SELECTION_H__*/

/* vim: set cin et ts=4 sw=4 cino=>1s,e0,n0,f0,{0,}0,^0,\:1s,=0,g1s,h0,t0,+1s,c3,(0,u0 : */