summaryrefslogtreecommitdiff
path: root/src/f_op/f_op_view.cpp
diff options
context:
space:
mode:
authorLuke Street <luke.street@encounterpc.com>2023-09-10 00:42:26 -0400
committerLuke Street <luke.street@encounterpc.com>2023-09-10 00:48:55 -0400
commitadb95b135c3d7498eba29bbd9728d345eed5a407 (patch)
tree655575b939c12067569263171b68c079b1a232c8 /src/f_op/f_op_view.cpp
parent81ac53f1317dafb3506ae3ed8b2820d40645c3c8 (diff)
Import project
Original repository: https://github.com/encounter/ww
Diffstat (limited to 'src/f_op/f_op_view.cpp')
-rw-r--r--src/f_op/f_op_view.cpp41
1 files changed, 41 insertions, 0 deletions
diff --git a/src/f_op/f_op_view.cpp b/src/f_op/f_op_view.cpp
new file mode 100644
index 00000000..542f7c4c
--- /dev/null
+++ b/src/f_op/f_op_view.cpp
@@ -0,0 +1,41 @@
+/**
+ * f_op_view.cpp
+ * View Process Framework
+ */
+
+#include "f_op/f_op_view.h"
+#include "f_pc/f_pc_manager.h"
+
+void fopVw_Draw(view_class* i_this) {
+ fpcLf_DrawMethod(i_this->mSubMtd, i_this);
+}
+
+void fopVw_Execute(view_class* i_this) {
+ fpcMtd_Execute(&i_this->mSubMtd->mBase, i_this);
+}
+
+s32 fopVw_IsDelete(void* i_this) {
+ view_class* _this = (view_class*)i_this;
+ return fpcMtd_IsDelete(&_this->mSubMtd->mBase, _this);
+}
+
+s32 fopVw_Delete(view_class* i_this) {
+ return fpcMtd_Delete(&i_this->mSubMtd->mBase, i_this);
+}
+
+s32 fopVw_Create(void* i_this) {
+ view_class* _this = (view_class*)i_this;
+
+ view_process_profile_definition* pProf =
+ (view_process_profile_definition*)fpcM_GetProfile(_this);
+ _this->mSubMtd = pProf->mSubMtd;
+ _this->field_0xc4 = pProf->unk28;
+
+ return fpcMtd_Create(&_this->mSubMtd->mBase, _this);
+}
+
+leafdraw_method_class g_fopVw_Method = {
+ (process_method_func)fopVw_Create, (process_method_func)fopVw_Delete,
+ (process_method_func)fopVw_Execute, (process_method_func)fopVw_IsDelete,
+ (process_method_func)fopVw_Draw,
+};