Remove xinit/xend/driver primitives and create macros in graphic export instead.
Jean-baptiste Silvy [Mon, 21 Apr 2008 09:21:32 +0000 (09:21 +0000)]
16 files changed:
scilab/modules/graphic_export/etc/graphic_export.start
scilab/modules/graphic_export/macros/buildmacros.sce
scilab/modules/graphic_export/macros/driver.sci [new file with mode: 0644]
scilab/modules/graphic_export/macros/xend.sci [new file with mode: 0644]
scilab/modules/graphic_export/macros/xinit.sci [new file with mode: 0644]
scilab/modules/graphics/Makefile.am
scilab/modules/graphics/graphics.vcproj
scilab/modules/graphics/includes/gw_graphics.h
scilab/modules/graphics/includes/sci_driver.h [deleted file]
scilab/modules/graphics/includes/sci_xend.h [deleted file]
scilab/modules/graphics/includes/sci_xinit.h [deleted file]
scilab/modules/graphics/sci_gateway/c/gw_graphics.c
scilab/modules/graphics/sci_gateway/c/sci_driver.c [deleted file]
scilab/modules/graphics/sci_gateway/c/sci_xend.c [deleted file]
scilab/modules/graphics/sci_gateway/c/sci_xinit.c [deleted file]
scilab/modules/graphics/sci_gateway/graphics_gateway.xml

index ecf6f18..382abd3 100644 (file)
@@ -3,6 +3,19 @@
 // Copyright INRIA 2008
 // ====================================================================
 
+// =============================================================================
+//Load  functions libraries
+// =============================================================================
+if (getscilabmode() <> 'NWNI') then
+       load(SCI+"/modules/graphic_export/macros/lib");
+end
+
 //add help chapter
 add_module_help_chapter("graphic_export");
 clear add_module_help_chapter;
+
+// global variable for export
+global %driverName;
+global %exportFileName;
+%driverName = "Rec";
+%exportFileName = [];
index e2ebb5c..7d5e0de 100644 (file)
@@ -11,4 +11,4 @@ if (isdef('genlib') == %f) then
   exec(SCI+'/modules/functions/scripts/buildmacros/loadgenlib.sce');
 end
 
-// genlib('graphic_exportlib','SCI/modules/graphic_export/macros',%f,%t);
+genlib('graphic_exportlib','SCI/modules/graphic_export/macros',%f,%t);
diff --git a/scilab/modules/graphic_export/macros/driver.sci b/scilab/modules/graphic_export/macros/driver.sci
new file mode 100644 (file)
index 0000000..2fd89a3
--- /dev/null
@@ -0,0 +1,51 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008 - INRIA - Jean-Baptiste Silvy
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution.  The terms
+// are also available at    
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+
+function  [curDriver] = driver(driverName)
+  // set or get the current driver
+
+  global %driverName;
+
+  if (argn(2) < 1) then
+    // no param just return the current driver
+    curDriver = %driverName;
+  elseif (argn(2) == 1) then
+    if (type(driverName) <> 10) then
+      // wrong type for driverName
+      error(55, 1);
+      return;
+    end
+    
+    if (~checkDriverName(driverName)) then
+      error(gettext("driver: wrong value for first input argument: must be ""Rec"", ""X11"", ""Pos"", ""PPM"" or ""GIF""."));
+     return;
+    end
+    
+    %driverName = driverName;
+    curDriver = driverName;
+
+  else
+    // incorrect number of arguments
+    error(39);
+    return;
+  end
+
+
+endfunction
+
+function [check] = checkDriverName(driverName)
+// check that the driver name is obne of the admissible ones
+check =   driverName == "Rec"..
+        | driverName == "X11"..
+        | driverName == "Pos"..
+        | driverName == "GIF"..
+        | driverName == "PPM");
+
+endfunction
+
diff --git a/scilab/modules/graphic_export/macros/xend.sci b/scilab/modules/graphic_export/macros/xend.sci
new file mode 100644 (file)
index 0000000..9c0c69a
--- /dev/null
@@ -0,0 +1,40 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008 - INRIA - Jean-Baptiste Silvy
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution.  The terms
+// are also available at    
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+
+function xend()
+  // export a file using already set fileName and file Type
+
+  global %exportFileName;
+  global %driverName;
+
+  if (%exportFileName == []) then
+    // filed not already selected : xinit has not been called
+    error(gettext("xend: xinit must be called before any action."));
+    return;
+  end
+
+  curFig = gcf();
+  curFigId = curFig.figure_id;
+
+  // choose export type depending on driver name
+  // for "Rec" and "X11" drivers thare actually nothing to do
+  select %driverName,
+    case "Pos" then
+      xs2ps(curFigId, %exportFileName);
+    case "GIF" then
+      xs2gif(curFigId, %exportFileName);
+    case "PPM" then
+      xs2ppm(curFigId, %exportFileName);
+  end
+
+  // export done reset exportFileName
+  %exportFileName = [];
+
+endfunction
+
diff --git a/scilab/modules/graphic_export/macros/xinit.sci b/scilab/modules/graphic_export/macros/xinit.sci
new file mode 100644 (file)
index 0000000..3396ed2
--- /dev/null
@@ -0,0 +1,32 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008 - INRIA - Jean-Baptiste Silvy
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution.  The terms
+// are also available at    
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+
+function  xinit(fileName)
+  // set name of the file to export
+
+  global %exportFileName;
+
+  if (argn(2) > 1) then
+    // incorrect number of arguments
+    error(39);
+    return
+  end
+
+
+  if (type(fileName) <> 10) then
+    // wrong type for driverName
+    error(55, 1);
+    return;
+  end
+    
+  %exportFileName = fileName;
+
+endfunction
+
+
index e6aa6be..fd81b21 100644 (file)
@@ -364,11 +364,9 @@ sci_gateway/c/sci_xarcs.c \
 sci_gateway/c/sci_xfpoly.c \
 sci_gateway/c/sci_drawlater.c \
 sci_gateway/c/sci_champ.c \
-sci_gateway/c/sci_xinit.c \
 sci_gateway/c/sci_help_gtk.c \
 sci_gateway/c/sci_set.c \
 sci_gateway/c/sci_showalluimenushandles.c \
-sci_gateway/c/sci_xend.c \
 sci_gateway/c/sci_unglue.c \
 sci_gateway/c/gw_graphics.c \
 sci_gateway/c/sci_zoom_rect.c \
@@ -382,7 +380,6 @@ sci_gateway/c/sci_drawnow.c \
 sci_gateway/c/sci_xfarcs.c \
 sci_gateway/c/sci_param3d.c \
 sci_gateway/c/sci_contour2di.c \
-sci_gateway/c/sci_driver.c \
 sci_gateway/c/sci_xdel.c \
 sci_gateway/c/sci_winsid.c \
 sci_gateway/c/sci_addcb.c \
@@ -480,7 +477,6 @@ includes/InitObjects.h \
 includes/sci_xfpoly.h \
 includes/sci_drawlater.h \
 includes/Format.h \
-includes/sci_xinit.h \
 includes/sci_set_posfig_dim.h \
 includes/sci_set.h \
 includes/sci_help_gtk.h \
@@ -492,7 +488,6 @@ includes/Interaction.h \
 includes/sci_xfarcs.h \
 includes/sci_contour2di.h \
 includes/HandleManagement.h \
-includes/sci_driver.h \
 includes/sci_fec.h \
 includes/sci_matplot1.h \
 includes/XsetXgetParameters.h \
@@ -526,7 +521,6 @@ includes/pixel_mode.h \
 includes/sci_champ.h \
 includes/Champ.h \
 includes/StringMatrix.h \
-includes/sci_xend.h \
 includes/sci_unglue.h \
 includes/gw_graphics.h \
 includes/sci_zoom_rect.h \
index 82690e8..9852efd 100644 (file)
                                >
                        </File>
                        <File
-                               RelativePath=".\sci_gateway\c\sci_driver.c"
-                               >
-                       </File>
-                       <File
                                RelativePath=".\sci_gateway\c\sci_fec.c"
                                >
                        </File>
                                >
                        </File>
                        <File
-                               RelativePath=".\sci_gateway\c\sci_xend.c"
-                               >
-                       </File>
-                       <File
                                RelativePath=".\sci_gateway\c\sci_xfarcs.c"
                                >
                        </File>
                                >
                        </File>
                        <File
-                               RelativePath=".\sci_gateway\c\sci_xinit.c"
-                               >
-                       </File>
-                       <File
                                RelativePath=".\sci_gateway\c\sci_xlfont.c"
                                >
                        </File>
                                >
                        </File>
                        <File
-                               RelativePath=".\includes\sci_driver.h"
-                               >
-                       </File>
-                       <File
                                RelativePath=".\includes\sci_fec.h"
                                >
                        </File>
                                >
                        </File>
                        <File
-                               RelativePath=".\includes\sci_xend.h"
-                               >
-                       </File>
-                       <File
                                RelativePath=".\includes\sci_xfarcs.h"
                                >
                        </File>
                                >
                        </File>
                        <File
-                               RelativePath=".\includes\sci_xinit.h"
-                               >
-                       </File>
-                       <File
                                RelativePath=".\includes\sci_xlfont.h"
                                >
                        </File>
index b312522..5c1e2d1 100644 (file)
@@ -34,7 +34,6 @@
 #include "sci_xrect.h"
 #include "sci_xclear.h"
 #include "sci_xclick.h"
-#include "sci_xend.h"
 #include "sci_xfpoly.h"
 #include "sci_xfpolys.h"
 #include "sci_xget.h"
 #include "sci_relocate_handle.h"
 #include "sci_swap_handles.h"
 #include "sci_help_gtk.h"
-#include "sci_driver.h"
 #include "sci_matplot.h"
 #include "sci_matplot1.h"
-#include "sci_xinit.h"
 #include "sci_showalluimenushandles.h"
 #include "sci_zoom_rect.h"
 #include "sci_set_posfig_dim.h"
diff --git a/scilab/modules/graphics/includes/sci_driver.h b/scilab/modules/graphics/includes/sci_driver.h
deleted file mode 100644 (file)
index 185e289..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
- * Copyright (C) 2006 - INRIA - Fabrice Leray
- * Copyright (C) 2006 - INRIA - Jean-Baptiste Silvy
- * 
- * This file must be used under the terms of the CeCILL.
- * This source file is licensed as described in the file COPYING, which
- * you should have received as part of this distribution.  The terms
- * are also available at    
- * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
- *
- */
-
-/*------------------------------------------------------------------------*/
-/* file: sci_driver.h                                                     */
-/* desc : interface for driver routine                                    */
-/*------------------------------------------------------------------------*/
-
-#ifndef _INT_DRIVER_H_
-#define _INT_DRIVER_H_
-
-/**
-* interface function for the driver routine :
-* driver(driver_name) or  current_driver=driver()
-*
-* @param[in] fname      name of the routine (ie driver)
-* @param[in] fname_len length of fname
-* @return 0 if success, -1 otherwise
-*/
-int sci_driver( char * fname, unsigned long fname_len ) ;
-
-#endif /* _INT_DRIVER_H_ */
diff --git a/scilab/modules/graphics/includes/sci_xend.h b/scilab/modules/graphics/includes/sci_xend.h
deleted file mode 100644 (file)
index f101027..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
- * Copyright (C) 2006 - INRIA - Fabrice Leray
- * Copyright (C) 2006 - INRIA - Jean-Baptiste Silvy
- * 
- * This file must be used under the terms of the CeCILL.
- * This source file is licensed as described in the file COPYING, which
- * you should have received as part of this distribution.  The terms
- * are also available at    
- * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
- *
- */
-
-/*------------------------------------------------------------------------*/
-/* file: sci_xend.h                                                       */
-/* desc : interface for xend routine                                      */
-/*------------------------------------------------------------------------*/
-
-#ifndef _INT_XEND_H_
-#define _INT_XEND_H_
-
-/**
-* interface function for the xend routine.
-*
-* @param[in] fname     name of the routine (ie xend)
-* @param[in] fname_len length of fname
-* @return 0 if success, -1 otherwise
-*/
-int sci_xend( char * fname, unsigned long fname_len ) ;
-
-#endif /* _INT_XEND_H_ */
diff --git a/scilab/modules/graphics/includes/sci_xinit.h b/scilab/modules/graphics/includes/sci_xinit.h
deleted file mode 100644 (file)
index 94e65a5..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
- * Copyright (C) 2006 - INRIA - Fabrice Leray
- * Copyright (C) 2006 - INRIA - Jean-Baptiste Silvy
- * 
- * This file must be used under the terms of the CeCILL.
- * This source file is licensed as described in the file COPYING, which
- * you should have received as part of this distribution.  The terms
- * are also available at    
- * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
- *
- */
-
-/*------------------------------------------------------------------------*/
-/* file: sci_xinit.h                                                      */
-/* desc : interface for xinit routine                                     */
-/*------------------------------------------------------------------------*/
-
-#ifndef _INT_XINIT_H_
-#define _INT_XINIT_H_
-
-/**
-* interface function for the xinit routine :
-* xinit([driver-name])
-*
-* @param[in] fname     name of the routine (ie xinit)
-* @param[in] fname_len length of fname
-* @return 0 if success, -1 otherwise
-*/
-int sci_xinit( char * fname, unsigned long fname_len ) ;
-
-#endif /* _INT_XINIT_H_ */
index c9cb853..723a910 100644 (file)
@@ -23,7 +23,6 @@
 static gw_generic_table Tab[]={
        {sci_champ,"champ"},    
        {sci_champ1,"champ1"},
-       {sci_driver,"driver"},
        {sci_fec,"scifec"},
        {sci_geom3d,"geom3d"},
        {sci_grayplot,"grayplot"},
@@ -50,7 +49,6 @@ static gw_generic_table Tab[]={
        {sci_xclear,"xclear"},
        {sci_xclick,"xclick"},
        {sci_xdel,"xdel"},
-       {sci_xend,"xend"},
        {sci_xarc,"xfarc"},
        {sci_xfarcs,"xfarcs"},
        {sci_xfpoly,"xfpoly"},
@@ -60,7 +58,6 @@ static gw_generic_table Tab[]={
        {sci_xgetech,"xgetech"},
        {sci_xgetmouse,"xgetmouse"},
        {sci_xgrid,"xgrid"},
-       {sci_xinit,"xinit"},
        {sci_xlfont,"xlfont"},
        {sci_xpoly,"xpoly"},
        {sci_xpolys,"xpolys"},
diff --git a/scilab/modules/graphics/sci_gateway/c/sci_driver.c b/scilab/modules/graphics/sci_gateway/c/sci_driver.c
deleted file mode 100644 (file)
index d222004..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
- * Copyright (C) 2006 - INRIA - Fabrice Leray
- * Copyright (C) 2006 - INRIA - Jean-Baptiste Silvy
- * 
- * This file must be used under the terms of the CeCILL.
- * This source file is licensed as described in the file COPYING, which
- * you should have received as part of this distribution.  The terms
- * are also available at    
- * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
- *
- */
-
-/*------------------------------------------------------------------------*/
-/* file: sci_driver.c                                                     */
-/* desc : interface for driver routine                                    */
-/*------------------------------------------------------------------------*/
-
-#include <string.h>
-
-#include "sci_driver.h"
-#include "stack-c.h"
-#include "returnProperty.h"
-
-/*--------------------------------------------------------------------------*/
-int sci_driver(char *fname,unsigned long fname_len)
-{
-  integer m1=3,n1=1,l1;
-  CheckRhs(-1,1);
-  CheckLhs(0,1);
-  if (Rhs <= 0) 
-  {
-    return sciReturnString("Rec");
-  } 
-  else 
-  {
-    GetRhsVar(1,STRING_DATATYPE,&m1,&n1,&l1);
-
-    LhsVar(1)=0;
-  }
-  return 0;
-}
-/*--------------------------------------------------------------------------*/
diff --git a/scilab/modules/graphics/sci_gateway/c/sci_xend.c b/scilab/modules/graphics/sci_gateway/c/sci_xend.c
deleted file mode 100644 (file)
index 76160e0..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
- * Copyright (C) 2006 - INRIA - Fabrice Leray
- * Copyright (C) 2006 - INRIA - Jean-Baptiste Silvy
- * 
- * This file must be used under the terms of the CeCILL.
- * This source file is licensed as described in the file COPYING, which
- * you should have received as part of this distribution.  The terms
- * are also available at    
- * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
- *
- */
-
-/*------------------------------------------------------------------------*/
-/* file: sci_xend.c                                                       */
-/* desc : interface for xend routine                                      */
-/*------------------------------------------------------------------------*/
-
-#include "sci_xend.h"
-#include "DrawObjects.h"
-#include "BuildObjects.h"
-#include "gw_graphics.h"
-#include "DestroyObjects.h"
-#include "stack-c.h"
-#include "ObjectStructure.h"
-#include "GetProperty.h"
-#include "DrawObjects.h"
-#include "graphicSession.h"
-#include "CurrentObjectsManagement.h"
-#include "DrawingBridge.h"
-
-/*--------------------------------------------------------------------------*/
-int sci_xend(char *fname,unsigned long fname_len)
-{
-  sciPointObj * figure = NULL;
-
-
-  CheckRhs(-1,0);
-
-  closeGraphicSession() ;   /* we DO draw now into the file/memory (depending on the driver type) */
-  figure = sciGetCurrentFigure();
-  sciDrawObj(figure);
-
-  /* figure already defined above */
-  destroyGraphicHierarchy(figure);
-
-  LhsVar(1)=0;
-  return 0;
-}
-
-
-/*--------------------------------------------------------------------------*/
diff --git a/scilab/modules/graphics/sci_gateway/c/sci_xinit.c b/scilab/modules/graphics/sci_gateway/c/sci_xinit.c
deleted file mode 100644 (file)
index 57cd5a8..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
- * Copyright (C) 2006 - INRIA - Fabrice Leray
- * Copyright (C) 2006 - INRIA - Jean-Baptiste Silvy
- * 
- * This file must be used under the terms of the CeCILL.
- * This source file is licensed as described in the file COPYING, which
- * you should have received as part of this distribution.  The terms
- * are also available at    
- * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
- *
- */
-
-/*------------------------------------------------------------------------*/
-/* file: sci_xinit.c                                                      */
-/* desc : interface for xinit routine                                     */
-/*------------------------------------------------------------------------*/
-
-#include "sci_xinit.h"
-#include "stack-c.h"
-#include "GetProperty.h"
-#include "DrawObjects.h"
-#include "graphicSession.h"
-
-/*--------------------------------------------------------------------------*/
-int sci_xinit(char *fname, unsigned long fname_len )
-{
-  CheckRhs(-1,1);
-
-  if (Rhs <= 0 )
-  {
-    /* TODO */
-  } 
-  else 
-  {
-    /* TODO */
-
-  }
-  LhsVar(1)=0;
-  return 0;
-}
-/*--------------------------------------------------------------------------*/
index 42905d3..403fb28 100644 (file)
 
 <PRIMITIVE gatewayId="7" primitiveId="1" primitiveName="champ" />
 <PRIMITIVE gatewayId="7" primitiveId="2" primitiveName="champ1" />
-<PRIMITIVE gatewayId="7" primitiveId="3" primitiveName="driver" />
-<PRIMITIVE gatewayId="7" primitiveId="4" primitiveName="fec" />
-<PRIMITIVE gatewayId="7" primitiveId="5" primitiveName="geom3d" />
-<PRIMITIVE gatewayId="7" primitiveId="6" primitiveName="grayplot" />
-<PRIMITIVE gatewayId="7" primitiveId="7" primitiveName="Matplot" />
-<PRIMITIVE gatewayId="7" primitiveId="8" primitiveName="Matplot1" />
-<PRIMITIVE gatewayId="7" primitiveId="9" primitiveName="contour2di" />
-<PRIMITIVE gatewayId="7" primitiveId="10" primitiveName="param3d" />
-<PRIMITIVE gatewayId="7" primitiveId="11" primitiveName="param3d1" />
-<PRIMITIVE gatewayId="7" primitiveId="12" primitiveName="xstringb" />
-<PRIMITIVE gatewayId="7" primitiveId="13" primitiveName="plot2d" />
-<PRIMITIVE gatewayId="7" primitiveId="14" primitiveName="plot2d1" />
-<PRIMITIVE gatewayId="7" primitiveId="15" primitiveName="plot2d2" />
-<PRIMITIVE gatewayId="7" primitiveId="16" primitiveName="plot2d3" />
-<PRIMITIVE gatewayId="7" primitiveId="17" primitiveName="plot2d4" />
-<PRIMITIVE gatewayId="7" primitiveId="18" primitiveName="plot3d" />
-<PRIMITIVE gatewayId="7" primitiveId="19" primitiveName="plot3d1" />
-<PRIMITIVE gatewayId="7" primitiveId="20" primitiveName="winsid" />
-<PRIMITIVE gatewayId="7" primitiveId="21" primitiveName="xarc" />
-<PRIMITIVE gatewayId="7" primitiveId="22" primitiveName="xarcs" />
-<PRIMITIVE gatewayId="7" primitiveId="23" primitiveName="xarrows" />
-<PRIMITIVE gatewayId="7" primitiveId="24" primitiveName="drawaxis" />
-<PRIMITIVE gatewayId="7" primitiveId="25" primitiveName="xchange" />
-<PRIMITIVE gatewayId="7" primitiveId="26" primitiveName="show_pixmap" />
-<PRIMITIVE gatewayId="7" primitiveId="27" primitiveName="oldxclear" />
-<PRIMITIVE gatewayId="7" primitiveId="28" primitiveName="xclick" />
-<PRIMITIVE gatewayId="7" primitiveId="29" primitiveName="xdel" />
-<PRIMITIVE gatewayId="7" primitiveId="30" primitiveName="xend" />
-<PRIMITIVE gatewayId="7" primitiveId="31" primitiveName="xfarc" />
-<PRIMITIVE gatewayId="7" primitiveId="32" primitiveName="xfarcs" />
-<PRIMITIVE gatewayId="7" primitiveId="33" primitiveName="xfpoly" />
-<PRIMITIVE gatewayId="7" primitiveId="34" primitiveName="xfpolys" />
-<PRIMITIVE gatewayId="7" primitiveId="35" primitiveName="xfrect" />
-<PRIMITIVE gatewayId="7" primitiveId="36" primitiveName="xget" />
-<PRIMITIVE gatewayId="7" primitiveId="37" primitiveName="xgetech" />
-<PRIMITIVE gatewayId="7" primitiveId="38" primitiveName="xgetmouse" />
-<PRIMITIVE gatewayId="7" primitiveId="39" primitiveName="xgrid" />
-<PRIMITIVE gatewayId="7" primitiveId="40" primitiveName="xinit" />
-<PRIMITIVE gatewayId="7" primitiveId="41" primitiveName="xlfont" />
-<PRIMITIVE gatewayId="7" primitiveId="42" primitiveName="xpoly" />
-<PRIMITIVE gatewayId="7" primitiveId="43" primitiveName="xpolys" />
-<PRIMITIVE gatewayId="7" primitiveId="44" primitiveName="xrect" />
-<PRIMITIVE gatewayId="7" primitiveId="45" primitiveName="xrects" />
-<PRIMITIVE gatewayId="7" primitiveId="46" primitiveName="xsegs" />
-<PRIMITIVE gatewayId="7" primitiveId="47" primitiveName="show_window" />
-<PRIMITIVE gatewayId="7" primitiveId="48" primitiveName="xset" />
-<PRIMITIVE gatewayId="7" primitiveId="49" primitiveName="xsetech" />
-<PRIMITIVE gatewayId="7" primitiveId="50" primitiveName="xstring" />
-<PRIMITIVE gatewayId="7" primitiveId="51" primitiveName="xtape" />
-<PRIMITIVE gatewayId="7" primitiveId="52" primitiveName="xtitle" />
-<PRIMITIVE gatewayId="7" primitiveId="53" primitiveName="xgraduate" />
-<PRIMITIVE gatewayId="7" primitiveId="54" primitiveName="xname" />
-<PRIMITIVE gatewayId="7" primitiveId="55" primitiveName="clear_pixmap" />
-<PRIMITIVE gatewayId="7" primitiveId="56" primitiveName="set_posfig_dim" />
-<PRIMITIVE gatewayId="7" primitiveId="57" primitiveName="zoom_rect" />
-<PRIMITIVE gatewayId="7" primitiveId="58" primitiveName="unzoom" />
-<PRIMITIVE gatewayId="7" primitiveId="59" primitiveName="StringBox" />
-<PRIMITIVE gatewayId="7" primitiveId="60" primitiveName="move" />
-<PRIMITIVE gatewayId="7" primitiveId="61" primitiveName="glue" />
-<PRIMITIVE gatewayId="7" primitiveId="62" primitiveName="unglue" />
-<PRIMITIVE gatewayId="7" primitiveId="63" primitiveName="drawnow" />
-<PRIMITIVE gatewayId="7" primitiveId="64" primitiveName="drawlater" />
-<PRIMITIVE gatewayId="7" primitiveId="65" primitiveName="draw" />
-<PRIMITIVE gatewayId="7" primitiveId="66" primitiveName="addcb" />
-<PRIMITIVE gatewayId="7" primitiveId="67" primitiveName="copy" />
-<PRIMITIVE gatewayId="7" primitiveId="68" primitiveName="delete" />
-<PRIMITIVE gatewayId="7" primitiveId="69" primitiveName="get" />
-<PRIMITIVE gatewayId="7" primitiveId="70" primitiveName="set" />
-<PRIMITIVE gatewayId="7" primitiveId="71" primitiveName="newaxes" />
-<PRIMITIVE gatewayId="7" primitiveId="72" primitiveName="relocate_handle" />
-<PRIMITIVE gatewayId="7" primitiveId="73" primitiveName="swap_handles" />
-<PRIMITIVE gatewayId="7" primitiveId="74" primitiveName="help_gtk" />
-<PRIMITIVE gatewayId="7" primitiveId="75" primitiveName="showalluimenushandles" />
-<PRIMITIVE gatewayId="7" primitiveId="76" primitiveName="rubberbox" />
-<PRIMITIVE gatewayId="7" primitiveId="77" primitiveName="rotate_axes" />
-<PRIMITIVE gatewayId="7" primitiveId="78" primitiveName="is_handle_valid" />
+<PRIMITIVE gatewayId="7" primitiveId="3" primitiveName="fec" />
+<PRIMITIVE gatewayId="7" primitiveId="4" primitiveName="geom3d" />
+<PRIMITIVE gatewayId="7" primitiveId="5" primitiveName="grayplot" />
+<PRIMITIVE gatewayId="7" primitiveId="6" primitiveName="Matplot" />
+<PRIMITIVE gatewayId="7" primitiveId="7" primitiveName="Matplot1" />
+<PRIMITIVE gatewayId="7" primitiveId="8" primitiveName="contour2di" />
+<PRIMITIVE gatewayId="7" primitiveId="9" primitiveName="param3d" />
+<PRIMITIVE gatewayId="7" primitiveId="10" primitiveName="param3d1" />
+<PRIMITIVE gatewayId="7" primitiveId="11" primitiveName="xstringb" />
+<PRIMITIVE gatewayId="7" primitiveId="12" primitiveName="plot2d" />
+<PRIMITIVE gatewayId="7" primitiveId="13" primitiveName="plot2d1" />
+<PRIMITIVE gatewayId="7" primitiveId="14" primitiveName="plot2d2" />
+<PRIMITIVE gatewayId="7" primitiveId="15" primitiveName="plot2d3" />
+<PRIMITIVE gatewayId="7" primitiveId="16" primitiveName="plot2d4" />
+<PRIMITIVE gatewayId="7" primitiveId="17" primitiveName="plot3d" />
+<PRIMITIVE gatewayId="7" primitiveId="18" primitiveName="plot3d1" />
+<PRIMITIVE gatewayId="7" primitiveId="19" primitiveName="winsid" />
+<PRIMITIVE gatewayId="7" primitiveId="20" primitiveName="xarc" />
+<PRIMITIVE gatewayId="7" primitiveId="21" primitiveName="xarcs" />
+<PRIMITIVE gatewayId="7" primitiveId="22" primitiveName="xarrows" />
+<PRIMITIVE gatewayId="7" primitiveId="23" primitiveName="drawaxis" />
+<PRIMITIVE gatewayId="7" primitiveId="24" primitiveName="xchange" />
+<PRIMITIVE gatewayId="7" primitiveId="25" primitiveName="show_pixmap" />
+<PRIMITIVE gatewayId="7" primitiveId="26" primitiveName="oldxclear" />
+<PRIMITIVE gatewayId="7" primitiveId="27" primitiveName="xclick" />
+<PRIMITIVE gatewayId="7" primitiveId="28" primitiveName="xdel" />
+<PRIMITIVE gatewayId="7" primitiveId="29" primitiveName="xfarc" />
+<PRIMITIVE gatewayId="7" primitiveId="30" primitiveName="xfarcs" />
+<PRIMITIVE gatewayId="7" primitiveId="31" primitiveName="xfpoly" />
+<PRIMITIVE gatewayId="7" primitiveId="32" primitiveName="xfpolys" />
+<PRIMITIVE gatewayId="7" primitiveId="33" primitiveName="xfrect" />
+<PRIMITIVE gatewayId="7" primitiveId="34" primitiveName="xget" />
+<PRIMITIVE gatewayId="7" primitiveId="35" primitiveName="xgetech" />
+<PRIMITIVE gatewayId="7" primitiveId="36" primitiveName="xgetmouse" />
+<PRIMITIVE gatewayId="7" primitiveId="37" primitiveName="xgrid" />
+<PRIMITIVE gatewayId="7" primitiveId="38" primitiveName="xlfont" />
+<PRIMITIVE gatewayId="7" primitiveId="39" primitiveName="xpoly" />
+<PRIMITIVE gatewayId="7" primitiveId="40" primitiveName="xpolys" />
+<PRIMITIVE gatewayId="7" primitiveId="41" primitiveName="xrect" />
+<PRIMITIVE gatewayId="7" primitiveId="42" primitiveName="xrects" />
+<PRIMITIVE gatewayId="7" primitiveId="43" primitiveName="xsegs" />
+<PRIMITIVE gatewayId="7" primitiveId="44" primitiveName="show_window" />
+<PRIMITIVE gatewayId="7" primitiveId="45" primitiveName="xset" />
+<PRIMITIVE gatewayId="7" primitiveId="46" primitiveName="xsetech" />
+<PRIMITIVE gatewayId="7" primitiveId="47" primitiveName="xstring" />
+<PRIMITIVE gatewayId="7" primitiveId="48" primitiveName="xtape" />
+<PRIMITIVE gatewayId="7" primitiveId="49" primitiveName="xtitle" />
+<PRIMITIVE gatewayId="7" primitiveId="50" primitiveName="xgraduate" />
+<PRIMITIVE gatewayId="7" primitiveId="51" primitiveName="xname" />
+<PRIMITIVE gatewayId="7" primitiveId="52" primitiveName="clear_pixmap" />
+<PRIMITIVE gatewayId="7" primitiveId="53" primitiveName="set_posfig_dim" />
+<PRIMITIVE gatewayId="7" primitiveId="54" primitiveName="zoom_rect" />
+<PRIMITIVE gatewayId="7" primitiveId="55" primitiveName="unzoom" />
+<PRIMITIVE gatewayId="7" primitiveId="56" primitiveName="StringBox" />
+<PRIMITIVE gatewayId="7" primitiveId="57" primitiveName="move" />
+<PRIMITIVE gatewayId="7" primitiveId="58" primitiveName="glue" />
+<PRIMITIVE gatewayId="7" primitiveId="59" primitiveName="unglue" />
+<PRIMITIVE gatewayId="7" primitiveId="60" primitiveName="drawnow" />
+<PRIMITIVE gatewayId="7" primitiveId="61" primitiveName="drawlater" />
+<PRIMITIVE gatewayId="7" primitiveId="62" primitiveName="draw" />
+<PRIMITIVE gatewayId="7" primitiveId="63" primitiveName="addcb" />
+<PRIMITIVE gatewayId="7" primitiveId="64" primitiveName="copy" />
+<PRIMITIVE gatewayId="7" primitiveId="65" primitiveName="delete" />
+<PRIMITIVE gatewayId="7" primitiveId="66" primitiveName="get" />
+<PRIMITIVE gatewayId="7" primitiveId="67" primitiveName="set" />
+<PRIMITIVE gatewayId="7" primitiveId="68" primitiveName="newaxes" />
+<PRIMITIVE gatewayId="7" primitiveId="69" primitiveName="relocate_handle" />
+<PRIMITIVE gatewayId="7" primitiveId="70" primitiveName="swap_handles" />
+<PRIMITIVE gatewayId="7" primitiveId="71" primitiveName="help_gtk" />
+<PRIMITIVE gatewayId="7" primitiveId="72" primitiveName="showalluimenushandles" />
+<PRIMITIVE gatewayId="7" primitiveId="73" primitiveName="rubberbox" />
+<PRIMITIVE gatewayId="7" primitiveId="74" primitiveName="rotate_axes" />
+<PRIMITIVE gatewayId="7" primitiveId="75" primitiveName="is_handle_valid" />
 </GATEWAY>