]> git.mxchange.org Git - simgear.git/blobdiff - simgear/canvas/CanvasSystemAdapter.hxx
Canvas::Text: add line-height property.
[simgear.git] / simgear / canvas / CanvasSystemAdapter.hxx
index 91fc27400e370c0d121bafe953a70ebedf3a55d4..a2bb1fe281ec4edf27bfd9f8812da548f2673e92 100644 (file)
@@ -20,6 +20,7 @@
 #define SG_CANVAS_SYSTEM_ADAPTER_HXX_
 
 #include "canvas_fwd.hxx"
+#include <simgear/nasal/nasal.h>
 
 namespace simgear
 {
@@ -35,6 +36,29 @@ namespace canvas
       virtual void addCamera(osg::Camera* camera) const = 0;
       virtual void removeCamera(osg::Camera* camera) const = 0;
       virtual osg::Image* getImage(const std::string& path) const = 0;
+
+      virtual naContext getNasalContext() const = 0;
+
+      /**
+       * Save passed reference to Nasal object from being deleted by the
+       * garbage collector.
+       */
+      virtual int gcSave(naRef r) = 0;
+
+      /**
+       * Release an object previously passed to ::gcSave to allow it being
+       * cleaned up by the garbage collector.
+       */
+      virtual void gcRelease(int key) = 0;
+
+      /**
+       * Call a Nasal function with the given environment and arguments.
+       */
+      virtual naRef callMethod( naRef code,
+                                naRef self,
+                                int argc,
+                                naRef* args,
+                                naRef locals ) = 0;
   };
 
 } // namespace canvas