1128277c9SStephan Aßmus /* 2128277c9SStephan Aßmus * Copyright 2006, Haiku. 3128277c9SStephan Aßmus * Distributed under the terms of the MIT License. 4128277c9SStephan Aßmus * 5128277c9SStephan Aßmus * Authors: 6128277c9SStephan Aßmus * Stephan Aßmus <superstippi@gmx.de> 7128277c9SStephan Aßmus */ 8128277c9SStephan Aßmus 9128277c9SStephan Aßmus #ifndef REMOVE_POINTS_COMMAND_H 10128277c9SStephan Aßmus #define REMOVE_POINTS_COMMAND_H 11128277c9SStephan Aßmus 12128277c9SStephan Aßmus #include "PathCommand.h" 13128277c9SStephan Aßmus 14*c6408adaSAxel Dörfler class BPoint; 15*c6408adaSAxel Dörfler 16128277c9SStephan Aßmus class RemovePointsCommand : public PathCommand { 17128277c9SStephan Aßmus public: 18128277c9SStephan Aßmus // for removing the point clicked on 19128277c9SStephan Aßmus // independent of selection 20128277c9SStephan Aßmus RemovePointsCommand(VectorPath* path, 21128277c9SStephan Aßmus int32 index, 22128277c9SStephan Aßmus const int32* selection, 23128277c9SStephan Aßmus int32 count); 24128277c9SStephan Aßmus // for removing the selection 25128277c9SStephan Aßmus RemovePointsCommand(VectorPath* path, 26128277c9SStephan Aßmus const int32* selection, 27128277c9SStephan Aßmus int32 count); 28128277c9SStephan Aßmus virtual ~RemovePointsCommand(); 29128277c9SStephan Aßmus 30128277c9SStephan Aßmus virtual status_t InitCheck(); 31128277c9SStephan Aßmus 32128277c9SStephan Aßmus virtual status_t Perform(); 33128277c9SStephan Aßmus virtual status_t Undo(); 34128277c9SStephan Aßmus virtual status_t Redo(); 35128277c9SStephan Aßmus 36128277c9SStephan Aßmus virtual void GetName(BString& name); 37128277c9SStephan Aßmus 38128277c9SStephan Aßmus private: 39128277c9SStephan Aßmus void _Init(const int32* indices, int32 count, 40128277c9SStephan Aßmus const int32* selection, 41128277c9SStephan Aßmus int32 selectionCount); 42128277c9SStephan Aßmus 43128277c9SStephan Aßmus int32* fIndex; 44128277c9SStephan Aßmus BPoint* fPoint; 45128277c9SStephan Aßmus BPoint* fPointIn; 46128277c9SStephan Aßmus BPoint* fPointOut; 47128277c9SStephan Aßmus bool* fConnected; 48128277c9SStephan Aßmus int32 fCount; 49128277c9SStephan Aßmus 50128277c9SStephan Aßmus bool fWasClosed; 51128277c9SStephan Aßmus 52128277c9SStephan Aßmus int32* fOldSelection; 53128277c9SStephan Aßmus int32 fOldSelectionCount; 54128277c9SStephan Aßmus }; 55128277c9SStephan Aßmus 56128277c9SStephan Aßmus #endif // REMOVE_POINTS_COMMAND_H 57