📄 animationtree.h
字号:
"cccddcbcbaccccdcccbcbbbcbdcbcbcbbbbcccdccbabbbabbcbbdbbbccacbbbbbcbbdbcbccccccbbbccbdcccccccbcbcbbcccbdccccbcbabccdcccbccccbbcbb","ccdcbcabbbbcccbcbbbacccbcbbbbbbccbcccbbcbbbcbbcbdcbcbccbcccbcbbbccccdcbcccbccbdbccccddcccbbccccbcccccdcccdbbbccbcbccccdcbcbdbccc","cdbbcbbbbbcccbcbcbbcbbccbbbbbbbccbcbbbcbbbcbbbcccbcccccbccbbbbccbbcdcbcccccbcbbccdccccccbbbdccbcbccccccbddbbccabbcddccbbcccccccd","cbbcbcbbbccdbccbbccbbdcbbbccccdcbdbccbccbcccccbbbcbcbbabccabbcbbbccbbcccccbbbcbbcbbcbccbbbdbccbcccddcbccccbbcbbbdcdcccccccdcbdcc","cbbbcbbcbccbbcbbccbbcccbbccccdccccccbbcccccbcabcbcbbabbbbbbcbbbcbbbbbbcbbcbbbcbcbcbcccbbcdcbcccdccdccdccccbbcbbdccccbcbcdcdccccb","bcbcbbcccbdcccbbcbcbbcbbccccbabcbbccddcccbbcbbcbdcbcbcbcbbcbbbbbbbccccccccbbccbbcbcbcccdcbbddccccbbdbbccccabccccbcccccbcbcddcccc","bcbbbcbcbcccbbcccbbbbbbdbcccbcccbcbccbccbbccccbbcbccbbcccccbbcccbbcbbccbcdcccbccbcbbccbdbbddccbdbbcccccccbbbccccbccbcdcccccccbcb","cbcbccccbbccccccdcccbccbbcccbbcccccccdcbcdcdbbcbccbbbbdbbbbbbbbcabccbcbcccabbabccbccccbbcbdccccbbccdbbcbbbbaccbbcbbccdbbbbdcbccb","ccbbcccccdcccccdcbccbccccbcbbbcbdcccbccbcccccbbbbbcbccbbbababbcbcccbbcbdccbbcbccccbccabcccbbcbccbcccbcbbbbabccbbbcbccdbbccdccdbb","bcbcbdbbcdbbccbcabccbbccbccbcbcccccbcccbccbbbbbbbcbcccbbabbccccbbcccccdcdbccbcccdbccacdccccccbbbcbbbcbbcccdbdccbcbccccbbccbcaabc","bcbcccccddccccbbbcbbcdcccdbccbcdbcbcccbcdccbbbbccccccbbabbccccbbcbbdcccccccbccddcbccbcdccbccbbccbbccabccccbcdcccccccccbcbccbbcbc","bbccdcdcccabccbbdbcbdcdcbbbbbdcccdcccbcbcbccccbcbbbcabbbbcbccbccbcccccccbcbcccdccccccccbbbccbcbcbbcbbcccbccdbbbbbcbbbbcbccabcccc"};#endifclass AnimationTree { private: GraphWin *gwp; window *wp; GRAPH<int,int> *gp; array<node> *ap_bg; array<node> *ap_fg; double node_dy; double node_dx; double window_width; double window_height; string window_label; color TreeLevelColor1; color TreeLevelColor2; color default_edge_color; int default_edge_width; bool ShowIndex; bool ShowTexture; int x_WindowPos; int y_WindowPos; int GridDistance; void init_parameters(); public: graph& get_graph() { return *gp; } GraphWin& get_graphwin() { return *gwp; } window& get_window() { return *wp; } // constructor & destructor // AnimationTree(int x = 200, int y = 200, string label = "") : window_width(x), window_height(y), window_label(label) { gp = new GRAPH<int,int>(); gwp = new GraphWin((*gp), x, y, label); init_parameters(); } ~AnimationTree() { if(!ap_fg) { delete ap_fg; delete ap_bg; } delete gp; delete gwp; } // functions // void extract_frame_label(string); void open_with_timeout(int x = -1, int y = -1, int time = 1000); void create_tree(const array<int>&); void marked_edge(int, int, color, int); void demarked_edge(int, int); void swap_nodes(int, int, int);int swap_nodes_start(int i,int j);void swap_nodes_step();void swap_nodes_finish(int i, int j); // window standard - operations // void display(int x = -1, int y = -1); void clear() { wp->clear(); } void close() { wp->close(); } // set - operations // void set_window_label(string label) { gwp->set_frame_label(window_label = label); } void set_display_position(int x, int y) { x_WindowPos = x; y_WindowPos = y; } void set_node_distance(double x = -1, double y = -1) { node_dx = x != -1 ? x * gwp->get_node_height() : node_dx; node_dy = y != -1 ? y * gwp->get_node_height() : node_dy; } void set_show_index(const bool status) { ShowIndex = status; } void set_tree_level_colors(color c1, color c2) { TreeLevelColor1 = c1; TreeLevelColor1 = c2; } color set_node_color(int i, color c) { if(i > (*ap_fg).high() || i < (*ap_fg).low()) return -1; return gwp->set_color((*ap_fg)[i], c); } void set_texture(const bool status) { ShowTexture = status; } // get - operations // GraphWin* get_graphwindow_ptr() { return gwp; } color get_node_color(int i) { if(i > (*ap_fg).high() || i < (*ap_fg).low()) return -1; return gwp->get_color((*ap_fg)[i]); } int get_window_height() { return wp->height(); } int get_window_width() { return wp->width(); } // event - operations // int wait_of_mouse_event() { return wp->read_mouse(); } void wait_with_timeout(int); };#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -