summaryrefslogtreecommitdiff
path: root/gtk/selection.c
diff options
context:
space:
mode:
authorVincent Sanders <vince@kyllikki.org>2016-05-05 22:28:51 +0100
committerVincent Sanders <vince@kyllikki.org>2016-05-15 13:44:34 +0100
commitd21447d096a320a08b3efb2b8768fad0dcdcfd64 (patch)
tree1a83814b7c9e94b2f13c473261f23dd3a17dee64 /gtk/selection.c
parent2cbb337756d9af5bda4d594964d446439f602551 (diff)
downloadnetsurf-d21447d096a320a08b3efb2b8768fad0dcdcfd64.tar.gz
netsurf-d21447d096a320a08b3efb2b8768fad0dcdcfd64.tar.bz2
move frontends into sub directory
Diffstat (limited to 'gtk/selection.c')
-rw-r--r--gtk/selection.c96
1 files changed, 0 insertions, 96 deletions
diff --git a/gtk/selection.c b/gtk/selection.c
deleted file mode 100644
index d1388ed27..000000000
--- a/gtk/selection.c
+++ /dev/null
@@ -1,96 +0,0 @@
-/*
- * Copyright 2008 Mike Lester <element3260@gmail.com>
- *
- * This file is part of NetSurf, http://www.netsurf-browser.org/
- *
- * NetSurf 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; version 2 of the License.
- *
- * NetSurf 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 General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include <string.h>
-#include <gtk/gtk.h>
-#include <stdlib.h>
-
-#include "utils/log.h"
-#include "desktop/browser.h"
-#include "desktop/gui_clipboard.h"
-
-#include "gtk/window.h"
-
-static GString *current_selection = NULL;
-static GtkClipboard *clipboard;
-
-
-/**
- * Core asks front end for clipboard contents.
- *
- * \param buffer UTF-8 text, allocated by front end, ownership yeilded to core
- * \param length Byte length of UTF-8 text in buffer
- */
-static void gui_get_clipboard(char **buffer, size_t *length)
-{
- gchar *gtext;
-
- *buffer = NULL;
- *length = 0;
-
- /* get clipboard contents from gtk */
- clipboard = gtk_clipboard_get(GDK_SELECTION_CLIPBOARD);
- gtext = gtk_clipboard_wait_for_text(clipboard); /* conv to utf-8 */
-
- if (gtext == NULL)
- return;
-
- *length = strlen(gtext);
- *buffer = malloc(*length);
- if (*buffer == NULL) {
- *length = 0;
- g_free(gtext);
- return;
- }
-
- memcpy(*buffer, gtext, *length);
-
- g_free(gtext);
-}
-
-
-/**
- * Core tells front end to put given text in clipboard
- *
- * \param buffer UTF-8 text, owned by core
- * \param length Byte length of UTF-8 text in buffer
- * \param styles Array of styles given to text runs, owned by core, or NULL
- * \param n_styles Number of text run styles in array
- */
-static void gui_set_clipboard(const char *buffer, size_t length,
- nsclipboard_styles styles[], int n_styles)
-{
- clipboard = gtk_clipboard_get(GDK_SELECTION_CLIPBOARD);
-
- if (!current_selection)
- current_selection = g_string_new(NULL);
- else
- g_string_set_size(current_selection, 0);
-
- current_selection = g_string_append_len(current_selection,
- buffer, length);
-
- gtk_clipboard_set_text(clipboard, current_selection->str, -1);
-}
-
-static struct gui_clipboard_table clipboard_table = {
- .get = gui_get_clipboard,
- .set = gui_set_clipboard,
-};
-
-struct gui_clipboard_table *nsgtk_clipboard_table = &clipboard_table;