📄 drag_drop.c.svn-base
字号:
#include "instance.h"#include "player_pub.h"#include "drag_drop.h"#include <glib.h>#include <assert.h>extern player_t *player_p;void drag_start(GNode *node_p) { instance_t *data_p = (instance_t*)node_p->data; player_p->drag_obj.node_p = node_p; return;};void drag_ing(int x,int y) { GNode *node_p = player_p->drag_obj.node_p;// instance_t *data_p = (instance_t*)node_p->data;// int abs_x=0;// int abs_y=0; assert(node_p);// abs_x = data_p->ab_matrix.TranslateX / 20;// abs_y = data_p->ab_matrix.TranslateY / 20;// printf("drag revx %d revy %d\n", abs_x, abs_y);// printf("drag x %d y %d\n", x/20, y/20); ins_set_x(node_p,x /20 ); ins_set_y(node_p,y /20);// ins_set_x(node_p,x /20 - abs_x);// ins_set_y(node_p,y /20- abs_y); // 绝对坐标 x,y 转换为 node_p 父上的相对坐标. // 相对坐标再加上托拽开始时相对于中心点的偏差. // 重置 node_p 的 x,y 坐标.};void drag_stop(void) { player_p->drag_obj.node_p = NULL; return;};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -