mirror of
https://gitlab.gnome.org/GNOME/gimp
synced 2024-10-21 03:52:33 +00:00
e789291fa5
Sat May 1 22:18:55 BST 1999 Austin Donnelly <austin@gimp.org> * app/brush_select.c * app/brush_select.h * app/pattern_select.c * app/pattern_select.h: delay the popup of pattern and brush preview window by 150 millisecs. Allows flicker-free selection of brushes/patterns, and still have fast pattern preview like we used to. Ideally, should really factor out the common code in these two files into one generic picker widget. * app/free_select.c: cosmetic whitespace change. * app/draw_core.c: use GDK_CAP_NOT_LAST, not GDK_CAP_BUTT, otherwise sequential line segments in XOR mode have single-pixel gaps between them. Worse, if the segments are only one pixel long, you don't get _any_ lines. XFree86 seems to ignore GDK_CAP_BUTT, which is why this bug hasn't been seen before. NCD X servers comply with the spec a little more pedantically, so need GDK_CAP_NOT_LAST. OS/2 and Win32 people should check that (eg) the lasso tool still provides proper visual feedback.
67 lines
2 KiB
C
67 lines
2 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 __PATTERN_SELECT_H__
|
|
#define __PATTERN_SELECT_H__
|
|
|
|
#include <gtk/gtk.h>
|
|
#include "patterns.h"
|
|
|
|
typedef struct _PatternSelect _PatternSelect, *PatternSelectP;
|
|
|
|
struct _PatternSelect {
|
|
GtkWidget *shell;
|
|
|
|
/* The preview and it's vscale data */
|
|
GtkWidget *preview;
|
|
GdkGC *gc;
|
|
GtkAdjustment *sbar_data;
|
|
|
|
GtkWidget *options_box;
|
|
GtkWidget *pattern_name;
|
|
GtkWidget *pattern_size;
|
|
|
|
/* Pattern popup */
|
|
GtkWidget *pattern_popup;
|
|
GtkWidget *pattern_preview;
|
|
guint popup_timeout_tag;
|
|
|
|
/* Call back function name */
|
|
gchar * callback_name;
|
|
|
|
/* Current pattern */
|
|
GPatternP pattern;
|
|
|
|
/* Some variables to keep the GUI consistent */
|
|
int cell_width, cell_height;
|
|
int scroll_offset;
|
|
gint old_row;
|
|
gint old_col;
|
|
gint NUM_PATTERN_COLUMNS;
|
|
gint NUM_PATTERN_ROWS;
|
|
};
|
|
|
|
PatternSelectP pattern_select_new (gchar *,gchar *);
|
|
void pattern_select_select (PatternSelectP, int);
|
|
void pattern_select_free (PatternSelectP);
|
|
void patterns_check_dialogs(void);
|
|
|
|
extern GSList *pattern_active_dialogs; /* List of active dialogs */
|
|
extern PatternSelectP pattern_select_dialog;
|
|
|
|
#endif /* __PATTERN_SELECT_H__ */
|