Implements calling Lua.
This commit is contained in:
49
src/iDrawable.h
Normal file
49
src/iDrawable.h
Normal 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;
|
||||
};
|
||||
|
||||
|
||||
}
|
Reference in New Issue
Block a user