axmol/tests/cpp-tests/Source/EffectsTest/EffectsTest.h

282 lines
6.2 KiB
C++

/****************************************************************************
Copyright (c) 2017-2018 Xiamen Yaji Software Co., Ltd.
https://axmolengine.github.io/
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
****************************************************************************/
#ifndef _EFFECTS_TEST_H_
#define _EFFECTS_TEST_H_
#include "../BaseTest.h"
DEFINE_TEST_SUITE(EffectTests);
class EffectBaseTest : public TestCase
{
public:
EffectBaseTest();
virtual ~EffectBaseTest();
protected:
virtual bool init() override;
virtual ax::ActionInterval* createEffect(float t) { return nullptr; }
void checkAnim(float dt);
virtual bool isRectEffect() { return false; }
virtual std::string title() const override { return _title; };
virtual std::string subtitle() const override { return _subtitle; };
std::string _title;
std::string _subtitle;
ax::NodeGrid* _gridNodeTarget;
};
class Shaky3DDemo : public EffectBaseTest
{
public:
CREATE_FUNC(Shaky3DDemo);
Shaky3DDemo();
protected:
virtual ax::ActionInterval* createEffect(float t) override;
};
class Waves3DDemo : public EffectBaseTest
{
public:
CREATE_FUNC(Waves3DDemo);
Waves3DDemo();
protected:
virtual ax::ActionInterval* createEffect(float t) override;
};
class FlipX3DDemo : public EffectBaseTest
{
public:
CREATE_FUNC(FlipX3DDemo);
FlipX3DDemo();
protected:
virtual ax::ActionInterval* createEffect(float t) override;
};
class FlipY3DDemo : public EffectBaseTest
{
public:
CREATE_FUNC(FlipY3DDemo);
FlipY3DDemo();
protected:
virtual ax::ActionInterval* createEffect(float t) override;
};
class Lens3DDemo : public EffectBaseTest
{
public:
CREATE_FUNC(Lens3DDemo);
Lens3DDemo();
protected:
virtual ax::ActionInterval* createEffect(float t) override;
};
class Ripple3DDemo : public EffectBaseTest
{
public:
CREATE_FUNC(Ripple3DDemo);
Ripple3DDemo();
protected:
virtual ax::ActionInterval* createEffect(float t) override;
};
class LiquidDemo : public EffectBaseTest
{
public:
CREATE_FUNC(LiquidDemo);
LiquidDemo();
protected:
virtual ax::ActionInterval* createEffect(float t) override;
};
class WavesDemo : public EffectBaseTest
{
public:
CREATE_FUNC(WavesDemo);
WavesDemo();
protected:
virtual ax::ActionInterval* createEffect(float t) override;
};
class TwirlDemo : public EffectBaseTest
{
public:
CREATE_FUNC(TwirlDemo);
TwirlDemo();
protected:
virtual ax::ActionInterval* createEffect(float t) override;
};
class ShakyTiles3DDemo : public EffectBaseTest
{
public:
CREATE_FUNC(ShakyTiles3DDemo);
ShakyTiles3DDemo();
protected:
virtual ax::ActionInterval* createEffect(float t) override;
};
class ShatteredTiles3DDemo : public EffectBaseTest
{
public:
CREATE_FUNC(ShatteredTiles3DDemo);
ShatteredTiles3DDemo();
protected:
virtual ax::ActionInterval* createEffect(float t) override;
};
class ShuffleTilesDemo : public EffectBaseTest
{
public:
CREATE_FUNC(ShuffleTilesDemo);
ShuffleTilesDemo();
protected:
virtual ax::ActionInterval* createEffect(float t) override;
};
class FadeOutTRTilesDemo : public EffectBaseTest
{
public:
CREATE_FUNC(FadeOutTRTilesDemo);
FadeOutTRTilesDemo();
protected:
virtual ax::ActionInterval* createEffect(float t) override;
};
class FadeOutBLTilesDemo : public EffectBaseTest
{
public:
CREATE_FUNC(FadeOutBLTilesDemo);
FadeOutBLTilesDemo();
protected:
virtual ax::ActionInterval* createEffect(float t) override;
};
class FadeOutUpTilesDemo : public EffectBaseTest
{
public:
CREATE_FUNC(FadeOutUpTilesDemo);
FadeOutUpTilesDemo();
protected:
virtual ax::ActionInterval* createEffect(float t) override;
};
class FadeOutDownTilesDemo : public EffectBaseTest
{
public:
CREATE_FUNC(FadeOutDownTilesDemo);
FadeOutDownTilesDemo();
protected:
virtual ax::ActionInterval* createEffect(float t) override;
};
class TurnOffTilesDemo : public EffectBaseTest
{
public:
CREATE_FUNC(TurnOffTilesDemo);
TurnOffTilesDemo();
protected:
virtual ax::ActionInterval* createEffect(float t) override;
};
class WavesTiles3DDemo : public EffectBaseTest
{
public:
CREATE_FUNC(WavesTiles3DDemo);
WavesTiles3DDemo();
protected:
virtual ax::ActionInterval* createEffect(float t) override;
};
class JumpTiles3DDemo : public EffectBaseTest
{
public:
CREATE_FUNC(JumpTiles3DDemo);
JumpTiles3DDemo();
protected:
virtual ax::ActionInterval* createEffect(float t) override;
};
class SplitRowsDemo : public EffectBaseTest
{
public:
CREATE_FUNC(SplitRowsDemo);
SplitRowsDemo();
protected:
virtual ax::ActionInterval* createEffect(float t) override;
};
class SplitColsDemo : public EffectBaseTest
{
public:
CREATE_FUNC(SplitColsDemo);
SplitColsDemo();
protected:
virtual ax::ActionInterval* createEffect(float t) override;
};
class PageTurn3DDemo : public EffectBaseTest
{
public:
CREATE_FUNC(PageTurn3DDemo);
PageTurn3DDemo();
protected:
virtual ax::ActionInterval* createEffect(float t) override;
};
class PageTurn3DRectDemo : public EffectBaseTest
{
public:
CREATE_FUNC(PageTurn3DRectDemo);
PageTurn3DRectDemo();
protected:
virtual bool isRectEffect() override { return true; }
virtual ax::ActionInterval* createEffect(float t) override;
};
#endif