mirror of
https://gitlab.gnome.org/GNOME/gimp.git
synced 2025-07-03 17:33:25 +00:00

This commit also makes snap to grid and snap to vectors work off-canvas. Since we now have off-canvas viewing, it just makes sense that snapping would work there too. Note that I disable snap to grid when "Show All" is OFF. I am actually unsure this is right (as "Show All" is a view action, and we usually don't change behavior based on view actions; for instance snap to guides are not disabled if guides are hidden). Yet I noticed we do this in various other features when off-canvas. We kind of use this view flag as a switch for features working off-canvas (for instance, color picking works off-canvas only when "Show All" is ON). So let's keep the same logics for now at least. Snap to guide or snap to vectors will always work though, because guides and vectors are always visible off-canvas (even when "Show All" is OFF). They always have been (visible, not snappable off-canvas; now they are both).
63 lines
3.1 KiB
C
63 lines
3.1 KiB
C
/* GIMP - The GNU Image Manipulation Program
|
|
* Copyright (C) 1995 Spencer Kimball and Peter Mattisbvf
|
|
*
|
|
* 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 3 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, see <https://www.gnu.org/licenses/>.
|
|
*/
|
|
|
|
#ifndef __GIMP_IMAGE_SNAP_H__
|
|
#define __GIMP_IMAGE_SNAP_H__
|
|
|
|
|
|
gboolean gimp_image_snap_x (GimpImage *image,
|
|
gdouble x,
|
|
gdouble *tx,
|
|
gdouble epsilon_x,
|
|
gboolean snap_to_guides,
|
|
gboolean snap_to_grid,
|
|
gboolean snap_to_canvas);
|
|
gboolean gimp_image_snap_y (GimpImage *image,
|
|
gdouble y,
|
|
gdouble *ty,
|
|
gdouble epsilon_y,
|
|
gboolean snap_to_guides,
|
|
gboolean snap_to_grid,
|
|
gboolean snap_to_canvas);
|
|
gboolean gimp_image_snap_point (GimpImage *image,
|
|
gdouble x,
|
|
gdouble y,
|
|
gdouble *tx,
|
|
gdouble *ty,
|
|
gdouble epsilon_x,
|
|
gdouble epsilon_y,
|
|
gboolean snap_to_guides,
|
|
gboolean snap_to_grid,
|
|
gboolean snap_to_canvas,
|
|
gboolean snap_to_vectors,
|
|
gboolean show_all);
|
|
gboolean gimp_image_snap_rectangle (GimpImage *image,
|
|
gdouble x1,
|
|
gdouble y1,
|
|
gdouble x2,
|
|
gdouble y2,
|
|
gdouble *tx1,
|
|
gdouble *ty1,
|
|
gdouble epsilon_x,
|
|
gdouble epsilon_y,
|
|
gboolean snap_to_guides,
|
|
gboolean snap_to_grid,
|
|
gboolean snap_to_canvas,
|
|
gboolean snap_to_vectors);
|
|
|
|
|
|
#endif /* __GIMP_IMAGE_SNAP_H__ */
|