62 lines
		
	
	
		
			4.0 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
		
		
			
		
	
	
			62 lines
		
	
	
		
			4.0 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| 
								 | 
							
								/* PIKA - Photo and Image Kooker Application
							 | 
						||
| 
								 | 
							
								 * a rebranding of The GNU Image Manipulation Program (created with heckimp)
							 | 
						||
| 
								 | 
							
								 * A derived work which may be trivial. However, any changes may be (C)2023 by Aldercone Studio
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Original copyright, applying to most contents (license remains unchanged): 
							 | 
						||
| 
								 | 
							
								 * 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 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  __PIKA_DRAWABLE_GRADIENT_H__
							 | 
						||
| 
								 | 
							
								#define  __PIKA_DRAWABLE_GRADIENT_H__
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								void         pika_drawable_gradient                    (PikaDrawable                *drawable,
							 | 
						||
| 
								 | 
							
								                                                        PikaContext                 *context,
							 | 
						||
| 
								 | 
							
								                                                        PikaGradient                *gradient,
							 | 
						||
| 
								 | 
							
								                                                        GeglDistanceMetric           metric,
							 | 
						||
| 
								 | 
							
								                                                        PikaLayerMode                paint_mode,
							 | 
						||
| 
								 | 
							
								                                                        PikaGradientType             gradient_type,
							 | 
						||
| 
								 | 
							
								                                                        gdouble                      opacity,
							 | 
						||
| 
								 | 
							
								                                                        gdouble                      offset,
							 | 
						||
| 
								 | 
							
								                                                        PikaRepeatMode               repeat,
							 | 
						||
| 
								 | 
							
								                                                        gboolean                     reverse,
							 | 
						||
| 
								 | 
							
								                                                        PikaGradientBlendColorSpace  blend_color_space,
							 | 
						||
| 
								 | 
							
								                                                        gboolean                     supersample,
							 | 
						||
| 
								 | 
							
								                                                        gint                         max_depth,
							 | 
						||
| 
								 | 
							
								                                                        gdouble                      threshold,
							 | 
						||
| 
								 | 
							
								                                                        gboolean                     dither,
							 | 
						||
| 
								 | 
							
								                                                        gdouble                      startx,
							 | 
						||
| 
								 | 
							
								                                                        gdouble                      starty,
							 | 
						||
| 
								 | 
							
								                                                        gdouble                      endx,
							 | 
						||
| 
								 | 
							
								                                                        gdouble                      endy,
							 | 
						||
| 
								 | 
							
								                                                        PikaProgress                *progress);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								GeglBuffer * pika_drawable_gradient_shapeburst_distmap (PikaDrawable                *drawable,
							 | 
						||
| 
								 | 
							
								                                                        GeglDistanceMetric           metric,
							 | 
						||
| 
								 | 
							
								                                                        const GeglRectangle         *region,
							 | 
						||
| 
								 | 
							
								                                                        PikaProgress                *progress);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								void         pika_drawable_gradient_adjust_coords      (PikaDrawable                *drawable,
							 | 
						||
| 
								 | 
							
								                                                        PikaGradientType             gradient_type,
							 | 
						||
| 
								 | 
							
								                                                        const GeglRectangle         *region,
							 | 
						||
| 
								 | 
							
								                                                        gdouble                     *startx,
							 | 
						||
| 
								 | 
							
								                                                        gdouble                     *starty,
							 | 
						||
| 
								 | 
							
								                                                        gdouble                     *endx,
							 | 
						||
| 
								 | 
							
								                                                        gdouble                     *endy);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#endif /* __PIKA_DRAWABLE_GRADIENT_H__ */
							 |