/*! \file state_stroke.cpp
** \brief Template File
**
-** $Id: state_stroke.cpp,v 1.1.1.1 2005/01/07 03:34:37 darco Exp $
+** $Id$
**
** \legal
** Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley
+** Copyright (c) 2007 Chris Moore
**
** This package is free software; you can redistribute it and/or
** modify it under the terms of the GNU General Public License as
#include "toolbox.h"
#include <synfigapp/main.h>
+#include "general.h"
+
#endif
/* === U S I N G =========================================================== */
{
etl::handle<CanvasView> canvas_view_;
CanvasView::IsWorking is_working;
-
+
Duckmatic::Push duckmatic_push;
-
+
etl::smart_ptr<std::list<synfig::Point> > stroke_data;
etl::smart_ptr<std::list<synfig::Real> > width_data;
etl::handle<synfigapp::CanvasInterface> get_canvas_interface()const{return canvas_view_->canvas_interface();}
synfig::Canvas::Handle get_canvas()const{return canvas_view_->get_canvas();}
WorkArea * get_work_area()const{return canvas_view_->get_work_area();}
-
+
}; // END of class StateStroke_Context
insert(event_def(EVENT_WORKAREA_MOUSE_BUTTON_UP,&StateStroke_Context::event_mouse_up_handler));
insert(event_def(EVENT_WORKAREA_MOUSE_BUTTON_DRAG,&StateStroke_Context::event_mouse_draw_handler));
insert(event_def(EVENT_REFRESH_TOOL_OPTIONS,&StateStroke_Context::event_refresh_tool_options));
-}
+}
StateStroke::~StateStroke()
{
get_work_area()->add_stroke(stroke_data, synfigapp::Main::get_foreground_color());
- synfig::info("Now Scribbling...");
+ synfig::info("Now Scribbling...");
}
StateStroke_Context::~StateStroke_Context()
{
duckmatic_push.restore();
-
+
App::toolbox->refresh();
- synfig::info("No longer scribbling");
+ synfig::info("No longer scribbling");
// Send the stroke data to whatever previously called this state.
if(stroke_data->size()>=2)
}
Smach::event_result
-StateStroke_Context::event_refresh_tool_options(const Smach::event& x)
+StateStroke_Context::event_refresh_tool_options(const Smach::event& /*x*/)
{
return Smach::RESULT_ACCEPT;
}
Smach::event_result
-StateStroke_Context::event_stop_handler(const Smach::event& x)
+StateStroke_Context::event_stop_handler(const Smach::event& /*x*/)
{
throw Smach::pop_exception();
}
Smach::event_result
-StateStroke_Context::event_refresh_handler(const Smach::event& x)
+StateStroke_Context::event_refresh_handler(const Smach::event& /*x*/)
{
return Smach::RESULT_ACCEPT;
}
modifier=event.modifier;
throw Smach::pop_exception();
}
-
- case BUTTON_RIGHT: // Intercept the right-button click to short-circut the pop-up menu
- return Smach::RESULT_ACCEPT;
-
- default:
+
+ case BUTTON_RIGHT: // Intercept the right-button click to short-circuit the pop-up menu
+ printf("%s:%d BUTTON_RIGHT\n", __FILE__, __LINE__);
+ if (!getenv("SYNFIG_ENABLE_POPUP_MENU_IN_ALL_TOOLS"))
+ return Smach::RESULT_ACCEPT;
+
+ default:
return Smach::RESULT_OK;
}
}
{
stroke_data->push_back(event.pos);
width_data->push_back(event.pressure);
- get_work_area()->queue_draw();
+ get_work_area()->queue_draw();
return Smach::RESULT_ACCEPT;
}
-
- case BUTTON_RIGHT: // Intercept the right-button click to short-circut the pop-up menu
- return Smach::RESULT_ACCEPT;
-
- default:
+
+ case BUTTON_RIGHT: // Intercept the right-button click to short-circuit the pop-up menu
+ printf("%s:%d BUTTON_RIGHT\n", __FILE__, __LINE__);
+ if (!getenv("SYNFIG_ENABLE_POPUP_MENU_IN_ALL_TOOLS"))
+ return Smach::RESULT_ACCEPT;
+
+ default:
return Smach::RESULT_OK;
}
}