geode/loader/include/Geode/ui/ScrollLayer.hpp

41 lines
1.2 KiB
C++
Raw Normal View History

#pragma once
#include <Geode/binding/CCContentLayer.hpp>
#include <Geode/binding/CCScrollLayerExt.hpp>
namespace geode {
/**
2022-10-30 14:59:20 -04:00
* CCContentLayer expects all of its children
* to be TableViewCells, which is not ideal for
* a generic content layer
*/
class GEODE_DLL GenericContentLayer : public CCContentLayer {
public:
2022-10-30 14:59:20 -04:00
static GenericContentLayer* create(float width, float height);
void setPosition(cocos2d::CCPoint const& pos) override;
};
class GEODE_DLL ScrollLayer : public CCScrollLayerExt {
protected:
bool m_scrollWheelEnabled;
2022-10-30 14:59:20 -04:00
ScrollLayer(cocos2d::CCRect const& rect, bool scrollWheelEnabled, bool vertical);
2022-09-29 17:30:25 -04:00
bool ccTouchBegan(cocos2d::CCTouch*, cocos2d::CCEvent*) override;
2024-01-23 14:14:21 -05:00
void visit() override;
public:
static ScrollLayer* create(
2022-10-30 14:59:20 -04:00
cocos2d::CCRect const& rect, bool scrollWheelEnabled = true, bool vertical = true
);
static ScrollLayer* create(
2022-10-30 14:59:20 -04:00
cocos2d::CCSize const& size, bool scrollWheelEnabled = true, bool vertical = true
);
void scrollWheel(float y, float) override;
void enableScrollWheel(bool enable = true);
};
}