added utility function gimp_rgb_get_gdk_color(), documented

2003-06-10  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpwidgets-utils.[ch]: added utility function
	gimp_rgb_get_gdk_color(), documented gimp_get_screen_resolution().

	* app/widgets/gimppreviewrenderer.c
	(gimp_preview_renderer_set_border_color)
	* app/display/gimpdisplayshell-appearance.c
	(gimp_display_shell_set_padding): use the new function.
This commit is contained in:
Sven Neumann 2003-06-10 16:44:44 +00:00 committed by Sven Neumann
parent 55eea34f1c
commit addba61b08
6 changed files with 56 additions and 31 deletions

View File

@ -1,3 +1,13 @@
2003-06-10 Sven Neumann <sven@gimp.org>
* app/widgets/gimpwidgets-utils.[ch]: added utility function
gimp_rgb_get_gdk_color(), documented gimp_get_screen_resolution().
* app/widgets/gimppreviewrenderer.c
(gimp_preview_renderer_set_border_color)
* app/display/gimpdisplayshell-appearance.c
(gimp_display_shell_set_padding): use the new function.
2003-06-10 Sven Neumann <sven@gimp.org> 2003-06-10 Sven Neumann <sven@gimp.org>
* app/gui/tools-commands.c (tools_select_cmd_callback): expects * app/gui/tools-commands.c (tools_select_cmd_callback): expects

View File

@ -28,6 +28,7 @@
#include "core/gimpimage.h" #include "core/gimpimage.h"
#include "widgets/gimpitemfactory.h" #include "widgets/gimpitemfactory.h"
#include "widgets/gimpwidgets-utils.h"
#include "gimpdisplay.h" #include "gimpdisplay.h"
#include "gimpdisplayshell.h" #include "gimpdisplayshell.h"
@ -93,11 +94,7 @@ gimp_display_shell_set_padding (GimpDisplayShell *shell,
GdkColormap *colormap; GdkColormap *colormap;
GdkColor color; GdkColor color;
gimp_rgb_get_uchar (&shell->padding_color, &r, &g, &b); gimp_rgb_get_gdk_color (&shell->padding_color, &color);
color.red = r + r * 256;
color.green = g + g * 256;
color.blue = b + b * 256;
colormap = gdk_drawable_get_colormap (shell->canvas->window); colormap = gdk_drawable_get_colormap (shell->canvas->window);
g_return_if_fail (colormap != NULL); g_return_if_fail (colormap != NULL);

View File

@ -423,14 +423,8 @@ gimp_preview_renderer_set_border_color (GimpPreviewRenderer *renderer,
if (renderer->gc) if (renderer->gc)
{ {
GdkColor gdk_color; GdkColor gdk_color;
guchar r, g, b;
gimp_rgb_get_uchar (&renderer->border_color, &r, &g, &b);
gdk_color.red = r | r << 8;
gdk_color.green = g | g << 8;
gdk_color.blue = b | b << 8;
gimp_rgb_get_gdk_color (&renderer->border_color, &gdk_color);
gdk_gc_set_rgb_fg_color (renderer->gc, &gdk_color); gdk_gc_set_rgb_fg_color (renderer->gc, &gdk_color);
} }
@ -986,13 +980,8 @@ gimp_preview_renderer_create_gc (GimpPreviewRenderer *renderer,
GdkColormap *colormap; GdkColormap *colormap;
GdkGCValues values; GdkGCValues values;
GdkGCValuesMask mask; GdkGCValuesMask mask;
guchar r, g, b;
gimp_rgb_get_uchar (&renderer->border_color, &r, &g, &b); gimp_rgb_get_gdk_color (&renderer->border_color, &values.foreground);
values.foreground.red = r | r << 8;
values.foreground.green = g | g << 8;
values.foreground.blue = b | b << 8;
colormap = gdk_drawable_get_colormap (window); colormap = gdk_drawable_get_colormap (window);
gdk_rgb_find_color (colormap, &values.foreground); gdk_rgb_find_color (colormap, &values.foreground);

View File

@ -423,14 +423,8 @@ gimp_preview_renderer_set_border_color (GimpPreviewRenderer *renderer,
if (renderer->gc) if (renderer->gc)
{ {
GdkColor gdk_color; GdkColor gdk_color;
guchar r, g, b;
gimp_rgb_get_uchar (&renderer->border_color, &r, &g, &b);
gdk_color.red = r | r << 8;
gdk_color.green = g | g << 8;
gdk_color.blue = b | b << 8;
gimp_rgb_get_gdk_color (&renderer->border_color, &gdk_color);
gdk_gc_set_rgb_fg_color (renderer->gc, &gdk_color); gdk_gc_set_rgb_fg_color (renderer->gc, &gdk_color);
} }
@ -986,13 +980,8 @@ gimp_preview_renderer_create_gc (GimpPreviewRenderer *renderer,
GdkColormap *colormap; GdkColormap *colormap;
GdkGCValues values; GdkGCValues values;
GdkGCValuesMask mask; GdkGCValuesMask mask;
guchar r, g, b;
gimp_rgb_get_uchar (&renderer->border_color, &r, &g, &b); gimp_rgb_get_gdk_color (&renderer->border_color, &values.foreground);
values.foreground.red = r | r << 8;
values.foreground.green = g | g << 8;
values.foreground.blue = b | b << 8;
colormap = gdk_drawable_get_colormap (window); colormap = gdk_drawable_get_colormap (window);
gdk_rgb_find_color (colormap, &values.foreground); gdk_rgb_find_color (colormap, &values.foreground);

View File

@ -26,6 +26,7 @@
#include <gtk/gtk.h> #include <gtk/gtk.h>
#include "libgimpbase/gimpbase.h" #include "libgimpbase/gimpbase.h"
#include "libgimpcolor/gimpcolor.h"
#include "libgimpwidgets/gimpwidgets.h" #include "libgimpwidgets/gimpwidgets.h"
#include "widgets-types.h" #include "widgets-types.h"
@ -407,6 +408,7 @@ gimp_get_mod_name_alt (void)
return (const gchar *) mod_name_alt; return (const gchar *) mod_name_alt;
} }
const gchar * const gchar *
gimp_get_mod_separator (void) gimp_get_mod_separator (void)
{ {
@ -424,6 +426,15 @@ gimp_get_mod_separator (void)
return (const gchar *) mod_separator; return (const gchar *) mod_separator;
} }
/**
* gimp_get_screen_resolution:
* @screen: a #GdkScreen or %NULL
* @xres: returns the horizontal screen resolution (in dpi)
* @yres: returns the vertical screen resolution (in dpi)
*
* Retrieves the screen resolution from GDK. If @screen is %NULL, the
* default screen is used.
**/
void void
gimp_get_screen_resolution (GdkScreen *screen, gimp_get_screen_resolution (GdkScreen *screen,
gdouble *xres, gdouble *xres,
@ -477,3 +488,29 @@ gimp_get_screen_resolution (GdkScreen *screen,
*xres = ROUND (x); *xres = ROUND (x);
*yres = ROUND (y); *yres = ROUND (y);
} }
/**
* gimp_rgb_get_gdk_color:
* @color: the source color as #GimpRGB
* @gdk_color: pointer to a #GdkColor
*
* Initializes @gdk_color from a #GimpRGB. This function does not
* allocate the color for you. Depending on how you want to use it,
* you may have to call gdk_colormap_alloc_color().
**/
void
gimp_rgb_get_gdk_color (const GimpRGB *color,
GdkColor *gdk_color)
{
guchar r, g, b;
g_return_if_fail (color != NULL);
g_return_if_fail (gdk_color != NULL);
gimp_rgb_get_uchar (color, &r, &g, &b);
gdk_color->red = (r << 8) | r;
gdk_color->green = (g << 8) | g;
gdk_color->blue = (b << 8) | b;
}

View File

@ -56,5 +56,8 @@ void gimp_get_screen_resolution (GdkScreen *screen,
gdouble *xres, gdouble *xres,
gdouble *yres); gdouble *yres);
void gimp_rgb_get_gdk_color (const GimpRGB *rgb,
GdkColor *gdk_color);
#endif /* __GIMP_WIDGETS_UTILS_H__ */ #endif /* __GIMP_WIDGETS_UTILS_H__ */