forked from AuroraMiddleware/gtk
150 lines
4.2 KiB
C
150 lines
4.2 KiB
C
/* GTK - The GIMP Toolkit
|
|
* Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
|
|
*
|
|
* This library is free software; you can redistribute it and/or
|
|
* modify it under the terms of the GNU Library General Public
|
|
* License as published by the Free Software Foundation; either
|
|
* version 2 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 Library General Public
|
|
* License along with this library; if not, write to the Free
|
|
* Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
|
*/
|
|
#ifndef __GTK_COLORSEL_H__
|
|
#define __GTK_COLORSEL_H__
|
|
|
|
#include <stdlib.h>
|
|
#include <stdio.h>
|
|
#include <math.h>
|
|
#include <gdk/gdk.h>
|
|
|
|
#include "gtkwindow.h"
|
|
#include "gtkvbox.h"
|
|
#include "gtkframe.h"
|
|
#include "gtkpreview.h"
|
|
#include "gtkbutton.h"
|
|
#include "gtkentry.h"
|
|
#include "gtkhbox.h"
|
|
#include "gtklabel.h"
|
|
#include "gtkmain.h"
|
|
#include "gtksignal.h"
|
|
#include "gtkmisc.h"
|
|
#include "gtkrange.h"
|
|
#include "gtkscale.h"
|
|
#include "gtkhscale.h"
|
|
#include "gtktable.h"
|
|
#include "gtkeventbox.h"
|
|
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif /* __cplusplus */
|
|
|
|
|
|
#define GTK_COLOR_SELECTION(obj) GTK_CHECK_CAST (obj, gtk_color_selection_get_type (), GtkColorSelection)
|
|
#define GTK_COLOR_SELECTION_CLASS(klass) GTK_CHECK_CLASS_CAST (klass, gtk_color_selection_get_type (), GtkColorSelectionClass)
|
|
#define GTK_IS_COLOR_SELECTION(obj) GTK_CHECK_TYPE (obj, gtk_color_selection_get_type ())
|
|
|
|
#define GTK_COLOR_SELECTION_DIALOG(obj) GTK_CHECK_CAST (obj, gtk_color_selection_dialog_get_type (), GtkColorSelectionDialog)
|
|
#define GTK_COLOR_SELECTION_DIALOG_CLASS(klass) GTK_CHECK_CLASS_CAST (klass, gtk_color_selection_dialog_get_type (), GtkColorSelectionDialogClass)
|
|
#define GTK_IS_COLOR_SELECTION_DIALOG(obj) GTK_CHECK_TYPE (obj, gtk_color_selection_dialog_get_type ())
|
|
|
|
|
|
typedef struct _GtkColorSelection GtkColorSelection;
|
|
typedef struct _GtkColorSelectionClass GtkColorSelectionClass;
|
|
|
|
typedef struct _GtkColorSelectionDialog GtkColorSelectionDialog;
|
|
typedef struct _GtkColorSelectionDialogClass GtkColorSelectionDialogClass;
|
|
|
|
|
|
struct _GtkColorSelection
|
|
{
|
|
GtkVBox vbox;
|
|
|
|
GtkWidget *wheel_area;
|
|
GtkWidget *value_area;
|
|
GtkWidget *sample_area;
|
|
GtkWidget *sample_area_eb;
|
|
|
|
GtkWidget *scales[8];
|
|
GtkWidget *entries[8];
|
|
GtkWidget *opacity_label;
|
|
|
|
GdkGC *wheel_gc;
|
|
GdkGC *value_gc;
|
|
GdkGC *sample_gc;
|
|
|
|
GtkUpdateType policy;
|
|
gint use_opacity;
|
|
gint timer_active;
|
|
gint timer_tag;
|
|
gdouble values[8];
|
|
gdouble old_values[8];
|
|
|
|
guchar *wheel_buf;
|
|
guchar *value_buf;
|
|
guchar *sample_buf;
|
|
};
|
|
|
|
struct _GtkColorSelectionClass
|
|
{
|
|
GtkVBoxClass parent_class;
|
|
|
|
void (* color_changed) (GtkColorSelection *colorsel);
|
|
};
|
|
|
|
struct _GtkColorSelectionDialog
|
|
{
|
|
GtkWindow window;
|
|
|
|
GtkWidget *colorsel;
|
|
GtkWidget *main_vbox;
|
|
GtkWidget *ok_button;
|
|
GtkWidget *reset_button;
|
|
GtkWidget *cancel_button;
|
|
GtkWidget *help_button;
|
|
};
|
|
|
|
struct _GtkColorSelectionDialogClass
|
|
{
|
|
GtkWindowClass parent_class;
|
|
};
|
|
|
|
|
|
/* ColorSelection */
|
|
|
|
guint gtk_color_selection_get_type (void);
|
|
|
|
GtkWidget* gtk_color_selection_new (void);
|
|
|
|
void gtk_color_selection_set_update_policy (GtkColorSelection *colorsel,
|
|
GtkUpdateType policy);
|
|
|
|
void gtk_color_selection_set_opacity (GtkColorSelection *colorsel,
|
|
gint use_opacity);
|
|
|
|
void gtk_color_selection_set_color (GtkColorSelection *colorsel,
|
|
gdouble *color);
|
|
|
|
void gtk_color_selection_get_color (GtkColorSelection *colorsel,
|
|
gdouble *color);
|
|
|
|
/* ColorSelectionDialog */
|
|
|
|
guint gtk_color_selection_dialog_get_type (void);
|
|
|
|
GtkWidget* gtk_color_selection_dialog_new (const gchar *title);
|
|
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif /* __cplusplus */
|
|
|
|
|
|
#endif /* __GTK_COLORSEL_H__ */
|