summaryrefslogtreecommitdiff
path: root/frontends/amiga/clipboard.c
diff options
context:
space:
mode:
Diffstat (limited to 'frontends/amiga/clipboard.c')
-rw-r--r--frontends/amiga/clipboard.c66
1 files changed, 37 insertions, 29 deletions
diff --git a/frontends/amiga/clipboard.c b/frontends/amiga/clipboard.c
index 27b801540..05a83606e 100644
--- a/frontends/amiga/clipboard.c
+++ b/frontends/amiga/clipboard.c
@@ -17,6 +17,7 @@
*/
#include <stdlib.h>
+#include <string.h>
#include <proto/iffparse.h>
#include <proto/intuition.h>
#include <proto/exec.h>
@@ -86,14 +87,14 @@ void ami_clipboard_free(void)
void gui_start_selection(struct gui_window *g)
{
if(!g) return;
- if(!g->shared->win) return;
+ if(!ami_gui_get_window(g)) return;
if(nsoption_bool(kiosk_mode) == true) return;
- ami_gui_menu_set_disabled(g->shared->win, g->shared->imenu, M_COPY, false);
- ami_gui_menu_set_disabled(g->shared->win, g->shared->imenu, M_CLEAR, false);
+ ami_gui_menu_set_disabled(ami_gui_get_window(g), ami_gui_get_menu(g), M_COPY, false);
+ ami_gui_menu_set_disabled(ami_gui_get_window(g), ami_gui_get_menu(g), M_CLEAR, false);
- if (browser_window_get_editor_flags(g->bw) & BW_EDITOR_CAN_CUT)
- ami_gui_menu_set_disabled(g->shared->win, g->shared->imenu, M_CUT, false);
+ if (browser_window_get_editor_flags(ami_gui_get_browser_window(g)) & BW_EDITOR_CAN_CUT)
+ ami_gui_menu_set_disabled(ami_gui_get_window(g), ami_gui_get_menu(g), M_CUT, false);
}
static char *ami_clipboard_cat_collection(struct CollectionItem *ci, LONG codeset, size_t *text_length)
@@ -276,54 +277,54 @@ void ami_drag_selection(struct gui_window *g)
if(!gwin)
{
- DisplayBeep(scrn);
+ ami_gui_beep();
return;
}
- x = gwin->win->MouseX;
- y = gwin->win->MouseY;
+ x = ami_gui2_get_window(gwin)->MouseX;
+ y = ami_gui2_get_window(gwin)->MouseY;
if(ami_text_box_at_point(gwin, (ULONG *)&x, (ULONG *)&y))
{
iffh = ami_clipboard_init_internal(1);
- browser_window_key_press(g->bw, NS_KEY_COPY_SELECTION);
- browser_window_mouse_click(gwin->gw->bw, BROWSER_MOUSE_PRESS_1, x, y);
- browser_window_key_press(gwin->gw->bw, NS_KEY_PASTE);
+ browser_window_key_press(ami_gui_get_browser_window(g), NS_KEY_COPY_SELECTION);
+ browser_window_mouse_click(ami_gui2_get_browser_window(gwin), BROWSER_MOUSE_PRESS_1, x, y);
+ browser_window_key_press(ami_gui2_get_browser_window(gwin), NS_KEY_PASTE);
ami_clipboard_free_internal(iffh);
iffh = old_iffh;
}
else
{
- x = gwin->win->MouseX;
- y = gwin->win->MouseY;
+ x = ami_gui2_get_window(gwin)->MouseX;
+ y = ami_gui2_get_window(gwin)->MouseY;
- if(ami_gadget_hit(gwin->objects[GID_URL], x, y))
+ if(ami_gadget_hit(ami_gui2_get_object(gwin, AMI_GAD_URL), x, y))
{
- if((sel = browser_window_get_selection(g->bw)))
+ if((sel = browser_window_get_selection(ami_gui_get_browser_window(g))))
{
utf8text = ami_utf8_easy(sel);
- RefreshSetGadgetAttrs((struct Gadget *)gwin->objects[GID_URL],
- gwin->win, NULL, STRINGA_TextVal, utf8text, TAG_DONE);
+ RefreshSetGadgetAttrs((struct Gadget *)ami_gui2_get_object(gwin, AMI_GAD_URL),
+ ami_gui2_get_window(gwin), NULL, STRINGA_TextVal, utf8text, TAG_DONE);
free(sel);
ami_utf8_free(utf8text);
}
}
- else if(ami_gadget_hit(gwin->objects[GID_SEARCHSTRING], x, y))
+ else if(ami_gadget_hit(ami_gui2_get_object(gwin, AMI_GAD_SEARCH), x, y))
{
- if((sel = browser_window_get_selection(g->bw)))
+ if((sel = browser_window_get_selection(ami_gui_get_browser_window(g))))
{
utf8text = ami_utf8_easy(sel);
- RefreshSetGadgetAttrs((struct Gadget *)gwin->objects[GID_SEARCHSTRING],
- gwin->win, NULL, STRINGA_TextVal, utf8text, TAG_DONE);
+ RefreshSetGadgetAttrs((struct Gadget *)ami_gui2_get_object(gwin, AMI_GAD_SEARCH),
+ ami_gui2_get_window(gwin), NULL, STRINGA_TextVal, utf8text, TAG_DONE);
free(sel);
ami_utf8_free(utf8text);
}
}
else
{
- DisplayBeep(scrn);
+ ami_gui_beep();
}
}
}
@@ -349,15 +350,22 @@ bool ami_easy_clipboard_bitmap(struct bitmap *bitmap)
#ifdef WITH_NS_SVG
bool ami_easy_clipboard_svg(struct hlcache_handle *c)
{
- const char *source_data;
- ULONG source_size;
+ const uint8_t *source_data;
+ size_t source_size;
- if(ami_mime_compare(c, "svg") == false) return false;
- if((source_data = content_get_source_data(c, &source_size)) == NULL) return false;
+ if (ami_mime_compare(c, "svg") == false) {
+ return false;
+ }
+ source_data = content_get_source_data(c, &source_size);
+ if (source_data == NULL) {
+ return false;
+ }
- if(!(OpenIFF(iffh,IFFF_WRITE)))
- {
- ami_svg_to_dr2d(iffh, source_data, source_size, nsurl_access(hlcache_handle_get_url(c)));
+ if (!(OpenIFF(iffh,IFFF_WRITE))) {
+ ami_svg_to_dr2d(iffh,
+ (const char *)source_data,
+ source_size,
+ nsurl_access(hlcache_handle_get_url(c)));
CloseIFF(iffh);
}