Implements calling Lua.

This commit is contained in:
2021-08-25 12:27:39 +09:00
parent 1518e429b4
commit 213902021c
46 changed files with 2233 additions and 245 deletions

49
src/iDrawable.h Normal file
View File

@@ -0,0 +1,49 @@
#pragma once
#include "common.h"
#include "Rasterbuffer.h"
namespace gj {
class iDrawable {
public:
iDrawable(iDrawable&&) = default;
iDrawable(const iDrawable&) = default;
iDrawable& operator=(iDrawable&&) = default;
iDrawable& operator=(const iDrawable&) = default;
iDrawable() = default;
virtual ~iDrawable() = default;
virtual void Draw(Colorbuffer& buf) const = 0;
};
class DrawableBase : public iDrawable {
public:
DrawableBase() = default;
~DrawableBase() = default;
DrawableBase(DrawableBase&&) = default;
DrawableBase(const DrawableBase&) = default;
DrawableBase& operator=(DrawableBase&&) = default;
DrawableBase& operator=(const DrawableBase&) = default;
void SetMatrix(const mat3& m) {
SetMatrix(mat3(m));
}
void SetMatrix(mat3&& m) {
mat_ = std::move(m);
invmat_ = ::linalg::inverse(mat_);
}
protected:
mat3 mat_ = ::linalg::identity;
mat3 invmat_ = ::linalg::identity;
};
}