📄 testdnd.c
字号:
#include "gtk/gtk.h"/* Target side drag signals *//* XPM */static char * drag_icon_xpm[] = {"36 48 9 1"," c None",". c #020204","+ c #8F8F90","@ c #D3D3D2","# c #AEAEAC","$ c #ECECEC","% c #A2A2A4","& c #FEFEFC","* c #BEBEBC"," ....................."," ..&&&&&&&&&&&&&&&&&&&."," ...&&&&&&&&&&&&&&&&&&&."," ..&.&&&&&&&&&&&&&&&&&&&."," ..&&.&&&&&&&&&&&&&&&&&&&."," ..&&&.&&&&&&&&&&&&&&&&&&&."," ..&&&&.&&&&&&&&&&&&&&&&&&&."," ..&&&&&.&&&@&&&&&&&&&&&&&&&."," ..&&&&&&.*$%$+$&&&&&&&&&&&&&."," ..&&&&&&&.%$%$+&&&&&&&&&&&&&&."," ..&&&&&&&&.#&#@$&&&&&&&&&&&&&&."," ..&&&&&&&&&.#$**#$&&&&&&&&&&&&&."," ..&&&&&&&&&&.&@%&%$&&&&&&&&&&&&&."," ..&&&&&&&&&&&.&&&&&&&&&&&&&&&&&&&."," ..&&&&&&&&&&&&.&&&&&&&&&&&&&&&&&&&.","................&$@&&&@&&&&&&&&&&&&.",".&&&&&&&+&&#@%#+@#@*$%$+$&&&&&&&&&&.",".&&&&&&&+&&#@#@&&@*%$%$+&&&&&&&&&&&.",".&&&&&&&+&$%&#@&#@@#&#@$&&&&&&&&&&&.",".&&&&&&@#@@$&*@&@#@#$**#$&&&&&&&&&&.",".&&&&&&&&&&&&&&&&&&&@%&%$&&&&&&&&&&.",".&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&.",".&&&&&&&&$#@@$&&&&&&&&&&&&&&&&&&&&&.",".&&&&&&&&&+&$+&$&@&$@&&$@&&&&&&&&&&.",".&&&&&&&&&+&&#@%#+@#@*$%&+$&&&&&&&&.",".&&&&&&&&&+&&#@#@&&@*%$%$+&&&&&&&&&.",".&&&&&&&&&+&$%&#@&#@@#&#@$&&&&&&&&&.",".&&&&&&&&@#@@$&*@&@#@#$#*#$&&&&&&&&.",".&&&&&&&&&&&&&&&&&&&&&$%&%$&&&&&&&&.",".&&&&&&&&&&$#@@$&&&&&&&&&&&&&&&&&&&.",".&&&&&&&&&&&+&$%&$$@&$@&&$@&&&&&&&&.",".&&&&&&&&&&&+&&#@%#+@#@*$%$+$&&&&&&.",".&&&&&&&&&&&+&&#@#@&&@*#$%$+&&&&&&&.",".&&&&&&&&&&&+&$+&*@&#@@#&#@$&&&&&&&.",".&&&&&&&&&&$%@@&&*@&@#@#$#*#&&&&&&&.",".&&&&&&&&&&&&&&&&&&&&&&&$%&%$&&&&&&.",".&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&.",".&&&&&&&&&&&&&&$#@@$&&&&&&&&&&&&&&&.",".&&&&&&&&&&&&&&&+&$%&$$@&$@&&$@&&&&.",".&&&&&&&&&&&&&&&+&&#@%#+@#@*$%$+$&&.",".&&&&&&&&&&&&&&&+&&#@#@&&@*#$%$+&&&.",".&&&&&&&&&&&&&&&+&$+&*@&#@@#&#@$&&&.",".&&&&&&&&&&&&&&$%@@&&*@&@#@#$#*#&&&.",".&&&&&&&&&&&&&&&&&&&&&&&&&&&$%&%$&&.",".&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&.",".&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&.",".&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&.","...................................."};/* XPM */static char * trashcan_closed_xpm[] = {"64 80 17 1"," c None",". c #030304","+ c #5A5A5C","@ c #323231","# c #888888","$ c #1E1E1F","% c #767677","& c #494949","* c #9E9E9C","= c #111111","- c #3C3C3D","; c #6B6B6B","> c #949494",", c #282828","' c #808080",") c #545454","! c #AEAEAC"," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," ==......=$$...=== "," ..$------)+++++++++++++@$$... "," ..=@@-------&+++++++++++++++++++-.... "," =.$$@@@-&&)++++)-,$$$$=@@&+++++++++++++,..$ "," .$$$$@@&+++++++&$$$@@@@-&,$,-++++++++++;;;&.. "," $$$$,@--&++++++&$$)++++++++-,$&++++++;%%'%%;;$@ "," .-@@-@-&++++++++-@++++++++++++,-++++++;''%;;;%*-$ "," +------++++++++++++++++++++++++++++++;;%%%;;##*!. "," =+----+++++++++++++++++++++++;;;;;;;;;;;;%'>>). "," .=)&+++++++++++++++++;;;;;;;;;;;;;;%''>>#>#@. "," =..=&++++++++++++;;;;;;;;;;;;;%###>>###+%== "," .&....=-+++++%;;####''''''''''##'%%%)..#. "," .+-++@....=,+%#####'%%%%%%%%%;@$-@-@*++!. "," .+-++-+++-&-@$$=$=......$,,,@;&)+!++!++!. "," .+-++-+++-+++++++++!++++!++++!+++!++!++!. "," .+-++-+++-+++++++++!++++!++++!+++!++!++!. "," .+-++-+++-+++++++++!++++!++++!+++!++!++!. "," .+-++-+++-+++++++++!++++!++++!+++!++!++!. "," .+-++-+++-+++++++++!++++!++++!+++!++!++!. "," .+-++-+++-+++++++++!++++!++++!+++!++!++!. "," .+-++-+++-+++++++++!++++!++++!+++!++!++!. "," .+-++-+++-+++++++++!++++!++++!+++!++!++!. "," .+-++-+++-+++++++++!++++!++++!+++!++!++!. "," .+-++-+++-+++++++++!++++!++++!+++!++!++!. "," .+-++-+++-+++++++++!++++!++++!+++!++!++!. "," .+-++-+++-+++++++++!++++!++++!+++!++!++!. "," .+-++-+++-+++++++++!++++!++++!+++!++!++!. "," .+-++-+++-+++++++++!++++!++++!+++!++!++!. "," .+-++-+++-+++++++++!++++!++++!+++!++!++!. "," .+-++-+++-+++++++++!++++!++++!+++!++!++!. "," .+-++-+++-+++++++++!++++!++++!+++!++!++!. "," .+-++-+++-+++++++++!++++!++++!+++!++!++!. "," .+-++-+++-+++++++++!++++!++++!+++!++!++!. "," .+-++-+++-+++++++++!++++!++++!+++!++!++!. "," .+-++-+++-+++++++++!++++!++++!+++!++!++!. "," .+-++-+++-+++++++++!++++!++++!+++!++!++!. "," .+-++-+++-+++++++++!++++!++++!+++!++!++!. "," .+-++-+++-+++++++++!++++!++++!+++!++!++!. "," .+-++-+++-+++++++++!++++!++++!+++!++!++!. "," .+-++-+++-+++++++++!++++!++++!+++!++!++!. "," .+-++-+++-+++++++++!++++!++++!+++!++!++!. "," .+-++-+++-+++++++++!++++!++++!+++!++!++!. "," .+-++-+++-+++++++++!++++!++++!+++!++!++!. "," .+-++-+++-+++++++++!++++!++++!+++!++!++!. "," =+-++-+++-+++++++++!++++!++++!+++!++!+++= "," $.++-+++-+++++++++!++++!++++!+++!++!+.$ "," =.++++++++++++++!++++!++++!+++!++.= "," $..+++++++++++++++!++++++...$ "," $$=.............=$$ "," "," "," "," "," "," "," "," "," "};/* XPM */static char * trashcan_open_xpm[] = {"64 80 17 1"," c None",". c #030304","+ c #5A5A5C","@ c #323231","# c #888888","$ c #1E1E1F","% c #767677","& c #494949","* c #9E9E9C","= c #111111","- c #3C3C3D","; c #6B6B6B","> c #949494",", c #282828","' c #808080",") c #545454","! c #AEAEAC"," "," "," "," "," "," "," .=.==.,@ "," ==.,@-&&&)-= "," .$@,&++;;;%>*- "," $,-+)+++%%;;'#+. "," =---+++++;%%%;%##@. "," @)++++++++;%%%%'#%$ "," $&++++++++++;%%;%##@= "," ,-++++)+++++++;;;'#%) "," @+++&&--&)++++;;%'#'-. "," ,&++-@@,,,,-)++;;;'>'+, "," =-++&@$@&&&&-&+;;;%##%+@ "," =,)+)-,@@&+++++;;;;%##%&@ "," @--&&,,@&)++++++;;;;'#)@ "," ---&)-,@)+++++++;;;%''+, "," $--&)+&$-+++++++;;;%%'';- "," .,-&+++-$&++++++;;;%''%&= "," $,-&)++)-@++++++;;%''%), "," =,@&)++++&&+++++;%'''+$@&++++++ "," .$@-++++++++++++;'#';,........=$@&++++ "," =$@@&)+++++++++++'##-.................=&++ "," .$$@-&)+++++++++;%#+$.....................=)+ "," $$,@-)+++++++++;%;@=........................,+ "," .$$@@-++++++++)-)@=............................ "," $,@---)++++&)@===............................,. "," $-@---&)))-$$=..............................=)!. "," --&-&&,,$=,==...........................=&+++!. "," =,=$..=$+)+++++&@$=.............=$@&+++++!++!. "," .)-++-+++++++++++++++++++++++++++!++!++!. "," .+-++-+++++++++++++++++++++++!+++!++!++!. "," .+-++-+++-+++++++++!+++!!++++!+++!++!++!. "," .+-++-+++-+++++++++!++++!++++!+++!++!++!. "," .+-++-+++-+++++++++!++++!++++!+++!++!++!. "," .+-++-+++-+++++++++!++++!++++!+++!++!++!. "," .+-++-+++-+++++++++!++++!++++!+++!++!++!. "," .+-++-+++-+++++++++!++++!++++!+++!++!++!. "," .+-++-+++-+++++++++!++++!++++!+++!++!++!. "," .+-++-+++-+++++++++!++++!++++!+++!++!++!. "," .+-++-+++-+++++++++!++++!++++!+++!++!++!. "," .+-++-+++-+++++++++!++++!++++!+++!++!++!. "," .+-++-+++-+++++++++!++++!++++!+++!++!++!. "," .+-++-+++-+++++++++!++++!++++!+++!++!++!. "," .+-++-+++-+++++++++!++++!++++!+++!++!++!. "," .+-++-+++-+++++++++!++++!++++!+++!++!++!. "," .+-++-+++-+++++++++!++++!++++!+++!++!++!. "," .+-++-+++-+++++++++!++++!++++!+++!++!++!. "," .+-++-+++-+++++++++!++++!++++!+++!++!++!. "," .+-++-+++-+++++++++!++++!++++!+++!++!++!. "," .+-++-+++-+++++++++!++++!++++!+++!++!++!. "," .+-++-+++-+++++++++!++++!++++!+++!++!++!. "," .+-++-+++-+++++++++!++++!++++!+++!++!++!. "," .+-++-+++-+++++++++!++++!++++!+++!++!++!. "," .+-++-+++-+++++++++!++++!++++!+++!++!++!. "," .+-++-+++-+++++++++!++++!++++!+++!++!++!. "," .+-++-+++-+++++++++!++++!++++!+++!++!++!. "," .+-++-+++-+++++++++!++++!++++!+++!++!++!. "," .+-++-+++-+++++++++!++++!++++!+++!++!++!. "," .+-++-+++-+++++++++!++++!++++!+++!++!++!. "," .+-++-+++-+++++++++!++++!++++!+++!++!++!. "," .+-++-+++-+++++++++!++++!++++!+++!++!++!. "," .+-++-+++-+++++++++!++++!++++!+++!++!++!. "," =+-++-+++-+++++++++!++++!++++!+++!++!+++= "," $.++-+++-+++++++++!++++!++++!+++!++!+.$ "," =.++++++++++++++!++++!++++!+++!++.= "," $..+++++++++++++++!++++++...$ "," $$==...........==$$ "," "," "," "," "," "," "," "," "," "};GdkPixmap *trashcan_open;GdkPixmap *trashcan_open_mask;GdkPixmap *trashcan_closed;GdkPixmap *trashcan_closed_mask;gboolean have_drag;enum { TARGET_STRING, TARGET_ROOTWIN, TARGET_URL};static GtkTargetEntry target_table[] = { { "STRING", 0, TARGET_STRING }, { "text/plain", 0, TARGET_STRING }, { "text/uri-list", 0, TARGET_URL }, { "application/x-rootwin-drop", 0, TARGET_ROOTWIN }};static guint n_targets = sizeof(target_table) / sizeof(target_table[0]);void target_drag_leave (GtkWidget *widget, GdkDragContext *context, guint time){ g_print("leave\n"); have_drag = FALSE; gtk_pixmap_set (GTK_PIXMAP (widget), trashcan_closed, trashcan_closed_mask);}gbooleantarget_drag_motion (GtkWidget *widget, GdkDragContext *context, gint x, gint y, guint time){ GtkWidget *source_widget; if (!have_drag) { have_drag = TRUE; gtk_pixmap_set (GTK_PIXMAP (widget), trashcan_open, trashcan_open_mask); } source_widget = gtk_drag_get_source_widget (context); g_print("motion, source %s\n", source_widget ? gtk_type_name (GTK_OBJECT (source_widget)->klass->type) : "unknown"); gdk_drag_status (context, context->suggested_action, time); return TRUE;}gbooleantarget_drag_drop (GtkWidget *widget, GdkDragContext *context, gint x, gint y, guint time){ g_print("drop\n");
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -