Index: src/graphics.h.in =================================================================== RCS file: /cvs/octave/src/graphics.h.in,v retrieving revision 1.41 diff -c -p -r1.41 graphics.h.in *** src/graphics.h.in 17 Jan 2008 19:07:51 -0000 1.41 --- src/graphics.h.in 18 Jan 2008 14:40:45 -0000 *************** public: *** 1853,1862 **** --- 1870,1881 ---- array_property ylim m , default_lim () array_property zlim m , default_lim () array_property clim m , default_lim () + array_property alim m , default_lim () radio_property xlimmode al , "{auto}|manual" radio_property ylimmode al , "{auto}|manual" radio_property zlimmode al , "{auto}|manual" radio_property climmode al , "{auto}|manual" + radio_property alimmode , "{auto}|manual" mutable handle_property xlabel GSO , graphics_handle () mutable handle_property ylabel GSO , graphics_handle () mutable handle_property zlabel GSO , graphics_handle () *************** public: *** 1872,1877 **** --- 1891,1900 ---- radio_property xtickmode , "{auto}|manual" radio_property ytickmode , "{auto}|manual" radio_property ztickmode , "{auto}|manual" + bool_property xminortick , "off" + bool_property yminortick , "off" + bool_property zminortick , "off" + // FIXME: should be kind of string array any_property xticklabel m , "" any_property yticklabel m , "" any_property zticklabel m , "" *************** public: *** 1895,1914 **** array_property outerposition , Matrix () radio_property activepositionproperty , "{outerposition}|position" radio_property __colorbar__ h , "{none}|north|south|east|west|northoutside|southoutside|eastoutside|westoutside" END_PROPERTIES protected: void init (void) { position.add_constraint (dim_vector (1, 4)); ! position.add_constraint (dim_vector (0, 0)); outerposition.add_constraint (dim_vector (1, 4)); colororder.add_constraint (dim_vector (-1, 3)); dataaspectratio.add_constraint (dim_vector (1, 3)); xlim.add_constraint (dim_vector (1, 2)); ylim.add_constraint (dim_vector (1, 2)); zlim.add_constraint (dim_vector (1, 2)); clim.add_constraint (dim_vector (1, 2)); xtick.add_constraint (dim_vector (1, -1)); ytick.add_constraint (dim_vector (1, -1)); ztick.add_constraint (dim_vector (1, -1)); --- 1918,1975 ---- array_property outerposition , Matrix () radio_property activepositionproperty , "{outerposition}|position" radio_property __colorbar__ h , "{none}|north|south|east|west|northoutside|southoutside|eastoutside|westoutside" + color_property ambientlightcolor , color_values (1, 1, 1) + array_property cameraposition m , Matrix (1, 3, 0.0) + array_property cameratarget m , Matrix (1, 3, 0.0) + array_property cameraupvector m , Matrix () + double_property cameraviewangle m , 10.0 + radio_property camerapositionmode , "{auto}|manual" + radio_property cameratargetmode , "{auto}|manual" + radio_property cameraupvectormode , "{auto}|manual" + radio_property cameraviewanglemode , "{auto}|manual" + array_property currentpoint , Matrix (2, 3, 0.0) + radio_property drawmode , "{normal}|fast" + radio_property fontangle , "{normal}|italic|oblique" + string_property fontname , "Helvetica" + double_property fontsize , 12 + radio_property fontunits , "{points}|normalized|inches|centimeters|pixels" + radio_property fontweight , "{normal}|light|demi|bold" + radio_property gridlinestyle , "{-}|--|:|-.|none" + // FIXME: should be kind of string array + string_property linestyleorder , "-" + double_property linewidth , 0.5 + radio_property minorgridlinestyle , "{-}|--|:|-.|none" + array_property plotboxaspectratio m , Matrix (1, 3, 1.0) + radio_property plotboxaspectratiomode , "{auto}|manual" + radio_property projection , "{orthographic}|perpective" + radio_property tickdir m , "{in}|out" + radio_property tickdirmode , "{auto}|manual" + array_property ticklength , Matrix (1, 2, 0.1) + array_property tightinset r , Matrix (1, 4, 0.0) + // FIXME: uicontextmenu should be moved here + radio_property units , "{normalized}|inches|centimeters|points|pixels|characters" + // hidden properties for transformation computation + array_property x_viewtransform h , Matrix (4, 4, 0.0) + array_property x_projectiontransform h , Matrix (4, 4, 0.0) + array_property x_viewporttransform h , Matrix (4, 4, 0.0) + array_property x_normrendertransform h , Matrix (4, 4, 0.0) + array_property x_rendertransform h , Matrix (4, 4, 0.0) END_PROPERTIES protected: void init (void) { position.add_constraint (dim_vector (1, 4)); ! position.add_constraint (dim_vector (0, 0)); outerposition.add_constraint (dim_vector (1, 4)); colororder.add_constraint (dim_vector (-1, 3)); dataaspectratio.add_constraint (dim_vector (1, 3)); + plotboxaspectratio.add_constraint (dim_vector (1, 3)); xlim.add_constraint (dim_vector (1, 2)); ylim.add_constraint (dim_vector (1, 2)); zlim.add_constraint (dim_vector (1, 2)); clim.add_constraint (dim_vector (1, 2)); + alim.add_constraint (dim_vector (1, 2)); xtick.add_constraint (dim_vector (1, -1)); ytick.add_constraint (dim_vector (1, -1)); ztick.add_constraint (dim_vector (1, -1)); *************** public: *** 1916,1921 **** --- 1977,1990 ---- vw(1) = 90; view = vw; view.add_constraint (dim_vector (1, 2)); + cameraposition.add_constraint (dim_vector (1, 3)); + Matrix upv (1, 3, 0.0); + upv(2) = 1.0; + cameraupvector = upv; + cameraupvector.add_constraint (dim_vector (1, 3)); + currentpoint.add_constraint (dim_vector (2, 3)); + ticklength.add_constraint (dim_vector (1, 2)); + tightinset.add_constraint (dim_vector (1, 4)); } }; Index: src/graphics.cc =================================================================== RCS file: /cvs/octave/src/graphics.cc,v retrieving revision 1.75 diff -c -p -r1.75 graphics.cc *** src/graphics.cc 15 Jan 2008 18:42:30 -0000 1.75 --- src/graphics.cc 18 Jan 2008 14:40:45 -0000 Index: src/genprops.awk =================================================================== RCS file: /cvs/octave/src/genprops.awk,v retrieving revision 1.13 diff -c -p -r1.13 genprops.awk *** src/genprops.awk 18 Jan 2008 05:12:03 -0000 1.13 --- src/genprops.awk 18 Jan 2008 14:40:45 -0000 *************** function emit_source () *** 342,349 **** for (i = 1; i <= idx; i++) { ! printf (" %sif (name.compare (\"%s\"))\n set_%s (val);\n", ! (i > 1 ? "else " : ""), name[i], name[i]) >> filename; } printf (" else\n base_properties::set (name, val);\n}\n\n") >> filename; --- 342,350 ---- for (i = 1; i <= idx; i++) { ! if (! readonly[i]) ! printf (" %sif (name.compare (\"%s\"))\n set_%s (val);\n", ! (i > 1 ? "else " : ""), name[i], name[i]) >> filename; } printf (" else\n base_properties::set (name, val);\n}\n\n") >> filename; *************** BEGIN { *** 459,465 **** limits[idx] = 0; mode[idx] = 0; ! hidden[idx] = 0; emit_get[idx] = "definition"; emit_set[idx] = "definition"; defval[idx] = ""; --- 460,467 ---- limits[idx] = 0; mode[idx] = 0; ! hidden[idx] = 0; ! readonly[idx] = 0; emit_get[idx] = "definition"; emit_set[idx] = "definition"; defval[idx] = ""; *************** BEGIN { *** 500,508 **** if (index (quals, "S")) emit_set[idx] = "declaration"; ! ## The property is hidden ! if (index (quals, "h")) ! hidden[idx] = 1; ## ## emmit an asignment set function ## if (index (quals, "a")) --- 502,514 ---- if (index (quals, "S")) emit_set[idx] = "declaration"; ! ## The property is hidden ! if (index (quals, "h")) ! hidden[idx] = 1; ! ! ## The property is read-only ! if (index (quals, "r")) ! readonly[idx] = 1; ## ## emmit an asignment set function ## if (index (quals, "a"))