From e892be093dd86fbdabf7a21f9bfd333bcd0839b7 Mon Sep 17 00:00:00 2001 From: s-ol Date: Thu, 28 Nov 2019 23:32:59 +0100 Subject: add api and input modules for the livecoding tool --- src/ui/tools/livecode-tool.h | 62 +++++++------------------------------------- 1 file changed, 10 insertions(+), 52 deletions(-) (limited to 'src/ui/tools/livecode-tool.h') 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 - * Jabiertxo Arraiza - * Copyright (C) 2011 Authors + * Sol Bekic + * 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 #define SP_LIVECODE_CONTEXT(obj) (dynamic_cast((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 explicit_base; - boost::optional 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 measure_tmp_items; - std::vector measure_phantom_items; - std::vector 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 const &frame_clock); + + guint tick_callback; + Livecode::API api; }; } -- cgit v1.2.3