summaryrefslogtreecommitdiff
path: root/include/JSystem/JStage/JSGCamera.h
blob: 336d2c47628532871c2741668d11a213daa3781d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#ifndef JSGCAMERA_H
#define JSGCAMERA_H

#include "JSystem/JStage/JSGObject.h"

namespace JStage {
    enum TECameraProjection {};

    struct TECameraView {};

    struct TCamera : public TObject {
        virtual ~TCamera() = 0;
        virtual s32 JSGFGetType() const;
        virtual bool JSGGetProjectionType() const;
        virtual void JSGSetProjectionType(JStage::TECameraProjection);
        virtual f32 JSGGetProjectionNear() const;
        virtual void JSGSetProjectionNear(f32);
        virtual f32 JSGGetProjectionFar() const;
        virtual void JSGSetProjectionFar(f32);
        virtual f32 JSGGetProjectionFovy() const;
        virtual void JSGSetProjectionFovy(f32);
        virtual f32 JSGGetProjectionAspect() const;
        virtual void JSGSetProjectionAspect(f32);
        virtual void JSGGetProjectionField(f32*) const;
        virtual void JSGSetProjectionField(f32 const*);
        virtual bool JSGGetViewType() const;
        virtual void JSGSetViewType(JStage::TECameraView);
        virtual void JSGGetViewPosition(Vec*) const;
        virtual void JSGSetViewPosition(Vec const&);
        virtual void JSGGetViewUpVector(Vec*) const;
        virtual void JSGSetViewUpVector(Vec const&);
        virtual void JSGGetViewTargetPosition(Vec*) const;
        virtual void JSGSetViewTargetPosition(Vec const&);
        virtual f32 JSGGetViewRoll() const;
        virtual void JSGSetViewRoll(f32);
    };
};

#endif /* JSGCAMERA_H */