mirror of https://github.com/GNOME/gimp.git
added GimpFont DND.
2003-03-26 Michael Natterer <mitch@gimp.org> * app/widgets/gimpdnd.[ch]: added GimpFont DND.
This commit is contained in:
parent
ac014ecf5a
commit
7c64198ede
|
@ -1,3 +1,7 @@
|
||||||
|
2003-03-26 Michael Natterer <mitch@gimp.org>
|
||||||
|
|
||||||
|
* app/widgets/gimpdnd.[ch]: added GimpFont DND.
|
||||||
|
|
||||||
2003-03-26 Michael Natterer <mitch@gimp.org>
|
2003-03-26 Michael Natterer <mitch@gimp.org>
|
||||||
|
|
||||||
* app/gui/image-menu.c
|
* app/gui/image-menu.c
|
||||||
|
|
|
@ -45,6 +45,8 @@
|
||||||
#include "core/gimppattern.h"
|
#include "core/gimppattern.h"
|
||||||
#include "core/gimptoolinfo.h"
|
#include "core/gimptoolinfo.h"
|
||||||
|
|
||||||
|
#include "text/gimpfont.h"
|
||||||
|
|
||||||
#include "vectors/gimpvectors.h"
|
#include "vectors/gimpvectors.h"
|
||||||
|
|
||||||
#include "file/file-open.h"
|
#include "file/file-open.h"
|
||||||
|
@ -172,6 +174,12 @@ static void gimp_dnd_set_palette_data (GtkWidget *widget,
|
||||||
guchar *vals,
|
guchar *vals,
|
||||||
gint format,
|
gint format,
|
||||||
gint length);
|
gint length);
|
||||||
|
static void gimp_dnd_set_font_data (GtkWidget *widget,
|
||||||
|
GCallback set_font_func,
|
||||||
|
gpointer set_font_data,
|
||||||
|
guchar *vals,
|
||||||
|
gint format,
|
||||||
|
gint length);
|
||||||
static void gimp_dnd_set_buffer_data (GtkWidget *widget,
|
static void gimp_dnd_set_buffer_data (GtkWidget *widget,
|
||||||
GCallback set_buffer_func,
|
GCallback set_buffer_func,
|
||||||
gpointer set_buffer_data,
|
gpointer set_buffer_data,
|
||||||
|
@ -360,6 +368,17 @@ static GimpDndDataDef dnd_data_defs[] =
|
||||||
gimp_dnd_set_palette_data
|
gimp_dnd_set_palette_data
|
||||||
},
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
GIMP_TARGET_FONT,
|
||||||
|
|
||||||
|
"gimp_dnd_set_font_func",
|
||||||
|
"gimp_dnd_set_font_data",
|
||||||
|
|
||||||
|
gimp_dnd_get_viewable_icon,
|
||||||
|
gimp_dnd_get_data_data,
|
||||||
|
gimp_dnd_set_font_data
|
||||||
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
GIMP_TARGET_BUFFER,
|
GIMP_TARGET_BUFFER,
|
||||||
|
|
||||||
|
@ -1148,6 +1167,10 @@ gimp_dnd_data_type_get_by_g_type (GType type)
|
||||||
{
|
{
|
||||||
dnd_type = GIMP_DND_TYPE_PALETTE;
|
dnd_type = GIMP_DND_TYPE_PALETTE;
|
||||||
}
|
}
|
||||||
|
else if (g_type_is_a (type, GIMP_TYPE_FONT))
|
||||||
|
{
|
||||||
|
dnd_type = GIMP_DND_TYPE_FONT;
|
||||||
|
}
|
||||||
else if (g_type_is_a (type, GIMP_TYPE_BUFFER))
|
else if (g_type_is_a (type, GIMP_TYPE_BUFFER))
|
||||||
{
|
{
|
||||||
dnd_type = GIMP_DND_TYPE_BUFFER;
|
dnd_type = GIMP_DND_TYPE_BUFFER;
|
||||||
|
@ -1629,6 +1652,42 @@ gimp_dnd_set_palette_data (GtkWidget *widget,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/************************/
|
||||||
|
/* font dnd functions */
|
||||||
|
/************************/
|
||||||
|
|
||||||
|
static void
|
||||||
|
gimp_dnd_set_font_data (GtkWidget *widget,
|
||||||
|
GCallback set_font_func,
|
||||||
|
gpointer set_font_data,
|
||||||
|
guchar *vals,
|
||||||
|
gint format,
|
||||||
|
gint length)
|
||||||
|
{
|
||||||
|
GimpFont *font;
|
||||||
|
gchar *name;
|
||||||
|
|
||||||
|
if ((format != 8) || (length < 1))
|
||||||
|
{
|
||||||
|
g_warning ("Received invalid font data\n");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
name = (gchar *) vals;
|
||||||
|
|
||||||
|
if (strcmp (name, "Standard") == 0)
|
||||||
|
font = gimp_font_get_standard ();
|
||||||
|
else
|
||||||
|
font = (GimpFont *)
|
||||||
|
gimp_container_get_child_by_name (the_gimp->fonts, name);
|
||||||
|
|
||||||
|
if (font)
|
||||||
|
(* (GimpDndDropViewableFunc) set_font_func) (widget,
|
||||||
|
GIMP_VIEWABLE (font),
|
||||||
|
set_font_data);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**************************/
|
/**************************/
|
||||||
/* buffer dnd functions */
|
/* buffer dnd functions */
|
||||||
/**************************/
|
/**************************/
|
||||||
|
|
|
@ -37,10 +37,11 @@ typedef enum
|
||||||
GIMP_DND_TYPE_PATTERN = 12,
|
GIMP_DND_TYPE_PATTERN = 12,
|
||||||
GIMP_DND_TYPE_GRADIENT = 13,
|
GIMP_DND_TYPE_GRADIENT = 13,
|
||||||
GIMP_DND_TYPE_PALETTE = 14,
|
GIMP_DND_TYPE_PALETTE = 14,
|
||||||
GIMP_DND_TYPE_BUFFER = 15,
|
GIMP_DND_TYPE_FONT = 15,
|
||||||
GIMP_DND_TYPE_IMAGEFILE = 16,
|
GIMP_DND_TYPE_BUFFER = 16,
|
||||||
GIMP_DND_TYPE_TOOL = 17,
|
GIMP_DND_TYPE_IMAGEFILE = 17,
|
||||||
GIMP_DND_TYPE_DIALOG = 18,
|
GIMP_DND_TYPE_TOOL = 18,
|
||||||
|
GIMP_DND_TYPE_DIALOG = 19,
|
||||||
|
|
||||||
GIMP_DND_TYPE_LAST = GIMP_DND_TYPE_DIALOG
|
GIMP_DND_TYPE_LAST = GIMP_DND_TYPE_DIALOG
|
||||||
} GimpDndType;
|
} GimpDndType;
|
||||||
|
@ -88,6 +89,9 @@ typedef enum
|
||||||
#define GIMP_TARGET_PALETTE \
|
#define GIMP_TARGET_PALETTE \
|
||||||
{ "GIMP_PALETTE", 0, GIMP_DND_TYPE_PALETTE }
|
{ "GIMP_PALETTE", 0, GIMP_DND_TYPE_PALETTE }
|
||||||
|
|
||||||
|
#define GIMP_TARGET_FONT \
|
||||||
|
{ "GIMP_FONT", 0, GIMP_DND_TYPE_FONT }
|
||||||
|
|
||||||
#define GIMP_TARGET_BUFFER \
|
#define GIMP_TARGET_BUFFER \
|
||||||
{ "GIMP_BUFFER", GTK_TARGET_SAME_APP, GIMP_DND_TYPE_BUFFER }
|
{ "GIMP_BUFFER", GTK_TARGET_SAME_APP, GIMP_DND_TYPE_BUFFER }
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue