diff libinterp/corefcn/graphics.cc @ 18646:2deed6538c72

Make some graphics factory defaults conform to Matlab values (bug #41770). * graphics.in.h: add "diplayname" property to image objects. * graphics.in.h: correct factory values of 'textmargin', 'surfacefacelighting', 'surfacexdata', 'surfaceydata', 'surfacezdata', 'surfacealphadata', 'surfacecdata', 'patchvertices', 'patchspecularstrength', 'patchfaces', 'imagealphadata', 'imagealphadatamapping', 'imagecdata', 'axesview', 'axescameraupvector'. * graphics.cc: create new static functions default_surface_xdata (void), default_surface_ydata (void), default_surface_zdata (void), default_surface_cdata (void), default_patch_faces (void), default_patch_vertices (void), default_axes_view (void), default_image_cdata (void) * libinterp/corefcn/octave-default-image.h: New file
author pantxo <pantxo.diribarne@gmail.com>
date Tue, 04 Mar 2014 13:07:41 +0100
parents cd83730e5e38
children e42843ceff48
line wrap: on
line diff
--- a/libinterp/corefcn/graphics.cc	Thu Apr 10 00:08:36 2014 +0200
+++ b/libinterp/corefcn/graphics.cc	Tue Mar 04 13:07:41 2014 +0100
@@ -58,6 +58,7 @@
 #include "toplev.h"
 #include "txt-eng-ft.h"
 #include "unwind-prot.h"
+#include "octave-default-image.h"
 
 // forward declarations
 static octave_value xget (const graphics_handle& h, const caseless_str& name);
@@ -255,6 +256,77 @@
 }
 
 static Matrix
+default_image_cdata (void)
+{
+  Matrix m (64, 64, 0.0);
+  int i = 0;
+  for (int col = 0; col < 64; col++)
+    for (int row = 0; row < 64; row++)
+      {
+        m(col,row) = static_cast<double> (default_im_data[i]);
+        i++;
+      }
+
+  return m;
+}
+
+static Matrix
+default_surface_xdata (void)
+{
+  Matrix m (3, 3, 0.0);
+  for (int col = 0; col < 3; col++)
+    for (int row = 0; row < 3; row++)
+      m(row,col) = col+1;
+
+  return m;
+}
+
+static Matrix
+default_surface_ydata (void)
+{
+  Matrix m (3, 3, 0.0);
+  for (int row = 0; row < 3; row++)
+    for (int col = 0; col < 3; col++)
+      m(row,col) = row+1;
+
+  return m;
+}
+
+static Matrix
+default_surface_zdata (void)
+{
+  Matrix m (3, 3, 0.0);
+  for (int row = 0; row < 3; row++)
+    m(row,row) = 1.0;
+  return m;
+}
+
+static Matrix
+default_surface_cdata (void)
+{
+  return default_surface_zdata ();
+}
+
+static Matrix
+default_patch_faces (void)
+{
+  Matrix m (1, 3, 1.0);
+  m(1) = 2.0;
+  m(2) = 3.0;
+  return m;
+}
+
+static Matrix
+default_patch_vertices (void)
+{
+  Matrix m (3, 2, 0);
+  m(1) = 1.0;
+  m(3) = 1.0;
+  m(4) = 1.0;
+  return m;
+}
+
+static Matrix
 default_axes_position (void)
 {
   Matrix m (1, 4, 0.0);
@@ -274,6 +346,14 @@
 }
 
 static Matrix
+default_axes_view (void)
+{
+  Matrix m (1, 2, 0.0);
+  m(1) = 90.0;
+  return m;
+}
+
+static Matrix
 default_axes_tick (void)
 {
   Matrix m (1, 6, 0.0);
@@ -1237,7 +1317,7 @@
 
       // check dimensional size constraints until a match is found
       for (std::list<dim_vector>::const_iterator it = size_constraints.begin ();
-           ! xok && it != size_constraints.end (); ++it)
+           ! xok && it != size_constraints.end ();++it)
         {
           dim_vector itdims = (*it);