axmol/extensions/fairygui/event/HitTest.h

53 lines
824 B
C++

#ifndef __HITTEST_H__
#define __HITTEST_H__
#include "FairyGUIMacros.h"
#include "cocos2d.h"
NS_FGUI_BEGIN
class GComponent;
class ByteBuffer;
class IHitTest
{
public:
virtual bool hitTest(GComponent* obj, const axis::Vec2& localPoint)
{
return true;
}
};
class PixelHitTestData
{
public:
int pixelWidth;
float scale;
unsigned char* pixels;
size_t pixelsLength;
PixelHitTestData();
~PixelHitTestData();
void load(ByteBuffer* buffer);
};
class PixelHitTest : public IHitTest
{
public:
PixelHitTest(PixelHitTestData* data, int offsetX, int offsetY);
virtual bool hitTest(GComponent* obj, const axis::Vec2& localPoint) override;
int offsetX;
int offsetY;
float scaleX;
float scaleY;
private:
PixelHitTestData* _data;
};
NS_FGUI_END
#endif