/usr/include/gwyddion/libgwydgets/gwyruler.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 | /*
* $Id: gwyruler.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.
*/
/* GTK - The GIMP Toolkit
* Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library 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
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the
* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
* Boston, MA 02110-1301, USA.
*/
/*
* Modified by the GTK+ Team and others 1997-2000. See the AUTHORS
* file for a list of people on the GTK+ Team. See the ChangeLog
* files for a list of changes. These files are distributed with
* GTK+ at ftp://ftp.gtk.org/pub/gtk/.
*/
/*
* GwyRuler is based on GtkRuler (instead of subclassing) since GtkRuler
* can be subject of removal from Gtk+ in some unspecified point in the future.
*/
#ifndef __GWY_RULER_H__
#define __GWY_RULER_H__
#include <gdk/gdk.h>
#include <gtk/gtkwidget.h>
#include <libgwyddion/gwysiunit.h>
#include <libgwydgets/gwydgetenums.h>
G_BEGIN_DECLS
#define GWY_TYPE_RULER (gwy_ruler_get_type())
#define GWY_RULER(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), GWY_TYPE_RULER, GwyRuler))
#define GWY_RULER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), GWY_TYPE_RULER, GwyRulerClass))
#define GWY_IS_RULER(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), GWY_TYPE_RULER))
#define GWY_IS_RULER_CLASS(klass)(G_TYPE_CHECK_CLASS_TYPE((klass), GWY_TYPE_RULER))
#define GWY_RULER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), GWY_TYPE_RULER, GwyRulerClass))
typedef struct _GwyRuler GwyRuler;
typedef struct _GwyRulerClass GwyRulerClass;
struct _GwyRuler {
GtkWidget widget;
PangoLayout *layout;
GdkPixmap *backing_store;
GdkGC *non_gr_exp_gc;
gint xsrc, ysrc;
gint hthickness, vthickness, height, pixelsize;
GwySIUnit *units;
GwyUnitsPlacement units_placement;
gdouble lower; /* The upper limit of the ruler (in physical units) */
gdouble upper; /* The lower limit of the ruler */
gdouble position; /* The position of the mark on the ruler */
gdouble max_size; /* The maximum size of the ruler */
GwySIValueFormat *vformat;
gpointer reserved2;
};
struct _GwyRulerClass {
GtkWidgetClass parent_class;
/* Virtual methods */
void (*prepare_sizes) (GwyRuler *ruler);
void (*draw_frame) (GwyRuler *ruler);
void (*draw_layout) (GwyRuler *ruler,
gint hpos,
gint vpos);
void (*draw_tick) (GwyRuler *ruler,
gint pos,
gint length);
void (*draw_pos) (GwyRuler *ruler);
void (*reserved1)(void);
void (*reserved2)(void);
};
GType gwy_ruler_get_type (void) G_GNUC_CONST;
void gwy_ruler_set_range (GwyRuler *ruler,
gdouble lower,
gdouble upper,
gdouble position,
gdouble max_size);
void gwy_ruler_draw_pos (GwyRuler *ruler);
void gwy_ruler_get_range (GwyRuler *ruler,
gdouble *lower,
gdouble *upper,
gdouble *position,
gdouble *max_size);
void gwy_ruler_set_si_unit (GwyRuler *ruler,
GwySIUnit *units);
GwySIUnit* gwy_ruler_get_si_unit (GwyRuler *ruler);
GwyUnitsPlacement gwy_ruler_get_units_placement (GwyRuler *ruler);
void gwy_ruler_set_units_placement (GwyRuler *ruler,
GwyUnitsPlacement placement);
G_END_DECLS
#endif /* __GWY_RULER_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 : */
|