Make more GdkAtom variables visible in all gdk/win32 files
Make the GdkAtoms for the image formats extern and usable from all gdk/win32 files.
This commit is contained in:
@ -54,6 +54,10 @@ GdkAtom _utf8_string;
|
|||||||
GdkAtom _text;
|
GdkAtom _text;
|
||||||
GdkAtom _compound_text;
|
GdkAtom _compound_text;
|
||||||
GdkAtom _text_uri_list;
|
GdkAtom _text_uri_list;
|
||||||
|
GdkAtom _image_png;
|
||||||
|
GdkAtom _image_jpeg;
|
||||||
|
GdkAtom _image_bmp;
|
||||||
|
GdkAtom _image_gif;
|
||||||
|
|
||||||
GdkAtom _local_dnd;
|
GdkAtom _local_dnd;
|
||||||
GdkAtom _gdk_win32_dropfiles;
|
GdkAtom _gdk_win32_dropfiles;
|
||||||
|
|||||||
@ -108,6 +108,10 @@ _gdk_windowing_init (void)
|
|||||||
_text = gdk_atom_intern ("TEXT", FALSE);
|
_text = gdk_atom_intern ("TEXT", FALSE);
|
||||||
_compound_text = gdk_atom_intern ("COMPOUND_TEXT", FALSE);
|
_compound_text = gdk_atom_intern ("COMPOUND_TEXT", FALSE);
|
||||||
_text_uri_list = gdk_atom_intern ("text/uri-list", FALSE);
|
_text_uri_list = gdk_atom_intern ("text/uri-list", FALSE);
|
||||||
|
_image_png = gdk_atom_intern ("image/png", FALSE);
|
||||||
|
_image_jpeg = gdk_atom_intern ("image/jpeg", FALSE);
|
||||||
|
_image_bmp = gdk_atom_intern ("image/bmp", FALSE);
|
||||||
|
_image_gif = gdk_atom_intern ("image/gif", FALSE);
|
||||||
|
|
||||||
_local_dnd = gdk_atom_intern ("LocalDndSelection", FALSE);
|
_local_dnd = gdk_atom_intern ("LocalDndSelection", FALSE);
|
||||||
_gdk_win32_dropfiles = gdk_atom_intern ("DROPFILES_DND", FALSE);
|
_gdk_win32_dropfiles = gdk_atom_intern ("DROPFILES_DND", FALSE);
|
||||||
|
|||||||
@ -416,6 +416,10 @@ extern GdkAtom _utf8_string;
|
|||||||
extern GdkAtom _text;
|
extern GdkAtom _text;
|
||||||
extern GdkAtom _compound_text;
|
extern GdkAtom _compound_text;
|
||||||
extern GdkAtom _text_uri_list;
|
extern GdkAtom _text_uri_list;
|
||||||
|
extern GdkAtom _image_png;
|
||||||
|
extern GdkAtom _image_jpeg;
|
||||||
|
extern GdkAtom _image_bmp;
|
||||||
|
extern GdkAtom _image_gif;
|
||||||
|
|
||||||
/* DND selections */
|
/* DND selections */
|
||||||
extern GdkAtom _local_dnd;
|
extern GdkAtom _local_dnd;
|
||||||
|
|||||||
@ -63,10 +63,6 @@ static UINT cf_gif;
|
|||||||
/* GdkAtoms for well-known image formats */
|
/* GdkAtoms for well-known image formats */
|
||||||
static GdkAtom *known_pixbuf_formats;
|
static GdkAtom *known_pixbuf_formats;
|
||||||
static int n_known_pixbuf_formats;
|
static int n_known_pixbuf_formats;
|
||||||
static GdkAtom image_png;
|
|
||||||
static GdkAtom image_jpeg;
|
|
||||||
static GdkAtom image_bmp;
|
|
||||||
static GdkAtom image_gif;
|
|
||||||
|
|
||||||
/* GdkAtoms for well-known text formats */
|
/* GdkAtoms for well-known text formats */
|
||||||
static GdkAtom text_plain;
|
static GdkAtom text_plain;
|
||||||
@ -122,22 +118,17 @@ _gdk_win32_selection_init (void)
|
|||||||
|
|
||||||
g_slist_free (pixbuf_formats);
|
g_slist_free (pixbuf_formats);
|
||||||
|
|
||||||
image_png = gdk_atom_intern ("image/png", FALSE);
|
|
||||||
image_jpeg = gdk_atom_intern ("image/jpeg", FALSE);
|
|
||||||
image_bmp = gdk_atom_intern ("image/bmp", FALSE);
|
|
||||||
image_gif = gdk_atom_intern ("image/gif", FALSE);
|
|
||||||
|
|
||||||
text_plain = gdk_atom_intern ("text/plain", FALSE);
|
text_plain = gdk_atom_intern ("text/plain", FALSE);
|
||||||
text_plain_charset_utf_8= gdk_atom_intern ("text/plain;charset=utf-8", FALSE);
|
text_plain_charset_utf_8= gdk_atom_intern ("text/plain;charset=utf-8", FALSE);
|
||||||
text_plain_charset_CP1252 = gdk_atom_intern ("text/plain;charset=CP1252", FALSE);
|
text_plain_charset_CP1252 = gdk_atom_intern ("text/plain;charset=CP1252", FALSE);
|
||||||
|
|
||||||
g_hash_table_replace (_format_atom_table,
|
g_hash_table_replace (_format_atom_table,
|
||||||
GINT_TO_POINTER (cf_png),
|
GINT_TO_POINTER (cf_png),
|
||||||
image_png);
|
_image_png);
|
||||||
|
|
||||||
g_hash_table_replace (_format_atom_table,
|
g_hash_table_replace (_format_atom_table,
|
||||||
GINT_TO_POINTER (CF_DIB),
|
GINT_TO_POINTER (CF_DIB),
|
||||||
image_bmp);
|
_image_bmp);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* The specifications for COMPOUND_TEXT and STRING specify that C0 and
|
/* The specifications for COMPOUND_TEXT and STRING specify that C0 and
|
||||||
@ -263,13 +254,13 @@ _gdk_dropfiles_store (gchar *data)
|
|||||||
static gchar *
|
static gchar *
|
||||||
get_mapped_gdk_atom_name (GdkAtom gdk_target)
|
get_mapped_gdk_atom_name (GdkAtom gdk_target)
|
||||||
{
|
{
|
||||||
if (gdk_target == image_png)
|
if (gdk_target == _image_png)
|
||||||
return g_strdup ("PNG");
|
return g_strdup ("PNG");
|
||||||
|
|
||||||
if (gdk_target == image_jpeg)
|
if (gdk_target == _image_jpeg)
|
||||||
return g_strdup ("JFIF");
|
return g_strdup ("JFIF");
|
||||||
|
|
||||||
if (gdk_target == image_gif)
|
if (gdk_target == _image_gif)
|
||||||
return g_strdup ("GIF");
|
return g_strdup ("GIF");
|
||||||
|
|
||||||
return gdk_atom_name (gdk_target);
|
return gdk_atom_name (gdk_target);
|
||||||
@ -453,7 +444,7 @@ gdk_selection_convert (GdkWindow *requestor,
|
|||||||
{
|
{
|
||||||
if (fmt == cf_png)
|
if (fmt == cf_png)
|
||||||
{
|
{
|
||||||
targets[ntargets++] = image_png;
|
targets[ntargets++] = _image_png;
|
||||||
has_png = TRUE;
|
has_png = TRUE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -481,21 +472,21 @@ gdk_selection_convert (GdkWindow *requestor,
|
|||||||
* transparency.
|
* transparency.
|
||||||
*/
|
*/
|
||||||
if (!has_bmp && !has_png)
|
if (!has_bmp && !has_png)
|
||||||
targets[ntargets++] = image_bmp;
|
targets[ntargets++] = _image_bmp;
|
||||||
has_bmp = TRUE;
|
has_bmp = TRUE;
|
||||||
}
|
}
|
||||||
else if (fmt == cf_jfif)
|
else if (fmt == cf_jfif)
|
||||||
{
|
{
|
||||||
/* Ditto for JPEG */
|
/* Ditto for JPEG */
|
||||||
if (!has_png)
|
if (!has_png)
|
||||||
targets[ntargets++] = image_jpeg;
|
targets[ntargets++] = _image_jpeg;
|
||||||
}
|
}
|
||||||
else if (fmt == cf_gif)
|
else if (fmt == cf_gif)
|
||||||
{
|
{
|
||||||
/* Ditto for GIF.
|
/* Ditto for GIF.
|
||||||
*/
|
*/
|
||||||
if (!has_png)
|
if (!has_png)
|
||||||
targets[ntargets++] = image_gif;
|
targets[ntargets++] = _image_gif;
|
||||||
}
|
}
|
||||||
else if (GetClipboardFormatName (fmt, sFormat, 80) > 0)
|
else if (GetClipboardFormatName (fmt, sFormat, 80) > 0)
|
||||||
{
|
{
|
||||||
@ -592,7 +583,7 @@ gdk_selection_convert (GdkWindow *requestor,
|
|||||||
|
|
||||||
API_CALL (CloseClipboard, ());
|
API_CALL (CloseClipboard, ());
|
||||||
}
|
}
|
||||||
else if (selection == GDK_SELECTION_CLIPBOARD && target == image_bmp)
|
else if (selection == GDK_SELECTION_CLIPBOARD && target == _image_bmp)
|
||||||
{
|
{
|
||||||
if (!API_CALL (OpenClipboard, (GDK_WINDOW_HWND (requestor))))
|
if (!API_CALL (OpenClipboard, (GDK_WINDOW_HWND (requestor))))
|
||||||
return;
|
return;
|
||||||
@ -746,7 +737,7 @@ gdk_selection_convert (GdkWindow *requestor,
|
|||||||
data_length);
|
data_length);
|
||||||
}
|
}
|
||||||
|
|
||||||
selection_property_store (requestor, image_bmp, 8,
|
selection_property_store (requestor, _image_bmp, 8,
|
||||||
data, new_length);
|
data, new_length);
|
||||||
}
|
}
|
||||||
GlobalUnlock (hdata);
|
GlobalUnlock (hdata);
|
||||||
@ -1294,7 +1285,7 @@ _gdk_win32_selection_convert_to_dib (HGLOBAL hdata,
|
|||||||
g_free (target_name);
|
g_free (target_name);
|
||||||
});
|
});
|
||||||
|
|
||||||
if (target == image_bmp)
|
if (target == _image_bmp)
|
||||||
{
|
{
|
||||||
/* No conversion is needed, just strip the BITMAPFILEHEADER */
|
/* No conversion is needed, just strip the BITMAPFILEHEADER */
|
||||||
HGLOBAL hdatanew;
|
HGLOBAL hdatanew;
|
||||||
|
|||||||
Reference in New Issue
Block a user