1 /* gdkselection-quartz.c
3 * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
4 * Copyright (C) 1998-2002 Tor Lillqvist
5 * Copyright (C) 2005 Imendio AB
7 * This library is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU Lesser General Public
9 * License as published by the Free Software Foundation; either
10 * version 2 of the License, or (at your option) any later version.
12 * This library is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 * Lesser General Public License for more details.
17 * You should have received a copy of the GNU Lesser General Public
18 * License along with this library; if not, write to the
19 * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
20 * Boston, MA 02111-1307, USA.
25 #include "gdkselection.h"
26 #include "gdkproperty.h"
29 _gdk_quartz_display_set_selection_owner_set (GdkDisplay *display,
35 /* FIXME: Implement */
40 _gdk_quartz_display_get_selection_owner (GdkDisplay *display,
43 /* FIXME: Implement */
48 _gdk_quartz_display_convert_selection (GdkDisplay *display,
54 /* FIXME: Implement */
58 _gdk_quartz_display_get_selection_property (GdkDisplay *display,
64 /* FIXME: Implement */
69 _gdk_quartz_display_send_selection_send_notify (GdkDisplay *display,
70 GdkNativeWindow requestor,
76 /* FIXME: Implement */
80 gdk_text_property_to_text_list_for_display (GdkDisplay *display,
87 /* FIXME: Implement */
92 gdk_string_to_compound_text_for_display (GdkDisplay *display,
99 /* FIXME: Implement */
103 void gdk_free_compound_text (guchar *ctext)
105 /* FIXME: Implement */
109 gdk_utf8_to_string_target (const gchar *str)
111 /* FIXME: Implement */
116 gdk_utf8_to_compound_text_for_display (GdkDisplay *display,
123 /* FIXME: Implement */
128 gdk_free_text_list (gchar **list)
130 g_return_if_fail (list != NULL);
137 make_list (const gchar *text,
142 GSList *strings = NULL;
145 const gchar *p = text;
148 GError *error = NULL;
150 while (p < text + length)
155 while (*q && q < text + length)
160 str = g_convert (p, q - p,
161 "UTF-8", "ISO-8859-1",
166 g_warning ("Error converting selection from STRING: %s",
168 g_error_free (error);
172 str = g_strndup (p, q - p);
176 strings = g_slist_prepend (strings, str);
184 *list = g_new (gchar *, n_strings + 1);
186 (*list)[n_strings] = NULL;
193 (*list)[--i] = tmp_list->data;
195 g_free (tmp_list->data);
197 tmp_list = tmp_list->next;
200 g_slist_free (strings);
206 gdk_text_property_to_utf8_list_for_display (GdkDisplay *display,
213 g_return_val_if_fail (text != NULL, 0);
214 g_return_val_if_fail (length >= 0, 0);
216 if (encoding == GDK_TARGET_STRING)
218 return make_list ((gchar *)text, length, TRUE, list);
220 else if (encoding == gdk_atom_intern_static_string ("UTF8_STRING"))
222 return make_list ((gchar *)text, length, FALSE, list);
226 gchar *enc_name = gdk_atom_name (encoding);
228 g_warning ("gdk_text_property_to_utf8_list_for_display: encoding %s not handled\n", enc_name);