From 0701c9fb6dc986131d6c62212559338aab8b0531 Mon Sep 17 00:00:00 2001 From: Javier Sancho Date: Sun, 26 Apr 2020 18:48:53 +0200 Subject: [PATCH] add-editbox! --- Makefile.am | 2 +- src/{gui-edit-box.cpp => gui-editbox.cpp} | 12 +++++----- src/{gui-edit-box.h => gui-editbox.h} | 10 ++++---- src/gui-environment.cpp | 28 +++++++++++++++++++++++ src/gui-environment.h | 6 +++++ src/gui.cpp | 12 +++++----- 6 files changed, 52 insertions(+), 18 deletions(-) rename src/{gui-edit-box.cpp => gui-editbox.cpp} (77%) rename src/{gui-edit-box.h => gui-editbox.h} (76%) diff --git a/Makefile.am b/Makefile.am index f74cf9a..ca35926 100644 --- a/Makefile.am +++ b/Makefile.am @@ -38,7 +38,7 @@ libguile_irrlicht_la_SOURCES = \ src/file-system.cpp \ src/gui.cpp \ src/gui-button.cpp \ - src/gui-edit-box.cpp \ + src/gui-editbox.cpp \ src/gui-element.cpp \ src/gui-environment.cpp \ src/gui-font.cpp \ diff --git a/src/gui-edit-box.cpp b/src/gui-editbox.cpp similarity index 77% rename from src/gui-edit-box.cpp rename to src/gui-editbox.cpp index f924440..5de75ba 100644 --- a/src/gui-edit-box.cpp +++ b/src/gui-editbox.cpp @@ -21,19 +21,19 @@ #include #include -#include "gui-edit-box.h" +#include "gui-editbox.h" #include "wrapped.h" extern "C" { void - init_gui_edit_box (void) + init_gui_editbox (void) { - init_gui_edit_box_type (); + init_gui_editbox_type (); } - DEFINE_WRAPPED_TYPE (irr::gui::IGUIEditBox*, "gui-edit-box", - init_gui_edit_box_type, gui_edit_box_p, - wrap_gui_edit_box, unwrap_gui_edit_box); + DEFINE_WRAPPED_TYPE (irr::gui::IGUIEditBox*, "gui-editbox", + init_gui_editbox_type, gui_editbox_p, + wrap_gui_editbox, unwrap_gui_editbox); } diff --git a/src/gui-edit-box.h b/src/gui-editbox.h similarity index 76% rename from src/gui-edit-box.h rename to src/gui-editbox.h index 47497cd..91b184e 100644 --- a/src/gui-edit-box.h +++ b/src/gui-editbox.h @@ -19,8 +19,8 @@ . */ -#ifndef __GUILE_IRRLICHT_GUI_EDIT_BOX_H_INCLUDED__ -#define __GUILE_IRRLICHT_GUI_EDIT_BOX_H_INCLUDED__ +#ifndef __GUILE_IRRLICHT_GUI_EDITBOX_H_INCLUDED__ +#define __GUILE_IRRLICHT_GUI_EDITBOX_H_INCLUDED__ #include #include @@ -29,10 +29,10 @@ extern "C" { void - init_gui_edit_box (void); + init_gui_editbox (void); - DECLARE_WRAPPED_TYPE (irr::gui::IGUIEditBox*, init_gui_edit_box_type, - gui_edit_box_p, wrap_gui_edit_box, unwrap_gui_edit_box); + DECLARE_WRAPPED_TYPE (irr::gui::IGUIEditBox*, init_gui_editbox_type, + gui_editbox_p, wrap_gui_editbox, unwrap_gui_editbox); } #endif diff --git a/src/gui-environment.cpp b/src/gui-environment.cpp index cc5e0c5..0706539 100644 --- a/src/gui-environment.cpp +++ b/src/gui-environment.cpp @@ -25,6 +25,7 @@ #include "device.h" #include "gsubr.h" #include "gui-button.h" +#include "gui-editbox.h" #include "gui-element.h" #include "gui-environment.h" #include "gui-font.h" @@ -46,6 +47,7 @@ extern "C" { { init_gui_environment_type (); DEFINE_GSUBR ("add-image!", 3, 0, 1, irr_gui_addImage); + DEFINE_GSUBR ("add-editbox!", 3, 0, 1, irr_gui_addEditBox); DEFINE_GSUBR ("add-listbox!", 2, 0, 1, irr_gui_addListBox); DEFINE_GSUBR ("add-scrollbar!", 3, 0, 1, irr_gui_addScrollBar); DEFINE_GSUBR ("add-static-text!", 3, 0, 1, irr_gui_addStaticText); @@ -103,6 +105,32 @@ extern "C" { return wrap_gui_image (guiImage); } + SCM + irr_gui_addEditBox (SCM wrapped_gui_environment, + SCM text, + SCM rectangle, + SCM rest) + { + SCM border = SCM_BOOL_T; + SCM parent = SCM_BOOL_F; + SCM id = scm_from_int32 (-1); + + scm_c_bind_keyword_arguments ("add-editbox!", rest, (scm_t_keyword_arguments_flags)0, + scm_from_utf8_keyword ("border"), &border, + scm_from_utf8_keyword ("parent"), &parent, + scm_from_utf8_keyword ("id"), &id, + SCM_UNDEFINED); + + irr::gui::IGUIEnvironment* guienv = unwrap_gui_environment (wrapped_gui_environment); + irr::gui::IGUIEditBox* editbox = + guienv->addEditBox (scm_to_wide_char_string (text), + scm_to_rect_s32 (rectangle), + scm_to_bool (border), + scm_is_false (parent) ? 0 : unwrap_gui_element (parent), + scm_to_int32 (id)); + return wrap_gui_editbox (editbox); + } + SCM irr_gui_addListBox (SCM wrapped_gui_environment, SCM rectangle, diff --git a/src/gui-environment.h b/src/gui-environment.h index a52233a..9cfec52 100644 --- a/src/gui-environment.h +++ b/src/gui-environment.h @@ -43,6 +43,12 @@ extern "C" { SCM position, SCM rest); + SCM + irr_gui_addEditBox (SCM wrapped_gui_environment, + SCM text, + SCM rectangle, + SCM rest); + SCM irr_gui_addListBox (SCM wrapped_gui_environment, SCM rectangle, diff --git a/src/gui.cpp b/src/gui.cpp index 5291537..997d28b 100644 --- a/src/gui.cpp +++ b/src/gui.cpp @@ -26,7 +26,7 @@ #include "gsubr.h" #include "gui.h" #include "gui-button.h" -#include "gui-edit-box.h" +#include "gui-editbox.h" #include "gui-element.h" #include "gui-environment.h" #include "gui-font.h" @@ -45,7 +45,7 @@ extern "C" { { // Init objects init_gui_button (); - init_gui_edit_box (); + init_gui_editbox (); init_gui_element (); init_gui_environment (); init_gui_font (); @@ -165,9 +165,9 @@ extern "C" { { #define SET_MAX(OBJ) OBJ->setMax (scm_to_int32 (max)); - if (gui_edit_box_p (wrapped_obj)) + if (gui_editbox_p (wrapped_obj)) { - SET_MAX (unwrap_gui_edit_box (wrapped_obj)); + SET_MAX (unwrap_gui_editbox (wrapped_obj)); } else if (gui_scrollbar_p (wrapped_obj)) { @@ -187,9 +187,9 @@ extern "C" { { #define SET_OVERRIDE_COLOR(OBJ) OBJ->setOverrideColor (scm_to_color (color)); - if (gui_edit_box_p (wrapped_obj)) + if (gui_editbox_p (wrapped_obj)) { - SET_OVERRIDE_COLOR (unwrap_gui_edit_box (wrapped_obj)); + SET_OVERRIDE_COLOR (unwrap_gui_editbox (wrapped_obj)); } else if (gui_static_text_p (wrapped_obj)) { -- 2.39.5