cae-tools/solidify/style.c

54 lines
1.1 KiB
C

/*
* style.c - GUI style parameters and items
*
* Written 2010 by Werner Almesberger
* Copyright 2010 by Werner Almesberger
*
* 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 2 of the License, or
* (at your option) any later version.
*/
#include <stdlib.h>
#include <gtk/gtk.h>
#include "style.h"
GdkGC *gc_osd;
static GdkColor get_color(GdkDrawable *da, const char *spec)
{
GdkColormap *cmap;
GdkColor color;
cmap = gdk_drawable_get_colormap(da);
if (!gdk_color_parse(spec, &color))
abort();
if (!gdk_colormap_alloc_color(cmap, &color, FALSE, TRUE))
abort();
return color;
}
static GdkGC *gc(GdkDrawable *da, const char *spec, int width)
{
GdkGCValues gc_values = {
.background = get_color(da, "black"),
.foreground = get_color(da, spec),
.line_width = width,
};
return gdk_gc_new_with_values(da, &gc_values,
GDK_GC_FOREGROUND | GDK_GC_BACKGROUND | GDK_GC_LINE_WIDTH);
}
void init_style(GdkDrawable *da)
{
gc_osd = gc(da, "#ffff00", 4);
}