mirror of
https://gitlab.gnome.org/GNOME/gimp
synced 2024-10-21 03:52:33 +00:00
2252863eb6
Fri Mar 5 21:45:39 GMT 1999 Andy Thomas <alt@picnic.demon.co.uk> This is a bit of a biggy. Added paths to layers & channels dialog. This is not complete yet (it still has some rough edges ;-) New:- * paths_dialog.c * paths_dialog.h * pathsP.h These are the core parts of the paths dialog & interaction. * tools/penadd.xpm * tools/pendel.xpm * tools/pennorm.xpm * tools/penedit.xpm * tools/penstroke.xpm New images found in the dialog. Maybe someone with a better artistic flair could replace these? Changed:- * Makefile.am Added new files for build * layers_dialog.c Added new tab for paths. * bezier_select.h * bezier_selectP.h * bezier_select.c Rearrangement & fixes. Not finished yet. * iscissors.c Header file changes. (Need to include more headers). * gdisplay.c * gdisplay.h Hmmm... Added a function that did a mapping from gimage to gdisp. This is a little bit of a "hack", but it was needed.. really. * ops_buttons.h * ops_buttons.c Enhanced to create more types of button ops. Used in the paths dialog. * channels_dialog.c Header file changes? * xcf.c Paths stored in new PROP. Yosh.. I did as you and Adam suggested. * gimpimage.c * gimpimage.h * gimpimageP.h Added paths items to the image structures.
60 lines
2.1 KiB
C
60 lines
2.1 KiB
C
/* The GIMP -- an image manipulation program
|
|
* Copyright (C) 1999 Andy Thomas alt@picnic.demon.co.uk
|
|
*
|
|
* 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 __PATHSP_H__
|
|
#define __PATHSP_H__
|
|
|
|
/* Cutdown representation of the bezier curve description */
|
|
/* Will be used to hopefully store in XCF format...
|
|
*/
|
|
|
|
typedef struct {
|
|
gint type;
|
|
gint x;
|
|
gint y;
|
|
} BZPOINT, *BZPOINTP;
|
|
|
|
typedef struct {
|
|
GSList * bezier_details;
|
|
gboolean closed;
|
|
gint state;
|
|
gint locked; /* Only bottom bit used */
|
|
GString * name;
|
|
} BZPATH, *BZPATHP;
|
|
|
|
typedef struct {
|
|
GimpImage * gimage;
|
|
GDisplay * gdisp; /* This is a hack.. Needed so we can get back to
|
|
* the same display that these curves were added
|
|
* too. That way when an entry in the paths dialog
|
|
* is clicked the bezier tool can be targeted at
|
|
* correct display. Note this display could have been
|
|
* deleted (ie different view), but gdisplays_check_valid()
|
|
* function will take care of that.. In this case we just
|
|
* pick a display that the gimage is rendered in.
|
|
*/
|
|
GSList * bz_paths; /* list of BZPATHP */
|
|
guint sig_id;
|
|
gint last_selected_row;
|
|
} PATHIMAGELIST, *PATHIMAGELISTP, PathsList;
|
|
|
|
BZPOINTP bzpoint_new(gint,gint,gint);
|
|
BZPATHP bzpath_new(GSList *,gint,gint,gint,gchar *);
|
|
PathsList * pathsList_new(GimpImage *,gint,GSList *);
|
|
|
|
#endif /* __PATHSP_H__ */
|