📄 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 + -