mirror of
https://gitlab.gnome.org/GNOME/gimp
synced 2024-10-23 04:51:44 +00:00
4ba6db4e94
2001-12-03 Sven Neumann <sven@gimp.org> Michael Natterer <mitch@gimp.org> * app/paint-funcs/paint-funcs-mmx.h: removed redefiniton of HAS_ALPHA macro. * app/core/gimp.c: reverted Daniel's change; it doesn't make the code simpler, only more error-prone. * app/gui/info-dialog.h * app/gui/resize-dialog.h * app/core/gimp.h * app/core/gimpbrushgenerated.h * app/core/gimpbrushpipe.h * app/core/gimpchannel.[ch] * app/core/gimpcontainer.h * app/core/gimpcoreconfig.h * app/core/gimpdata.h * app/core/gimpdatafactory.[ch] * app/core/gimpdrawable-blend.c * app/core/gimpdrawable.[ch] * app/core/gimpimage.h * app/core/gimpimagefile.h * app/core/gimplayer.h * app/core/gimplayermask.h * app/core/gimpmoduleinfo.h * app/core/gimppalette.h * app/core/gimpundo.h * app/widgets/gimpbrushfactoryview.h * app/widgets/gimpconstrainedhwrapbox.h * app/widgets/gimpcontainermenu.h * app/widgets/gimpcontainerview.h * app/widgets/gimpdialogfactory.h * app/widgets/gimpimagedock.h * app/widgets/gimplistitem.h * app/widgets/gimpmenuitem.h * app/widgets/gimpnavigationpreview.h * app/widgets/gimppreview.h * app/gimprc.h * app/pathP.h * app/tools/gimpbezierselecttool.h * app/tools/gimpcolorbalancetool.h * app/tools/gimpcurvestool.h * app/tools/gimpdodgeburntool.c * app/tools/gimpfreeselecttool.h * app/tools/gimphuesaturationtool.h * app/tools/gimpinktool-blob.h * app/tools/gimpinktool.h * app/tools/gimpiscissorstool.h * app/tools/gimpmagnifytool.h * app/tools/gimpmeasuretool.h * app/tools/gimppainttool.h * app/tools/gimppathtool.h * app/tools/gimprectselecttool.h * app/tools/gimpthresholdtool.h * app/tools/gimptool.h * app/tools/gimptransformtool.h * app/base/base-config.h * app/base/gimplut.[ch] * app/base/pixel-region.h * app/base/pixel-surround.[ch] * app/base/temp-buf.[ch] * app/base/tile-manager-private.h * app/base/tile-manager.[ch] * app/base/tile-private.h * app/base/tile.[ch] * app/display/gimpdisplay.h * app/display/gimpdisplayshell-selection.h * app/display/gimpdisplayshell.h * app/gui/brush-select.h * app/gui/gradient-editor.h * app/gui/gradient-select.h: reverted most of Daniel's changes. There's no reason to use unsigned integers here and in lots of places it is even wrong. Then it's way too early to convert gbooleans into bitfields. This change may make sense in a few places but can happen later when the API has settled and the code is more stable. * app/gimprc.c: reverted Daniel's change. This is a GCC-ism and this code is about to die soon anyway.
81 lines
4.4 KiB
C
81 lines
4.4 KiB
C
/* The GIMP -- an image manipulation program
|
|
* Copyright (C) 1995 Spencer Kimball and Peter Mattis
|
|
*
|
|
* 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|
*/
|
|
|
|
#ifndef __GIMP_DISPLAY_SHELL_SELECTION_H__
|
|
#define __GIMP_DISPLAY_SHELL_SELECTION_H__
|
|
|
|
|
|
struct _Selection
|
|
{
|
|
/* This information is for maintaining the selection's appearance */
|
|
GdkWindow *win; /* Window to draw to */
|
|
GimpDisplayShell *shell; /* GimpDisplay that owns the selection */
|
|
GdkGC *gc_in; /* GC for drawing selection outline */
|
|
GdkGC *gc_out; /* GC for selected regions outside
|
|
* current layer */
|
|
GdkGC *gc_layer; /* GC for current layer outline */
|
|
|
|
/* This information is for drawing the marching ants around the border */
|
|
GdkSegment *segs_in; /* gdk segments of area boundary */
|
|
GdkSegment *segs_out; /* gdk segments of area boundary */
|
|
GdkSegment *segs_layer; /* gdk segments of area boundary */
|
|
gint num_segs_in; /* number of segments in segs1 */
|
|
gint num_segs_out; /* number of segments in segs2 */
|
|
gint num_segs_layer; /* number of segments in segs3 */
|
|
gint index_in; /* index of current stipple pattern */
|
|
gint index_out; /* index of current stipple pattern */
|
|
gint index_layer; /* index of current stipple pattern */
|
|
gint state; /* internal drawing state */
|
|
gint paused; /* count of pause requests */
|
|
gboolean recalc; /* flag to recalculate the selection */
|
|
gint speed; /* speed of marching ants */
|
|
gboolean hidden; /* is the selection hidden? */
|
|
gboolean layer_hidden; /* is the layer boundary hidden? */
|
|
guint timeout_id; /* timer for successive draws */
|
|
gint cycle; /* color cycling turned on */
|
|
GdkPixmap *cycle_pix; /* cycling pixmap */
|
|
|
|
/* These are used only if USE_XDRAWPOINTS is defined. */
|
|
GdkPoint *points_in[8]; /* points of segs_in for fast ants */
|
|
gint num_points_in[8]; /* number of points in points_in */
|
|
GdkGC *gc_white; /* gc for drawing white points */
|
|
GdkGC *gc_black; /* gc for drawing black points */
|
|
};
|
|
|
|
|
|
Selection * gimp_display_shell_selection_create (GdkWindow *window,
|
|
GimpDisplayShell *gdisp,
|
|
gint size,
|
|
gint width,
|
|
gint speed);
|
|
void gimp_display_shell_selection_free (Selection *select);
|
|
|
|
void gimp_display_shell_selection_pause (Selection *select);
|
|
void gimp_display_shell_selection_resume (Selection *select);
|
|
|
|
void gimp_display_shell_selection_start (Selection *select,
|
|
gboolean recalc);
|
|
void gimp_display_shell_selection_invis (Selection *select);
|
|
void gimp_display_shell_selection_layer_invis (Selection *select);
|
|
|
|
void gimp_display_shell_selection_toggle (Selection *select);
|
|
void gimp_display_shell_selection_toggle_layer (Selection *select);
|
|
|
|
|
|
#endif /* __GIMP_DISPLAY_SHELL_SELECTION_H__ */
|