]> git.jsancho.org Git - guile-irrlicht.git/commitdiff
gui
authorJavier Sancho <jsf@jsancho.org>
Sat, 9 May 2020 10:57:34 +0000 (12:57 +0200)
committerJavier Sancho <jsf@jsancho.org>
Sat, 9 May 2020 10:57:34 +0000 (12:57 +0200)
src/gui-scrollbar.cpp
src/gui.cpp
src/gui.h

index c5dbc8add31071e3c7e814bd147f189131a73942..39dfa363c6916ed9b2c57718cdb5b7f3b5443683 100644 (file)
@@ -41,6 +41,28 @@ extern "C" {
                        init_gui_scrollbar_type, gui_scrollbar_p,
                        wrap_gui_scrollbar, unwrap_gui_scrollbar);
 
+  SCM
+  irr_gui_setMax (SCM wrapped_obj,
+                  SCM max)
+  {
+#define SET_MAX(OBJ) OBJ->setMax (scm_to_int32 (max));
+
+    if (gui_editbox_p (wrapped_obj))
+      {
+        SET_MAX (unwrap_gui_editbox (wrapped_obj));
+      }
+    else if (gui_scrollbar_p (wrapped_obj))
+      {
+        SET_MAX (unwrap_gui_scrollbar (wrapped_obj));
+      }
+    else
+      {
+        scm_error (scm_arg_type_key, NULL, "Cannot set max to object: ~S",
+                   scm_list_1 (wrapped_obj), scm_list_1 (wrapped_obj));
+      }
+    return SCM_UNSPECIFIED;
+  }
+
   SCM
   irr_gui_getPos (SCM wrapped_scrollbar)
   {
index 5a192ec9d1b0754898621756078ad657e3e4f81d..8b435df8b5b227caac640e9ab510595c873abdd2 100644 (file)
 
 #include <irrlicht/irrlicht.h>
 #include <libguile.h>
-
-#include "color.h"
-#include "gsubr.h"
 #include "gui.h"
 #include "gui-environment.h"
-#include "gui-image.h"
 #include "gui-in-out-fader.h"
 #include "gui-listbox.h"
 #include "gui-scrollbar.h"
 #include "gui-skin.h"
 #include "gui-toolbar.h"
 
+
 extern "C" {
 
   void
   init_gui (void)
   {
-    // Init objects
     init_gui_environment ();
-    init_gui_image ();
     init_gui_in_out_fader ();
     init_gui_listbox ();
     init_gui_scrollbar ();
     init_gui_skin ();
     init_gui_toolbar ();
-
-    // Shared procedures (used by two or more objects)
-    DEFINE_GSUBR ("add-button!", 1, 1, 1, irr_gui_addButton);
-    DEFINE_GSUBR ("get-color", 1, 1, 0, irr_gui_getColor);
-    DEFINE_GSUBR ("get-font", 1, 1, 1, irr_gui_getFont);
-    DEFINE_GSUBR ("set-color!", 2, 1, 0, irr_gui_setColor);
-    DEFINE_GSUBR ("set-max!", 2, 0, 0, irr_gui_setMax);
-    DEFINE_GSUBR ("set-override-color!", 2, 0, 0, irr_gui_setOverrideColor);
-  }
-
-  SCM
-  irr_gui_addButton (SCM wrapped_obj,
-                     SCM rectangle,
-                     SCM rest)
-  {
-    if (gui_toolbar_p (wrapped_obj))
-      {
-        return irr_gui_IGUIToolBar_addButton (wrapped_obj, rest);
-      }
-    else if (gui_environment_p (wrapped_obj))
-      {
-        return irr_gui_IGUIEnvironment_addButton (wrapped_obj, rectangle, rest);
-      }
-    else
-      {
-        scm_error (scm_arg_type_key, NULL, "Cannot add button to object: ~S",
-                   scm_list_1 (wrapped_obj), scm_list_1 (wrapped_obj));
-      }
-  }
-
-  SCM
-  irr_gui_getColor (SCM wrapped_obj,
-                    SCM color)
-  {
-#define GET_COLOR(OBJ) scm_from_color (OBJ->getColor ());
-
-    if (gui_image_p (wrapped_obj))
-      {
-        return GET_COLOR (unwrap_gui_image (wrapped_obj));
-      }
-    else if (gui_in_out_fader_p (wrapped_obj))
-      {
-        return GET_COLOR (unwrap_gui_in_out_fader (wrapped_obj));
-      }
-    else if (gui_skin_p (wrapped_obj))
-      {
-        return irr_gui_IGUISkin_getColor (wrapped_obj, color);
-      }
-    else
-      {
-        scm_error (scm_arg_type_key, NULL, "Cannot get color from object: ~S",
-                   scm_list_1 (wrapped_obj), scm_list_1 (wrapped_obj));
-      }
-  }
-
-  SCM
-  irr_gui_getFont (SCM wrapped_obj,
-                   SCM filename,
-                   SCM rest)
-  {
-    if (gui_environment_p (wrapped_obj))
-      {
-        return irr_gui_IGUIEnvironment_getFont (wrapped_obj, filename);
-      }
-    else if (gui_skin_p (wrapped_obj))
-      {
-        return irr_gui_IGUISkin_getFont (wrapped_obj, rest);
-      }
-    else
-      {
-        scm_error (scm_arg_type_key, NULL, "Cannot get font from object: ~S",
-                   scm_list_1 (wrapped_obj), scm_list_1 (wrapped_obj));
-      }
-  }
-
-  SCM
-  irr_gui_setColor (SCM wrapped_obj,
-                    SCM color,
-                    SCM dest_color)
-  {
-    if (gui_image_p (wrapped_obj))
-      {
-        // Params: color
-        unwrap_gui_image (wrapped_obj)->setColor (scm_to_color (color));
-        return SCM_UNSPECIFIED;
-      }
-    else if (gui_in_out_fader_p (wrapped_obj))
-      {
-        // Params: color and dest_color (optional)
-        return irr_gui_IGUIInOutFader_setColor (wrapped_obj, color, dest_color);
-      }
-    else if (gui_skin_p (wrapped_obj) && dest_color != SCM_UNDEFINED)
-      {
-        // Params: which and new_color
-        return irr_gui_IGUISkin_setColor (wrapped_obj, color, dest_color);
-      }
-    else
-      {
-        scm_error (scm_arg_type_key, NULL, "Cannot set color to object: ~S",
-                   scm_list_1 (wrapped_obj), scm_list_1 (wrapped_obj));
-      }
-  }
-
-  SCM
-  irr_gui_setMax (SCM wrapped_obj,
-                  SCM max)
-  {
-#define SET_MAX(OBJ) OBJ->setMax (scm_to_int32 (max));
-
-    if (gui_editbox_p (wrapped_obj))
-      {
-        SET_MAX (unwrap_gui_editbox (wrapped_obj));
-      }
-    else if (gui_scrollbar_p (wrapped_obj))
-      {
-        SET_MAX (unwrap_gui_scrollbar (wrapped_obj));
-      }
-    else
-      {
-        scm_error (scm_arg_type_key, NULL, "Cannot set max to object: ~S",
-                   scm_list_1 (wrapped_obj), scm_list_1 (wrapped_obj));
-      }
-    return SCM_UNSPECIFIED;
-  }
-
-  SCM
-  irr_gui_setOverrideColor (SCM wrapped_obj,
-                            SCM color)
-  {
-#define SET_OVERRIDE_COLOR(OBJ) OBJ->setOverrideColor (scm_to_color (color));
-
-    if (gui_editbox_p (wrapped_obj))
-      {
-        SET_OVERRIDE_COLOR (unwrap_gui_editbox (wrapped_obj));
-      }
-    else if (gui_static_text_p (wrapped_obj))
-      {
-        SET_OVERRIDE_COLOR (unwrap_gui_static_text (wrapped_obj));
-      }
-    else
-      {
-        scm_error (scm_arg_type_key, NULL, "Cannot set override color to object: ~S",
-                   scm_list_1 (wrapped_obj), scm_list_1 (wrapped_obj));
-      }
-    return SCM_UNSPECIFIED;
   }
 
 }
index e713a0a3ef04a32d2d316f81ef59e102ab611aab..13b280ee0f2d2689efb65afa2010df2f7095ea9d 100644 (file)
--- a/src/gui.h
+++ b/src/gui.h
 #include <libguile.h>
 
 extern "C" {
-
   void
   init_gui (void);
-
-  SCM
-  irr_gui_addButton (SCM wrapped_obj,
-                     SCM rectangle,
-                     SCM rest);
-
-  SCM
-  irr_gui_getColor (SCM wrapped_obj,
-                    SCM color);
-
-  SCM
-  irr_gui_getFont (SCM wrapped_obj,
-                   SCM filename,
-                   SCM rest);
-
-  SCM
-  irr_gui_setColor (SCM wrapped_obj,
-                    SCM color,
-                    SCM dest_color);
-
-  SCM
-  irr_gui_setMax (SCM wrapped_obj,
-                  SCM max);
-
-  SCM
-  irr_gui_setOverrideColor (SCM wrapped_obj,
-                            SCM color);
-
 }
 
 #endif