<commit_before>#ifndef _DRAG2D_MULTI_SPRITES_IMPL_H_
#define _DRAG2D_MULTI_SPRITES_IMPL_H_

#include "ISpriteViewPanel.h"
#include "DataTraverseType.h"

#include "common/visitors.h"

#include <wx/wx.h>

namespace d2d
{

class EditPanelImpl;
class SpriteSelection;
class Rect;

class MultiSpritesImpl : public ISpriteViewPanel
{
public:
	MultiSpritesImpl(EditPanelImpl* stage);
	virtual ~MultiSpritesImpl();

	//
	//	interface ISpriteViewPanel
	//
	virtual void SelectSprite(ISprite* spr, bool clear);
	virtual void SelectMultiSprites(SpriteSelection* selection);
	virtual bool ReorderSprite(d2d::ISprite* sprite, bool up);
	virtual bool InsertSprite(ISprite* sprite);
	virtual bool InsertSprite(ISprite* sprite, int idx);
	virtual bool RemoveSprite(ISprite* sprite);
	virtual bool ClearAllSprite();

	virtual void TraverseSprites(IVisitor& visitor, 
		DataTraverseType type = DT_ALL, bool order = true) const = 0;

	virtual ISprite* QuerySpriteByPos(const Vector& pos) const;<commit_msg>[FIXED] MultiSpritesImpl<commit_after>#ifndef _DRAG2D_MULTI_SPRITES_IMPL_H_
#define _DRAG2D_MULTI_SPRITES_IMPL_H_

#include "ISpriteViewPanel.h"
#include "DataTraverseType.h"

#include "common/visitors.h"

#include <wx/wx.h>

namespace d2d
{

class EditPanelImpl;
class SpriteSelection;
class Rect;

class MultiSpritesImpl : public ISpriteViewPanel
{
public:
	MultiSpritesImpl(EditPanelImpl* stage);
	virtual ~MultiSpritesImpl();

	//
	//	interface ISpriteViewPanel
	//
	virtual void SelectSprite(ISprite* spr, bool clear);
	virtual void SelectMultiSprites(SpriteSelection* selection);
	virtual bool ReorderSprite(d2d::ISprite* sprite, bool up);
	virtual bool InsertSprite(ISprite* sprite);
	virtual bool RemoveSprite(ISprite* sprite);
	virtual bool ClearAllSprite();

	virtual void TraverseSprites(IVisitor& visitor, 
		DataTraverseType type = DT_ALL, bool order = true) const = 0;

	virtual ISprite* QuerySpriteByPos(const Vector& pos) const;
{'fraction_non_alphanumeric': 0.09166235111341274, 'fraction_numerical': 0.005178663904712584, 'mean_word_length': 6.697211155378486, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6634173', 'n_tokens_mistral': 675, 'n_tokens_neox': 676, 'n_words': 158}