9cf8be
#pragma once
9cf8be
9cf8be
#ifndef MODIFIERASSISTANTS_INCLUDED
9cf8be
#define MODIFIERASSISTANTS_INCLUDED
9cf8be
9cf8be
// TnzTools includes
9cf8be
#include <tools assistant.h=""></tools>
9cf8be
#include <tools inputmanager.h=""></tools>
9cf8be
9cf8be
#undef DVAPI
9cf8be
#undef DVVAR
9cf8be
#ifdef TNZTOOLS_EXPORTS
9cf8be
#define DVAPI DV_EXPORT_API
9cf8be
#define DVVAR DV_EXPORT_VAR
9cf8be
#else
9cf8be
#define DVAPI DV_IMPORT_API
9cf8be
#define DVVAR DV_IMPORT_VAR
9cf8be
#endif
9cf8be
9cf8be
9cf8be
//===================================================================
9cf8be
9cf8be
//*****************************************************************************************
9cf8be
//    TModifierAssistants definition
9cf8be
//*****************************************************************************************
9cf8be
9cf8be
class TModifierAssistants: public TInputModifier {
9cf8be
public:
9cf8be
  class Modifier: public TTrackModifier {
9cf8be
  public:
9cf8be
    bool initialized;
9cf8be
    TInputSavePoint::Holder savePoint;
9cf8be
    TGuidelineList guidelines;
9cf8be
9cf8be
    Modifier(TTrackHandler &handler);
9cf8be
    TTrackPoint calcPoint(double originalIndex) override;
9cf8be
  };
9cf8be
9cf8be
public:
9cf8be
  const double sensitiveLength;
9cf8be
9cf8be
  TModifierAssistants();
9cf8be
9cf8be
  void findGuidelines(
9cf8be
    const TPointD &position,
9cf8be
    TGuidelineList &outGuidelines ) const;
9cf8be
9cf8be
  void modifyTrack(
9cf8be
    const TTrack &track,
9cf8be
    const TInputSavePoint::Holder &savePoint,
9cf8be
    TTrackList &outTracks ) override;
9cf8be
  void drawHover(const TPointD &hover) override;
9cf8be
  void drawTrack(const TTrack &track) override;
9cf8be
};
9cf8be
9cf8be
9cf8be
#endif