/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 : */
|