gimp/libgimpbase/gimpchecks.h

146 lines
3.5 KiB
C
Raw Normal View History

/* LIBGIMP - The GIMP Library
* Copyright (C) 1995-1997 Peter Mattis and Spencer Kimball
*
* This library is free software: you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 3 of the License, or (at your option) any later version.
*
* This library 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
* Library General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see
* <https://www.gnu.org/licenses/>.
*/
#if !defined (__GIMP_BASE_H_INSIDE__) && !defined (GIMP_BASE_COMPILATION)
#error "Only <libgimpbase/gimpbase.h> can be included directly."
#endif
#ifndef __GIMP_CHECKS_H__
#define __GIMP_CHECKS_H__
G_BEGIN_DECLS
/**
* GIMP_CHECK_SIZE:
*
* The default checkerboard size in pixels. This is configurable in
* the core but GIMP plug-ins can't access the user preference and
* should use this constant instead.
**/
#define GIMP_CHECK_SIZE 8
/**
* GIMP_CHECK_SIZE_SM:
*
* The default small checkerboard size in pixels.
**/
#define GIMP_CHECK_SIZE_SM 4
/**
* GIMP_CHECK_DARK:
*
* The dark gray value for the default checkerboard pattern.
**/
#define GIMP_CHECK_DARK 0.4
/**
* GIMP_CHECK_LIGHT:
*
* The dark light value for the default checkerboard pattern.
**/
#define GIMP_CHECK_LIGHT 0.6
/**
* GIMP_CHECKS_LIGHT_COLOR_DARK:
*
* The dark color for the light checkerboard type.
**/
#define GIMP_CHECKS_LIGHT_COLOR_DARK ((GimpRGB) { 0.8, 0.8, 0.8, 1.0 })
/**
* GIMP_CHECKS_LIGHT_COLOR_LIGHT:
*
* The light color for the light checkerboard type.
**/
#define GIMP_CHECKS_LIGHT_COLOR_LIGHT ((GimpRGB) { 1.0, 1.0, 1.0, 1.0 })
/**
* GIMP_CHECKS_GRAY_COLOR_DARK:
*
* The dark color for the gray checkerboard type.
**/
#define GIMP_CHECKS_GRAY_COLOR_DARK ((GimpRGB) { 0.4, 0.4, 0.4, 1.0 })
/**
* GIMP_CHECKS_GRAY_COLOR_LIGHT:
*
* The light color for the gray checkerboard type.
**/
#define GIMP_CHECKS_GRAY_COLOR_LIGHT ((GimpRGB) { 0.6, 0.6, 0.6, 1.0 })
/**
* GIMP_CHECKS_DARK_COLOR_DARK:
*
* The dark color for the dark checkerboard type.
**/
#define GIMP_CHECKS_DARK_COLOR_DARK ((GimpRGB) { 0.0, 0.0, 0.0, 1.0 })
/**
* GIMP_CHECKS_DARK_COLOR_LIGHT:
*
* The light color for the dark checkerboard type.
**/
#define GIMP_CHECKS_DARK_COLOR_LIGHT ((GimpRGB) { 0.2, 0.2, 0.2, 1.0 })
/**
* GIMP_CHECKS_WHITE_COLOR:
*
* The light/dark color for the white checkerboard type.
**/
#define GIMP_CHECKS_WHITE_COLOR ((GimpRGB) { 1.0, 1.0, 1.0, 1.0 })
/**
* GIMP_CHECKS_GRAY_COLOR:
*
* The light/dark color for the gray checkerboard type.
**/
#define GIMP_CHECKS_GRAY_COLOR ((GimpRGB) { 0.5, 0.5, 0.5, 1.0 })
/**
* GIMP_CHECKS_BLACK_COLOR:
*
* The light/dark color for the black checkerboard type.
**/
#define GIMP_CHECKS_BLACK_COLOR ((GimpRGB) { 0.0, 0.0, 0.0, 1.0 })
/**
* GIMP_CHECKS_CUSTOM_COLOR1:
*
* The default color 1 for the custom checkerboard type.
**/
#define GIMP_CHECKS_CUSTOM_COLOR1 GIMP_CHECKS_GRAY_COLOR_LIGHT
/**
* GIMP_CHECKS_CUSTOM_COLOR2:
*
* The default color 2 for the custom checkerboard type.
**/
#define GIMP_CHECKS_CUSTOM_COLOR2 GIMP_CHECKS_GRAY_COLOR_DARK
void gimp_checks_get_colors (GimpCheckType type,
GimpRGB *color1,
app, libgimp, libgimpbase, libgimpwidgets: better checkboard colors API. - Some coding style fixes (alignment, etc.). - Adding missing "Since: 3.0" annotations. We are still wondering whether this should go in 2.10, in which case, it would become "Since: 2.10.32" annotations. See discussion in !274. - Changing gimp_checks_get_colors() signature: merge the 4 color arguments into 2 (inout) arguments which seems a bit nicer in C, whereas binding handles such arguments correctly. The other alternative would have been to at least change the order to have out arguments in the end. I also hesitated to get another API in libgimp, which would have been config-aware (just returning the 2 check colors, depending on user-set Preferences), then having GimpPreviewArea handling 2 colors (without a GimpCheckType input). But actually, doing this, we'd remove the nice menu popup where one could choose a generic check type (not everyone wants to play with specific non-gray colors) in Gimp*Preview widgets. So in the end, I left this whole thing as-is. Instead I document the function with code sample to initialize properly the GimpPreviewArea (since libgimpwidgets/ are independent with no knowledge of the core config) in order to respect user preferences. - Hide the color properties in gimp_preview_area_menu_new() because anyway gimp_preview_area_menu_new() does not support GimpRGB properties right now (so all we get are warnings). It's still possible to select custom colors on GimpPreviewArea, simply we are stuck at the ones set in Preferences globally for now (unless a plug-in creates custom GUI to set these). Fixed Conflicts from !274: libgimp/gimp.h libgimpwidgets/gimppreviewarea.c
2022-05-13 19:00:07 +02:00
GimpRGB *color2);
G_END_DECLS
#endif /* __GIMP_CHECKS_H__ */