ShellData.h#

Class containing internal data of the PowerVR Shell.

Includes#

  • PVRCore/Time_.h

  • PVRCore/commandline/CommandLine.h

  • PVRCore/texture/PixelFormat.h

  • PVRCore/types/Types.h

  • sdkver.h

Included By#

Namespaces#

Classes#

Defines#

Source Code#

#pragma once
#include "PVRCore/commandline/CommandLine.h"
#include "PVRCore/texture/PixelFormat.h"
#include "PVRCore/types/Types.h"
#include "PVRCore/Time_.h"

#include "sdkver.h"
#if !defined(PVRSDK_BUILD)
#define PVRSDK_BUILD "n.n@nnnnnnn"
#endif

#if !defined(PVRSHELL_COMMANDLINE_TXT_FILE)
#define PVRSHELL_COMMANDLINE_TXT_FILE "PVRShellCL.txt"
#endif

namespace pvr {
namespace platform {
class ShellOS;

struct ShellData
{
    Time timer;
    uint64_t timeAtInitApplication;
    uint64_t lastFrameTime;
    uint64_t currentFrameTime;
    std::string exitMessage;

    ShellOS* os;
    DisplayAttributes attributes;

    CommandLineParser* commandLine;

    int32_t captureFrameStart;
    int32_t captureFrameStop;
    uint32_t captureFrameScale;

    bool trapPointerOnDrag;
    bool forceFrameTime;
    uint32_t fakeFrameTime;

    bool exiting;

    uint32_t frameNo;

    bool forceReleaseInitWindow;
    bool forceReleaseInitView;
    int32_t dieAfterFrame;
    float dieAfterTime;
    int64_t startTime;

    bool outputInfo;

    bool weAreDone;

    float FPS;
    bool showFPS;

    Api contextType;
    Api minContextType;

    ShellData()
        : os(0), commandLine(0), captureFrameStart(-1), captureFrameStop(-1), captureFrameScale(1), trapPointerOnDrag(true), forceFrameTime(false), fakeFrameTime(16),
          exiting(false), frameNo(0), forceReleaseInitWindow(false), forceReleaseInitView(false), dieAfterFrame(-1), dieAfterTime(-1), startTime(0), outputInfo(false),
          weAreDone(false), FPS(0.0f), showFPS(false), contextType(Api::Unspecified), minContextType(Api::Unspecified), currentFrameTime(static_cast<uint64_t>(-1)),
          lastFrameTime(static_cast<uint64_t>(-1)), timeAtInitApplication(static_cast<uint64_t>(-1)){};
};
} // namespace platform
} // namespace pvr