2022-08-01 11:18:03 -04:00
|
|
|
#pragma once
|
|
|
|
|
2022-10-13 05:56:23 -04:00
|
|
|
#include <codegenned/binding/CCContentLayer.hpp>
|
|
|
|
#include <codegenned/binding/CCScrollLayerExt.hpp>
|
2022-08-01 11:18:03 -04:00
|
|
|
|
|
|
|
namespace geode {
|
|
|
|
/**
|
|
|
|
* 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:
|
|
|
|
static GenericContentLayer* create(
|
|
|
|
float width, float height
|
|
|
|
);
|
|
|
|
|
|
|
|
void setPosition(cocos2d::CCPoint const& pos) override;
|
|
|
|
};
|
|
|
|
|
|
|
|
class GEODE_DLL ScrollLayer : public CCScrollLayerExt {
|
|
|
|
protected:
|
|
|
|
bool m_scrollWheelEnabled;
|
|
|
|
|
|
|
|
ScrollLayer(
|
|
|
|
cocos2d::CCRect const& rect,
|
|
|
|
bool scrollWheelEnabled,
|
|
|
|
bool vertical
|
|
|
|
);
|
|
|
|
|
2022-09-29 17:30:25 -04:00
|
|
|
bool ccTouchBegan(cocos2d::CCTouch*, cocos2d::CCEvent*) override;
|
|
|
|
|
2022-08-01 11:18:03 -04:00
|
|
|
public:
|
|
|
|
static ScrollLayer* create(
|
|
|
|
cocos2d::CCRect const& rect,
|
|
|
|
bool scrollWheelEnabled = true,
|
|
|
|
bool vertical = true
|
|
|
|
);
|
|
|
|
static ScrollLayer* create(
|
|
|
|
cocos2d::CCSize const& size,
|
|
|
|
bool scrollWheelEnabled = true,
|
|
|
|
bool vertical = true
|
|
|
|
);
|
|
|
|
|
|
|
|
void scrollWheel(float y, float) override;
|
|
|
|
void enableScrollWheel(bool enable = true);
|
|
|
|
};
|
|
|
|
}
|
|
|
|
|