summaryrefslogtreecommitdiff
path: root/src/view.cpp
diff options
context:
space:
mode:
authorFrederico Linhares <fred@linhares.blue>2022-09-21 13:57:31 -0300
committerFrederico Linhares <fred@linhares.blue>2022-09-21 14:33:18 -0300
commit78db82c0dac8db90a3de1004e5428f225947b2b9 (patch)
treef6e6191a7974b2d15b92a9a67fab167bb330ca61 /src/view.cpp
parentdafe4a4335f48ce4098935bdf0333beac2ded2ed (diff)
feat Create View2D
Diffstat (limited to 'src/view.cpp')
-rw-r--r--src/view.cpp94
1 files changed, 0 insertions, 94 deletions
diff --git a/src/view.cpp b/src/view.cpp
deleted file mode 100644
index 745c4bc..0000000
--- a/src/view.cpp
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
- * Copyright 2022 Frederico de Oliveira Linhares
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "view.hpp"
-
-#include "rotation_3d.hpp"
-#include "vector_3d.hpp"
-#include "vector_4d.hpp"
-#include "vk/view.hpp"
-
-void
-cg_free_view(mrb_state *mrb, void* obj)
-{
- auto ptr = static_cast<std::shared_ptr<VK::View>*>(obj);
-
- ptr->~shared_ptr();
- mrb_free(mrb, ptr);
-}
-
-const struct mrb_data_type cg_view_type = { "CG_View", cg_free_view };
-
-static mrb_value
-cg_cView_initialize(mrb_state *mrb, mrb_value self)
-{
- std::shared_ptr<glm::vec4> *region;
- std::shared_ptr<VK::View> *ptr;
-
- mrb_get_args(mrb, "d", &region, &cg_vector_4d_type);
- ptr = (std::shared_ptr<VK::View>*)DATA_PTR(self);
- if(ptr) mrb_free(mrb, ptr);
- ptr = (std::shared_ptr<VK::View>*)mrb_malloc(
- mrb, sizeof(std::shared_ptr<VK::View>));
-
- new(ptr)std::shared_ptr<VK::View>(
- std::make_shared<VK::View>(*region->get()));
-
- mrb_data_init(self, ptr, &cg_view_type);
- return self;
-}
-
-static mrb_value
-cg_cView_set_camera_position(mrb_state *mrb, mrb_value self)
-{
- std::shared_ptr<glm::vec3> *camera_position;
- auto ptr = (std::shared_ptr<VK::View>*)DATA_PTR(self);
-
- mrb_get_args(mrb, "d", &camera_position, &cg_vector_3d_type);
- (*ptr)->camera_position = (*camera_position);
-
- return self;
-}
-
-static mrb_value
-cg_cView_set_camera_rotation(mrb_state *mrb, mrb_value self)
-{
- std::shared_ptr<glm::vec3> *camera_rotation;
- auto ptr = (std::shared_ptr<VK::View>*)DATA_PTR(self);
-
- mrb_get_args(mrb, "d", &camera_rotation, &cg_rotation_3d_type);
- (*ptr)->camera_rotation = (*camera_rotation);
-
- return self;
-}
-
-void
-cg_view_init(mrb_state *mrb)
-{
- struct RClass *cg_m, *cg_cView;
-
- cg_m = mrb_module_get(mrb, "CandyGear");
- cg_cView = mrb_define_class_under(mrb, cg_m, "View", mrb->object_class);
- MRB_SET_INSTANCE_TT(cg_cView, MRB_TT_DATA);
- mrb_define_method(
- mrb, cg_cView, "initialize", cg_cView_initialize, MRB_ARGS_REQ(1));
- mrb_define_method(
- mrb, cg_cView, "camera_position=", cg_cView_set_camera_position,
- MRB_ARGS_REQ(1));
- mrb_define_method(
- mrb, cg_cView, "camera_rotation=", cg_cView_set_camera_rotation,
- MRB_ARGS_REQ(1));
-}