/* 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 . */ #ifndef __PIKA_BRUSH_PRIVATE_H__ #define __PIKA_BRUSH_PRIVATE_H__ struct _PikaBrushPrivate { PikaTempBuf *mask; /* the actual mask */ PikaTempBuf *blurred_mask; /* blurred actual mask cached */ PikaTempBuf *pixmap; /* optional pixmap data */ PikaTempBuf *blurred_pixmap; /* optional pixmap data blurred cache */ gdouble blur_hardness; gint n_horz_mipmaps; gint n_vert_mipmaps; PikaTempBuf **mask_mipmaps; PikaTempBuf **pixmap_mipmaps; gint spacing; /* brush's spacing */ PikaVector2 x_axis; /* for calculating brush spacing */ PikaVector2 y_axis; /* for calculating brush spacing */ gint use_count; /* for keeping the caches alive */ PikaBrushCache *mask_cache; PikaBrushCache *pixmap_cache; PikaBrushCache *boundary_cache; }; #endif /* __PIKA_BRUSH_PRIVATE_H__ */