shun-iwasawa 14c787
#pragma once
shun-iwasawa 14c787
shun-iwasawa 14c787
#ifndef FULLCOLORFILLTOOL_H
shun-iwasawa 14c787
#define FULLCOLORFILLTOOL_H
shun-iwasawa 14c787
shun-iwasawa 14c787
// TnzCore includes
shun-iwasawa 14c787
#include "tproperty.h"
shun-iwasawa 14c787
shun-iwasawa 14c787
// TnzTools includes
shun-iwasawa 14c787
#include "tools/tool.h"
shun-iwasawa 14c787
#include "toonz/fill.h"
shun-iwasawa 14c787
#include "toonz/txshsimplelevel.h"
shun-iwasawa 14c787
shun-iwasawa 14c787
#include <qcoreapplication></qcoreapplication>
shun-iwasawa 14c787
#include <qobject></qobject>
shun-iwasawa 14c787
shun-iwasawa 14c787
class FullColorFillTool final : public QObject, public TTool {
shun-iwasawa 14c787
  Q_DECLARE_TR_FUNCTIONS(FullColorFillTool)
shun-iwasawa 14c787
shun-iwasawa 14c787
  TXshSimpleLevelP m_level;
shun-iwasawa 14c787
  TDoublePairProperty m_fillDepth;
shun-iwasawa 14c787
  TPropertyGroup m_prop;
shun-iwasawa 14c787
  TPointD m_clickPoint;
shun-iwasawa 14c787
shun-iwasawa 14c787
public:
shun-iwasawa 14c787
  FullColorFillTool();
shun-iwasawa 14c787
shun-iwasawa 14c787
  ToolType getToolType() const override { return TTool::LevelWriteTool; }
shun-iwasawa 14c787
shun-iwasawa 14c787
  void updateTranslation() override;
shun-iwasawa 14c787
shun-iwasawa 14c787
  TPropertyGroup *getProperties(int targetType) override { return &m_prop; }
shun-iwasawa 14c787
shun-iwasawa 14c787
  FillParameters getFillParameters() const;
shun-iwasawa 14c787
shun-iwasawa 14c787
  void leftButtonDown(const TPointD &pos, const TMouseEvent &e) override;
shun-iwasawa 14c787
  void leftButtonDrag(const TPointD &pos, const TMouseEvent &e) override;
shun-iwasawa 14c787
shun-iwasawa 14c787
  bool onPropertyChanged(std::string propertyName) override;
shun-iwasawa 14c787
shun-iwasawa 14c787
  void onActivate() override;
shun-iwasawa 14c787
  int getCursorId() const override;
shun-iwasawa 14c787
};
shun-iwasawa 14c787
shun-iwasawa 14c787
#endif  // FULLCOLORFILLTOOL_H