X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-studio%2Fsrc%2Fgtkmm%2Fstate_draw.cpp;h=44820450b30caf9508ba095490edc4e062992e2c;hb=0b25a520cfdd3983f6fa94c4293210f25cd6dfac;hp=4d053bcff00b54fc7745e3f07caaaa8c07d9e0c1;hpb=adfc80c126f482d7ea2bac38001a2c4a7c7df88c;p=synfig.git diff --git a/synfig-studio/src/gtkmm/state_draw.cpp b/synfig-studio/src/gtkmm/state_draw.cpp index 4d053bc..4482045 100644 --- a/synfig-studio/src/gtkmm/state_draw.cpp +++ b/synfig-studio/src/gtkmm/state_draw.cpp @@ -7,6 +7,7 @@ ** \legal ** Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley ** Copyright (c) 2007 Chris Moore +** Copyright (c) 2009 Nikita Kitaev ** ** This package is free software; you can redistribute it and/or ** modify it under the terms of the GNU General Public License as @@ -37,6 +38,7 @@ #include "state_draw.h" #include "state_stroke.h" +#include "state_normal.h" #include "canvasview.h" #include "workarea.h" #include "app.h" @@ -486,7 +488,7 @@ StateDraw_Context::StateDraw_Context(CanvasView* canvas_view): // Connect a signal //get_work_area()->signal_user_click().connect(sigc::mem_fun(*this,&studio::StateDraw_Context::on_user_click)); - get_canvas_view()->work_area->set_cursor(Gdk::PENCIL); + get_work_area()->set_cursor(Gdk::PENCIL); App::toolbox->refresh(); @@ -543,7 +545,7 @@ StateDraw_Context::~StateDraw_Context() get_work_area()->set_type_mask(old_duckmask); - get_canvas_view()->work_area->reset_cursor(); + get_work_area()->reset_cursor(); // Restore layer clicking get_work_area()->set_allow_layer_clicks(prev_workarea_layer_status_); @@ -566,7 +568,9 @@ StateDraw_Context::~StateDraw_Context() Smach::event_result StateDraw_Context::event_stop_handler(const Smach::event& /*x*/) { - throw Smach::egress_exception(); + //throw Smach::egress_exception(); + throw &state_normal; + return Smach::RESULT_OK; } Smach::event_result @@ -961,10 +965,10 @@ StateDraw_Context::new_bline(std::list bline,bool loop_bline if(extend_start_join_different) LinkableValueNode::Handle::cast_dynamic(source.value_node)-> - set_link(0,finish_duck_value_desc.get_value_node()); + set_link("point",finish_duck_value_desc.get_value_node()); else if(extend_start_join_same) LinkableValueNode::Handle::cast_dynamic(source.value_node)-> - set_link(0,synfigapp::ValueDesc(LinkableValueNode::Handle::cast_dynamic(start_duck_value_node_bline-> + set_link("point",synfigapp::ValueDesc(LinkableValueNode::Handle::cast_dynamic(start_duck_value_node_bline-> list[target_offset+finish_duck_index].value_node),0).get_value_node()); return result; } @@ -989,21 +993,21 @@ StateDraw_Context::new_bline(std::list bline,bool loop_bline if(extend_finish_join_different) LinkableValueNode::Handle::cast_dynamic(source.value_node)-> - set_link(0,start_duck_value_desc.get_value_node()); + set_link("point",start_duck_value_desc.get_value_node()); else if(extend_finish_join_same) LinkableValueNode::Handle::cast_dynamic(source.value_node)-> - set_link(0,synfigapp::ValueDesc(LinkableValueNode::Handle::cast_dynamic(finish_duck_value_node_bline-> + set_link("point",synfigapp::ValueDesc(LinkableValueNode::Handle::cast_dynamic(finish_duck_value_node_bline-> list[target_offset+start_duck_index].value_node),0).get_value_node()); return result; } if (join_start_no_extend) LinkableValueNode::Handle::cast_dynamic(value_node->list.front().value_node)-> - set_link(0,start_duck_value_desc.get_value_node()); + set_link("point",start_duck_value_desc.get_value_node()); if (join_finish_no_extend) LinkableValueNode::Handle::cast_dynamic(value_node->list.back().value_node)-> - set_link(0,finish_duck_value_desc.get_value_node()); + set_link("point",finish_duck_value_desc.get_value_node()); if(get_auto_export_flag()) if (!get_canvas_interface()->add_value_node(value_node,get_id())) @@ -1678,8 +1682,8 @@ StateDraw_Context::new_region(std::list bline, synfig::Real continue; } // \todo if next isn't split, don't we want to copy its 'Tangent 1' instead? - value_node->set_link(5,value_node_next->get_link(5)); // Tangent 2 - value_node->set_link(3,ValueNode_Const::create(true)); // Split Tangents + value_node->set_link("t2",value_node_next->get_link("t2")); + value_node->set_link("split",ValueNode_Const::create(true)); // get_canvas_interface()->auto_export(value_node); printf("exporting\n");