summaryrefslogtreecommitdiffstats
path: root/src/ui/tools/livecode-tool.h
diff options
context:
space:
mode:
authors-ol <s-ol@users.noreply.github.com>2019-11-28 22:32:59 +0000
committers-ol <s-ol@users.noreply.github.com>2019-11-28 22:32:59 +0000
commite892be093dd86fbdabf7a21f9bfd333bcd0839b7 (patch)
tree4123d5e6c9792a4f7a648acf2cb975c20e833520 /src/ui/tools/livecode-tool.h
parentadd livecoding tool to toolbar (diff)
downloadinkscape-e892be093dd86fbdabf7a21f9bfd333bcd0839b7.tar.gz
inkscape-e892be093dd86fbdabf7a21f9bfd333bcd0839b7.zip
add api and input modules for the livecoding tool
Diffstat (limited to 'src/ui/tools/livecode-tool.h')
-rw-r--r--src/ui/tools/livecode-tool.h62
1 files changed, 10 insertions, 52 deletions
diff --git a/src/ui/tools/livecode-tool.h b/src/ui/tools/livecode-tool.h
index 1b56561de..fdeb61264 100644
--- a/src/ui/tools/livecode-tool.h
+++ b/src/ui/tools/livecode-tool.h
@@ -3,12 +3,11 @@
#define SEEN_SP_LIVECODE_CONTEXT_H
/*
- * Our fine measuring tool
+ * An experimental Livecoding Tool
*
* Authors:
- * Felipe Correa da Silva Sanches <juca@members.fsf.org>
- * Jabiertxo Arraiza <jabier.arraiza@marker.es>
- * Copyright (C) 2011 Authors
+ * Sol Bekic <s+inkscape@s-ol.nu>
+ * Copyright (C) 2019 Authors
*
* Released under GNU GPL v2+, read the file 'COPYING' for more information.
*/
@@ -20,6 +19,7 @@
#include "display/canvas-text.h"
#include "display/canvas-temporary-item.h"
#include "ui/control-manager.h"
+#include "livecode/api.h"
#include <boost/optional.hpp>
#define SP_LIVECODE_CONTEXT(obj) (dynamic_cast<Inkscape::UI::Tools::LivecodeTool*>((Inkscape::UI::Tools::ToolBase*)obj))
@@ -38,58 +38,16 @@ public:
static const std::string prefsPath;
+ void setup() override;
void finish() override;
bool root_handler(GdkEvent* event) override;
- virtual void showCanvasItems(bool to_guides = false, bool to_item = false, bool to_phantom = false, Inkscape::XML::Node *measure_repr = nullptr);
- virtual void reverseKnots();
- virtual void toGuides();
- virtual void toPhantom();
- virtual void toMarkDimension();
- virtual void toItem();
- virtual void reset();
- virtual void setMarkers();
- virtual void setMarker(bool isStart);
const std::string& getPrefsPath() override;
- Geom::Point readMeasurePoint(bool is_start);
- void showInfoBox(Geom::Point cursor, bool into_groups);
- void showItemInfoText(Geom::Point pos, gchar *measure_str, double fontsize);
- void writeMeasurePoint(Geom::Point point, bool is_start);
- void setGuide(Geom::Point origin, double angle, const char *label);
- void setPoint(Geom::Point origin, Inkscape::XML::Node *measure_repr);
- void setLine(Geom::Point start_point,Geom::Point end_point, bool markers, guint32 color, Inkscape::XML::Node *measure_repr = nullptr);
- void setMeasureCanvasText(bool is_angle, double precision, double amount, double fontsize, Glib::ustring unit_name, Geom::Point position, guint32 background, CanvasTextAnchorPositionEnum text_anchor, bool to_item, bool to_phantom, Inkscape::XML::Node *measure_repr);
- void setMeasureCanvasItem(Geom::Point position, bool to_item, bool to_phantom, Inkscape::XML::Node *measure_repr);
- void setMeasureCanvasControlLine(Geom::Point start, Geom::Point end, bool to_item, bool to_phantom, Inkscape::CtrlLineType ctrl_line_type, Inkscape::XML::Node *measure_repr);
- void setLabelText(const char *value, Geom::Point pos, double fontsize, Geom::Coord angle, guint32 background , Inkscape::XML::Node *measure_repr = nullptr, CanvasTextAnchorPositionEnum text_anchor = TEXT_ANCHOR_CENTER );
- void knotStartMovedHandler(SPKnot */*knot*/, Geom::Point const &ppointer, guint state);
- void knotEndMovedHandler(SPKnot */*knot*/, Geom::Point const &ppointer, guint state);
- void knotClickHandler(SPKnot *knot, guint state);
- void knotUngrabbedHandler(SPKnot */*knot*/, unsigned int /*state*/);
+
private:
- SPCanvasItem* grabbed;
- boost::optional<Geom::Point> explicit_base;
- boost::optional<Geom::Point> last_end;
- SPKnot *knot_start;
- SPKnot *knot_end;
- gint dimension_offset;
- Geom::Point start_p;
- Geom::Point end_p;
- Geom::Point last_pos;
- std::vector<SPCanvasItem *> measure_tmp_items;
- std::vector<SPCanvasItem *> measure_phantom_items;
- std::vector<SPCanvasItem *> measure_item;
- double item_width;
- double item_height;
- double item_x;
- double item_y;
- double item_length;
- SPItem *over;
- sigc::connection _knot_start_moved_connection;
- sigc::connection _knot_start_ungrabbed_connection;
- sigc::connection _knot_start_click_connection;
- sigc::connection _knot_end_moved_connection;
- sigc::connection _knot_end_click_connection;
- sigc::connection _knot_end_ungrabbed_connection;
+ bool handle_tick(Glib::RefPtr<Gdk::FrameClock> const &frame_clock);
+
+ guint tick_callback;
+ Livecode::API api;
};
}