/* LIBPIKA - The PIKA Library * Copyright (C) 1995-1997 Spencer Kimball and Peter Mattis * * pikachecks.c * Copyright (C) 2004 Sven Neumann * * 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 * Lesser 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 * . */ #include "config.h" #include #include "pikabasetypes.h" #include "pikachecks.h" /** * SECTION: pikachecks * @title: pikachecks * @short_description: Constants and functions related to rendering * checkerboards. * * Constants and functions related to rendering checkerboards. **/ /** * pika_checks_get_colors: * @type: the checkerboard type * @color1: (inout): current custom color and return location for the first color. * @color2: (inout): current custom color and return location for the second color. * * Retrieves the colors to use when drawing a checkerboard for a certain * #PikaCheckType and custom colors. * If @type is %PIKA_CHECK_TYPE_CUSTOM_CHECKS, then @color1 and @color2 * will remain untouched, which means you must initialize them to the * values expected for custom checks. * * To obtain the user-set colors in Preferences, just call: * |[ * PikaRGB color1 = *(pika_check_custom_color1 ()); * PikaRGB color2 = *(pika_check_custom_color2 ()); * pika_checks_get_colors (pika_check_type (), &color1, &color2); * ]| * * Since: 3.0 **/ void pika_checks_get_colors (PikaCheckType type, PikaRGB *color1, PikaRGB *color2) { g_return_if_fail (color1 != NULL || color2 != NULL); if (color1) { switch (type) { case PIKA_CHECK_TYPE_LIGHT_CHECKS: *color1 = PIKA_CHECKS_LIGHT_COLOR_LIGHT; break; case PIKA_CHECK_TYPE_DARK_CHECKS: *color1 = PIKA_CHECKS_DARK_COLOR_LIGHT; break; case PIKA_CHECK_TYPE_WHITE_ONLY: *color1 = PIKA_CHECKS_WHITE_COLOR; break; case PIKA_CHECK_TYPE_GRAY_ONLY: *color1 = PIKA_CHECKS_GRAY_COLOR; break; case PIKA_CHECK_TYPE_BLACK_ONLY: *color1 = PIKA_CHECKS_BLACK_COLOR; break; case PIKA_CHECK_TYPE_CUSTOM_CHECKS: /* Keep the current value. */ break; default: *color1 = PIKA_CHECKS_GRAY_COLOR_LIGHT; break; } } if (color2) { switch (type) { case PIKA_CHECK_TYPE_LIGHT_CHECKS: *color2 = PIKA_CHECKS_LIGHT_COLOR_DARK; break; case PIKA_CHECK_TYPE_DARK_CHECKS: *color2 = PIKA_CHECKS_DARK_COLOR_DARK; break; case PIKA_CHECK_TYPE_WHITE_ONLY: *color2 = PIKA_CHECKS_WHITE_COLOR; break; case PIKA_CHECK_TYPE_GRAY_ONLY: *color2 = PIKA_CHECKS_GRAY_COLOR; break; case PIKA_CHECK_TYPE_BLACK_ONLY: *color2 = PIKA_CHECKS_BLACK_COLOR; break; case PIKA_CHECK_TYPE_CUSTOM_CHECKS: /* Keep the current value. */ break; default: *color2 = PIKA_CHECKS_GRAY_COLOR_DARK; break; } } }