28 #if ! defined (octave_graphics_h)
29 #define octave_graphics_h 1
31 #include "octave-config.h"
43 #include <unordered_map>
62 #if ! defined (OCTAVE_DEFAULT_FONTNAME)
63 #define OCTAVE_DEFAULT_FONTNAME "*"
78 error (
"invalid axis scale");
83 error (
"invalid axis scale");
86 virtual double scale (
double)
const
88 error (
"invalid axis scale");
93 error (
"invalid axis scale");
107 OCTAVE_DEFAULT_CONSTRUCT_COPY_MOVE_DELETE (
lin_scaler)
126 OCTAVE_DEFAULT_CONSTRUCT_COPY_MOVE_DELETE (
log_scaler)
130 Matrix retval (
m.rows (),
m.cols ());
147 {
return log10 (
d); }
156 void do_scale (
const double *src,
double *dest,
int n)
const
158 for (
int i = 0; i <
n; i++)
159 dest[i] = log10 (src[i]);
171 Matrix retval (
m.rows (),
m.cols ());
188 {
return -log10 (-
d); }
197 void do_scale (
const double *src,
double *dest,
int n)
const
199 for (
int i = 0; i <
n; i++)
200 dest[i] = -log10 (-src[i]);
225 {
return m_rep->scale (
m); }
228 {
return m_rep->scale (
m); }
231 {
return m_rep->scale (
d); }
234 {
return m_rep->unscale (
d); }
237 {
return m_rep->is_linear (); }
245 m_rep = s.m_rep->
clone ();
251 scaler& operator = (
const std::string& s)
257 else if (s ==
"neglog")
259 else if (s ==
"linear")
289 : m_id (-1), m_count (1), m_name (), m_parent (), m_hidden (),
294 : m_id (-1), m_count (1), m_name (s), m_parent (h), m_hidden (false),
299 : m_id (-1), m_count (1), m_name (p.m_name), m_parent (p.m_parent),
300 m_hidden (p.m_hidden), m_listeners ()
308 bool ok ()
const {
return m_parent.ok (); }
312 void set_name (
const std::string& s) { m_name = s; }
331 bool do_notify_toolkit =
true);
335 error (R
"(get: invalid property "%s")", m_name.c_str ());
340 error (R
"(values_as_string: invalid property "%s")", m_name.c_str ());
345 error (R
"(values_as_cell: invalid property "%s")", m_name.c_str ());
370 for (i = 0; i < l.
length (); i++)
372 if (v.internal_rep () == l(i).internal_rep ())
380 for (
int j = i; j < l.
length () - 1; j++)
394 for (
int i = l.
length () - 1; i >= 0 ; i--)
396 for (
int j = 0; j < lp.
length (); j++)
398 if (l(i).internal_rep () == lp(j).internal_rep ())
419 error (R
"(set: invalid property "%s")", m_name.c_str ());
423 typedef std::map<listener_mode, octave_value_list> listener_map;
424 typedef std::map<listener_mode, octave_value_list>::iterator
425 listener_map_iterator;
426 typedef std::map<listener_mode, octave_value_list>::const_iterator
427 listener_map_const_iterator;
431 octave::refcount<octave_idx_type> m_count;
435 listener_map m_listeners;
447 const std::string& val =
"")
474 error (R
"(set: invalid string property value for "%s")",
475 get_name ().c_str ());
479 if (new_str != m_str)
501 const std::string& val =
"",
const char& sep =
'|',
503 :
base_property (s, h), m_desired_type (typ), m_separator (sep), m_str ()
509 std::size_t new_pos = val.find_first_of (m_separator, pos);
511 if (new_pos == std::string::npos)
513 m_str.append (val.substr (pos));
517 m_str.append (val.substr (pos, new_pos - pos));
524 const Cell& c,
const char& sep =
'|',
526 :
base_property (s, h), m_desired_type (typ), m_separator (sep), m_str ()
529 error (R
"(set: invalid order property value for "%s")",
530 get_name ().c_str ());
535 strings[i] = c(i).string_value ();
549 if (m_desired_type == string_t)
562 if (i != m_str.numel () - 1)
587 bool replace =
false;
593 while (pos != std::string::npos)
595 std::size_t new_pos = new_str.find_first_of (m_separator, pos);
597 if (new_pos == std::string::npos)
599 strings.
append (new_str.substr (pos));
603 strings.
append (new_str.substr (pos, new_pos - pos));
608 if (m_str.numel () == strings.
numel ())
611 if (strings[i] != m_str[i])
620 m_desired_type = string_t;
630 bool replace =
false;
635 if (nel != m_str.numel ())
640 if (! replace && strings[i] != m_str[i])
644 m_desired_type = string_t;
654 bool replace =
false;
661 if (nel != m_str.numel ())
667 if (strings[i] != m_str[i])
675 m_desired_type = cell_t;
684 error (R
"(set: invalid string property value for "%s")",
685 get_name ().c_str ());
691 desired_enum m_desired_type;
701 enum type { char_t, cellstr_t };
706 const std::string& val =
"")
707 :
base_property (s, h), m_value (val), m_stored_type (char_t)
716 m_value.resize (nel);
720 std::ostringstream buf;
722 m_value[i] = buf.str ();
732 m_value.resize (nel);
739 m_value[i] = c(i).string_value ();
742 double d = c(i).double_value ();
744 std::ostringstream buf;
746 m_value[i] = buf.str ();
766 if (m_stored_type == char_t)
774 return m_value.empty () ?
"" : m_value[0];
799 m_stored_type = char_t;
807 m_value.resize (nel);
814 m_value[i] = c(i).string_value ();
817 double d = c(i).double_value ();
819 std::ostringstream buf;
821 m_value[i] = buf.str ();
825 m_stored_type = cellstr_t;
835 catch (octave::execution_exception& ee)
837 error (ee, R
"(set: invalid string property value for "%s")",
838 get_name ().c_str ());
843 m_value.resize (nel);
847 std::ostringstream buf;
849 m_value[i] = buf.str ();
852 m_stored_type = char_t;
868 OCTINTERP_API
radio_values (
const std::string& opt_string =
"");
872 std::
string default_value ()
const {
return m_default_val; }
874 bool validate (
const std::string& val, std::string& match)
878 if (! contains (val, match))
879 error (
"invalid value = %s", val.c_str ());
884 bool contains (
const std::string& val, std::string& match)
888 std::size_t
len = val.length ();
890 std::string first_match;
892 for (
const auto& possible_val : m_possible_vals)
894 if (possible_val.compare (val,
len))
896 if (
len == possible_val.length ())
901 match = possible_val;
907 first_match = possible_val;
923 OCTINTERP_API std::string values_as_string ()
const;
925 OCTINTERP_API
Cell values_as_cell ()
const;
931 std::string m_default_val;
932 std::set<caseless_str> m_possible_vals;
944 m_vals (v), m_current_val (v.default_value ()) { }
947 const std::string& v)
949 m_vals (v), m_current_val (m_vals.default_value ()) { }
954 m_vals (v), m_current_val (def) { }
966 {
return m_vals.values_as_string (); }
971 {
return v.
compare (m_current_val); }
987 error (R
"(set: invalid value for radio property "%s")",
988 get_name ().c_str ());
994 if (! m_vals.validate (s, match))
995 error (R
"(set: invalid value for radio property "%s" (value = %s))",
996 get_name ().c_str (), s.c_str ());
998 if (match != m_current_val)
1000 if (s.length () != match.length ())
1002 "%s: allowing %s to match %s value %s",
1003 "set", s.c_str (), get_name ().c_str (),
1005 m_current_val = match;
1013 std::string m_current_val;
1034 if (! str2rgb (str))
1035 error (
"invalid color specification: %s", str.c_str ());
1042 return (m_rgb(0) == c.m_rgb(0)
1043 && m_rgb(1) == c.m_rgb(1)
1044 && m_rgb(2) == c.m_rgb(2));
1048 {
return ! (*
this == c); }
1056 for (
int i = 0; i < 3; i++)
1058 if (m_rgb(i) < 0 || m_rgb(i) > 1)
1059 error (
"invalid RGB color specification");
1066 OCTINTERP_API
bool str2rgb (
const std::string& str);
1077 m_current_type (color_t), m_color_val (c), m_radio_val (v),
1078 m_current_val (v.default_value ())
1083 m_current_type (radio_t), m_color_val (c), m_radio_val (v),
1084 m_current_val (v.default_value ())
1091 m_current_type (color_t), m_color_val (c), m_radio_val (v),
1092 m_current_val (v.default_value ())
1098 m_current_type (radio_t), m_color_val (
color_values ()), m_radio_val (v),
1099 m_current_val (v.default_value ())
1103 const std::string& v)
1105 m_current_type (radio_t), m_color_val (
color_values ()), m_radio_val (v),
1106 m_current_val (m_radio_val.default_value ())
1112 m_current_type (v.m_current_type), m_color_val (v.m_color_val),
1113 m_radio_val (v.m_radio_val), m_current_val (v.m_current_val)
1123 if (m_current_type == color_t)
1124 return m_color_val.rgb ();
1126 return m_current_val;
1129 bool is_rgb ()
const {
return (m_current_type == color_t); }
1131 bool is_radio ()
const {
return (m_current_type == radio_t); }
1133 bool is (
const std::string& v)
const
1134 {
return (is_radio () && m_current_val == v); }
1138 if (m_current_type != color_t)
1139 error (
"color has no RGB value");
1141 return m_color_val.rgb ();
1146 if (m_current_type != radio_t)
1147 error (
"color has no radio value");
1149 return m_current_val;
1163 {
return m_radio_val.values_as_string (); }
1168 OCTINTERP_API
bool do_set (
const octave_value& newval);
1171 enum current_enum { color_t, radio_t } m_current_type;
1174 std::string m_current_val;
1196 m_current_val (
d), m_finite_constraint (
NO_CHECK),
1197 m_minval (std::pair<double, bool> (
octave_NaN, true)),
1198 m_maxval (std::pair<double, bool> (
octave_NaN, true)) { }
1203 m_minval (std::pair<double, bool> (
octave_NaN, true)),
1204 m_maxval (std::pair<double, bool> (
octave_NaN, true)) { }
1225 p->m_finite_constraint = m_finite_constraint;
1226 p->m_minval = m_minval;
1227 p->m_maxval = m_maxval;
1235 m_minval = std::pair<double, bool> (val, inclusive);
1236 else if (type ==
"max")
1237 m_maxval = std::pair<double, bool> (val, inclusive);
1241 { m_finite_constraint = finite; }
1247 error (R
"(set: invalid value for double property "%s")",
1248 get_name ().c_str ());
1255 if (m_minval.second && m_minval.first > new_val)
1256 error (R
"(set: "%s" must be greater than or equal to %g)",
1257 get_name ().c_str (), m_minval.first);
1258 else if (! m_minval.second && m_minval.first >= new_val)
1259 error (R
"(set: "%s" must be greater than %g)",
1260 get_name ().c_str (), m_minval.first);
1265 if (m_maxval.second && m_maxval.first < new_val)
1266 error (R
"(set: "%s" must be less than or equal to %g)",
1267 get_name ().c_str (), m_maxval.first);
1268 else if (! m_maxval.second && m_maxval.first <= new_val)
1269 error (R
"(set: "%s" must be less than %g)",
1270 get_name ().c_str (), m_maxval.first);
1273 if (m_finite_constraint ==
NO_CHECK) { }
1274 else if (m_finite_constraint ==
FINITE)
1277 error (R
"(set: "%s" must be finite)", get_name ().c_str ());
1279 else if (m_finite_constraint ==
NOT_NAN)
1282 error (R
"(set: "%s" must not be nan)", get_name ().c_str ());
1284 else if (m_finite_constraint ==
NOT_INF)
1287 error (R
"(set: "%s" must not be infinite)", get_name ().c_str ());
1290 if (new_val != m_current_val)
1292 m_current_val = new_val;
1300 double m_current_val;
1302 std::pair<double, bool> m_minval, m_maxval;
1315 m_current_type (double_t), m_dval (
d), m_radio_val (v),
1316 m_current_val (v.default_value ())
1320 const std::string& v)
1322 m_current_type (radio_t), m_dval (0), m_radio_val (v),
1323 m_current_val (m_radio_val.default_value ())
1329 m_current_type (v.m_current_type), m_dval (v.m_dval),
1330 m_radio_val (v.m_radio_val), m_current_val (v.m_current_val)
1340 if (m_current_type == double_t)
1343 return m_current_val;
1346 bool is_double ()
const {
return (m_current_type == double_t); }
1348 bool is_radio ()
const {
return (m_current_type == radio_t); }
1350 bool is (
const std::string& v)
const
1351 {
return (is_radio () && m_current_val == v); }
1355 if (m_current_type != double_t)
1356 error (
"%s: property has no double", get_name ().c_str ());
1363 if (m_current_type != radio_t)
1364 error (
"%s: property has no radio value", get_name ().c_str ());
1366 return m_current_val;
1384 enum current_enum { double_t, radio_t } m_current_type;
1387 std::string m_current_val;
1397 m_min_val (), m_max_val (), m_min_pos (), m_max_neg (),
1398 m_type_constraints (), m_size_constraints (),
1400 m_minval (std::pair<double, bool> (
octave_NaN, true)),
1401 m_maxval (std::pair<double, bool> (
octave_NaN, true))
1409 m_min_val (), m_max_val (), m_min_pos (), m_max_neg (),
1410 m_type_constraints (), m_size_constraints (),
1412 m_minval (std::pair<double, bool> (
octave_NaN, true)),
1413 m_maxval (std::pair<double, bool> (
octave_NaN, true))
1423 m_min_val (p.m_min_val), m_max_val (p.m_max_val),
1424 m_min_pos (p.m_min_pos), m_max_neg (p.m_max_neg),
1425 m_type_constraints (), m_size_constraints (),
1427 m_minval (std::pair<double, bool> (
octave_NaN, true)),
1428 m_maxval (std::pair<double, bool> (
octave_NaN, true))
1439 { m_type_constraints.insert (type); }
1442 { m_size_constraints.push_back (dims); }
1445 { m_finite_constraint = finite; }
1450 m_minval = std::pair<double, bool> (val, inclusive);
1451 else if (type ==
"max")
1452 m_maxval = std::pair<double, bool> (val, inclusive);
1496 if (! validate (tmp))
1497 error (R
"(invalid value for array property "%s")",
1498 get_name ().c_str ());
1501 if (! is_equal (tmp))
1516 OCTINTERP_API
bool is_equal (
const octave_value& v)
const;
1518 OCTINTERP_API
void get_data_limits ();
1582 m_size_constraints.remove (
dim_vector (1, -1));
1583 m_size_constraints.remove (
dim_vector (-1, 1));
1584 m_size_constraints.remove (
dim_vector (0, 0));
1616 if (dv(0) > 1 && dv(1) == 1)
1622 m_data = m_data.reshape (dv);
1648 "{on}|off" :
"on|{off}"), val)
1656 bool is_on ()
const {
return is (
"on"); }
1687 m_current_val (val) { }
1718 { m_type_constraints.insert (type); }
1774 do_init_children (
Matrix ());
1781 do_init_children (val);
1787 do_init_children (p.m_children_list);
1805 return do_remove_child (val);
1810 do_adopt_child (val);
1815 return do_get_children (
false);
1820 return do_get_children (
true);
1825 return do_get_all_children ();
1835 do_delete_children (clear, from_root);
1840 for (
auto& hchild : m_children_list)
1842 if (hchild == old_gh)
1844 hchild = new_gh.
value ();
1849 error (
"children_list::renumber: child not found!");
1853 typedef std::list<double>::iterator children_list_iterator;
1854 typedef std::list<double>::const_iterator const_children_list_iterator;
1855 std::list<double> m_children_list;
1866 catch (octave::execution_exception& ee)
1868 error (ee,
"set: children must be an array of graphics handles");
1876 bool add_hidden =
true;
1878 const Matrix visible_kids = do_get_children (
false);
1879 const Matrix hidden_kids = do_get_children (
true);
1881 if (visible_kids.
numel () == new_kids.
numel ())
1897 error (
"set: new children list must be a permutation of existing "
1898 "children with visible handles");
1900 m_children_list.clear ();
1906 m_children_list.push_back (new_kids_column.
xelem (i));
1910 m_children_list.push_back (hidden_kids.
xelem (i));
1916 void do_init_children (
const Matrix& val)
1918 m_children_list.clear ();
1920 m_children_list.push_front (val.
xelem (i));
1923 void do_init_children (
const std::list<double>& val)
1925 m_children_list.clear ();
1926 m_children_list = val;
1929 OCTINTERP_API
Matrix do_get_children (
bool return_hidden)
const;
1931 Matrix do_get_all_children ()
const
1933 Matrix retval (m_children_list.size (), 1);
1936 for (
const auto& hchild : m_children_list)
1937 retval(i++) = hchild;
1942 bool do_remove_child (
double child)
1944 for (
auto it = m_children_list.begin (); it != m_children_list.end (); it++)
1948 m_children_list.erase (it);
1955 void do_adopt_child (
double val)
1957 m_children_list.push_front (val);
1960 void do_delete_children (
bool clear,
bool from_root);
1988 return (m_callback.is_defined () && ! m_callback.isempty ());
2003 error (R
"(invalid value for callback property "%s")",
2004 get_name ().c_str ());
2012 OCTINTERP_API
bool validate (
const octave_value& v)
const;
2027 {
if (persist) m_rep->m_count++; }
2036 if (--m_rep->m_count == 0)
2041 {
return m_rep->ok (); }
2044 {
return m_rep->get_name (); }
2047 { m_rep->set_name (name); }
2050 {
return m_rep->get_parent (); }
2053 { m_rep->set_parent (h); }
2056 {
return m_rep->is_hidden (); }
2059 { m_rep->set_hidden (flag); }
2062 {
return m_rep->is_radio (); }
2065 {
return m_rep->get_id (); }
2068 { m_rep->set_id (
d); }
2071 {
return m_rep->get (); }
2074 bool do_notify_toolkit =
true)
2075 {
return m_rep->set (val, do_run, do_notify_toolkit); }
2078 {
return m_rep->values_as_string (); }
2081 {
return m_rep->values_as_cell (); }
2091 if (m_rep && --m_rep->m_count == 0)
2101 { m_rep->add_listener (v, mode); }
2105 { m_rep->delete_listener (v, mode); }
2108 { m_rep->run_listeners (mode); }
2110 static OCTINTERP_API
property
2115 {
return property (m_rep->clone ()); }
2128 const_iterator
find (
const std::string pname)
const
2132 for (it = (*this).begin (); it != (*this).end (); it++)
2133 if (pname == (*it).first)
2136 return (*this).end ();
2139 iterator
find (
const std::string pname)
2143 for (it = (*this).begin (); it != (*this).end (); it++)
2144 if (pname == (*it).first)
2147 return (*this).end ();
2154 const_iterator it = find (pname);
2156 if (it != (*this).end ())
2157 retval = (*it).second;
2164 iterator it = find (pname);
2166 if (it == (*this).end ())
2169 return (*this).back ().second;
2172 return (*it).second;
2177 iterator it = find (pname);
2178 if (it != (*this).end ())
2184 std::vector<pval_pair>::erase (it);
2202 : m_plist_map (
m) { }
2218 return m_plist_map.find (go_name);
2223 return m_plist_map.find (go_name);
2227 as_struct (
const std::string& prefix_arg)
const;
2230 plist_map_type m_plist_map;
2249 virtual std::
string graphics_object_name ()
const {
return "unknown"; }
2251 OCTINTERP_API
void mark_modified ();
2270 m_all_props[name] = p;
2292 virtual property get_property (
const caseless_str& pname);
2304 if (m_children.remove_child (h.
value ()))
2306 m_children.run_listeners ();
2313 m_children.adopt (h.
value ());
2314 m_children.run_listeners ();
2318 virtual octave::graphics_toolkit get_toolkit ()
const;
2323 {
return Matrix (1, 4, 0.0); }
2325 virtual void update_boundingbox ();
2327 virtual void update_autopos (
const std::string& elem_type);
2337 m_beingdeleted.set (val,
true,
false);
2338 update_beingdeleted ();
2343 OCTINTERP_API
void set_parent (
const octave_value& val);
2347 return m_children.get_children ();
2352 return m_children.get_all ();
2357 return m_children.get_hidden ();
2361 get_children_of_type (
const caseless_str& type,
bool get_invisible,
2363 std::list<graphics_object>& children_list)
const;
2373 return get_contextmenu ();
2378 set_contextmenu (val);
2386 virtual void update_axis_limits (
const std::string& axis_type)
const;
2388 virtual void update_axis_limits (
const std::string& axis_type,
2391 virtual void update_contextmenu ()
const;
2395 m_children.delete_children (clear, from_root);
2400 m_children.renumber (old_gh, new_gh);
2427 OCTINTERP_API
bool is_handle_visible ()
const;
2429 OCTINTERP_API std::set<std::string> dynamic_property_names ()
const;
2431 OCTINTERP_API
bool has_dynamic_property (
const std::string& pname)
const;
2441 OCTINTERP_API
octave_value get_dynamic (
bool all =
false)
const;
2443 OCTINTERP_API
property get_property_dynamic (
const caseless_str& pname)
const;
2448 static std::set<std::string> core_property_names ();
2450 static std::set<std::string> readonly_property_names ();
2452 static bool has_core_property (
const caseless_str& pname);
2454 static bool has_readonly_property (
const caseless_str& pname);
2456 std::set<std::string> all_property_names ()
const;
2488 ID_BEINGDELETED = 0,
2490 ID_BUTTONDOWNFCN = 2,
2496 ID_HANDLEVISIBILITY = 8,
2498 ID_INTERRUPTIBLE = 10,
2500 ID_PICKABLEPARTS = 12,
2502 ID_SELECTIONHIGHLIGHT = 14,
2505 ID_UICONTEXTMENU = 17,
2508 ID___APPDATA__ = 20,
2509 ID___MODIFIED__ = 21,
2510 ID___MYHANDLE__ = 22
2572 if (m_busyaction.
set (val,
true))
2580 if (m_buttondownfcn.
set (val,
true))
2588 if (m_children.
set (val,
true))
2596 if (m_clipping.
set (val,
true))
2604 if (m_contextmenu.
set (val,
true))
2606 update_contextmenu ();
2613 if (m_createfcn.
set (val,
true))
2621 if (m_deletefcn.
set (val,
true))
2629 if (m_handlevisibility.
set (val,
true))
2631 update_handlevisibility ();
2638 if (m_hittest.
set (val,
true))
2646 if (m_interruptible.
set (val,
true))
2654 if (m_pickableparts.
set (val,
true))
2662 if (m_selected.
set (val,
true))
2670 if (m_selectionhighlight.
set (val,
true))
2678 if (m_userdata.
set (val,
true))
2686 if (m_visible.
set (val,
true))
2695 if (m___appdata__.
set (val,
true))
2704 virtual void update_handlevisibility ();
2747 error (
"base_graphics_object::mark_modified: invalid graphics object");
2755 error (
"base_graphics_object::override_defaults: invalid graphics object");
2760 const std::string go_name)
const;
2765 error (
"base_graphics_object::set_from_list: invalid graphics object");
2773 error (
"base_graphics_object::set: invalid graphics object");
2780 error (
"base_graphics_object::set_defaults: invalid graphics object");
2789 error (
"base_graphics_object::get: invalid graphics object");
2797 error (
"base_graphics_object::get: invalid graphics object");
2808 error (
"base_graphics_object::get_defaults: invalid graphics object");
2814 error (
"base_graphics_object::get_defaults_list: invalid graphics object");
2821 error (
"base_graphics_object::get_factory_defaults: invalid graphics object");
2826 error (
"base_graphics_object::get_factory_defaults_list: invalid graphics object");
2849 error (
"base_graphics_object::get_parent: invalid graphics object");
2857 error (
"base_graphics_object::get_handle: invalid graphics object");
2865 error (
"base_graphics_object::remove_child: invalid graphics object");
2873 error (
"base_graphics_object::adopt: invalid graphics object");
2881 error (
"base_graphics_object::reparent: invalid graphics object");
2889 error (
"base_graphics_object::default: invalid graphics object");
2891 std::string msg = (
type () +
"::defaults");
2898 warning (
"base_graphics_object::get_properties: invalid graphics object");
2905 warning (
"base_graphics_object::get_properties: invalid graphics object");
2924 bool isa (
const std::string& go_name)
const
2926 return type () == go_name;
2932 error (
"base_graphics_object::get_toolkit: invalid graphics object");
2960 if (! m_toolkit_flag)
2969 m_toolkit_flag =
false;
3004 m_rep->override_defaults (obj);
3009 m_rep->override_defaults (*m_rep);
3013 const std::string go_name)
const
3015 m_rep->build_user_defaults_map (def, go_name);
3022 m_rep->set (name, val);
3032 OCTINTERP_API
void set_value_or_default (
const caseless_str& name,
3035 void set_defaults (
const std::string& mode) { m_rep->set_defaults (mode); }
3041 return name.
compare (
"default")
3044 ? get_factory_defaults () : m_rep->get (name));
3059 return m_rep->get_default (name);
3064 return m_rep->get_factory_default (name);
3071 return m_rep->get_defaults_list ();
3076 return m_rep->get_factory_defaults ();
3081 return m_rep->get_factory_defaults_list ();
3086 return m_rep->has_readonly_property (pname);
3097 return m_rep->value_as_string (prop);
3108 OCTINTERP_API
graphics_object get_ancestor (
const std::string& type)
const;
3118 bool isa (
const std::string& go_name)
const {
return m_rep->isa (go_name); }
3124 return m_rep->get_properties ();
3129 m_rep->update_axis_limits (axis_type);
3135 m_rep->update_axis_limits (axis_type, h);
3140 std::string
type ()
const {
return m_rep->type (); }
3142 operator bool ()
const {
return m_rep->valid_object (); }
3150 {
return get_properties ().get_alim (); }
3153 {
return get_properties ().get_clim (); }
3156 {
return get_properties ().get_xlim (); }
3159 {
return get_properties ().get_ylim (); }
3162 {
return get_properties ().get_zlim (); }
3165 {
return get_properties ().is_aliminclude (); }
3168 {
return get_properties ().is_climinclude (); }
3171 {
return get_properties ().is_xliminclude (); }
3174 {
return get_properties ().is_yliminclude (); }
3177 {
return get_properties ().is_zliminclude (); }
3180 {
return get_properties ().is_handle_visible (); }
3183 {
return m_rep->get_toolkit (); }
3187 { m_rep->add_property_listener (nm, v, mode); }
3191 { m_rep->delete_property_listener (nm, v, mode); }
3199 void update (
int id) { m_rep->update (*
this,
id); }
3202 { m_rep->reset_default_properties (); }
3206 std::shared_ptr<base_graphics_object> m_rep;
3227 get_boundingbox (
bool internal =
false,
3276 static std::string s_go_name;
3281 static std::set<std::string> core_property_names ();
3283 static std::set<std::string> readonly_property_names ();
3285 static bool has_core_property (
const caseless_str& pname);
3287 static bool has_readonly_property (
const caseless_str& pname);
3289 std::set<std::string> all_property_names ()
const;
3312 ID_CALLBACKOBJECT = 1000,
3313 ID_COMMANDWINDOWSIZE = 1001,
3314 ID_CURRENTFIGURE = 1002,
3315 ID_FIXEDWIDTHFONTNAME = 1003,
3316 ID_MONITORPOSITIONS = 1004,
3317 ID_POINTERLOCATION = 1005,
3318 ID_POINTERWINDOW = 1006,
3319 ID_SCREENDEPTH = 1007,
3320 ID_SCREENPIXELSPERINCH = 1008,
3321 ID_SCREENSIZE = 1009,
3322 ID_SHOWHIDDENHANDLES = 1010,
3349 bool units_is (
const std::string& v)
const {
return m_units.
is (v); }
3357 if (m_commandwindowsize.
set (val,
true))
3367 if (m_fixedwidthfontname.
set (val,
true))
3375 if (m_monitorpositions.
set (val,
true))
3383 if (m_pointerlocation.
set (val,
true))
3391 if (m_pointerwindow.
set (val,
true))
3399 if (m_screendepth.
set (val,
true))
3407 if (m_screenpixelsperinch.
set (val,
true))
3415 if (m_screensize.
set (val,
true))
3423 if (m_showhiddenhandles.
set (val,
true))
3431 if (m_units.
set (val,
true))
3438 void update_units ();
3444 properties m_properties;
3450 m_factory_properties (init_factory_properties ())
3473 if (name.
compare (
"default", 7))
3477 m_default_properties.set (name.substr (7), value);
3479 m_properties.set (name, value);
3486 if (name.
compare (
"default", 7))
3487 return get_default (name.substr (7));
3488 else if (name.
compare (
"factory", 7))
3489 return get_factory_default (name.substr (7));
3491 retval = m_properties.get (name);
3498 octave_value retval = m_default_properties.lookup (name);
3503 retval = m_factory_properties.lookup (name);
3506 error (
"get: invalid default property '%s'", name.c_str ());
3514 octave_value retval = m_factory_properties.lookup (name);
3517 error (
"get: invalid factory default property '%s'", name.c_str ());
3524 return m_default_properties.as_struct (
"default");
3529 return m_default_properties;
3534 return m_factory_properties.as_struct (
"factory");
3539 return m_factory_properties;
3548 OCTINTERP_API
void reset_default_properties ();
3552 bool retval = m_properties.has_readonly_property (pname);
3565 init_factory_properties ();
3579 m_integerhandle = val;
3585 OCTINTERP_API
void set_visible (
const octave_value& val);
3587 OCTINTERP_API octave::graphics_toolkit get_toolkit ()
const;
3589 OCTINTERP_API
void set_toolkit (
const octave::graphics_toolkit& b);
3591 OCTINTERP_API
void set___graphics_toolkit__ (
const octave_value& val);
3598 return get_position ();
3606 OCTINTERP_API
void set_position (
const octave_value& val,
3607 bool do_notify_toolkit =
true);
3609 OCTINTERP_API
void set_outerposition (
const octave_value& val,
3610 bool do_notify_toolkit =
true);
3612 OCTINTERP_API
Matrix bbox2position (
const Matrix& bbox)
const;
3615 get_boundingbox (
bool internal =
false,
3619 set_boundingbox (
const Matrix& bb,
bool internal =
false,
3620 bool do_notify_toolkit =
true);
3622 OCTINTERP_API
Matrix map_from_boundingbox (
double x,
double y)
const;
3624 OCTINTERP_API
Matrix map_to_boundingbox (
double x,
double y)
const;
3626 OCTINTERP_API
void update_units (
const caseless_str& old_units);
3628 OCTINTERP_API
void update_paperunits (
const caseless_str& old_paperunits);
3630 OCTINTERP_API std::string get_title ()
const;
3668 static std::string s_go_name;
3673 static std::set<std::string> core_property_names ();
3675 static std::set<std::string> readonly_property_names ();
3677 static bool has_core_property (
const caseless_str& pname);
3679 static bool has_readonly_property (
const caseless_str& pname);
3681 std::set<std::string> all_property_names ()
const;
3757 ID_BUTTONDOWNFCN = 2001,
3758 ID_CLOSEREQUESTFCN = 2002,
3761 ID_CURRENTAXES = 2005,
3762 ID_CURRENTCHARACTER = 2006,
3763 ID_CURRENTOBJECT = 2007,
3764 ID_CURRENTPOINT = 2008,
3765 ID_DOCKCONTROLS = 2009,
3767 ID_GRAPHICSSMOOTHING = 2011,
3768 ID_INNERPOSITION = 2012,
3769 ID_INTEGERHANDLE = 2013,
3770 ID_INVERTHARDCOPY = 2014,
3771 ID_KEYPRESSFCN = 2015,
3772 ID_KEYRELEASEFCN = 2016,
3777 ID_NUMBERTITLE = 2021,
3778 ID_OUTERPOSITION = 2022,
3779 ID_PAPERORIENTATION = 2023,
3780 ID_PAPERPOSITION = 2024,
3781 ID_PAPERPOSITIONMODE = 2025,
3782 ID_PAPERSIZE = 2026,
3783 ID_PAPERTYPE = 2027,
3784 ID_PAPERUNITS = 2028,
3786 ID_POINTERSHAPECDATA = 2030,
3787 ID_POINTERSHAPEHOTSPOT = 2031,
3790 ID_RENDERERMODE = 2034,
3792 ID_RESIZEFCN = 2036,
3793 ID_SELECTIONTYPE = 2037,
3794 ID_SIZECHANGEDFCN = 2038,
3797 ID_WINDOWBUTTONDOWNFCN = 2041,
3798 ID_WINDOWBUTTONMOTIONFCN = 2042,
3799 ID_WINDOWBUTTONUPFCN = 2043,
3800 ID_WINDOWKEYPRESSFCN = 2044,
3801 ID_WINDOWKEYRELEASEFCN = 2045,
3802 ID_WINDOWSCROLLWHEELFCN = 2046,
3803 ID_WINDOWSTATE = 2047,
3804 ID_WINDOWSTYLE = 2048,
3805 ID_PICKABLEPARTS = 2049,
3806 ID___GL_EXTENSIONS__ = 2050,
3807 ID___GL_RENDERER__ = 2051,
3808 ID___GL_VENDOR__ = 2052,
3809 ID___GL_VERSION__ = 2053,
3810 ID___GL_WINDOW__ = 2054,
3811 ID___GRAPHICS_TOOLKIT__ = 2055,
3812 ID___GUIDATA__ = 2056,
3813 ID___MOUSE_MODE__ = 2057,
3814 ID___PRINTING__ = 2058,
3815 ID___PAN_MODE__ = 2059,
3816 ID___PLOT_STREAM__ = 2060,
3817 ID___ROTATE_MODE__ = 2061,
3818 ID___ZOOM_MODE__ = 2062,
3819 ID___DEVICE_PIXEL_RATIO__ = 2063
3831 bool color_is (
const std::string& v)
const {
return m_color.
is (v); }
3926 bool units_is (
const std::string& v)
const {
return m_units.
is (v); }
3990 if (m_alphamap.
set (val,
true))
3998 if (m_buttondownfcn.
set (val,
true))
4006 if (m_closerequestfcn.
set (val,
true))
4014 if (m_color.
set (val,
true))
4022 if (m_colormap.
set (val,
true))
4032 if (m_currentcharacter.
set (val,
true))
4040 if (m_currentobject.
set (val,
true))
4048 if (m_currentpoint.
set (val,
true))
4056 if (m_dockcontrols.
set (val,
true))
4064 if (m_filename.
set (val,
true))
4072 if (m_graphicssmoothing.
set (val,
true))
4082 if (m_inverthardcopy.
set (val,
true))
4090 if (m_keypressfcn.
set (val,
true))
4098 if (m_keyreleasefcn.
set (val,
true))
4106 if (m_menubar.
set (val,
true))
4114 if (m_name.
set (val,
true))
4122 if (m_number.
set (val,
true))
4130 if (m_nextplot.
set (val,
true))
4138 if (m_numbertitle.
set (val,
true))
4146 if (m_paperorientation.
set (val,
true))
4148 update_paperorientation ();
4153 void update_paperorientation ();
4157 if (m_paperposition.
set (val,
false))
4159 set_paperpositionmode (
"manual");
4164 set_paperpositionmode (
"manual");
4169 if (m_paperpositionmode.
set (val,
true))
4171 update_paperpositionmode ();
4178 if (m_papersize.
set (val,
true))
4180 update_papersize ();
4185 void update_papersize ();
4189 void update_papertype ();
4195 if (m_pointer.
set (val,
true))
4203 if (m_pointershapecdata.
set (val,
true))
4211 if (m_pointershapehotspot.
set (val,
true))
4219 if (m_renderer.
set (val,
false))
4221 set_renderermode (
"manual");
4226 set_renderermode (
"manual");
4231 if (m_renderermode.
set (val,
true))
4239 if (m_resize.
set (val,
true))
4247 if (m_resizefcn.
set (val,
true))
4255 if (m_selectiontype.
set (val,
true))
4263 if (m_sizechangedfcn.
set (val,
true))
4271 if (m_toolbar.
set (val,
true))
4281 if (m_windowbuttondownfcn.
set (val,
true))
4289 if (m_windowbuttonmotionfcn.
set (val,
true))
4297 if (m_windowbuttonupfcn.
set (val,
true))
4305 if (m_windowkeypressfcn.
set (val,
true))
4313 if (m_windowkeyreleasefcn.
set (val,
true))
4321 if (m_windowscrollwheelfcn.
set (val,
true))
4329 if (m_windowstate.
set (val,
true))
4337 if (m_windowstyle.
set (val,
true))
4345 if (m_pickableparts.
set (val,
true))
4353 if (m___gl_extensions__.
set (val,
true))
4360 if (m___gl_renderer__.
set (val,
true))
4367 if (m___gl_vendor__.
set (val,
true))
4374 if (m___gl_version__.
set (val,
true))
4381 if (m___gl_window__.
set (val,
true))
4389 if (m___guidata__.
set (val,
true))
4399 if (m___printing__.
set (val,
true))
4407 if (m___pan_mode__.
set (val,
true))
4415 if (m___plot_stream__.
set (val,
true))
4423 if (m___rotate_mode__.
set (val,
true))
4431 if (m___zoom_mode__.
set (val,
true))
4439 if (m___device_pixel_ratio__.
set (val,
true))
4441 update___device_pixel_ratio__ ();
4446 void update___device_pixel_ratio__ ();
4472 OCTINTERP_API
Matrix get_auto_paperposition ();
4474 void update_paperpositionmode ()
4476 if (m_paperpositionmode.
is (
"auto"))
4477 m_paperposition.
set (get_auto_paperposition ());
4480 OCTINTERP_API
void update_handlevisibility ();
4482 OCTINTERP_API
void init_toolkit ();
4484 octave::graphics_toolkit m_toolkit;
4488 properties m_properties;
4496 OCTAVE_DISABLE_CONSTRUCT_COPY_MOVE (
figure)
4504 m_properties.override_defaults (obj);
4516 if (name.
compare (
"default", 7))
4520 m_default_properties.set (name.substr (7), value);
4522 m_properties.set (name, value);
4529 if (name.
compare (
"default", 7))
4530 retval = get_default (name.substr (7));
4532 retval = m_properties.get (name);
4541 return m_default_properties.as_struct (
"default");
4546 return m_default_properties;
4555 OCTINTERP_API
void reset_default_properties ();
4559 bool retval = m_properties.has_readonly_property (pname);
4576 : m_xform (xform_eye ()), m_xform_inv (xform_eye ()),
4577 m_sx (
"linear"), m_sy (
"linear"), m_sz (
"linear"), m_zlim (1, 2, 0.0)
4585 : m_xform (xm), m_xform_inv (xim), m_sx (
x), m_sy (y),
4586 m_sz (z), m_zlim (zl)
4590 : m_xform (g.m_xform), m_xform_inv (g.m_xform_inv), m_sx (g.m_sx),
4591 m_sy (g.m_sy), m_sz (g.m_sz), m_zlim (g.m_zlim) { }
4597 m_xform = g.m_xform;
4598 m_xform_inv = g.m_xform_inv;
4609 static OCTINTERP_API
Matrix xform_eye ();
4612 transform (
double x,
double y,
double z,
bool use_scale =
true)
const;
4615 untransform (
double x,
double y,
double z,
bool use_scale =
true)
const;
4618 {
return untransform (
x, y, (m_zlim(0)+m_zlim(1))/2, use_scale); }
4626 bool has_z = (
m.columns () > 2);
4628 if (m_sx.is_linear () && m_sy.is_linear ()
4629 && (! has_z || m_sz.is_linear ()))
4636 for (
int i = 0; i <
r; i++)
4638 retval(i, 0) = m_sx.scale (
m(i, 0));
4639 retval(i, 1) = m_sy.scale (
m(i, 1));
4641 retval(i, 2) = m_sz.scale (
m(i, 2));
4683 get_boundingbox (
bool internal =
false,
4686 get_extent (
bool with_text =
false,
4687 bool only_text_height=
false)
const;
4689 OCTINTERP_API
double
4690 get___fontsize_points__ (
double box_pix_height = 0)
const;
4694 if (units_is (
"normalized"))
4701 OCTINTERP_API
void update_camera ();
4702 OCTINTERP_API
void update_axes_layout ();
4703 OCTINTERP_API
void update_aspectratios ();
4706 update_aspectratios ();
4708 update_axes_layout ();
4711 OCTINTERP_API
void sync_positions ();
4717 std::string cur_val;
4719 if (m_positionconstraint.is (
"innerposition"))
4720 cur_val =
"position";
4722 cur_val =
"outerposition";
4730 m_activepositionproperty.set (val);
4733 set_positionconstraint (
"innerposition");
4735 set_positionconstraint (val);
4742 return get_position ();
4750 OCTINTERP_API
void update_autopos (
const std::string& elem_type);
4751 OCTINTERP_API
void update_xlabel_position ();
4752 OCTINTERP_API
void update_ylabel_position ();
4753 OCTINTERP_API
void update_zlabel_position ();
4754 OCTINTERP_API
void update_title_position ();
4759 m_sx, m_sy, m_sz, m_x_zlim);
4802 {
return (include_kids ? (m_is2D && ! m_has3Dkids) : m_is2D); }
4811 return get_transform ().untransform (px, py,
4812 (m_x_zlim(0)+m_x_zlim(1))/2);
4816 {
return get_transform ().transform (
x, y, z); }
4819 zoom_about_point (
const std::string& mode,
double x,
double y,
4820 double factor,
bool push_to_zoom_stack =
true);
4822 zoom (
const std::string& mode,
double factor,
4823 bool push_to_zoom_stack =
true);
4825 zoom (
const std::string& mode,
const Matrix& xl,
const Matrix& yl,
4826 bool push_to_zoom_stack =
true);
4829 translate_view (
const std::string& mode,
4830 double x0,
double x1,
double y0,
double y1,
4831 bool push_to_zoom_stack =
true);
4834 pan (
const std::string& mode,
double factor,
4835 bool push_to_zoom_stack =
true);
4838 rotate3d (
double x0,
double x1,
double y0,
double y1,
4839 bool push_to_zoom_stack =
true);
4842 rotate_view (
double delta_az,
double delta_el,
4843 bool push_to_zoom_stack =
true);
4845 OCTINTERP_API
void unzoom ();
4846 OCTINTERP_API
void update_handlevisibility ();
4847 OCTINTERP_API
void push_zoom_stack ();
4848 OCTINTERP_API
void clear_zoom_stack (
bool do_unzoom =
true);
4850 OCTINTERP_API
void update_units (
const caseless_str& old_units);
4852 OCTINTERP_API
void update_font (std::string prop =
"");
4854 OCTINTERP_API
void update_fontunits (
const caseless_str& old_fontunits);
4872 std::list<octave_value> m_zoom_stack = std::list<octave_value> ();
4879 double m_xPlane = 0.0;
4880 double m_yPlane = 0.0;
4881 double m_zPlane = 0.0;
4883 double m_xPlaneN = 0.0;
4884 double m_yPlaneN = 0.0;
4885 double m_zPlaneN = 0.0;
4887 double m_xpTick = 0.0;
4888 double m_ypTick = 0.0;
4889 double m_zpTick = 0.0;
4891 double m_xpTickN = 0.0;
4892 double m_ypTickN = 0.0;
4893 double m_zpTickN = 0.0;
4899 double m_xticklen = 0.0;
4900 double m_yticklen = 0.0;
4901 double m_zticklen = 0.0;
4903 double m_xtickoffset = 0.0;
4904 double m_ytickoffset = 0.0;
4905 double m_ztickoffset = 0.0;
4907 bool m_x2Dtop =
false;
4908 bool m_y2Dright =
false;
4909 bool m_layer2Dtop =
false;
4910 bool m_is2D =
false;
4911 bool m_has3Dkids =
false;
4912 bool m_xySym =
false;
4913 bool m_xyzSym =
false;
4914 bool m_zSign =
false;
4915 bool m_nearhoriz =
false;
4917 unsigned int m_num_lights = 0;
4920 octave::text_renderer m_txt_renderer;
4965 static std::string s_go_name;
4970 static std::set<std::string> core_property_names ();
4972 static std::set<std::string> readonly_property_names ();
4974 static bool has_core_property (
const caseless_str& pname);
4976 static bool has_readonly_property (
const caseless_str& pname);
4978 std::set<std::string> all_property_names ()
const;
5123 ID_ACTIVEPOSITIONPROPERTY = 3000,
5127 ID_ALPHASCALE = 3004,
5128 ID_AMBIENTLIGHTCOLOR = 3005,
5131 ID_CAMERAPOSITION = 3008,
5132 ID_CAMERAPOSITIONMODE = 3009,
5133 ID_CAMERATARGET = 3010,
5134 ID_CAMERATARGETMODE = 3011,
5135 ID_CAMERAUPVECTOR = 3012,
5136 ID_CAMERAUPVECTORMODE = 3013,
5137 ID_CAMERAVIEWANGLE = 3014,
5138 ID_CAMERAVIEWANGLEMODE = 3015,
5141 ID_CLIPPINGSTYLE = 3018,
5144 ID_COLORORDER = 3021,
5145 ID_COLORORDERINDEX = 3022,
5146 ID_COLORSCALE = 3023,
5147 ID_CURRENTPOINT = 3024,
5148 ID_DATAASPECTRATIO = 3025,
5149 ID_DATAASPECTRATIOMODE = 3026,
5150 ID_FONTANGLE = 3027,
5153 ID_FONTSIZEMODE = 3030,
5154 ID_FONTSMOOTHING = 3031,
5155 ID_FONTUNITS = 3032,
5156 ID_FONTWEIGHT = 3033,
5157 ID_GRIDALPHA = 3034,
5158 ID_GRIDALPHAMODE = 3035,
5159 ID_GRIDCOLOR = 3036,
5160 ID_GRIDCOLORMODE = 3037,
5161 ID_GRIDLINESTYLE = 3038,
5162 ID_INNERPOSITION = 3039,
5163 ID_INTERACTIONS = 3040,
5164 ID_LABELFONTSIZEMULTIPLIER = 3041,
5168 ID_LINESTYLEORDER = 3045,
5169 ID_LINESTYLEORDERINDEX = 3046,
5170 ID_LINEWIDTH = 3047,
5171 ID_MINORGRIDALPHA = 3048,
5172 ID_MINORGRIDALPHAMODE = 3049,
5173 ID_MINORGRIDCOLOR = 3050,
5174 ID_MINORGRIDCOLORMODE = 3051,
5175 ID_MINORGRIDLINESTYLE = 3052,
5177 ID_NEXTSERIESINDEX = 3054,
5178 ID_OUTERPOSITION = 3055,
5179 ID_PLOTBOXASPECTRATIO = 3056,
5180 ID_PLOTBOXASPECTRATIOMODE = 3057,
5182 ID_POSITIONCONSTRAINT = 3059,
5183 ID_PROJECTION = 3060,
5184 ID_SORTMETHOD = 3061,
5186 ID_TICKDIRMODE = 3063,
5187 ID_TICKLABELINTERPRETER = 3064,
5188 ID_TICKLENGTH = 3065,
5189 ID_TIGHTINSET = 3066,
5191 ID_TITLEFONTSIZEMULTIPLIER = 3068,
5192 ID_TITLEFONTWEIGHT = 3069,
5197 ID_XAXISLOCATION = 3074,
5199 ID_XCOLORMODE = 3076,
5204 ID_XLIMITMETHOD = 3081,
5206 ID_XMINORGRID = 3083,
5207 ID_XMINORTICK = 3084,
5210 ID_XTICKLABEL = 3087,
5211 ID_XTICKLABELMODE = 3088,
5212 ID_XTICKLABELROTATION = 3089,
5213 ID_XTICKMODE = 3090,
5215 ID_YAXISLOCATION = 3092,
5217 ID_YCOLORMODE = 3094,
5222 ID_YLIMITMETHOD = 3099,
5224 ID_YMINORGRID = 3101,
5225 ID_YMINORTICK = 3102,
5228 ID_YTICKLABEL = 3105,
5229 ID_YTICKLABELMODE = 3106,
5230 ID_YTICKLABELROTATION = 3107,
5231 ID_YTICKMODE = 3108,
5234 ID_ZCOLORMODE = 3111,
5239 ID_ZLIMITMETHOD = 3116,
5241 ID_ZMINORGRID = 3118,
5242 ID_ZMINORTICK = 3119,
5245 ID_ZTICKLABEL = 3122,
5246 ID_ZTICKLABELMODE = 3123,
5247 ID_ZTICKLABELROTATION = 3124,
5248 ID_ZTICKMODE = 3125,
5249 ID___COLORMAP__ = 3126,
5250 ID_MOUSEWHEELZOOM = 3127,
5251 ID___AUTOPOS_TAG__ = 3128,
5252 ID_LOOSEINSET = 3129,
5253 ID_XMINORTICKVALUES = 3130,
5254 ID_YMINORTICKVALUES = 3131,
5255 ID_ZMINORTICKVALUES = 3132,
5256 ID___FONTSIZE_POINTS__ = 3133
5309 bool color_is (
const std::string& v)
const {
return m_color.
is (v); }
5366 bool layer_is (
const std::string& v)
const {
return m_layer.
is (v); }
5440 bool units_is (
const std::string& v)
const {
return m_units.
is (v); }
5451 bool xcolor_is (
const std::string& v)
const {
return m_xcolor.
is (v); }
5458 bool xdir_is (
const std::string& v)
const {
return m_xdir.
is (v); }
5480 bool xscale_is (
const std::string& v)
const {
return m_xscale.
is (v); }
5501 bool ycolor_is (
const std::string& v)
const {
return m_ycolor.
is (v); }
5508 bool ydir_is (
const std::string& v)
const {
return m_ydir.
is (v); }
5530 bool yscale_is (
const std::string& v)
const {
return m_yscale.
is (v); }
5548 bool zcolor_is (
const std::string& v)
const {
return m_zcolor.
is (v); }
5555 bool zdir_is (
const std::string& v)
const {
return m_zdir.
is (v); }
5577 bool zscale_is (
const std::string& v)
const {
return m_zscale.
is (v); }
5610 if (m_alim.
set (val,
false))
5612 set_alimmode (
"manual");
5617 set_alimmode (
"manual");
5622 if (m_alimmode.
set (val,
true))
5630 if (m_alphamap.
set (val,
true))
5638 if (m_alphascale.
set (val,
true))
5646 if (m_ambientlightcolor.
set (val,
true))
5654 if (m_box.
set (val,
true))
5663 if (m_boxstyle.
set (val,
true))
5671 if (m_cameraposition.
set (val,
false))
5673 set_camerapositionmode (
"manual");
5674 update_cameraposition ();
5679 set_camerapositionmode (
"manual");
5684 if (m_camerapositionmode.
set (val,
true))
5686 update_camerapositionmode ();
5693 if (m_cameratarget.
set (val,
false))
5695 set_cameratargetmode (
"manual");
5696 update_cameratarget ();
5701 set_cameratargetmode (
"manual");
5706 if (m_cameratargetmode.
set (val,
true))
5708 update_cameratargetmode ();
5715 if (m_cameraupvector.
set (val,
false))
5717 set_cameraupvectormode (
"manual");
5718 update_cameraupvector ();
5723 set_cameraupvectormode (
"manual");
5728 if (m_cameraupvectormode.
set (val,
true))
5730 update_cameraupvectormode ();
5737 if (m_cameraviewangle.
set (val,
false))
5739 set_cameraviewanglemode (
"manual");
5740 update_cameraviewangle ();
5745 set_cameraviewanglemode (
"manual");
5750 if (m_cameraviewanglemode.
set (val,
true))
5752 update_cameraviewanglemode ();
5759 if (m_clim.
set (val,
false))
5761 set_climmode (
"manual");
5766 set_climmode (
"manual");
5771 if (m_climmode.
set (val,
false))
5773 update_axis_limits (
"climmode");
5781 if (m_clippingstyle.
set (val,
true))
5789 if (m_color.
set (val,
true))
5797 if (m_colororder.
set (val,
true))
5805 if (m_colororderindex.
set (val,
true))
5813 if (m_colorscale.
set (val,
true))
5821 if (m_currentpoint.
set (val,
true))
5829 if (m_dataaspectratio.
set (val,
false))
5831 set_dataaspectratiomode (
"manual");
5832 update_dataaspectratio ();
5837 set_dataaspectratiomode (
"manual");
5842 if (m_dataaspectratiomode.
set (val,
true))
5844 update_dataaspectratiomode ();
5851 if (m_fontangle.
set (val,
true))
5853 update_fontangle ();
5860 if (m_fontname.
set (val,
true))
5869 if (m_fontsize.
set (val,
false))
5871 set_fontsizemode (
"manual");
5877 set_fontsizemode (
"manual");
5882 if (m_fontsizemode.
set (val,
true))
5890 if (m_fontsmoothing.
set (val,
true))
5892 update_fontsmoothing ();
5903 if (m_fontweight.
set (val,
true))
5905 update_fontweight ();
5912 if (m_gridalpha.
set (val,
false))
5914 set_gridalphamode (
"manual");
5919 set_gridalphamode (
"manual");
5924 if (m_gridalphamode.
set (val,
true))
5932 if (m_gridcolor.
set (val,
false))
5934 set_gridcolormode (
"manual");
5939 set_gridcolormode (
"manual");
5944 if (m_gridcolormode.
set (val,
true))
5952 if (m_gridlinestyle.
set (val,
true))
5960 if (m_interactions.
set (val,
true))
5968 if (m_labelfontsizemultiplier.
set (val,
true))
5970 update_labelfontsizemultiplier ();
5977 if (m_layer.
set (val,
true))
5986 if (m_layout.
set (val,
true))
5994 if (m_legend.
set (val,
true))
6004 if (m_linestyleorderindex.
set (val,
true))
6012 if (m_linewidth.
set (val,
true))
6020 if (m_minorgridalpha.
set (val,
false))
6022 set_minorgridalphamode (
"manual");
6027 set_minorgridalphamode (
"manual");
6032 if (m_minorgridalphamode.
set (val,
true))
6040 if (m_minorgridcolor.
set (val,
false))
6042 set_minorgridcolormode (
"manual");
6047 set_minorgridcolormode (
"manual");
6052 if (m_minorgridcolormode.
set (val,
true))
6060 if (m_minorgridlinestyle.
set (val,
true))
6068 if (m_nextplot.
set (val,
true))
6076 if (m_nextseriesindex.
set (val,
true))
6084 if (m_outerposition.
set (val,
true))
6086 update_outerposition ();
6093 if (m_plotboxaspectratio.
set (val,
false))
6095 set_plotboxaspectratiomode (
"manual");
6096 update_plotboxaspectratio ();
6101 set_plotboxaspectratiomode (
"manual");
6106 if (m_plotboxaspectratiomode.
set (val,
true))
6108 update_plotboxaspectratiomode ();
6115 if (m_position.
set (val,
true))
6124 if (m_positionconstraint.
set (val,
true))
6132 if (m_projection.
set (val,
true))
6140 if (m_sortmethod.
set (val,
true))
6148 if (m_tickdir.
set (val,
false))
6150 set_tickdirmode (
"manual");
6156 set_tickdirmode (
"manual");
6161 if (m_tickdirmode.
set (val,
true))
6163 update_tickdirmode ();
6170 if (m_ticklabelinterpreter.
set (val,
true))
6172 update_ticklabelinterpreter ();
6179 if (m_ticklength.
set (val,
true))
6181 update_ticklength ();
6188 if (m_tightinset.
set (val,
true))
6198 if (m_titlefontsizemultiplier.
set (val,
true))
6200 update_titlefontsizemultiplier ();
6207 if (m_titlefontweight.
set (val,
true))
6209 update_titlefontweight ();
6216 if (m_toolbar.
set (val,
true))
6228 if (m_view.
set (val,
true))
6237 if (m_xaxis.
set (val,
true))
6245 if (m_xaxislocation.
set (val,
true))
6247 update_xaxislocation ();
6254 if (m_xcolor.
set (val,
false))
6256 set_xcolormode (
"manual");
6262 set_xcolormode (
"manual");
6267 if (m_xcolormode.
set (val,
true))
6275 if (m_xdir.
set (val,
true))
6284 if (m_xgrid.
set (val,
true))
6294 if (m_xlim.
set (val,
false))
6296 set_xlimmode (
"manual");
6302 set_xlimmode (
"manual");
6307 if (m_xlimitmethod.
set (val,
true))
6309 update_xlimitmethod ();
6316 if (m_xlimmode.
set (val,
false))
6318 update_axis_limits (
"xlimmode");
6326 if (m_xminorgrid.
set (val,
true))
6334 if (m_xminortick.
set (val,
true))
6342 if (m_xscale.
set (val,
false))
6345 update_axis_limits (
"xscale");
6353 if (m_xtick.
set (val,
false))
6355 set_xtickmode (
"manual");
6361 set_xtickmode (
"manual");
6368 if (m_xticklabelmode.
set (val,
true))
6370 update_xticklabelmode ();
6377 if (m_xticklabelrotation.
set (val,
true))
6385 if (m_xtickmode.
set (val,
true))
6387 update_xtickmode ();
6394 if (m_yaxis.
set (val,
true))
6402 if (m_yaxislocation.
set (val,
true))
6404 update_yaxislocation ();
6411 if (m_ycolor.
set (val,
false))
6413 set_ycolormode (
"manual");
6419 set_ycolormode (
"manual");
6424 if (m_ycolormode.
set (val,
true))
6432 if (m_ydir.
set (val,
true))
6441 if (m_ygrid.
set (val,
true))
6451 if (m_ylim.
set (val,
false))
6453 set_ylimmode (
"manual");
6459 set_ylimmode (
"manual");
6464 if (m_ylimitmethod.
set (val,
true))
6466 update_ylimitmethod ();
6473 if (m_ylimmode.
set (val,
false))
6475 update_axis_limits (
"ylimmode");
6483 if (m_yminorgrid.
set (val,
true))
6491 if (m_yminortick.
set (val,
true))
6499 if (m_yscale.
set (val,
false))
6502 update_axis_limits (
"yscale");
6510 if (m_ytick.
set (val,
false))
6512 set_ytickmode (
"manual");
6518 set_ytickmode (
"manual");
6525 if (m_yticklabelmode.
set (val,
true))
6527 update_yticklabelmode ();
6534 if (m_yticklabelrotation.
set (val,
true))
6542 if (m_ytickmode.
set (val,
true))
6544 update_ytickmode ();
6551 if (m_zaxis.
set (val,
true))
6559 if (m_zcolor.
set (val,
false))
6561 set_zcolormode (
"manual");
6567 set_zcolormode (
"manual");
6572 if (m_zcolormode.
set (val,
true))
6580 if (m_zdir.
set (val,
true))
6589 if (m_zgrid.
set (val,
true))
6599 if (m_zlim.
set (val,
false))
6601 set_zlimmode (
"manual");
6607 set_zlimmode (
"manual");
6612 if (m_zlimitmethod.
set (val,
true))
6614 update_zlimitmethod ();
6621 if (m_zlimmode.
set (val,
false))
6623 update_axis_limits (
"zlimmode");
6631 if (m_zminorgrid.
set (val,
true))
6639 if (m_zminortick.
set (val,
true))
6647 if (m_zscale.
set (val,
false))
6650 update_axis_limits (
"zscale");
6658 if (m_ztick.
set (val,
false))
6660 set_ztickmode (
"manual");
6666 set_ztickmode (
"manual");
6673 if (m_zticklabelmode.
set (val,
true))
6675 update_zticklabelmode ();
6682 if (m_zticklabelrotation.
set (val,
true))
6690 if (m_ztickmode.
set (val,
true))
6692 update_ztickmode ();
6699 if (m___colormap__.
set (val,
true))
6701 update___colormap__ ();
6708 if (m_mousewheelzoom.
set (val,
true))
6716 if (m___autopos_tag__.
set (val,
true))
6724 if (m_looseinset.
set (val,
true))
6726 update_looseinset ();
6733 if (m_xminortickvalues.
set (val,
true))
6741 if (m_yminortickvalues.
set (val,
true))
6749 if (m_zminortickvalues.
set (val,
true))
6757 if (m___fontsize_points__.
set (val,
true))
6765 OCTINTERP_API
void init ();
6770 get_scale (
const std::string&
scale,
const Matrix& lims)
6772 std::string retval =
scale;
6774 if (
scale ==
"log" && lims.
numel () > 1 && lims(0) < 0 && lims(1) < 0)
6780 void update_xscale ()
6785 void update_yscale ()
6790 void update_zscale ()
6797 void update_xcolor ()
6798 { update_label_color (m_xlabel, m_xcolor); }
6800 void update_ycolor ()
6801 { update_label_color (m_ylabel, m_ycolor); }
6803 void update_zcolor ()
6804 { update_label_color (m_zlabel, m_zcolor); }
6806 void update_view () { sync_positions (); }
6808 void update_cameraposition () { update_transform (); }
6809 void update_cameratarget () { update_transform (); }
6810 void update_cameraupvector () { update_transform (); }
6811 void update_cameraviewangle () { update_transform (); }
6813 void update_camerapositionmode ()
6815 if (camerapositionmode_is (
"auto"))
6816 update_cameraposition ();
6818 void update_cameratargetmode ()
6820 if (cameratargetmode_is (
"auto"))
6821 update_cameratarget ();
6823 void update_cameraupvectormode ()
6825 if (cameraupvectormode_is (
"auto"))
6826 update_cameraupvector ();
6828 void update_cameraviewanglemode ()
6830 if (cameraviewanglemode_is (
"auto"))
6831 update_cameraviewangle ();
6834 void update_dataaspectratio () { sync_positions (); }
6835 void update_dataaspectratiomode () { sync_positions (); }
6836 void update_plotboxaspectratio () { sync_positions (); }
6837 void update_plotboxaspectratiomode () { sync_positions (); }
6839 void update_layer () { update_axes_layout (); }
6842 if (m_xticklabelmode.
is (
"auto"))
6843 calc_ticklabels (m_xtick, m_xticklabel, m_xscale.
is (
"log"),
6844 xaxislocation_is (
"origin"),
6845 m_yscale.
is (
"log") ? 2 :
6846 (yaxislocation_is (
"origin") ? 0 :
6847 (yaxislocation_is (
"left") ? -1 : 1)),
6849 if (m_yticklabelmode.
is (
"auto"))
6850 calc_ticklabels (m_ytick, m_yticklabel, m_yscale.
is (
"log"),
6851 yaxislocation_is (
"origin"),
6852 m_xscale.
is (
"log") ? 2 :
6853 (xaxislocation_is (
"origin") ? 0 :
6854 (xaxislocation_is (
"bottom") ? -1 : 1)),
6857 void update_yaxislocation ()
6860 update_axes_layout ();
6861 if (m_xticklabelmode.
is (
"auto"))
6862 calc_ticklabels (m_xtick, m_xticklabel, m_xscale.
is (
"log"),
6863 xaxislocation_is (
"origin"),
6864 m_yscale.
is (
"log") ? 2 :
6865 (yaxislocation_is (
"origin") ? 0 :
6866 (yaxislocation_is (
"left") ? -1 : 1)),
6868 if (m_yticklabelmode.
is (
"auto"))
6869 calc_ticklabels (m_ytick, m_yticklabel, m_yscale.
is (
"log"),
6870 yaxislocation_is (
"origin"),
6871 m_xscale.
is (
"log") ? 2 :
6872 (xaxislocation_is (
"origin") ? 0 :
6873 (xaxislocation_is (
"bottom") ? -1 : 1)),
6875 update_ylabel_position ();
6877 void update_xaxislocation ()
6880 update_axes_layout ();
6881 if (m_xticklabelmode.
is (
"auto"))
6882 calc_ticklabels (m_xtick, m_xticklabel, m_xscale.
is (
"log"),
6883 xaxislocation_is (
"origin"),
6884 m_yscale.
is (
"log") ? 2 :
6885 (yaxislocation_is (
"origin") ? 0 :
6886 (yaxislocation_is (
"left") ? -1 : 1)),
6888 if (m_yticklabelmode.
is (
"auto"))
6889 calc_ticklabels (m_ytick, m_yticklabel, m_yscale.
is (
"log"),
6890 yaxislocation_is (
"origin"),
6891 m_xscale.
is (
"log") ? 2 :
6892 (xaxislocation_is (
"origin") ? 0 :
6893 (xaxislocation_is (
"bottom") ? -1 : 1)),
6895 update_xlabel_position ();
6898 void update_xdir () { update_camera (); update_axes_layout (); }
6899 void update_ydir () { update_camera (); update_axes_layout (); }
6900 void update_zdir () { update_camera (); update_axes_layout (); }
6902 void update_ticklength ();
6903 void update_tickdir () { update_ticklength (); }
6904 void update_tickdirmode () { update_ticklength (); }
6906 void update_ticklabelinterpreter ()
6908 update_xtick (
false);
6909 update_ytick (
false);
6910 update_ztick (
true);
6913 void update_xtick (
bool sync_pos =
true)
6915 calc_ticks_and_lims (m_xlim, m_xtick, m_xminortickvalues,
6916 m_xlimmode.
is (
"auto"), m_xtickmode.
is (
"auto"),
6917 m_xscale.
is (
"log"), m_xlimitmethod.
is (
"padded"),
6918 m_xlimitmethod.
is (
"tight"));
6919 if (m_xticklabelmode.
is (
"auto"))
6920 calc_ticklabels (m_xtick, m_xticklabel, m_xscale.
is (
"log"),
6921 xaxislocation_is (
"origin"),
6922 m_yscale.
is (
"log") ? 2 :
6923 (yaxislocation_is (
"origin") ? 0 :
6924 (yaxislocation_is (
"left") ? -1 : 1)),
6930 void update_ytick (
bool sync_pos =
true)
6932 calc_ticks_and_lims (m_ylim, m_ytick, m_yminortickvalues,
6933 m_ylimmode.
is (
"auto"), m_ytickmode.
is (
"auto"),
6934 m_yscale.
is (
"log"), m_ylimitmethod.
is (
"padded"),
6935 m_ylimitmethod.
is (
"tight"));
6936 if (m_yticklabelmode.
is (
"auto"))
6937 calc_ticklabels (m_ytick, m_yticklabel, m_yscale.
is (
"log"),
6938 yaxislocation_is (
"origin"),
6939 m_xscale.
is (
"log") ? 2 :
6940 (xaxislocation_is (
"origin") ? 0 :
6941 (xaxislocation_is (
"bottom") ? -1 : 1)),
6947 void update_ztick (
bool sync_pos =
true)
6949 calc_ticks_and_lims (m_zlim, m_ztick, m_zminortickvalues,
6950 m_zlimmode.
is (
"auto"), m_ztickmode.
is (
"auto"),
6951 m_zscale.
is (
"log"), m_zlimitmethod.
is (
"padded"),
6952 m_zlimitmethod.
is (
"tight"));
6953 if (m_zticklabelmode.
is (
"auto"))
6954 calc_ticklabels (m_ztick, m_zticklabel, m_zscale.
is (
"log"),
false,
6961 void update_xtickmode ()
6963 if (m_xtickmode.
is (
"auto"))
6966 void update_ytickmode ()
6968 if (m_ytickmode.
is (
"auto"))
6971 void update_ztickmode ()
6973 if (m_ztickmode.
is (
"auto"))
6977 void update_xticklabelmode ()
6979 if (m_xticklabelmode.
is (
"auto"))
6980 calc_ticklabels (m_xtick, m_xticklabel, m_xscale.
is (
"log"),
6981 xaxislocation_is (
"origin"),
6982 m_yscale.
is (
"log") ? 2 :
6983 (yaxislocation_is (
"origin") ? 0 :
6984 (yaxislocation_is (
"left") ? -1 : 1)),
6987 void update_yticklabelmode ()
6989 if (m_yticklabelmode.
is (
"auto"))
6990 calc_ticklabels (m_ytick, m_yticklabel, m_yscale.
is (
"log"),
6991 yaxislocation_is (
"origin"),
6992 m_xscale.
is (
"log") ? 2 :
6993 (xaxislocation_is (
"origin") ? 0 :
6994 (xaxislocation_is (
"bottom") ? -1 : 1)),
6997 void update_zticklabelmode ()
6999 if (m_zticklabelmode.
is (
"auto"))
7000 calc_ticklabels (m_ztick, m_zticklabel, m_zscale.
is (
"log"),
7004 void update_fontname ()
7006 update_font (
"fontname");
7009 void update_fontsize ()
7011 update_font (
"fontsize");
7014 void update_fontsmoothing ()
7016 update_font (
"fontsmoothing");
7018 void update_fontangle ()
7020 update_font (
"fontangle");
7023 void update_fontweight ()
7025 update_font (
"fontweight");
7029 void update_titlefontsizemultiplier ()
7032 update_font (
"fontsize");
7036 void update_labelfontsizemultiplier ()
7038 update_font (
"fontsize");
7042 void update_titlefontweight ()
7045 update_font (
"fontweight");
7049 OCTINTERP_API
void update_outerposition ();
7050 OCTINTERP_API
void update_position ();
7051 OCTINTERP_API
void update_looseinset ();
7053 OCTINTERP_API
double calc_tick_sep (
double minval,
double maxval);
7057 bool tickmode_is_auto,
bool is_logscale,
7058 bool method_is_padded,
bool method_is_tight);
7061 bool is_logscale,
const bool is_origin,
7062 const int other_axislocation,
7065 get_ticklabel_extents (
const Matrix& ticks,
7081 else if (l(0) == l(1))
7089 OCTINTERP_API
Matrix calc_tightbox (
const Matrix& init_pos);
7093 set___colormap__ (val);
7096 void update___colormap__ ()
7105 get_axis_limits (
double xmin,
double xmax,
7106 double min_pos,
double max_neg,
7107 const bool logscale,
const std::string& method);
7111 const bool logscale,
char& update_type);
7115 update_axis_limits (
"xlim");
7117 calc_ticks_and_lims (m_xlim, m_xtick, m_xminortickvalues,
7118 m_xlimmode.
is (
"auto"), m_xtickmode.
is (
"auto"),
7119 m_xscale.
is (
"log"), m_xlimitmethod.
is (
"padded"),
7120 m_xlimitmethod.
is (
"tight"));
7121 if (m_xticklabelmode.
is (
"auto"))
7122 calc_ticklabels (m_xtick, m_xticklabel, m_xscale.
is (
"log"),
7123 m_xaxislocation.
is (
"origin"),
7124 m_yscale.
is (
"log") ? 2 :
7125 (yaxislocation_is (
"origin") ? 0 :
7126 (yaxislocation_is (
"left") ? -1 : 1)),
7129 fix_limits (m_xlim);
7133 update_axes_layout ();
7143 update_axis_limits (
"ylim");
7145 calc_ticks_and_lims (m_ylim, m_ytick, m_yminortickvalues,
7146 m_ylimmode.
is (
"auto"), m_ytickmode.
is (
"auto"),
7147 m_yscale.
is (
"log"), m_ylimitmethod.
is (
"padded"),
7148 m_ylimitmethod.
is (
"tight"));
7149 if (m_yticklabelmode.
is (
"auto"))
7150 calc_ticklabels (m_ytick, m_yticklabel, m_yscale.
is (
"log"),
7151 yaxislocation_is (
"origin"),
7152 m_xscale.
is (
"log") ? 2 :
7153 (xaxislocation_is (
"origin") ? 0 :
7154 (xaxislocation_is (
"bottom") ? -1 : 1)),
7157 fix_limits (m_ylim);
7161 update_axes_layout ();
7171 update_axis_limits (
"zlim");
7173 calc_ticks_and_lims (m_zlim, m_ztick, m_zminortickvalues,
7174 m_zlimmode.
is (
"auto"), m_ztickmode.
is (
"auto"),
7175 m_zscale.
is (
"log"), m_zlimitmethod.
is (
"padded"),
7176 m_zlimitmethod.
is (
"tight"));
7177 if (m_zticklabelmode.
is (
"auto"))
7178 calc_ticklabels (m_ztick, m_zticklabel, m_zscale.
is (
"log"),
false,
7181 fix_limits (m_zlim);
7185 update_axes_layout ();
7193 void trigger_normals_calc ();
7198 properties m_properties;
7204 m_properties.update_transform ();
7207 OCTAVE_DISABLE_CONSTRUCT_COPY_MOVE (
axes)
7215 m_properties.override_defaults (obj);
7227 if (name.
compare (
"default", 7))
7231 m_default_properties.set (name.substr (7), value);
7233 m_properties.set (name, value);
7238 m_properties.set_defaults (*
this, mode);
7246 if (name.
compare (
"default", 7))
7247 retval = get_default (name.substr (7));
7249 retval = m_properties.get (name);
7258 return m_default_properties.as_struct (
"default");
7263 return m_default_properties;
7270 OCTINTERP_API
void update_axis_limits (
const std::string& axis_type);
7272 OCTINTERP_API
void update_axis_limits (
const std::string& axis_type,
7277 OCTINTERP_API
void reset_default_properties ();
7281 bool retval = m_properties.has_readonly_property (pname);
7340 static std::string s_go_name;
7345 static std::set<std::string> core_property_names ();
7347 static std::set<std::string> readonly_property_names ();
7349 static bool has_core_property (
const caseless_str& pname);
7351 static bool has_readonly_property (
const caseless_str& pname);
7353 std::set<std::string> all_property_names ()
const;
7386 ID_DISPLAYNAME = 4001,
7388 ID_LINESTYLE = 4003,
7389 ID_LINEWIDTH = 4004,
7391 ID_MARKEREDGECOLOR = 4006,
7392 ID_MARKERFACECOLOR = 4007,
7393 ID_MARKERSIZE = 4008,
7395 ID_XDATASOURCE = 4010,
7397 ID_YDATASOURCE = 4012,
7399 ID_ZDATASOURCE = 4014,
7403 ID_XLIMINCLUDE = 4018,
7404 ID_YLIMINCLUDE = 4019,
7405 ID_ZLIMINCLUDE = 4020
7409 bool color_is (
const std::string& v)
const {
return m_color.
is (v); }
7423 bool marker_is (
const std::string& v)
const {
return m_marker.
is (v); }
7468 if (m_color.
set (val,
true))
7476 if (m_displayname.
set (val,
true))
7484 if (m_linejoin.
set (val,
true))
7492 if (m_linestyle.
set (val,
true))
7500 if (m_linewidth.
set (val,
true))
7508 if (m_marker.
set (val,
true))
7516 if (m_markeredgecolor.
set (val,
true))
7524 if (m_markerfacecolor.
set (val,
true))
7532 if (m_markersize.
set (val,
true))
7540 if (m_xdata.
set (val,
true))
7549 if (m_xdatasource.
set (val,
true))
7557 if (m_ydata.
set (val,
true))
7566 if (m_ydatasource.
set (val,
true))
7574 if (m_zdata.
set (val,
true))
7583 if (m_zdatasource.
set (val,
true))
7591 if (m_xlim.
set (val,
false))
7593 update_axis_limits (
"xlim");
7601 if (m_ylim.
set (val,
false))
7603 update_axis_limits (
"ylim");
7611 if (m_zlim.
set (val,
false))
7613 update_axis_limits (
"zlim");
7621 if (m_xliminclude.
set (val,
false))
7623 update_axis_limits (
"xliminclude");
7631 if (m_yliminclude.
set (val,
false))
7633 update_axis_limits (
"yliminclude");
7641 if (m_zliminclude.
set (val,
false))
7643 update_axis_limits (
"zliminclude");
7658 OCTINTERP_API
Matrix compute_xlim ()
const;
7659 OCTINTERP_API
Matrix compute_ylim ()
const;
7661 void update_xdata () { set_xlim (compute_xlim ()); }
7663 void update_ydata () { set_ylim (compute_ylim ()); }
7665 void update_zdata () { set_zlim (m_zdata.
get_limits ()); }
7669 properties m_properties;
7676 OCTAVE_DISABLE_CONSTRUCT_COPY_MOVE (
line)
7688 bool retval = m_properties.has_readonly_property (pname);
7705 OCTINTERP_API
double
7706 get___fontsize_points__ (
double box_pix_height = 0)
const;
7708 OCTINTERP_API
void update_text_extent ();
7710 OCTINTERP_API
void update_font ();
7716 if (new_val.
numel () == 2)
7720 new_val = new_val.
resize (dv,
true);
7723 if (m_position.
set (new_val,
false))
7725 set_positionmode (
"manual");
7731 set_positionmode (
"manual");
7770 static std::string s_go_name;
7775 static std::set<std::string> core_property_names ();
7777 static std::set<std::string> readonly_property_names ();
7779 static bool has_core_property (
const caseless_str& pname);
7781 static bool has_readonly_property (
const caseless_str& pname);
7783 std::set<std::string> all_property_names ()
const;
7827 ID_BACKGROUNDCOLOR = 5000,
7829 ID_EDGECOLOR = 5002,
7832 ID_FONTANGLE = 5005,
7835 ID_FONTSMOOTHING = 5008,
7836 ID_FONTUNITS = 5009,
7837 ID_FONTWEIGHT = 5010,
7838 ID_HORIZONTALALIGNMENT = 5011,
7839 ID_INTERPRETER = 5012,
7840 ID_LINESTYLE = 5013,
7841 ID_LINEWIDTH = 5014,
7847 ID_VERTICALALIGNMENT = 5020,
7851 ID_XLIMINCLUDE = 5024,
7852 ID_YLIMINCLUDE = 5025,
7853 ID_ZLIMINCLUDE = 5026,
7854 ID_POSITIONMODE = 5027,
7855 ID_ROTATIONMODE = 5028,
7856 ID_HORIZONTALALIGNMENTMODE = 5029,
7857 ID_VERTICALALIGNMENTMODE = 5030,
7858 ID___AUTOPOS_TAG__ = 5031,
7859 ID___FONTSIZE_POINTS__ = 5032
7868 bool color_is (
const std::string& v)
const {
return m_color.
is (v); }
7917 bool units_is (
const std::string& v)
const {
return m_units.
is (v); }
7956 if (m_backgroundcolor.
set (val,
true))
7964 if (m_color.
set (val,
true))
7973 if (m_edgecolor.
set (val,
true))
7981 if (m_editing.
set (val,
true))
7989 if (m_extent.
set (val,
true))
7997 if (m_fontangle.
set (val,
true))
7999 update_fontangle ();
8006 if (m_fontname.
set (val,
true))
8015 if (m_fontsize.
set (val,
true))
8024 if (m_fontsmoothing.
set (val,
true))
8026 update_fontsmoothing ();
8037 if (m_fontweight.
set (val,
true))
8039 update_fontweight ();
8046 if (m_horizontalalignment.
set (val,
false))
8048 set_horizontalalignmentmode (
"manual");
8049 update_horizontalalignment ();
8054 set_horizontalalignmentmode (
"manual");
8059 if (m_interpreter.
set (val,
true))
8061 update_interpreter ();
8068 if (m_linestyle.
set (val,
true))
8076 if (m_linewidth.
set (val,
true))
8084 if (m_margin.
set (val,
true))
8092 if (m_rotation.
set (val,
false))
8094 set_rotationmode (
"manual");
8100 set_rotationmode (
"manual");
8105 if (m_string.
set (val,
true))
8114 if (m_units.
set (val,
true))
8123 if (m_verticalalignment.
set (val,
false))
8125 set_verticalalignmentmode (
"manual");
8126 update_verticalalignment ();
8131 set_verticalalignmentmode (
"manual");
8136 if (m_xlim.
set (val,
false))
8138 update_axis_limits (
"xlim");
8146 if (m_ylim.
set (val,
false))
8148 update_axis_limits (
"ylim");
8156 if (m_zlim.
set (val,
false))
8158 update_axis_limits (
"zlim");
8166 if (m_xliminclude.
set (val,
false))
8168 update_axis_limits (
"xliminclude");
8176 if (m_yliminclude.
set (val,
false))
8178 update_axis_limits (
"yliminclude");
8186 if (m_zliminclude.
set (val,
false))
8188 update_axis_limits (
"zliminclude");
8196 if (m_positionmode.
set (val,
true))
8198 update_positionmode ();
8205 if (m_rotationmode.
set (val,
true))
8207 update_rotationmode ();
8214 if (m_horizontalalignmentmode.
set (val,
true))
8216 update_horizontalalignmentmode ();
8223 if (m_verticalalignmentmode.
set (val,
true))
8225 update_verticalalignmentmode ();
8232 if (m___autopos_tag__.
set (val,
true))
8240 if (m___fontsize_points__.
set (val,
true))
8247 OCTINTERP_API
Matrix get_data_position ()
const;
8248 OCTINTERP_API
Matrix get_extent_matrix (
bool rotated =
false)
const;
8261 m_cached_units = get_units ();
8266 void update_position ()
8268 Matrix pos = get_data_position ();
8271 lim =
Matrix (1, 4, pos(0));
8276 lim =
Matrix (1, 4, pos(1));
8281 if (pos.
numel () == 3)
8283 lim =
Matrix (1, 4, pos(2));
8292 OCTINTERP_API
void request_autopos ();
8293 void update_positionmode () { request_autopos (); }
8294 void update_rotationmode () { request_autopos (); }
8295 void update_horizontalalignmentmode () { request_autopos (); }
8296 void update_verticalalignmentmode () { request_autopos (); }
8298 void update_string () { request_autopos (); update_text_extent (); }
8299 void update_rotation () { update_text_extent (); }
8300 void update_fontname () { update_font (); update_text_extent (); }
8301 void update_fontsize () { update_font (); update_text_extent (); }
8302 void update_fontsmoothing () { update_font (); update_text_extent (); }
8304 void update_color ()
8306 if (! m_color.
is (
"none"))
8309 update_text_extent ();
8313 void update_fontangle ()
8316 update_text_extent ();
8318 void update_fontweight () { update_font (); update_text_extent (); }
8320 void update_interpreter () { update_text_extent (); }
8321 void update_horizontalalignment () { update_text_extent (); }
8322 void update_verticalalignment () { update_text_extent (); }
8324 OCTINTERP_API
void update_units ();
8325 OCTINTERP_API
void update_fontunits (
const caseless_str& old_fontunits);
8328 std::string m_cached_units;
8333 properties m_properties;
8339 m_properties.set_clipping (
"off");
8342 OCTAVE_DISABLE_CONSTRUCT_COPY_MOVE (
text)
8354 bool retval = m_properties.has_readonly_property (pname);
8372 {
return (m_aliminclude.is_on () && m_alphadatamapping.is (
"scaled")); }
8374 {
return m_aliminclude.current_value (); }
8377 {
return (m_climinclude.is_on () && m_cdatamapping.is (
"scaled")); }
8379 {
return m_climinclude.current_value (); }
8421 static std::string s_go_name;
8426 static std::set<std::string> core_property_names ();
8428 static std::set<std::string> readonly_property_names ();
8430 static bool has_core_property (
const caseless_str& pname);
8432 static bool has_readonly_property (
const caseless_str& pname);
8434 std::set<std::string> all_property_names ()
const;
8461 ID_ALPHADATA = 6000,
8462 ID_ALPHADATAMAPPING = 6001,
8464 ID_CDATAMAPPING = 6003,
8471 ID_ALIMINCLUDE = 6010,
8472 ID_CLIMINCLUDE = 6011,
8473 ID_XLIMINCLUDE = 6012,
8474 ID_YLIMINCLUDE = 6013,
8475 ID_XDATAMODE = 6014,
8516 if (m_alphadata.
set (val,
true))
8518 update_alphadata ();
8525 if (m_alphadatamapping.
set (val,
false))
8527 update_axis_limits (
"alphadatamapping");
8535 if (m_cdata.
set (val,
true))
8544 if (m_cdatamapping.
set (val,
false))
8546 update_axis_limits (
"cdatamapping");
8554 if (m_xdata.
set (val,
false))
8556 set_xdatamode (
"manual");
8562 set_xdatamode (
"manual");
8567 if (m_ydata.
set (val,
false))
8569 set_ydatamode (
"manual");
8575 set_ydatamode (
"manual");
8580 if (m_alim.
set (val,
false))
8582 update_axis_limits (
"alim");
8590 if (m_clim.
set (val,
false))
8592 update_axis_limits (
"clim");
8600 if (m_xlim.
set (val,
false))
8602 update_axis_limits (
"xlim");
8610 if (m_ylim.
set (val,
false))
8612 update_axis_limits (
"ylim");
8620 if (m_aliminclude.
set (val,
false))
8622 update_axis_limits (
"aliminclude");
8630 if (m_climinclude.
set (val,
false))
8632 update_axis_limits (
"climinclude");
8640 if (m_xliminclude.
set (val,
false))
8642 update_axis_limits (
"xliminclude");
8650 if (m_yliminclude.
set (val,
false))
8652 update_axis_limits (
"yliminclude");
8660 if (m_xdatamode.
set (val,
true))
8668 if (m_ydatamode.
set (val,
true))
8702 void update_alphadata ()
8704 if (alphadatamapping_is (
"scaled"))
8710 void update_cdata ()
8712 if (cdatamapping_is (
"scaled"))
8717 if (m_xdatamode.
is (
"auto"))
8720 if (m_ydatamode.
is (
"auto"))
8724 void update_xdata ()
8727 set_xdatamode (
"auto");
8729 if (m_xdatamode.
is (
"auto"))
8731 set_xdata (get_auto_xdata ());
8732 set_xdatamode (
"auto");
8736 float dp = pixel_xsize ();
8738 limits(0) = limits(0) - dp;
8739 limits(1) = limits(1) + dp;
8743 void update_ydata ()
8746 set_ydatamode (
"auto");
8748 if (m_ydatamode.
is (
"auto"))
8750 set_ydata (get_auto_ydata ());
8751 set_ydatamode (
"auto");
8755 float dp = pixel_ysize ();
8757 limits(0) = limits(0) - dp;
8758 limits(1) = limits(1) + dp;
8791 if (l > 0 && limits(0) != limits(1))
8792 dp = (limits(1) - limits(0))/(2*l);
8795 if (limits(1) == limits(2))
8798 dp = (limits(1) - limits(0))/2;
8806 return pixel_size ((get_cdata ().dims ())(1), m_xdata.
get_limits ());
8811 return pixel_size ((get_cdata ().dims ())(0), m_ydata.
get_limits ());
8816 properties m_properties;
8822 m_properties.initialize_data ();
8825 OCTAVE_DISABLE_CONSTRUCT_COPY_MOVE (
image)
8837 bool retval = m_properties.has_readonly_property (pname);
8888 static std::string s_go_name;
8893 static std::set<std::string> core_property_names ();
8895 static std::set<std::string> readonly_property_names ();
8897 static bool has_core_property (
const caseless_str& pname);
8899 static bool has_readonly_property (
const caseless_str& pname);
8901 std::set<std::string> all_property_names ()
const;
8921 bool color_is (
const std::string& v)
const {
return m_color.
is (v); }
8927 bool style_is (
const std::string& v)
const {
return m_style.
is (v); }
8933 if (m_color.
set (val,
true))
8941 if (m_position.
set (val,
true))
8949 if (m_style.
set (val,
true))
8963 OCTINTERP_API
void update_visible ();
8967 properties m_properties;
8974 OCTAVE_DISABLE_CONSTRUCT_COPY_MOVE (
light)
8986 bool retval = m_properties.has_readonly_property (pname);
9012 msg = m_bad_data_msg;
9013 return ! msg.empty ();
9017 {
return (m_aliminclude.
is_on () && m_alphadatamapping.
is (
"scaled")); }
9022 {
return (m_climinclude.
is_on () && m_cdatamapping.
is (
"scaled")); }
9026 OCTINTERP_API
bool get_do_lighting ()
const;
9066 static std::string s_go_name;
9071 static std::set<std::string> core_property_names ();
9073 static std::set<std::string> readonly_property_names ();
9075 static bool has_core_property (
const caseless_str& pname);
9077 static bool has_readonly_property (
const caseless_str& pname);
9079 std::set<std::string> all_property_names ()
const;
9133 ID_ALPHADATAMAPPING = 8000,
9134 ID_AMBIENTSTRENGTH = 8001,
9135 ID_BACKFACELIGHTING = 8002,
9137 ID_CDATAMAPPING = 8004,
9138 ID_DIFFUSESTRENGTH = 8005,
9139 ID_DISPLAYNAME = 8006,
9140 ID_EDGEALPHA = 8007,
9141 ID_EDGECOLOR = 8008,
9142 ID_EDGELIGHTING = 8009,
9143 ID_FACEALPHA = 8010,
9144 ID_FACECOLOR = 8011,
9145 ID_FACELIGHTING = 8012,
9146 ID_FACENORMALS = 8013,
9147 ID_FACENORMALSMODE = 8014,
9149 ID_FACEVERTEXALPHADATA = 8016,
9150 ID_FACEVERTEXCDATA = 8017,
9151 ID_LINESTYLE = 8018,
9152 ID_LINEWIDTH = 8019,
9154 ID_MARKEREDGECOLOR = 8021,
9155 ID_MARKERFACECOLOR = 8022,
9156 ID_MARKERSIZE = 8023,
9157 ID_SPECULARCOLORREFLECTANCE = 8024,
9158 ID_SPECULAREXPONENT = 8025,
9159 ID_SPECULARSTRENGTH = 8026,
9160 ID_VERTEXNORMALS = 8027,
9161 ID_VERTEXNORMALSMODE = 8028,
9171 ID_ALIMINCLUDE = 8038,
9172 ID_CLIMINCLUDE = 8039,
9173 ID_XLIMINCLUDE = 8040,
9174 ID_YLIMINCLUDE = 8041,
9175 ID_ZLIMINCLUDE = 8042
9237 bool marker_is (
const std::string& v)
const {
return m_marker.
is (v); }
9293 if (m_alphadatamapping.
set (val,
false))
9295 update_axis_limits (
"alphadatamapping");
9303 if (m_ambientstrength.
set (val,
true))
9311 if (m_backfacelighting.
set (val,
true))
9319 if (m_cdata.
set (val,
true))
9328 if (m_cdatamapping.
set (val,
false))
9330 update_axis_limits (
"cdatamapping");
9338 if (m_diffusestrength.
set (val,
true))
9346 if (m_displayname.
set (val,
true))
9354 if (m_edgealpha.
set (val,
true))
9362 if (m_edgecolor.
set (val,
true))
9370 if (m_edgelighting.
set (val,
true))
9372 update_edgelighting ();
9379 if (m_facealpha.
set (val,
true))
9387 if (m_facecolor.
set (val,
true))
9395 if (m_facelighting.
set (val,
true))
9397 update_facelighting ();
9404 if (m_facenormals.
set (val,
false))
9406 set_facenormalsmode (
"manual");
9411 set_facenormalsmode (
"manual");
9416 if (m_facenormalsmode.
set (val,
true))
9418 update_facenormalsmode ();
9425 if (m_faces.
set (val,
true))
9434 if (m_facevertexalphadata.
set (val,
true))
9442 if (m_facevertexcdata.
set (val,
true))
9444 update_facevertexcdata ();
9451 if (m_linestyle.
set (val,
true))
9459 if (m_linewidth.
set (val,
true))
9467 if (m_marker.
set (val,
true))
9475 if (m_markeredgecolor.
set (val,
true))
9483 if (m_markerfacecolor.
set (val,
true))
9491 if (m_markersize.
set (val,
true))
9499 if (m_specularcolorreflectance.
set (val,
true))
9507 if (m_specularexponent.
set (val,
true))
9515 if (m_specularstrength.
set (val,
true))
9523 if (m_vertexnormals.
set (val,
false))
9525 set_vertexnormalsmode (
"manual");
9530 set_vertexnormalsmode (
"manual");
9535 if (m_vertexnormalsmode.
set (val,
true))
9537 update_vertexnormalsmode ();
9544 if (m_vertices.
set (val,
true))
9553 if (m_xdata.
set (val,
true))
9562 if (m_ydata.
set (val,
true))
9571 if (m_zdata.
set (val,
true))
9580 if (m_alim.
set (val,
false))
9582 update_axis_limits (
"alim");
9590 if (m_clim.
set (val,
false))
9592 update_axis_limits (
"clim");
9600 if (m_xlim.
set (val,
false))
9602 update_axis_limits (
"xlim");
9610 if (m_ylim.
set (val,
false))
9612 update_axis_limits (
"ylim");
9620 if (m_zlim.
set (val,
false))
9622 update_axis_limits (
"zlim");
9630 if (m_aliminclude.
set (val,
false))
9632 update_axis_limits (
"aliminclude");
9640 if (m_climinclude.
set (val,
false))
9642 update_axis_limits (
"climinclude");
9650 if (m_xliminclude.
set (val,
false))
9652 update_axis_limits (
"xliminclude");
9660 if (m_yliminclude.
set (val,
false))
9662 update_axis_limits (
"yliminclude");
9670 if (m_zliminclude.
set (val,
false))
9672 update_axis_limits (
"zliminclude");
9728 update_face_normals (reset, force);
9729 update_vertex_normals (reset, force);
9734 std::string m_bad_data_msg;
9736 void update_faces () { update_data ();}
9738 void update_vertices () { update_data ();}
9740 void update_facevertexcdata () { update_data ();}
9742 OCTINTERP_API
void update_fvc ();
9744 void update_xdata ()
9746 if (get_xdata ().isempty ())
9759 update_normals (
true);
9765 void update_ydata ()
9767 if (get_ydata ().isempty ())
9777 update_normals (
true);
9783 void update_zdata ()
9786 update_normals (
true);
9790 void update_cdata ()
9793 update_normals (
false);
9795 if (cdatamapping_is (
"scaled"))
9801 OCTINTERP_API
void update_data ();
9803 OCTINTERP_API
void calc_face_normals (
Matrix& normals);
9804 OCTINTERP_API
void update_face_normals (
bool reset,
bool force =
false);
9805 OCTINTERP_API
void update_vertex_normals (
bool reset,
bool force =
false);
9807 void update_edgelighting ()
9809 update_normals (
false);
9812 void update_facelighting ()
9814 update_normals (
false);
9817 void update_facenormalsmode ()
9819 update_face_normals (
false);
9822 void update_vertexnormalsmode ()
9824 update_vertex_normals (
false);
9827 void update_visible ()
9830 update_normals (
false);
9835 properties m_properties;
9843 OCTAVE_DISABLE_CONSTRUCT_COPY_MOVE (
patch)
9855 bool retval = m_properties.has_readonly_property (pname);
9861 OCTINTERP_API
void reset_default_properties ();
9884 msg = m_bad_data_msg;
9885 return ! msg.empty ();
9889 {
return m_aliminclude.
is_on (); }
9894 {
return m_climinclude.
is_on (); }
9934 static std::string s_go_name;
9939 static std::set<std::string> core_property_names ();
9941 static std::set<std::string> readonly_property_names ();
9943 static bool has_core_property (
const caseless_str& pname);
9945 static bool has_readonly_property (
const caseless_str& pname);
9947 std::set<std::string> all_property_names ()
const;
9997 ID_ANNOTATION = 9000,
9999 ID_CDATAMODE = 9002,
10000 ID_CDATASOURCE = 9003,
10001 ID_DATATIPTEMPLATE = 9004,
10002 ID_DISPLAYNAME = 9005,
10003 ID_LATITUDEDATA = 9006,
10004 ID_LATITUDEDATASOURCE = 9007,
10005 ID_LINEWIDTH = 9008,
10006 ID_LONGITUDEDATA = 9009,
10007 ID_LONGITUDEDATASOURCE = 9010,
10009 ID_MARKEREDGEALPHA = 9012,
10010 ID_MARKEREDGECOLOR = 9013,
10011 ID_MARKERFACEALPHA = 9014,
10012 ID_MARKERFACECOLOR = 9015,
10014 ID_RDATASOURCE = 9017,
10015 ID_SERIESINDEX = 9018,
10016 ID_SIZEDATA = 9019,
10017 ID_SIZEDATASOURCE = 9020,
10018 ID_THETADATA = 9021,
10019 ID_THETADATASOURCE = 9022,
10021 ID_XDATASOURCE = 9024,
10023 ID_YDATASOURCE = 9026,
10025 ID_ZDATASOURCE = 9028,
10031 ID_ALIMINCLUDE = 9034,
10032 ID_CLIMINCLUDE = 9035,
10033 ID_XLIMINCLUDE = 9036,
10034 ID_YLIMINCLUDE = 9037,
10035 ID_ZLIMINCLUDE = 9038
10126 if (m_annotation.
set (val,
true))
10134 if (m_cdata.
set (val,
false))
10136 set_cdatamode (
"manual");
10142 set_cdatamode (
"manual");
10147 if (m_cdatamode.
set (val,
true))
10149 update_cdatamode ();
10156 if (m_cdatasource.
set (val,
true))
10164 if (m_datatiptemplate.
set (val,
true))
10172 if (m_displayname.
set (val,
true))
10180 if (m_latitudedata.
set (val,
true))
10188 if (m_latitudedatasource.
set (val,
true))
10196 if (m_linewidth.
set (val,
true))
10204 if (m_longitudedata.
set (val,
true))
10212 if (m_longitudedatasource.
set (val,
true))
10220 if (m_marker.
set (val,
true))
10228 if (m_markeredgealpha.
set (val,
true))
10236 if (m_markeredgecolor.
set (val,
true))
10244 if (m_markerfacealpha.
set (val,
true))
10252 if (m_markerfacecolor.
set (val,
true))
10260 if (m_rdata.
set (val,
true))
10268 if (m_rdatasource.
set (val,
true))
10276 if (m_seriesindex.
set (val,
true))
10278 update_seriesindex ();
10285 if (m_sizedata.
set (val,
true))
10287 update_sizedata ();
10294 if (m_sizedatasource.
set (val,
true))
10302 if (m_thetadata.
set (val,
true))
10310 if (m_thetadatasource.
set (val,
true))
10318 if (m_xdata.
set (val,
true))
10327 if (m_xdatasource.
set (val,
true))
10335 if (m_ydata.
set (val,
true))
10344 if (m_ydatasource.
set (val,
true))
10352 if (m_zdata.
set (val,
true))
10361 if (m_zdatasource.
set (val,
true))
10369 if (m_alim.
set (val,
false))
10371 update_axis_limits (
"alim");
10379 if (m_clim.
set (val,
false))
10381 update_axis_limits (
"clim");
10389 if (m_xlim.
set (val,
false))
10391 update_axis_limits (
"xlim");
10399 if (m_ylim.
set (val,
false))
10401 update_axis_limits (
"ylim");
10409 if (m_zlim.
set (val,
false))
10411 update_axis_limits (
"zlim");
10419 if (m_aliminclude.
set (val,
false))
10421 update_axis_limits (
"aliminclude");
10429 if (m_climinclude.
set (val,
false))
10431 update_axis_limits (
"climinclude");
10439 if (m_xliminclude.
set (val,
false))
10441 update_axis_limits (
"xliminclude");
10449 if (m_yliminclude.
set (val,
false))
10451 update_axis_limits (
"yliminclude");
10459 if (m_zliminclude.
set (val,
false))
10461 update_axis_limits (
"zliminclude");
10512 OCTINTERP_API
void update_color ();
10515 std::string m_bad_data_msg;
10517 void update_xdata ()
10519 if (get_xdata ().isempty ())
10525 bool cdatamode_auto = m_cdatamode.
is (
"auto");
10527 if (cdatamode_auto)
10528 set_cdatamode (
"auto");
10536 void update_ydata ()
10538 if (get_ydata ().isempty ())
10542 bool cdatamode_auto = m_cdatamode.
is (
"auto");
10544 if (cdatamode_auto)
10545 set_cdatamode (
"auto");
10553 void update_zdata ()
10560 void update_sizedata ()
10565 void update_cdata ()
10567 if (get_cdata ().matrix_value ().rows () == 1)
10575 void update_cdatamode ()
10577 if (m_cdatamode.
is (
"auto"))
10581 void update_seriesindex ()
10583 if (m_cdatamode.
is (
"auto"))
10587 void update_data ();
10592 properties m_properties;
10603 OCTAVE_DISABLE_CONSTRUCT_COPY_MOVE (
scatter)
10615 bool retval = m_properties.has_readonly_property (pname);
10639 {
return (m_aliminclude.
is_on () && m_alphadatamapping.
is (
"scaled")); }
10644 {
return (m_climinclude.
is_on () && m_cdatamapping.
is (
"scaled")); }
10648 OCTINTERP_API
bool get_do_lighting ()
const;
10686 static std::string s_go_name;
10691 static std::set<std::string> core_property_names ();
10693 static std::set<std::string> readonly_property_names ();
10695 static bool has_core_property (
const caseless_str& pname);
10697 static bool has_readonly_property (
const caseless_str& pname);
10699 std::set<std::string> all_property_names ()
const;
10755 ID_ALPHADATA = 10000,
10756 ID_ALPHADATAMAPPING = 10001,
10757 ID_AMBIENTSTRENGTH = 10002,
10758 ID_BACKFACELIGHTING = 10003,
10760 ID_CDATAMAPPING = 10005,
10761 ID_CDATASOURCE = 10006,
10762 ID_DIFFUSESTRENGTH = 10007,
10763 ID_DISPLAYNAME = 10008,
10764 ID_EDGEALPHA = 10009,
10765 ID_EDGECOLOR = 10010,
10766 ID_EDGELIGHTING = 10011,
10767 ID_FACEALPHA = 10012,
10768 ID_FACECOLOR = 10013,
10769 ID_FACELIGHTING = 10014,
10770 ID_FACENORMALS = 10015,
10771 ID_FACENORMALSMODE = 10016,
10772 ID_LINESTYLE = 10017,
10773 ID_LINEWIDTH = 10018,
10775 ID_MARKEREDGECOLOR = 10020,
10776 ID_MARKERFACECOLOR = 10021,
10777 ID_MARKERSIZE = 10022,
10778 ID_MESHSTYLE = 10023,
10779 ID_SPECULARCOLORREFLECTANCE = 10024,
10780 ID_SPECULAREXPONENT = 10025,
10781 ID_SPECULARSTRENGTH = 10026,
10782 ID_VERTEXNORMALS = 10027,
10783 ID_VERTEXNORMALSMODE = 10028,
10785 ID_XDATASOURCE = 10030,
10787 ID_YDATASOURCE = 10032,
10789 ID_ZDATASOURCE = 10034,
10795 ID_ALIMINCLUDE = 10040,
10796 ID_CLIMINCLUDE = 10041,
10797 ID_XLIMINCLUDE = 10042,
10798 ID_YLIMINCLUDE = 10043,
10799 ID_ZLIMINCLUDE = 10044
10922 if (m_alphadata.
set (val,
true))
10924 update_alphadata ();
10931 if (m_alphadatamapping.
set (val,
false))
10933 update_axis_limits (
"alphadatamapping");
10941 if (m_ambientstrength.
set (val,
true))
10949 if (m_backfacelighting.
set (val,
true))
10957 if (m_cdata.
set (val,
true))
10966 if (m_cdatamapping.
set (val,
false))
10968 update_axis_limits (
"cdatamapping");
10976 if (m_cdatasource.
set (val,
true))
10984 if (m_diffusestrength.
set (val,
true))
10992 if (m_displayname.
set (val,
true))
11000 if (m_edgealpha.
set (val,
true))
11008 if (m_edgecolor.
set (val,
true))
11016 if (m_edgelighting.
set (val,
true))
11018 update_edgelighting ();
11025 if (m_facealpha.
set (val,
true))
11033 if (m_facecolor.
set (val,
true))
11041 if (m_facelighting.
set (val,
true))
11043 update_facelighting ();
11050 if (m_facenormals.
set (val,
false))
11052 set_facenormalsmode (
"manual");
11057 set_facenormalsmode (
"manual");
11062 if (m_facenormalsmode.
set (val,
true))
11064 update_facenormalsmode ();
11071 if (m_linestyle.
set (val,
true))
11079 if (m_linewidth.
set (val,
true))
11087 if (m_marker.
set (val,
true))
11095 if (m_markeredgecolor.
set (val,
true))
11103 if (m_markerfacecolor.
set (val,
true))
11111 if (m_markersize.
set (val,
true))
11119 if (m_meshstyle.
set (val,
true))
11127 if (m_specularcolorreflectance.
set (val,
true))
11135 if (m_specularexponent.
set (val,
true))
11143 if (m_specularstrength.
set (val,
true))
11151 if (m_vertexnormals.
set (val,
false))
11153 set_vertexnormalsmode (
"manual");
11158 set_vertexnormalsmode (
"manual");
11163 if (m_vertexnormalsmode.
set (val,
true))
11165 update_vertexnormalsmode ();
11172 if (m_xdata.
set (val,
true))
11181 if (m_xdatasource.
set (val,
true))
11189 if (m_ydata.
set (val,
true))
11198 if (m_ydatasource.
set (val,
true))
11206 if (m_zdata.
set (val,
true))
11215 if (m_zdatasource.
set (val,
true))
11223 if (m_alim.
set (val,
false))
11225 update_axis_limits (
"alim");
11233 if (m_clim.
set (val,
false))
11235 update_axis_limits (
"clim");
11243 if (m_xlim.
set (val,
false))
11245 update_axis_limits (
"xlim");
11253 if (m_ylim.
set (val,
false))
11255 update_axis_limits (
"ylim");
11263 if (m_zlim.
set (val,
false))
11265 update_axis_limits (
"zlim");
11273 if (m_aliminclude.
set (val,
false))
11275 update_axis_limits (
"aliminclude");
11283 if (m_climinclude.
set (val,
false))
11285 update_axis_limits (
"climinclude");
11293 if (m_xliminclude.
set (val,
false))
11295 update_axis_limits (
"xliminclude");
11303 if (m_yliminclude.
set (val,
false))
11305 update_axis_limits (
"yliminclude");
11313 if (m_zliminclude.
set (val,
false))
11315 update_axis_limits (
"zliminclude");
11366 update_face_normals (reset, force);
11367 update_vertex_normals (reset, force);
11372 void update_alphadata ()
11374 if (alphadatamapping_is (
"scaled"))
11380 void update_cdata ()
11382 if (cdatamapping_is (
"scaled"))
11388 void update_xdata ()
11390 update_normals (
true);
11394 void update_ydata ()
11396 update_normals (
true);
11400 void update_zdata ()
11402 update_normals (
true);
11406 OCTINTERP_API
void update_face_normals (
bool reset,
bool force =
false);
11407 OCTINTERP_API
void update_vertex_normals (
bool reset,
bool force =
false);
11409 void update_facenormalsmode ()
11410 { update_face_normals (
false); }
11412 void update_vertexnormalsmode ()
11413 { update_vertex_normals (
false); }
11415 void update_edgelighting ()
11416 { update_normals (
false); }
11418 void update_facelighting ()
11419 { update_normals (
false); }
11421 void update_visible ()
11424 update_normals (
false);
11430 properties m_properties;
11437 OCTAVE_DISABLE_CONSTRUCT_COPY_MOVE (
surface)
11449 bool retval = m_properties.has_readonly_property (pname);
11507 static std::string s_go_name;
11512 static std::set<std::string> core_property_names ();
11514 static std::set<std::string> readonly_property_names ();
11516 static bool has_core_property (
const caseless_str& pname);
11518 static bool has_readonly_property (
const caseless_str& pname);
11520 std::set<std::string> all_property_names ()
const;
11542 ID_DISPLAYNAME = 11000,
11548 ID_ALIMINCLUDE = 11006,
11549 ID_CLIMINCLUDE = 11007,
11550 ID_XLIMINCLUDE = 11008,
11551 ID_YLIMINCLUDE = 11009,
11552 ID_ZLIMINCLUDE = 11010
11585 if (m_displayname.
set (val,
true))
11593 if (m_alim.
set (val,
true))
11601 if (m_clim.
set (val,
true))
11609 if (m_xlim.
set (val,
true))
11617 if (m_ylim.
set (val,
true))
11625 if (m_zlim.
set (val,
true))
11633 if (m_aliminclude.
set (val,
true))
11641 if (m_climinclude.
set (val,
true))
11649 if (m_xliminclude.
set (val,
true))
11657 if (m_yliminclude.
set (val,
true))
11665 if (m_zliminclude.
set (val,
true))
11673 OCTINTERP_API
void update_limits ()
const;
11684 properties m_properties;
11691 OCTAVE_DISABLE_CONSTRUCT_COPY_MOVE (
hggroup)
11701 OCTINTERP_API
void update_axis_limits (
const std::string& axis_type);
11703 OCTINTERP_API
void update_axis_limits (
const std::string& axis_type,
11708 bool retval = m_properties.has_readonly_property (pname);
11772 static std::string s_go_name;
11777 static std::set<std::string> core_property_names ();
11779 static std::set<std::string> readonly_property_names ();
11781 static bool has_core_property (
const caseless_str& pname);
11783 static bool has_readonly_property (
const caseless_str& pname);
11785 std::set<std::string> all_property_names ()
const;
11808 ID_ACCELERATOR = 12000,
11809 ID_CALLBACK = 12001,
11810 ID_CHECKED = 12002,
11812 ID_FOREGROUNDCOLOR = 12004,
11814 ID_MENUSELECTEDFCN = 12006,
11815 ID_POSITION = 12007,
11816 ID_SEPARATOR = 12008,
11818 ID___FLTK_LABEL__ = 12010,
11819 ID___OBJECT__ = 12011
11852 if (m_accelerator.
set (val,
true))
11860 if (m_checked.
set (val,
true))
11868 if (m_enable.
set (val,
true))
11876 if (m_foregroundcolor.
set (val,
true))
11884 if (m_menuselectedfcn.
set (val,
true))
11892 if (m_position.
set (val,
true))
11900 if (m_separator.
set (val,
true))
11908 if (m_text.
set (val,
true))
11916 if (m___fltk_label__.
set (val,
true))
11924 if (m___object__.
set (val,
true))
11934 return get_text ();
11945 return get_menuselectedfcn ();
11950 set_menuselectedfcn (val);
11961 properties m_properties;
11968 OCTAVE_DISABLE_CONSTRUCT_COPY_MOVE (
uimenu)
11980 bool retval = m_properties.has_readonly_property (pname);
12000 { m_dependent_obj_list.push_back (gh); }
12005 {
return m_dependent_obj_list; }
12043 static std::string s_go_name;
12048 static std::set<std::string> core_property_names ();
12050 static std::set<std::string> readonly_property_names ();
12052 static bool has_core_property (
const caseless_str& pname);
12054 static bool has_readonly_property (
const caseless_str& pname);
12056 std::set<std::string> all_property_names ()
const;
12070 ID_CALLBACK = 13000,
12071 ID_POSITION = 13001,
12072 ID___OBJECT__ = 13002
12085 if (m_callback.
set (val,
true))
12093 if (m_position.
set (val,
true))
12101 if (m___object__.
set (val,
true))
12118 std::list<graphics_handle> m_dependent_obj_list;
12120 OCTINTERP_API
void update_beingdeleted ();
12125 properties m_properties;
12144 bool retval = m_properties.has_readonly_property (pname);
12163 get_boundingbox (
bool internal =
false,
12166 OCTINTERP_API
double
12167 get___fontsize_points__ (
double box_pix_height = 0)
const;
12205 static std::string s_go_name;
12210 static std::set<std::string> core_property_names ();
12212 static std::set<std::string> readonly_property_names ();
12214 static bool has_core_property (
const caseless_str& pname);
12216 static bool has_readonly_property (
const caseless_str& pname);
12218 std::set<std::string> all_property_names ()
const;
12256 ID_BACKGROUNDCOLOR = 14000,
12257 ID_CALLBACK = 14001,
12259 ID_CLIPPING = 14003,
12262 ID_FONTANGLE = 14006,
12263 ID_FONTNAME = 14007,
12264 ID_FONTSIZE = 14008,
12265 ID_FONTUNITS = 14009,
12266 ID_FONTWEIGHT = 14010,
12267 ID_FOREGROUNDCOLOR = 14011,
12268 ID_HORIZONTALALIGNMENT = 14012,
12269 ID_KEYPRESSFCN = 14013,
12270 ID_LISTBOXTOP = 14014,
12273 ID_POSITION = 14017,
12274 ID_SLIDERSTEP = 14018,
12277 ID_TOOLTIPSTRING = 14021,
12280 ID_VERTICALALIGNMENT = 14024,
12281 ID___FOCUS__ = 14025,
12282 ID___OBJECT__ = 14026
12341 bool style_is (
const std::string& v)
const {
return m_style.
is (v); }
12346 bool units_is (
const std::string& v)
const {
return m_units.
is (v); }
12362 if (m_backgroundcolor.
set (val,
true))
12370 if (m_callback.
set (val,
true))
12378 if (m_cdata.
set (val,
true))
12386 if (m_clipping.
set (val,
true))
12394 if (m_enable.
set (val,
true))
12402 if (m_extent.
set (val,
true))
12410 if (m_fontangle.
set (val,
true))
12412 update_fontangle ();
12419 if (m_fontname.
set (val,
true))
12421 update_fontname ();
12428 if (m_fontsize.
set (val,
true))
12430 update_fontsize ();
12439 if (m_fontweight.
set (val,
true))
12441 update_fontweight ();
12448 if (m_foregroundcolor.
set (val,
true))
12456 if (m_horizontalalignment.
set (val,
true))
12464 if (m_keypressfcn.
set (val,
true))
12472 if (m_listboxtop.
set (val,
true))
12480 if (m_max.
set (val,
true))
12488 if (m_min.
set (val,
true))
12496 if (m_position.
set (val,
true))
12504 if (m_sliderstep.
set (val,
true))
12512 if (m_string.
set (val,
true))
12523 if (m_tooltipstring.
set (val,
true))
12531 if (m_units.
set (val,
true))
12540 if (m_value.
set (val,
true))
12548 if (m_verticalalignment.
set (val,
true))
12556 if (m___focus__.
set (val,
true))
12564 if (m___object__.
set (val,
true))
12572 std::string m_cached_units;
12585 m_cached_units = get_units ();
12588 OCTINTERP_API
void update_text_extent ();
12595 update_text_extent ();
12599 OCTINTERP_API
void update_fontunits (
const caseless_str& old_units);
12601 OCTINTERP_API
void update_units ();
12606 properties m_properties;
12613 OCTAVE_DISABLE_CONSTRUCT_COPY_MOVE (
uicontrol)
12625 bool retval = m_properties.has_readonly_property (pname);
12648 get_boundingbox (
bool internal =
false,
12651 OCTINTERP_API
double
12652 get___fontsize_points__ (
double box_pix_height = 0)
const;
12690 static std::string s_go_name;
12695 static std::set<std::string> core_property_names ();
12697 static std::set<std::string> readonly_property_names ();
12699 static bool has_core_property (
const caseless_str& pname);
12701 static bool has_readonly_property (
const caseless_str& pname);
12703 std::set<std::string> all_property_names ()
const;
12735 ID_BACKGROUNDCOLOR = 15000,
12736 ID_BORDERTYPE = 15001,
12737 ID_BORDERWIDTH = 15002,
12738 ID_CLIPPING = 15003,
12739 ID_FONTANGLE = 15004,
12740 ID_FONTNAME = 15005,
12741 ID_FONTSIZE = 15006,
12742 ID_FONTUNITS = 15007,
12743 ID_FONTWEIGHT = 15008,
12744 ID_FOREGROUNDCOLOR = 15009,
12745 ID_HIGHLIGHTCOLOR = 15010,
12746 ID_POSITION = 15011,
12747 ID_RESIZEFCN = 15012,
12748 ID_SELECTEDOBJECT = 15013,
12749 ID_SELECTIONCHANGEDFCN = 15014,
12750 ID_SHADOWCOLOR = 15015,
12751 ID_SIZECHANGEDFCN = 15016,
12754 ID_TITLEPOSITION = 15019,
12755 ID___OBJECT__ = 15020
12812 bool units_is (
const std::string& v)
const {
return m_units.
is (v); }
12825 if (m_backgroundcolor.
set (val,
true))
12833 if (m_bordertype.
set (val,
true))
12841 if (m_borderwidth.
set (val,
true))
12849 if (m_clipping.
set (val,
true))
12857 if (m_fontangle.
set (val,
true))
12865 if (m_fontname.
set (val,
true))
12873 if (m_fontsize.
set (val,
true))
12883 if (m_fontweight.
set (val,
true))
12891 if (m_foregroundcolor.
set (val,
true))
12899 if (m_highlightcolor.
set (val,
true))
12909 if (m_resizefcn.
set (val,
true))
12919 if (m_selectionchangedfcn.
set (val,
true))
12927 if (m_shadowcolor.
set (val,
true))
12935 if (m_sizechangedfcn.
set (val,
true))
12945 if (m_title.
set (val,
true))
12953 if (m_titleposition.
set (val,
true))
12961 if (m___object__.
set (val,
true))
12983 OCTINTERP_API
void update_units (
const caseless_str& old_units);
12984 OCTINTERP_API
void update_fontunits (
const caseless_str& old_units);
12989 properties m_properties;
13008 bool retval = m_properties.has_readonly_property (pname);
13027 get_boundingbox (
bool internal =
false,
13030 OCTINTERP_API
double
13031 get___fontsize_points__ (
double box_pix_height = 0)
const;
13069 static std::string s_go_name;
13074 static std::set<std::string> core_property_names ();
13076 static std::set<std::string> readonly_property_names ();
13078 static bool has_core_property (
const caseless_str& pname);
13080 static bool has_readonly_property (
const caseless_str& pname);
13082 std::set<std::string> all_property_names ()
const;
13111 ID_BACKGROUNDCOLOR = 16000,
13112 ID_BORDERTYPE = 16001,
13113 ID_BORDERWIDTH = 16002,
13114 ID_FONTANGLE = 16003,
13115 ID_FONTNAME = 16004,
13116 ID_FONTSIZE = 16005,
13117 ID_FONTUNITS = 16006,
13118 ID_FONTWEIGHT = 16007,
13119 ID_FOREGROUNDCOLOR = 16008,
13120 ID_HIGHLIGHTCOLOR = 16009,
13121 ID_POSITION = 16010,
13122 ID_RESIZEFCN = 16011,
13123 ID_SHADOWCOLOR = 16012,
13124 ID_SIZECHANGEDFCN = 16013,
13126 ID_TITLEPOSITION = 16015,
13128 ID___OBJECT__ = 16017
13182 bool units_is (
const std::string& v)
const {
return m_units.
is (v); }
13190 if (m_backgroundcolor.
set (val,
true))
13198 if (m_bordertype.
set (val,
true))
13206 if (m_borderwidth.
set (val,
true))
13214 if (m_fontangle.
set (val,
true))
13222 if (m_fontname.
set (val,
true))
13230 if (m_fontsize.
set (val,
true))
13240 if (m_fontweight.
set (val,
true))
13248 if (m_foregroundcolor.
set (val,
true))
13256 if (m_highlightcolor.
set (val,
true))
13266 if (m_resizefcn.
set (val,
true))
13274 if (m_shadowcolor.
set (val,
true))
13282 if (m_sizechangedfcn.
set (val,
true))
13290 if (m_title.
set (val,
true))
13298 if (m_titleposition.
set (val,
true))
13308 if (m___object__.
set (val,
true))
13323 OCTINTERP_API
void update_units (
const caseless_str& old_units);
13324 OCTINTERP_API
void update_fontunits (
const caseless_str& old_units);
13329 properties m_properties;
13336 OCTAVE_DISABLE_CONSTRUCT_COPY_MOVE (
uipanel)
13348 bool retval = m_properties.has_readonly_property (pname);
13366 get_boundingbox (
bool internal =
false,
13369 OCTINTERP_API
double
13370 get___fontsize_points__ (
double box_pix_height = 0)
const;
13372 OCTINTERP_API
double
13373 get_fontsize_pixels (
double box_pix_height = 0)
const;
13414 static std::string s_go_name;
13419 static std::set<std::string> core_property_names ();
13421 static std::set<std::string> readonly_property_names ();
13423 static bool has_core_property (
const caseless_str& pname);
13425 static bool has_readonly_property (
const caseless_str& pname);
13427 std::set<std::string> all_property_names ()
const;
13463 ID___OBJECT__ = 17000,
13464 ID_BACKGROUNDCOLOR = 17001,
13465 ID_CELLEDITCALLBACK = 17002,
13466 ID_CELLSELECTIONCALLBACK = 17003,
13467 ID_COLUMNEDITABLE = 17004,
13468 ID_COLUMNFORMAT = 17005,
13469 ID_COLUMNNAME = 17006,
13470 ID_COLUMNWIDTH = 17007,
13474 ID_FONTANGLE = 17011,
13475 ID_FONTNAME = 17012,
13476 ID_FONTSIZE = 17013,
13477 ID_FONTUNITS = 17014,
13478 ID_FONTWEIGHT = 17015,
13479 ID_FOREGROUNDCOLOR = 17016,
13480 ID_KEYPRESSFCN = 17017,
13481 ID_KEYRELEASEFCN = 17018,
13482 ID_POSITION = 17019,
13483 ID_REARRANGEABLECOLUMNS = 17020,
13484 ID_ROWNAME = 17021,
13485 ID_ROWSTRIPING = 17022,
13486 ID_TOOLTIPSTRING = 17023,
13551 bool units_is (
const std::string& v)
const {
return m_units.
is (v); }
13557 if (m___object__.
set (val,
true))
13565 if (m_backgroundcolor.
set (val,
true))
13573 if (m_celleditcallback.
set (val,
true))
13581 if (m_cellselectioncallback.
set (val,
true))
13589 if (m_columneditable.
set (val,
true))
13599 if (m_columnname.
set (val,
true))
13609 if (m_data.
set (val,
true))
13618 if (m_enable.
set (val,
true))
13626 if (m_extent.
set (val,
true))
13634 if (m_fontangle.
set (val,
true))
13636 update_fontangle ();
13643 if (m_fontname.
set (val,
true))
13645 update_fontname ();
13652 if (m_fontsize.
set (val,
true))
13654 update_fontsize ();
13663 if (m_fontweight.
set (val,
true))
13665 update_fontweight ();
13672 if (m_foregroundcolor.
set (val,
true))
13680 if (m_keypressfcn.
set (val,
true))
13688 if (m_keyreleasefcn.
set (val,
true))
13696 if (m_position.
set (val,
true))
13704 if (m_rearrangeablecolumns.
set (val,
true))
13712 if (m_rowname.
set (val,
true))
13720 if (m_rowstriping.
set (val,
true))
13728 if (m_tooltipstring.
set (val,
true))
13737 OCTINTERP_API
Matrix get_extent_matrix ()
const;
13739 OCTINTERP_API
Matrix get_backgroundcolor_rgb ();
13741 OCTINTERP_API
Matrix get_alternatebackgroundcolor_rgb ();
13753 OCTINTERP_API
void update_units (
const caseless_str& old_units);
13754 OCTINTERP_API
void update_fontunits (
const caseless_str& old_units);
13761 update_table_extent ();
13767 properties m_properties;
13774 OCTAVE_DISABLE_CONSTRUCT_COPY_MOVE (
uitable)
13786 bool retval = m_properties.has_readonly_property (pname);
13839 static std::string s_go_name;
13844 static std::set<std::string> core_property_names ();
13846 static std::set<std::string> readonly_property_names ();
13848 static bool has_core_property (
const caseless_str& pname);
13850 static bool has_readonly_property (
const caseless_str& pname);
13852 std::set<std::string> all_property_names ()
const;
13864 ID___OBJECT__ = 18000
13872 if (m___object__.
set (val,
true))
13885 properties m_properties;
13892 OCTAVE_DISABLE_CONSTRUCT_COPY_MOVE (
uitoolbar)
13900 m_properties.override_defaults (obj);
13912 if (name.
compare (
"default", 7))
13916 m_default_properties.set (name.substr (7), value);
13918 m_properties.set (name, value);
13925 if (name.
compare (
"default", 7))
13926 retval = get_default (name.substr (7));
13928 retval = m_properties.get (name);
13937 return m_default_properties.as_struct (
"default");
13942 return m_default_properties;
13951 OCTINTERP_API
void reset_default_properties ();
13955 bool retval = m_properties.has_readonly_property (pname);
14011 static std::string s_go_name;
14016 static std::set<std::string> core_property_names ();
14018 static std::set<std::string> readonly_property_names ();
14020 static bool has_core_property (
const caseless_str& pname);
14022 static bool has_readonly_property (
const caseless_str& pname);
14024 std::set<std::string> all_property_names ()
const;
14043 ID_CLICKEDCALLBACK = 19001,
14045 ID_SEPARATOR = 19003,
14046 ID_TOOLTIPSTRING = 19004,
14047 ID___NAMED_ICON__ = 19005,
14048 ID___OBJECT__ = 19006
14071 if (m_cdata.
set (val,
true))
14079 if (m_clickedcallback.
set (val,
true))
14087 if (m_enable.
set (val,
true))
14095 if (m_separator.
set (val,
true))
14103 if (m_tooltipstring.
set (val,
true))
14111 if (m___named_icon__.
set (val,
true))
14119 if (m___object__.
set (val,
true))
14138 properties m_properties;
14145 OCTAVE_DISABLE_CONSTRUCT_COPY_MOVE (
uipushtool)
14157 bool retval = m_properties.has_readonly_property (pname);
14211 static std::string s_go_name;
14216 static std::set<std::string> core_property_names ();
14218 static std::set<std::string> readonly_property_names ();
14220 static bool has_core_property (
const caseless_str& pname);
14222 static bool has_readonly_property (
const caseless_str& pname);
14224 std::set<std::string> all_property_names ()
const;
14246 ID_CLICKEDCALLBACK = 20001,
14248 ID_OFFCALLBACK = 20003,
14249 ID_ONCALLBACK = 20004,
14250 ID_SEPARATOR = 20005,
14252 ID_TOOLTIPSTRING = 20007,
14253 ID___NAMED_ICON__ = 20008,
14254 ID___OBJECT__ = 20009
14286 if (m_cdata.
set (val,
true))
14294 if (m_clickedcallback.
set (val,
true))
14302 if (m_enable.
set (val,
true))
14310 if (m_offcallback.
set (val,
true))
14318 if (m_oncallback.
set (val,
true))
14326 if (m_separator.
set (val,
true))
14334 if (m_state.
set (val,
true))
14342 if (m_tooltipstring.
set (val,
true))
14350 if (m___named_icon__.
set (val,
true))
14358 if (m___object__.
set (val,
true))
14377 properties m_properties;
14396 bool retval = m_properties.has_readonly_property (pname);
14408 const std::string& fcn);
14427 : m_busyaction (QUEUE)
14431 : m_busyaction (busyaction)
14467 return m_rep->get_busyaction ();
14469 error (
"graphics_event::busyaction: invalid graphics_event");
14478 bool ok ()
const {
return (m_rep !=
nullptr); }
14482 const std::string& name,
14501 const octave_value& value,
bool notify_toolkit =
true,
14502 bool redraw_figure =
false);
14505 std::shared_ptr <base_graphics_event> m_rep;
14515 double& min_pos,
double& max_neg,
14516 const Matrix& kids,
char limit_type);
14528 OCTAVE_END_NAMESPACE(
octave)
octave_idx_type lookup(const T *x, octave_idx_type n, T y)
charNDArray max(char d, const charNDArray &m)
charNDArray min(char d, const charNDArray &m)
T * fortran_vec()
Size of the specified dimension.
octave_idx_type rows() const
Array< T, Alloc > sort(int dim=0, sortmode mode=ASCENDING) const
Size of the specified dimension.
T & xelem(octave_idx_type n)
Size of the specified dimension.
octave_idx_type numel() const
Number of elements in the array.
Array< std::string > cellstr_value() const
MArray< T > reshape(const dim_vector &new_dims) const
any_property(const std::string &nm, const graphics_handle &h, const octave_value &m=Matrix())
base_property * clone() const
bool do_set(const octave_value &v)
~array_property()=default
array_property(const array_property &p)
finite_type m_finite_constraint
base_property * clone() const
bool do_set(const octave_value &v)
array_property(const std::string &nm, const graphics_handle &h, const octave_value &m)
std::pair< double, bool > m_minval
Matrix get_limits() const
std::set< std::string > m_type_constraints
std::pair< double, bool > m_maxval
void add_constraint(const dim_vector &dims)
void add_constraint(const std::string &type, double val, bool inclusive)
std::list< dim_vector > m_size_constraints
void add_constraint(const finite_type finite)
void add_constraint(const std::string &type)
std::string get_camerapositionmode() const
void set_xlimmode(const octave_value &val)
bool yscale_is(const std::string &v) const
bool positionconstraint_is(const std::string &v) const
double get_gridalpha() const
double get_nextseriesindex() const
std::string get_xlimitmethod() const
octave_value get_xtick() const
void set_box(const octave_value &val)
std::string get_xtickmode() const
bool minorgridcolor_is_rgb() const
std::string get_ycolormode() const
octave_value get_view() const
unsigned int get_num_lights() const
octave_value get_position() const
void set_ylim(const octave_value &val)
bool ycolormode_is(const std::string &v) const
void increase_num_lights()
std::string get_zminorgrid() const
const scaler & get_y_scaler() const
double get_titlefontsizemultiplier() const
void set_camerapositionmode(const octave_value &val)
void set_plotboxaspectratio(const octave_value &val)
octave_value get(const std::string &pname) const
std::string get_fontunits() const
std::string get_xcolormode() const
void set_fontsizemode(const octave_value &val)
void set_cameraposition(const octave_value &val)
void set_ztickmode(const octave_value &val)
void set_dataaspectratiomode(const octave_value &val)
std::string get_xgrid() const
std::string get_xlimmode() const
bool xcolor_is_rgb() const
octave_value get_zcolor() const
std::string get_clippingstyle() const
bool cameratargetmode_is(const std::string &v) const
void set_yminortick(const octave_value &val)
void set_xminorgrid(const octave_value &val)
const scaler & get_x_scaler() const
bool fontsizemode_is(const std::string &v) const
std::string get_nextplot() const
std::string get_alimmode() const
std::string get_xaxislocation() const
std::string get_zscale() const
void set_minorgridalphamode(const octave_value &val)
bool ambientlightcolor_is_rgb() const
void set_toolbar(const octave_value &val)
octave_value get_cameraposition() const
std::string get_fontsmoothing() const
void set_cameratargetmode(const octave_value &val)
void set_yscale(const octave_value &val)
void set_layout(const octave_value &val)
double get_xtickoffset() const
void set___fontsize_points__(const octave_value &val)
bool layer_is(const std::string &v) const
bool minorgridlinestyle_is(const std::string &v) const
void set_zticklabelmode(const octave_value &val)
std::string get_activepositionproperty() const
double get_ytickoffset() const
void set_nextplot(const octave_value &val)
void set_titlefontsizemultiplier(const octave_value &val)
bool minorgridalphamode_is(const std::string &v) const
std::string get_gridcolormode() const
void set_color(const octave_value &val)
bool fontangle_is(const std::string &v) const
std::string get_ylimitmethod() const
void set_xaxis(const octave_value &val)
void set_zcolor(const octave_value &val)
void set_zlim(const octave_value &val)
std::string get_zcolormode() const
void set_minorgridcolormode(const octave_value &val)
std::string get_fontsizemode() const
void set_activepositionproperty(const octave_value &val)
Matrix get_ambientlightcolor_rgb() const
void set_boxstyle(const octave_value &val)
void set_zscale(const octave_value &val)
std::string get_fontangle() const
Matrix get_opengl_matrix_1() const
bool xscale_is(const std::string &v) const
void set_minorgridalpha(const octave_value &val)
bool zcolormode_is(const std::string &v) const
void set_xlimitmethod(const octave_value &val)
graphics_handle get_title() const
std::string get_zlimmode() const
std::string get_projection() const
octave_value get___colormap__() const
octave_value get_dataaspectratio() const
octave_value get_tightinset() const
graphics_handle get_layout() const
void set_ycolormode(const octave_value &val)
void set_looseinset(const octave_value &val)
bool xticklabelmode_is(const std::string &v) const
void set_ztick(const octave_value &val)
graphics_handle get_legend() const
void set_currentpoint(const octave_value &val)
void set_xgrid(const octave_value &val)
void set_clippingstyle(const octave_value &val)
void set_cameraupvectormode(const octave_value &val)
bool alphascale_is(const std::string &v) const
bool ztickmode_is(const std::string &v) const
void set_fontname(const octave_value &val)
bool is_yminortick() const
bool fontunits_is(const std::string &v) const
octave_value get_alim() const
void set_gridcolormode(const octave_value &val)
void set_yaxis(const octave_value &val)
octave_value get_cameraupvector() const
bool cameraviewanglemode_is(const std::string &v) const
void set___autopos_tag__(const octave_value &val)
void set_ylimmode(const octave_value &val)
std::string get_minorgridlinestyle() const
std::string get_ydir() const
graphics_handle get_xlabel() const
std::string get_cameraviewanglemode() const
ColumnVector pixel2coord(double px, double py) const
octave_value get_interactions() const
const scaler & get_z_scaler() const
double get_yPlane() const
void set_ycolor(const octave_value &val)
graphics_handle get_xaxis() const
void set_interactions(const octave_value &val)
octave_value get_clim() const
bool zticklabelmode_is(const std::string &v) const
std::string get_yaxislocation() const
bool gridcolor_is_rgb() const
void set_positionconstraint(const octave_value &val)
octave_value get_ylim() const
void set_linewidth(const octave_value &val)
bool ydir_is(const std::string &v) const
octave_value get_outerposition() const
octave_value get_xminortickvalues() const
double get_minorgridalpha() const
octave_value get_minorgridcolor() const
std::string get_ztickmode() const
double get_fontsize() const
void update_zlimitmethod()
std::string get_yminorgrid() const
graphics_handle get_ylabel() const
void set_climmode(const octave_value &val)
void set_has3Dkids(bool val)
bool zcolor_is_rgb() const
bool is_xminortick() const
octave_value get_alphamap() const
void set___colormap__(const octave_value &val)
octave_value get_innerposition() const
void set_alim(const octave_value &val)
double get_ypTick() const
double get_cameraviewangle() const
bool get_layer2Dtop() const
bool projection_is(const std::string &v) const
void set_minorgridcolor(const octave_value &val)
bool get_is2D(bool include_kids=false) const
double get_ypTickN() const
void set_clim(const octave_value &val)
octave_value get_zticklabel() const
void set_zlimmode(const octave_value &val)
octave_value get_gridcolor() const
void set_tightinset(const octave_value &val)
void set_ydir(const octave_value &val)
void set_ambientlightcolor(const octave_value &val)
void set_zdir(const octave_value &val)
bool xlimmode_is(const std::string &v) const
std::string get_minorgridcolormode() const
void set_fontangle(const octave_value &val)
bool zlimmode_is(const std::string &v) const
graphics_handle get_zaxis() const
std::string get_cameratargetmode() const
bool alimmode_is(const std::string &v) const
void set_xminortick(const octave_value &val)
std::string get_zticklabelmode() const
bool tickdirmode_is(const std::string &v) const
std::string get_xdir() const
Matrix get_inverse_transform_matrix() const
void set_labelfontsizemultiplier(const octave_value &val)
void set_yminorgrid(const octave_value &val)
std::string get_gridalphamode() const
void set_xcolormode(const octave_value &val)
void set_gridalphamode(const octave_value &val)
void set_nextseriesindex(const octave_value &val)
bool minorgridcolor_is(const std::string &v) const
void update_xlimitmethod()
std::string get_ylimmode() const
bool boxstyle_is(const std::string &v) const
bool plotboxaspectratiomode_is(const std::string &v) const
std::string get_layer() const
std::string get_zlimitmethod() const
std::string get_xminorgrid() const
bool ytickmode_is(const std::string &v) const
double get_linewidth() const
std::string get_yminortick() const
void set_xtickmode(const octave_value &val)
bool color_is_rgb() const
std::string get_dataaspectratiomode() const
void set_zgrid(const octave_value &val)
octave_value get_looseinset() const
std::string get_fontname() const
void set_ticklabelinterpreter(const octave_value &val)
bool sortmethod_is(const std::string &v) const
double get_xticklabelrotation() const
std::string get_xticklabelmode() const
void set_minorgridlinestyle(const octave_value &val)
bool zscale_is(const std::string &v) const
octave_value get_xticklabel() const
bool xtickmode_is(const std::string &v) const
void set_zlimitmethod(const octave_value &val)
void set_layer(const octave_value &val)
bool fontweight_is(const std::string &v) const
void update_ylimitmethod()
void set_fontsize(const octave_value &val)
bool yticklabelmode_is(const std::string &v) const
void set_zminorgrid(const octave_value &val)
bool get_nearhoriz() const
std::string get_units() const
Matrix get_minorgridcolor_rgb() const
void set_projection(const octave_value &val)
std::string get_titlefontweight() const
bool climmode_is(const std::string &v) const
octave_value get_currentpoint() const
void set_fontweight(const octave_value &val)
bool cameraupvectormode_is(const std::string &v) const
bool xdir_is(const std::string &v) const
double get_xpTick() const
octave_value get_plotboxaspectratio() const
void set_fontsmoothing(const octave_value &val)
void set_yticklabelrotation(const octave_value &val)
std::string get_yticklabelmode() const
double get_ztickoffset() const
octave_value get_ytick() const
bool is_fontsmoothing() const
octave_value get_ycolor() const
void set_linestyleorderindex(const octave_value &val)
bool zdir_is(const std::string &v) const
void set_tickdirmode(const octave_value &val)
void set_yaxislocation(const octave_value &val)
double get_colororderindex() const
bool units_is(const std::string &v) const
void set_gridalpha(const octave_value &val)
bool colorscale_is(const std::string &v) const
double get_mousewheelzoom() const
void set_gridcolor(const octave_value &val)
bool is_zminortick() const
std::string get_zdir() const
void set_alimmode(const octave_value &val)
octave_value get_xlim() const
void set_zminortick(const octave_value &val)
bool color_is(const std::string &v) const
std::string get_alphascale() const
void set_zminortickvalues(const octave_value &val)
Matrix get_zcolor_rgb() const
bool is_yminorgrid() const
std::string get_climmode() const
std::string get_minorgridalphamode() const
graphics_xform get_transform() const
void set_xticklabelrotation(const octave_value &val)
std::string get_gridlinestyle() const
octave_value get_yticklabel() const
void set_titlefontweight(const octave_value &val)
std::string get_colorscale() const
octave_value get_zlim() const
bool clippingstyle_is(const std::string &v) const
octave_value get_cameratarget() const
double get_yticklen() const
void set_xlim(const octave_value &val)
void set_gridlinestyle(const octave_value &val)
Matrix get_opengl_matrix_2() const
double get_xPlane() const
void set_innerposition(const octave_value &val)
std::string get_positionconstraint() const
bool zlimitmethod_is(const std::string &v) const
void set_cameraviewanglemode(const octave_value &val)
Matrix get_xcolor_rgb() const
void set_zaxis(const octave_value &val)
void set_cameratarget(const octave_value &val)
void set_xticklabelmode(const octave_value &val)
std::string get_boxstyle() const
void set_outerposition(const octave_value &val)
std::string get_tickdir() const
void set_zcolormode(const octave_value &val)
octave_value get_ambientlightcolor() const
bool ycolor_is_rgb() const
bool ambientlightcolor_is(const std::string &v) const
graphics_handle get_zlabel() const
bool titlefontweight_is(const std::string &v) const
bool get_y2Dright() const
octave_value get_xcolor() const
std::string get_ygrid() const
bool ylimitmethod_is(const std::string &v) const
void set_ylimitmethod(const octave_value &val)
void set_ytick(const octave_value &val)
Matrix get_ycolor_rgb() const
std::string get_box() const
void set_cameraviewangle(const octave_value &val)
bool ycolor_is(const std::string &v) const
bool ticklabelinterpreter_is(const std::string &v) const
Matrix get_gridcolor_rgb() const
bool camerapositionmode_is(const std::string &v) const
ColumnVector coord2pixel(double x, double y, double z) const
octave_value get_zminortickvalues() const
void set_colororder(const octave_value &val)
std::string get___autopos_tag__() const
octave_value get_yminortickvalues() const
Matrix get_transform_zlim() const
void set_legend(const octave_value &val)
void set_yticklabelmode(const octave_value &val)
octave_value get_colororder() const
bool dataaspectratiomode_is(const std::string &v) const
double get_zPlane() const
octave_value get_ticklength() const
void set_xtick(const octave_value &val)
double get_zpTickN() const
bool tickdir_is(const std::string &v) const
std::string get_sortmethod() const
std::string get_yscale() const
double get_xpTickN() const
bool is_xminorgrid() const
bool __autopos_tag___is(const std::string &v) const
Matrix get_transform_matrix() const
bool gridalphamode_is(const std::string &v) const
bool gridlinestyle_is(const std::string &v) const
void set_alphamap(const octave_value &val)
std::string get_zminortick() const
bool xaxislocation_is(const std::string &v) const
void set_position(const octave_value &val)
double get_linestyleorderindex() const
void set_mousewheelzoom(const octave_value &val)
double get_zticklen() const
void set_colorscale(const octave_value &val)
double get_zpTick() const
bool gridcolormode_is(const std::string &v) const
bool zcolor_is(const std::string &v) const
void set_xdir(const octave_value &val)
octave_value get_color() const
void set_view(const octave_value &val)
std::string graphics_object_name() const
void set_xminortickvalues(const octave_value &val)
graphics_handle get_toolbar() const
std::string get_tickdirmode() const
bool is_zminorgrid() const
octave_value get_ztick() const
bool xcolor_is(const std::string &v) const
double get_yticklabelrotation() const
void set_xaxislocation(const octave_value &val)
octave_value get(const char *pname) const
void set_zticklabelrotation(const octave_value &val)
bool xlimitmethod_is(const std::string &v) const
void set_colororderindex(const octave_value &val)
std::string get_xscale() const
void set_cameraupvector(const octave_value &val)
std::string get_fontweight() const
double get_yPlaneN() const
bool xcolormode_is(const std::string &v) const
bool nextplot_is(const std::string &v) const
void set_dataaspectratio(const octave_value &val)
void set_xcolor(const octave_value &val)
std::string get_plotboxaspectratiomode() const
void set_sortmethod(const octave_value &val)
void set_plotboxaspectratiomode(const octave_value &val)
double get_zticklabelrotation() const
std::string get_xminortick() const
Matrix get_color_rgb() const
void set_ygrid(const octave_value &val)
void set_xscale(const octave_value &val)
void set_ticklength(const octave_value &val)
double get_labelfontsizemultiplier() const
octave_value get_linestyleorder() const
double get_xticklen() const
double get_xPlaneN() const
std::string get_ytickmode() const
bool gridcolor_is(const std::string &v) const
bool minorgridcolormode_is(const std::string &v) const
double get_zPlaneN() const
std::string get_zgrid() const
void set_tickdir(const octave_value &val)
std::string get_cameraupvectormode() const
void set_yminortickvalues(const octave_value &val)
void decrease_num_lights()
void set_ytickmode(const octave_value &val)
graphics_handle get_yaxis() const
bool ylimmode_is(const std::string &v) const
void update_boundingbox()
void set_alphascale(const octave_value &val)
std::string get_ticklabelinterpreter() const
bool yaxislocation_is(const std::string &v) const
const base_properties & get_properties() const
octave_value get(const caseless_str &name) const
bool has_readonly_property(const caseless_str &pname) const
void set(const caseless_str &name, const octave_value &value)
void set_defaults(const std::string &mode)
base_properties & get_properties()
property_list get_defaults_list() const
octave_value get_defaults() const
void override_defaults(base_graphics_object &obj)
bool valid_object() const
axes(const graphics_handle &mh, const graphics_handle &p)
base_graphics_event(int busyaction)
virtual property_list get_defaults_list() const
virtual property_list get_factory_defaults_list() const
virtual bool valid_object() const
graphics_handle get_handle() const
virtual octave_value get_factory_defaults() const
virtual void adopt(const graphics_handle &h)
virtual octave_value get(const caseless_str &pname) const
virtual void delete_property_listener(const std::string &nm, const octave_value &v, listener_mode mode=GCB_POSTSET)
virtual const base_properties & get_properties() const
bool valid_toolkit_object() const
virtual octave_value get_defaults() const
virtual std::string type() const
virtual void initialize(const graphics_object &go)
virtual void reparent(const graphics_handle &np)
virtual void set(const caseless_str &pname, const octave_value &pval)
virtual graphics_handle get_parent() const
bool isa(const std::string &go_name) const
octave_value get(bool all=false) const
virtual void remove_child(const graphics_handle &h, bool from_root=false)
virtual octave::graphics_toolkit get_toolkit() const
virtual void defaults() const
virtual base_properties & get_properties()
virtual bool has_readonly_property(const caseless_str &pname) const
virtual void set_from_list(property_list &plist)
virtual void update(const graphics_object &go, int id)
virtual void override_defaults(base_graphics_object &obj)
virtual void set_defaults(const std::string &)
virtual void add_property_listener(const std::string &nm, const octave_value &v, listener_mode mode=GCB_POSTSET)
virtual void finalize(const graphics_object &go)
bool is_beingdeleted() const
virtual octave_value get_clim() const
void set___modified__(const octave_value &val)
Matrix get_hidden_children() const
virtual bool is_aliminclude() const
bool handlevisibility_is(const std::string &v) const
void set_selectionhighlight(const octave_value &val)
void set_from_list(base_graphics_object &obj, property_list &defaults)
void reparent(const graphics_handle &new_parent)
void override_defaults(base_graphics_object &obj)
callback_property m_buttondownfcn
bool_property m_interruptible
std::string get_handlevisibility() const
virtual octave_value get_xlim() const
void set_pickableparts(const octave_value &val)
virtual void update_beingdeleted()
std::string get_interruptible() const
void set_busyaction(const octave_value &val)
bool_property m_beingdeleted
graphics_handle get_parent() const
children_property m_children
void set_contextmenu(const octave_value &val)
virtual octave::graphics_toolkit get_toolkit() const
octave_value get_userdata() const
std::string get___modified__() const
void set_visible(const octave_value &val)
graphics_handle get_uicontextmenu() const
void set_interruptible(const octave_value &val)
virtual void set(const caseless_str &, const octave_value &)
callback_property m_deletefcn
std::set< std::string > m_dynamic_properties
std::string get_clipping() const
virtual bool is_xliminclude() const
std::map< caseless_str, property, cmp_caseless_str > m_all_props
std::string get_selectionhighlight() const
virtual void update_boundingbox()
graphics_handle get___myhandle__() const
void set_buttondownfcn(const octave_value &val)
void set_hittest(const octave_value &val)
void set_clipping(const octave_value &val)
void set_selected(const octave_value &val)
radio_property m_handlevisibility
bool is___modified__() const
std::string get_hittest() const
octave_value get_createfcn() const
bool is_selectionhighlight() const
void set___appdata__(const octave_value &val)
std::string get_type() const
virtual bool is_yliminclude() const
void set_children(const octave_value &val)
bool_property m_selectionhighlight
bool pickableparts_is(const std::string &v) const
virtual octave_value get_ylim() const
any_property m___appdata__
std::string get_selected() const
virtual bool is_zliminclude() const
virtual void add_listener(const caseless_str &, const octave_value &, listener_mode=GCB_POSTSET)
void set_handlevisibility(const octave_value &val)
std::string get_beingdeleted() const
void insert_property(const std::string &name, property p)
void set_uicontextmenu(const octave_value &val)
void set_createfcn(const octave_value &val)
octave_value get_deletefcn() const
void set_deletefcn(const octave_value &val)
radio_property m_busyaction
bool is_interruptible() const
virtual bool has_property(const caseless_str &) const
virtual octave_value get(const caseless_str &pname) const
radio_property m_pickableparts
void set_modified(const octave_value &val)
virtual octave_value get_alim() const
bool_property m___modified__
bool busyaction_is(const std::string &v) const
void execute_deletefcn(const octave_value &new_data=octave_value()) const
void set_userdata(const octave_value &val)
handle_property m_contextmenu
virtual octave_value get(const char *pname) const
virtual void adopt(const graphics_handle &h)
static bool has_readonly_property(const caseless_str &pname)
octave_value get___appdata__() const
graphics_handle get_contextmenu() const
std::string get_busyaction() const
std::string get_pickableparts() const
Matrix get_all_children() const
virtual octave_value get_zlim() const
Matrix get_children() const
void set_beingdeleted(const octave_value &val)
virtual void init_integerhandle(const octave_value &)
callback_property m_createfcn
void execute_createfcn(const octave_value &new_data=octave_value()) const
void execute_buttondownfcn(const octave_value &new_data=octave_value()) const
handle_property m_uicontextmenu
virtual void delete_children(bool clear=false, bool from_root=false)
virtual void remove_child(const graphics_handle &h, bool=false)
virtual void delete_listener(const caseless_str &, const octave_value &, listener_mode=GCB_POSTSET)
std::string get_visible() const
octave_value get_buttondownfcn() const
virtual void update_visible()
void renumber_child(graphics_handle old_gh, graphics_handle new_gh)
virtual octave_value get(const std::string &pname) const
virtual Matrix get_boundingbox(bool=false, const Matrix &=Matrix()) const
void set_tag(const octave_value &val)
graphics_handle m___myhandle__
void renumber_parent(graphics_handle new_gh)
std::string get_tag() const
virtual bool is_climinclude() const
void set_name(const std::string &s)
void set_parent(const graphics_handle &h)
virtual octave_value get() const
virtual std::string values_as_string() const
void add_listener(const octave_value &v, listener_mode mode=GCB_POSTSET)
base_property(const base_property &p)
graphics_handle get_parent() const
virtual bool is_radio() const
void delete_listener(const octave_value &v=octave_value(), listener_mode mode=GCB_POSTSET)
virtual bool do_set(const octave_value &)
void set_hidden(bool flag)
virtual base_property * clone() const
void run_listeners(listener_mode mode=GCB_POSTSET)
base_property(const std::string &s, const graphics_handle &h)
virtual Cell values_as_cell() const
std::string get_name() const
bool set(const octave_value &v, bool do_run=true, bool do_notify_toolkit=true)
virtual ~base_property()=default
virtual double unscale(double) const
virtual double scale(double) const
virtual NDArray scale(const NDArray &) const
virtual base_scaler * clone() const
virtual bool is_linear() const
bool_property(const std::string &nm, const graphics_handle &h, bool val)
bool do_set(const octave_value &val)
bool_property(const std::string &nm, const graphics_handle &h, const char *val)
base_property * clone() const
bool do_set(const octave_value &v)
~callback_property()=default
callback_property()=delete
void execute(const octave_value &data=octave_value()) const
callback_property(const callback_property &)=default
base_property * clone() const
callback_property(const std::string &nm, const graphics_handle &h, const octave_value &m)
bool compare(const std::string &s, std::size_t limit=std::string::npos) const
std::string row_as_string(octave_idx_type, bool strip_ws=false) const
Matrix get_children() const
~children_property()=default
Matrix get_hidden() const
void delete_children(bool clear=false, bool from_root=false)
children_property(const children_property &p)
void renumber(graphics_handle old_gh, graphics_handle new_gh)
base_property * clone() const
bool remove_child(double val)
children_property(const std::string &nm, const graphics_handle &h, const Matrix &val)
bool do_set(const octave_value &val)
color_property(const radio_values &v, const color_values &c)
color_property(const std::string &nm, const graphics_handle &h, const color_values &c=color_values(), const radio_values &v=radio_values())
Cell values_as_cell() const
bool is(const std::string &v) const
color_property(const color_values &c, const radio_values &v)
color_property(const std::string &nm, const graphics_handle &h, const radio_values &v)
color_property(const std::string &nm, const graphics_handle &h, const color_property &v)
color_property(const std::string &nm, const graphics_handle &h, const std::string &v)
const std::string & current_value() const
~color_property()=default
std::string values_as_string() const
base_property * clone() const
color_values(double r=0, double g=0, double b=1)
color_values(const std::string &str)
Vector representing the dimensions (size) of an Array.
double double_value() const
double_property(const double_property &p)
void add_constraint(const finite_type finite)
bool do_set(const octave_value &v)
double_property(const std::string &nm, const graphics_handle &h, double d=0)
base_property * clone() const
void add_constraint(const std::string &type, double val, bool inclusive)
~double_property()=default
double double_value() const
double_radio_property(const std::string &nm, const graphics_handle &h, const double_radio_property &v)
double_radio_property()=delete
~double_radio_property()=default
const std::string & current_value() const
base_property * clone() const
double_radio_property(const std::string &nm, const graphics_handle &h, const std::string &v)
bool is(const std::string &v) const
double_radio_property(double d, const radio_values &v)
~graphics_event()=default
static graphics_event create_mcode_event(const graphics_handle &h, const std::string &cmd, int busyaction)
graphics_event(const graphics_event &)=default
graphics_event & operator=(const graphics_event &)=default
void(* event_fcn)(void *)
static graphics_event create_function_event(event_fcn fcn, void *data=nullptr)
graphics_event(base_graphics_event *new_rep)
static graphics_event create_set_event(const graphics_handle &h, const std::string &name, const octave_value &value, bool notify_toolkit=true, bool redraw_figure=false)
static graphics_event create_callback_event(const graphics_handle &h, const std::string &name, const octave_value &data=Matrix(), int busyaction=base_graphics_event::QUEUE)
void update_axis_limits(const std::string &axis_type, const graphics_handle &h)
octave_value get(const caseless_str &name) const
bool is_xliminclude() const
std::string value_as_string(const std::string &prop)
void remove_all_listeners()
octave_value get_alim() const
void override_defaults(base_graphics_object &obj)
octave_value get_ylim() const
~graphics_object()=default
bool has_readonly_property(const caseless_str &pname) const
bool is_climinclude() const
octave_value get(bool all=false) const
graphics_object(const graphics_object &)=default
void reset_default_properties()
void set(const caseless_str &name, const octave_value &val)
void update_axis_limits(const std::string &axis_type)
std::string values_as_string()
void delete_property_listener(const std::string &nm, const octave_value &v, listener_mode mode=GCB_POSTSET)
base_properties & get_properties()
bool isa(const std::string &go_name) const
const base_properties & get_properties() const
octave_value get_zlim() const
bool is_handle_visible() const
octave_value get(const char *name) const
octave_value get_factory_default(const caseless_str &name) const
octave_value get(const std::string &name) const
octave_value get_xlim() const
void reparent(const graphics_handle &h)
graphics_handle get_parent() const
octave_value get_defaults() const
graphics_handle get_handle() const
octave_value get_default(const caseless_str &name) const
void set_defaults(const std::string &mode)
property_list get_defaults_list() const
octave_value get_clim() const
void build_user_defaults_map(property_list::pval_map_type &def, const std::string go_name) const
octave_value get_factory_defaults() const
bool valid_object() const
void set_from_list(property_list &plist)
graphics_object(base_graphics_object *new_rep)
void remove_child(const graphics_handle &h)
property_list get_factory_defaults_list() const
void add_property_listener(const std::string &nm, const octave_value &v, listener_mode mode=GCB_POSTSET)
bool is_zliminclude() const
void adopt(const graphics_handle &h)
bool is_aliminclude() const
octave::graphics_toolkit get_toolkit() const
bool is_yliminclude() const
octave_map values_as_struct()
std::set< std::string > m_type_constraints
handle_property(const handle_property &)=default
handle_property(const std::string &nm, const graphics_handle &h, const graphics_handle &val=graphics_handle())
void add_constraint(const std::string &type)
~handle_property()=default
graphics_handle handle_value() const
base_property * clone() const
octave_value get(const std::string &pname) const
void set_yliminclude(const octave_value &val)
void set_aliminclude(const octave_value &val)
octave_value get_ylim() const
bool is_zliminclude() const
std::string get_aliminclude() const
bool is_yliminclude() const
void set_displayname(const octave_value &val)
void set_zliminclude(const octave_value &val)
void set_zlim(const octave_value &val)
bool is_xliminclude() const
octave_value get_zlim() const
octave_value get_alim() const
void set_clim(const octave_value &val)
bool is_climinclude() const
octave_value get_clim() const
void set_xlim(const octave_value &val)
std::string get_displayname() const
octave_value get_xlim() const
std::string get_zliminclude() const
std::string graphics_object_name() const
std::string get_climinclude() const
std::string get_yliminclude() const
void set_ylim(const octave_value &val)
void set_alim(const octave_value &val)
bool is_aliminclude() const
void set_xliminclude(const octave_value &val)
void set_climinclude(const octave_value &val)
octave_value get(const char *pname) const
std::string get_xliminclude() const
hggroup(const graphics_handle &mh, const graphics_handle &p)
base_properties & get_properties()
bool has_readonly_property(const caseless_str &pname) const
bool valid_object() const
const base_properties & get_properties() const
octave_value get_alphadata() const
bool is_aliminclude() const
bool is_climinclude() const
bool ydatamode_is(const std::string &v) const
octave_value get(const std::string &pname) const
octave_value get_xlim() const
void set_climinclude(const octave_value &val)
bool is_yliminclude() const
void set_alim(const octave_value &val)
std::string get_alphadatamapping() const
octave_value get_alim() const
std::string get_cdatamapping() const
bool cdatamapping_is(const std::string &v) const
void set_alphadatamapping(const octave_value &val)
void set_ydatamode(const octave_value &val)
void set_alphadata(const octave_value &val)
void set_aliminclude(const octave_value &val)
bool alphadatamapping_is(const std::string &v) const
octave_value get_clim() const
std::string get_climinclude() const
void set_ydata(const octave_value &val)
void set_clim(const octave_value &val)
octave_value get_xdata() const
std::string get_yliminclude() const
void set_xliminclude(const octave_value &val)
bool is_xliminclude() const
std::string get_xdatamode() const
octave_value get_cdata() const
void set_xlim(const octave_value &val)
void set_yliminclude(const octave_value &val)
std::string get_aliminclude() const
void set_xdatamode(const octave_value &val)
void set_xdata(const octave_value &val)
std::string graphics_object_name() const
bool xdatamode_is(const std::string &v) const
void set_cdatamapping(const octave_value &val)
std::string get_xliminclude() const
void set_cdata(const octave_value &val)
octave_value get_ydata() const
octave_value get_ylim() const
octave_value get(const char *pname) const
void set_ylim(const octave_value &val)
std::string get_ydatamode() const
image(const graphics_handle &mh, const graphics_handle &p)
bool valid_object() const
base_properties & get_properties()
const base_properties & get_properties() const
bool has_readonly_property(const caseless_str &pname) const
void set_style(const octave_value &val)
octave_value get_position() const
octave_value get(const char *pname) const
octave_value get(const std::string &pname) const
std::string get_style() const
bool style_is(const std::string &v) const
octave_value get_color() const
Matrix get_color_rgb() const
void set_color(const octave_value &val)
void set_position(const octave_value &val)
std::string graphics_object_name() const
bool color_is_rgb() const
bool color_is(const std::string &v) const
bool valid_object() const
light(const graphics_handle &mh, const graphics_handle &p)
bool has_readonly_property(const caseless_str &pname) const
base_properties & get_properties()
const base_properties & get_properties() const
base_scaler * clone() const
double unscale(double d) const
double scale(double d) const
NDArray scale(const NDArray &m) const
Matrix scale(const Matrix &m) const
void set_linestyle(const octave_value &val)
std::string get_marker() const
std::string graphics_object_name() const
bool marker_is(const std::string &v) const
Matrix get_color_rgb() const
std::string get_xliminclude() const
std::string get_displayname() const
void set_zlim(const octave_value &val)
std::string get_zliminclude() const
std::string get_yliminclude() const
bool linejoin_is(const std::string &v) const
double get_linewidth() const
void set_yliminclude(const octave_value &val)
bool markeredgecolor_is(const std::string &v) const
octave_value get_color() const
std::string get_zdatasource() const
octave_value get_ylim() const
bool is_xliminclude() const
void set_zdata(const octave_value &val)
bool color_is_rgb() const
void set_displayname(const octave_value &val)
void set_ydatasource(const octave_value &val)
octave_value get(const std::string &pname) const
void set_ylim(const octave_value &val)
void set_zdatasource(const octave_value &val)
void set_markeredgecolor(const octave_value &val)
void set_xdata(const octave_value &val)
double get_markersize() const
octave_value get_markeredgecolor() const
std::string get_linestyle() const
bool is_zliminclude() const
Matrix get_markeredgecolor_rgb() const
void set_xdatasource(const octave_value &val)
bool markerfacecolor_is(const std::string &v) const
void set_xliminclude(const octave_value &val)
bool linestyle_is(const std::string &v) const
bool markerfacecolor_is_rgb() const
octave_value get_xlim() const
void set_zliminclude(const octave_value &val)
void set_xlim(const octave_value &val)
void set_markerfacecolor(const octave_value &val)
bool is_yliminclude() const
octave_value get_markerfacecolor() const
void set_linejoin(const octave_value &val)
octave_value get(const char *pname) const
void set_linewidth(const octave_value &val)
bool color_is(const std::string &v) const
std::string get_ydatasource() const
octave_value get_ydata() const
octave_value get_zlim() const
void set_ydata(const octave_value &val)
bool markeredgecolor_is_rgb() const
void set_color(const octave_value &val)
void set_marker(const octave_value &val)
std::string get_linejoin() const
void set_markersize(const octave_value &val)
std::string get_xdatasource() const
octave_value get_zdata() const
Matrix get_markerfacecolor_rgb() const
octave_value get_xdata() const
line(const graphics_handle &mh, const graphics_handle &p)
base_properties & get_properties()
bool valid_object() const
bool has_readonly_property(const caseless_str &pname) const
const base_properties & get_properties() const
Matrix scale(const Matrix &m) const
base_scaler * clone() const
NDArray scale(const NDArray &m) const
double unscale(double d) const
double scale(double d) const
base_scaler * clone() const
double unscale(double d) const
NDArray scale(const NDArray &m) const
double scale(double d) const
void resize(octave_idx_type n, const octave_value &rfv=octave_value())
octave_idx_type length() const
bool is_undefined() const
bool bool_value(bool warn=false) const
charMatrix char_matrix_value(bool frc_str_conv=false) const
octave_idx_type rows() const
bool is_scalar_type() const
octave_idx_type numel() const
std::string string_value(bool force=false) const
string_vector string_vector_value(bool pad=false) const
NDArray array_value(bool frc_str_conv=false) const
bool is_bool_scalar() const
octave_value full_value() const
octave_value resize(const dim_vector &dv, bool fill=false) const
Matrix matrix_value(bool frc_str_conv=false) const
double double_value(bool frc_str_conv=false) const
void set_zlim(const octave_value &val)
octave_value get_ydata() const
std::string get_displayname() const
void set_backfacelighting(const octave_value &val)
double get_ambientstrength() const
void set_markeredgecolor(const octave_value &val)
octave_value get_zlim() const
bool edgealpha_is_double() const
void set_facelighting(const octave_value &val)
void set_aliminclude(const octave_value &val)
void set_edgelighting(const octave_value &val)
void set_displayname(const octave_value &val)
bool has_bad_data(std::string &msg) const
std::string graphics_object_name() const
void set_yliminclude(const octave_value &val)
bool linestyle_is(const std::string &v) const
bool backfacelighting_is(const std::string &v) const
bool edgecolor_is_rgb() const
double get_markersize() const
void set_linestyle(const octave_value &val)
octave_value get(const std::string &pname) const
bool alphadatamapping_is(const std::string &v) const
std::string get_cdatamapping() const
bool markerfacecolor_is(const std::string &v) const
std::string get_yliminclude() const
octave_value get_ylim() const
bool markeredgecolor_is(const std::string &v) const
std::string get_climinclude() const
void set_markerfacecolor(const octave_value &val)
void set_specularexponent(const octave_value &val)
void set_alim(const octave_value &val)
octave_value get_facecolor() const
void set_cdatamapping(const octave_value &val)
void set_ydata(const octave_value &val)
bool is_yliminclude() const
double get_linewidth() const
bool markerfacecolor_is_rgb() const
void set_ylim(const octave_value &val)
bool is_climinclude() const
bool marker_is(const std::string &v) const
bool facealpha_is(const std::string &v) const
std::string get_aliminclude() const
void set_vertexnormals(const octave_value &val)
double get_specularstrength() const
bool markeredgecolor_is_rgb() const
std::string get_edgelighting() const
void set_xliminclude(const octave_value &val)
Matrix get_markeredgecolor_rgb() const
octave_value get_facevertexcdata() const
std::string get_backfacelighting() const
bool is_xliminclude() const
void set_vertexnormalsmode(const octave_value &val)
void set_zdata(const octave_value &val)
double get_edgealpha_double() const
void set_alphadatamapping(const octave_value &val)
double get_diffusestrength() const
octave_value get_vertices() const
void set_facenormalsmode(const octave_value &val)
bool facecolor_is_rgb() const
void set_xdata(const octave_value &val)
bool edgelighting_is(const std::string &v) const
std::string get_marker() const
void set_facevertexalphadata(const octave_value &val)
void set_vertices(const octave_value &val)
double get_specularexponent() const
void set_diffusestrength(const octave_value &val)
double get_specularcolorreflectance() const
std::string get_linestyle() const
void set_faces(const octave_value &val)
bool facelighting_is(const std::string &v) const
std::string get_vertexnormalsmode() const
Matrix get_edgecolor_rgb() const
std::string get_alphadatamapping() const
void set_marker(const octave_value &val)
void set_edgealpha(const octave_value &val)
std::string get_facelighting() const
octave_value get_xdata() const
void set_clim(const octave_value &val)
bool vertexnormalsmode_is(const std::string &v) const
octave_value get_edgecolor() const
octave_value get_alim() const
void set_specularcolorreflectance(const octave_value &val)
bool facenormalsmode_is(const std::string &v) const
void set_facealpha(const octave_value &val)
std::string get_xliminclude() const
bool edgealpha_is(const std::string &v) const
octave_value get_markeredgecolor() const
double get_facealpha_double() const
bool facealpha_is_double() const
octave_value get_xlim() const
void set_markersize(const octave_value &val)
std::string get_zliminclude() const
void set_specularstrength(const octave_value &val)
octave_value get_markerfacecolor() const
octave_value get_edgealpha() const
Matrix get_markerfacecolor_rgb() const
octave_value get_vertexnormals() const
octave_value get_facealpha() const
octave_value get_zdata() const
octave_value get_clim() const
octave_value get_facenormals() const
void set_facenormals(const octave_value &val)
octave_value get(const char *pname) const
void update_normals(bool reset, bool force=false)
void set_facevertexcdata(const octave_value &val)
bool is_zliminclude() const
void set_xlim(const octave_value &val)
void set_edgecolor(const octave_value &val)
bool edgecolor_is(const std::string &v) const
void set_zliminclude(const octave_value &val)
void set_linewidth(const octave_value &val)
Matrix get_facecolor_rgb() const
std::vector< std::vector< octave_idx_type > > m_coplanar_last_idx
octave_value get_faces() const
bool facecolor_is(const std::string &v) const
void set_facecolor(const octave_value &val)
bool cdatamapping_is(const std::string &v) const
std::string get_facenormalsmode() const
void set_cdata(const octave_value &val)
void set_climinclude(const octave_value &val)
octave_value get_facevertexalphadata() const
octave_value get_cdata() const
void set_ambientstrength(const octave_value &val)
bool is_aliminclude() const
patch(const graphics_handle &mh, const graphics_handle &p)
bool valid_object() const
const base_properties & get_properties() const
bool has_readonly_property(const caseless_str &pname) const
base_properties & get_properties()
plist_map_const_iterator end() const
plist_map_const_iterator begin() const
plist_map_iterator find(const std::string &go_name)
property_list(const plist_map_type &m=plist_map_type())
plist_map_const_iterator find(const std::string &go_name) const
plist_map_type::const_iterator plist_map_const_iterator
plist_map_iterator begin()
pval_map_type::iterator pval_map_iterator
pval_map_type::const_iterator pval_map_const_iterator
std::map< std::string, pval_map_type > plist_map_type
plist_map_type::iterator plist_map_iterator
pval_vector pval_map_type
property & operator=(const octave_value &val)
Cell values_as_cell() const
void delete_listener(const octave_value &v=octave_value(), listener_mode mode=GCB_POSTSET)
void set_hidden(bool flag)
void set_parent(const graphics_handle &h)
property(base_property *bp, bool persist=false)
property(const property &p)
void set_name(const std::string &name)
void run_listeners(listener_mode mode=GCB_POSTSET)
std::string values_as_string() const
void add_listener(const octave_value &v, listener_mode mode=GCB_POSTSET)
graphics_handle get_parent() const
bool set(const octave_value &val, bool do_run=true, bool do_notify_toolkit=true)
std::string get_name() const
octave_value lookup(const std::string pname) const
iterator find(const std::string pname)
void erase(const std::string pname)
const_iterator find(const std::string pname) const
base_property * clone() const
radio_property(const std::string &nm, const graphics_handle &h, const std::string &v)
radio_property(const std::string &nm, const graphics_handle &h, const radio_values &v=radio_values())
radio_property(const std::string &nm, const graphics_handle &h, const radio_values &v, const std::string &def)
~radio_property()=default
Cell values_as_cell() const
bool is(const caseless_str &v) const
const std::string & current_value() const
bool do_set(const octave_value &newval)
std::string values_as_string() const
bool contains(const std::string &val, std::string &match)
bool validate(const std::string &val, std::string &match)
octave_idx_type nelem() const
base_property * clone() const
row_vector_property(const row_vector_property &p)
row_vector_property(const std::string &nm, const graphics_handle &h, const octave_value &m)
row_vector_property()=delete
bool do_set(const octave_value &v)
void add_constraint(const finite_type finite)
void add_constraint(octave_idx_type len)
void add_constraint(const dim_vector &dims)
void add_constraint(const std::string &type)
void add_constraint(const std::string &type, double val, bool inclusive)
~row_vector_property()=default
Matrix scale(const Matrix &m) const
scaler(const std::string &s)
double scale(double d) const
double unscale(double d) const
NDArray scale(const NDArray &m) const
void set_xlim(const octave_value &val)
void set_ydatasource(const octave_value &val)
void set_cdata(const octave_value &val)
std::string get_zdatasource() const
void set_xdatasource(const octave_value &val)
void set_yliminclude(const octave_value &val)
void set_rdatasource(const octave_value &val)
std::string get_aliminclude() const
void set_displayname(const octave_value &val)
octave_value get_clim() const
void set_datatiptemplate(const octave_value &val)
void set_longitudedata(const octave_value &val)
std::string get_cdatamode() const
void set_markerfacealpha(const octave_value &val)
void set_ylim(const octave_value &val)
std::string get_ydatasource() const
bool markeredgecolor_is(const std::string &v) const
std::string get_xdatasource() const
std::string get_displayname() const
bool markeredgecolor_is_rgb() const
void set_rdata(const octave_value &val)
std::string get_cdatasource() const
bool is_xliminclude() const
void set_zdatasource(const octave_value &val)
octave_value get_xlim() const
octave_value get_cdata() const
void set_longitudedatasource(const octave_value &val)
std::string get_climinclude() const
octave_value get_zdata() const
bool marker_is(const std::string &v) const
void set_sizedata(const octave_value &val)
std::string get_xliminclude() const
void set_xdata(const octave_value &val)
std::string get_thetadatasource() const
void set_annotation(const octave_value &val)
std::string get_marker() const
void set_clim(const octave_value &val)
void set_marker(const octave_value &val)
octave_value get_latitudedata() const
void set_seriesindex(const octave_value &val)
octave_value get_datatiptemplate() const
std::string get_sizedatasource() const
void set_sizedatasource(const octave_value &val)
void set_linewidth(const octave_value &val)
void set_markeredgecolor(const octave_value &val)
std::string get_longitudedatasource() const
std::string get_latitudedatasource() const
octave_value get_markeredgecolor() const
octave_value get_annotation() const
void set_thetadatasource(const octave_value &val)
octave_value get_rdata() const
double get_linewidth() const
std::string get_yliminclude() const
void set_climinclude(const octave_value &val)
octave_value get_zlim() const
double get_markerfacealpha() const
void set_zlim(const octave_value &val)
octave_value get_sizedata() const
void set_cdatamode(const octave_value &val)
std::string graphics_object_name() const
void set_ydata(const octave_value &val)
octave_value get_xdata() const
void set_zdata(const octave_value &val)
bool cdatamode_is(const std::string &v) const
Matrix get_markeredgecolor_rgb() const
bool markerfacecolor_is_rgb() const
void set_xliminclude(const octave_value &val)
octave_value get_ydata() const
bool is_yliminclude() const
void set_aliminclude(const octave_value &val)
double get_markeredgealpha() const
std::string get_zliminclude() const
void set_markerfacecolor(const octave_value &val)
bool is_climinclude() const
bool is_aliminclude() const
octave_value get_markerfacecolor() const
octave_value get_thetadata() const
std::string get_rdatasource() const
octave_value get_ylim() const
bool markerfacecolor_is(const std::string &v) const
void set_alim(const octave_value &val)
void set_thetadata(const octave_value &val)
void set_cdatasource(const octave_value &val)
octave_value get(const char *pname) const
void set_zliminclude(const octave_value &val)
Matrix get_markerfacecolor_rgb() const
bool is_zliminclude() const
void set_markeredgealpha(const octave_value &val)
octave_value get_longitudedata() const
octave_value get(const std::string &pname) const
void set_latitudedatasource(const octave_value &val)
void set_latitudedata(const octave_value &val)
octave_value get_alim() const
bool has_bad_data(std::string &msg) const
octave_value get_seriesindex() const
base_properties & get_properties()
bool has_readonly_property(const caseless_str &pname) const
scatter(const graphics_handle &mh, const graphics_handle &p)
const base_properties & get_properties() const
bool valid_object() const
bool do_set(const octave_value &val)
string_array_property()=delete
string_array_property(const std::string &s, const graphics_handle &h, const Cell &c, const char &sep='|', const desired_enum &typ=string_t)
string_array_property(const string_array_property &)=default
std::string string_value() const
string_array_property(const std::string &s, const graphics_handle &h, const std::string &val="", const char &sep='|', const desired_enum &typ=string_t)
~string_array_property()=default
base_property * clone() const
string_vector string_vector_value() const
std::string string_value() const
string_property(const string_property &)=default
bool do_set(const octave_value &val)
string_property(const std::string &s, const graphics_handle &h, const std::string &val="")
~string_property()=default
base_property * clone() const
string_vector & append(const std::string &s)
octave_idx_type numel() const
bool edgealpha_is(const std::string &v) const
void set_xdatasource(const octave_value &val)
octave_value get_ylim() const
std::string graphics_object_name() const
bool backfacelighting_is(const std::string &v) const
void set_specularexponent(const octave_value &val)
void set_xdata(const octave_value &val)
void set_specularcolorreflectance(const octave_value &val)
octave_value get_facealpha() const
std::string get_zliminclude() const
std::string get_edgelighting() const
octave_value get_ydata() const
octave_value get_xdata() const
void set_xliminclude(const octave_value &val)
double get_markersize() const
octave_value get_zlim() const
void set_facealpha(const octave_value &val)
octave_value get_cdata() const
bool markeredgecolor_is_rgb() const
std::string get_meshstyle() const
void set_diffusestrength(const octave_value &val)
std::string get_aliminclude() const
Matrix get_markerfacecolor_rgb() const
void set_ambientstrength(const octave_value &val)
bool facealpha_is(const std::string &v) const
bool facelighting_is(const std::string &v) const
double get_diffusestrength() const
bool edgecolor_is(const std::string &v) const
Matrix get_markeredgecolor_rgb() const
octave_value get_markeredgecolor() const
void set_xlim(const octave_value &val)
void set_aliminclude(const octave_value &val)
void set_ydata(const octave_value &val)
void set_edgelighting(const octave_value &val)
bool meshstyle_is(const std::string &v) const
void set_markerfacecolor(const octave_value &val)
void set_zdata(const octave_value &val)
bool is_aliminclude() const
double get_edgealpha_double() const
std::string get_alphadatamapping() const
bool cdatamapping_is(const std::string &v) const
void set_meshstyle(const octave_value &val)
void set_zliminclude(const octave_value &val)
std::string get_facenormalsmode() const
double get_ambientstrength() const
void set_alphadata(const octave_value &val)
void set_linestyle(const octave_value &val)
std::string get_yliminclude() const
void set_facelighting(const octave_value &val)
octave_value get_edgealpha() const
void set_specularstrength(const octave_value &val)
void set_facecolor(const octave_value &val)
std::string get_xliminclude() const
void set_facenormals(const octave_value &val)
void update_normals(bool reset, bool force=false)
void set_zlim(const octave_value &val)
void set_zdatasource(const octave_value &val)
octave_value get(const std::string &pname) const
octave_value get_alphadata() const
Matrix get_facecolor_rgb() const
void set_vertexnormalsmode(const octave_value &val)
double get_specularstrength() const
void set_backfacelighting(const octave_value &val)
std::string get_xdatasource() const
double get_linewidth() const
bool edgelighting_is(const std::string &v) const
void set_edgealpha(const octave_value &val)
void set_cdatamapping(const octave_value &val)
void set_displayname(const octave_value &val)
bool facenormalsmode_is(const std::string &v) const
bool facecolor_is(const std::string &v) const
void set_alphadatamapping(const octave_value &val)
std::string get_displayname() const
bool is_xliminclude() const
std::string get_cdatamapping() const
bool is_yliminclude() const
void set_facenormalsmode(const octave_value &val)
std::string get_facelighting() const
bool alphadatamapping_is(const std::string &v) const
bool linestyle_is(const std::string &v) const
void set_cdata(const octave_value &val)
octave_value get_vertexnormals() const
bool facealpha_is_double() const
void set_ydatasource(const octave_value &val)
void set_cdatasource(const octave_value &val)
octave_value get_edgecolor() const
double get_specularcolorreflectance() const
octave_value get_alim() const
bool is_zliminclude() const
bool vertexnormalsmode_is(const std::string &v) const
bool marker_is(const std::string &v) const
void set_marker(const octave_value &val)
double get_specularexponent() const
void set_markeredgecolor(const octave_value &val)
octave_value get(const char *pname) const
std::string get_linestyle() const
void set_clim(const octave_value &val)
octave_value get_zdata() const
void set_alim(const octave_value &val)
void set_edgecolor(const octave_value &val)
void set_linewidth(const octave_value &val)
bool markerfacecolor_is_rgb() const
octave_value get_facenormals() const
void set_ylim(const octave_value &val)
bool facecolor_is_rgb() const
bool markerfacecolor_is(const std::string &v) const
octave_value get_markerfacecolor() const
bool edgecolor_is_rgb() const
double get_facealpha_double() const
void set_markersize(const octave_value &val)
std::string get_marker() const
octave_value get_facecolor() const
std::string get_vertexnormalsmode() const
void set_vertexnormals(const octave_value &val)
std::string get_climinclude() const
bool edgealpha_is_double() const
Matrix get_edgecolor_rgb() const
bool markeredgecolor_is(const std::string &v) const
std::string get_zdatasource() const
bool is_climinclude() const
std::string get_backfacelighting() const
void set_climinclude(const octave_value &val)
std::string get_cdatasource() const
octave_value get_clim() const
void set_yliminclude(const octave_value &val)
std::string get_ydatasource() const
octave_value get_xlim() const
bool has_readonly_property(const caseless_str &pname) const
bool valid_object() const
surface(const graphics_handle &mh, const graphics_handle &p)
base_properties & get_properties()
const base_properties & get_properties() const
octave_value get_color() const
std::string get_linestyle() const
void set_edgecolor(const octave_value &val)
bool units_is(const std::string &v) const
bool verticalalignmentmode_is(const std::string &v) const
bool fontunits_is(const std::string &v) const
bool backgroundcolor_is(const std::string &v) const
void set_color(const octave_value &val)
octave_value get_string() const
octave_value get_ylim() const
void set_fontweight(const octave_value &val)
double get_margin() const
bool __autopos_tag___is(const std::string &v) const
double get_linewidth() const
bool is_fontsmoothing() const
Matrix get_edgecolor_rgb() const
void set_editing(const octave_value &val)
octave_value get(const std::string &pname) const
void set_extent(const octave_value &val)
std::string get_verticalalignment() const
std::string get_editing() const
std::string get_verticalalignmentmode() const
Matrix get_backgroundcolor_rgb() const
void set_zliminclude(const octave_value &val)
void set_fontangle(const octave_value &val)
std::string get_fontsmoothing() const
void set_interpreter(const octave_value &val)
bool edgecolor_is_rgb() const
std::string get___autopos_tag__() const
std::string get_rotationmode() const
void set_linestyle(const octave_value &val)
std::string get_horizontalalignment() const
octave_value get_xlim() const
double get_fontsize() const
void set_margin(const octave_value &val)
std::string get_fontname() const
bool horizontalalignmentmode_is(const std::string &v) const
std::string get_units() const
std::string get_positionmode() const
bool rotationmode_is(const std::string &v) const
std::string get_horizontalalignmentmode() const
void set_backgroundcolor(const octave_value &val)
bool color_is_rgb() const
std::string get_fontweight() const
void set_rotation(const octave_value &val)
Matrix get_color_rgb() const
bool backgroundcolor_is_rgb() const
bool fontangle_is(const std::string &v) const
bool is_xliminclude() const
bool positionmode_is(const std::string &v) const
std::string get_fontunits() const
octave_value get_position() const
std::string get_fontangle() const
void set_horizontalalignmentmode(const octave_value &val)
void set_positionmode(const octave_value &val)
void set_linewidth(const octave_value &val)
bool edgecolor_is(const std::string &v) const
std::string get_zliminclude() const
void set_zlim(const octave_value &val)
void set_yliminclude(const octave_value &val)
std::string get_xliminclude() const
bool fontweight_is(const std::string &v) const
void set_fontsize(const octave_value &val)
bool linestyle_is(const std::string &v) const
void set___fontsize_points__(const octave_value &val)
void set_verticalalignment(const octave_value &val)
void set_ylim(const octave_value &val)
std::string get_interpreter() const
double get_rotation() const
void set_rotationmode(const octave_value &val)
void set_xlim(const octave_value &val)
bool is_zliminclude() const
bool verticalalignment_is(const std::string &v) const
std::string graphics_object_name() const
void set_units(const octave_value &val)
void set_verticalalignmentmode(const octave_value &val)
octave_value get_zlim() const
void set_position(const octave_value &val)
void set_xliminclude(const octave_value &val)
bool interpreter_is(const std::string &v) const
void set___autopos_tag__(const octave_value &val)
octave_value get_edgecolor() const
const uint8NDArray & get_pixels() const
bool horizontalalignment_is(const std::string &v) const
bool is_yliminclude() const
octave::text_renderer m_txt_renderer
std::string get_yliminclude() const
octave_value get_backgroundcolor() const
octave_value get(const char *pname) const
void set_horizontalalignment(const octave_value &val)
void set_fontname(const octave_value &val)
void set_string(const octave_value &val)
bool color_is(const std::string &v) const
void set_fontsmoothing(const octave_value &val)
bool do_set(const octave_value &val)
text_label_property()=delete
charMatrix char_value() const
~text_label_property()=default
base_property * clone() const
text_label_property(const std::string &s, const graphics_handle &h, const Cell &c)
text_label_property(const std::string &s, const graphics_handle &h, const std::string &val="")
text_label_property(const std::string &s, const graphics_handle &h, const NDArray &nda)
string_vector string_vector_value() const
std::string string_value() const
text_label_property(const text_label_property &)=default
bool has_readonly_property(const caseless_str &pname) const
const base_properties & get_properties() const
base_properties & get_properties()
bool valid_object() const
text(const graphics_handle &mh, const graphics_handle &p)
void set_units(const octave_value &val)
octave_value get_value() const
octave_value get___object__() const
bool fontunits_is(const std::string &v) const
std::string get_units() const
void set_min(const octave_value &val)
octave_value get(const std::string &pname) const
octave_value get_cdata() const
void set_max(const octave_value &val)
void set_keypressfcn(const octave_value &val)
std::string graphics_object_name() const
void set_extent(const octave_value &val)
void set_fontweight(const octave_value &val)
bool horizontalalignment_is(const std::string &v) const
Matrix get_backgroundcolor_rgb() const
bool foregroundcolor_is_rgb() const
bool verticalalignment_is(const std::string &v) const
std::string get_verticalalignment() const
void set_verticalalignment(const octave_value &val)
octave_value get_sliderstep() const
void set_value(const octave_value &val)
bool backgroundcolor_is_rgb() const
bool backgroundcolor_is(const std::string &v) const
void set_backgroundcolor(const octave_value &val)
std::string get_tooltipstring() const
std::string get_fontunits() const
void set_listboxtop(const octave_value &val)
bool enable_is(const std::string &v) const
void set_cdata(const octave_value &val)
void set_fontsize(const octave_value &val)
bool is___focus__() const
bool foregroundcolor_is(const std::string &v) const
void set_horizontalalignment(const octave_value &val)
void execute_callback(const octave_value &new_data=octave_value()) const
std::string get___focus__() const
void set_sliderstep(const octave_value &val)
bool units_is(const std::string &v) const
void set_position(const octave_value &val)
std::string get_clipping() const
octave_value get_position() const
void set_string(const octave_value &val)
octave_value get_callback() const
double get_listboxtop() const
octave_value get(const char *pname) const
octave_value get_backgroundcolor() const
void set_tooltipstring(const octave_value &val)
octave_value get_keypressfcn() const
octave_value get_string() const
octave_value get_foregroundcolor() const
void set_fontangle(const octave_value &val)
bool fontweight_is(const std::string &v) const
Matrix get_foregroundcolor_rgb() const
bool style_is(const std::string &v) const
std::string get_fontname() const
std::string get_horizontalalignment() const
void set___object__(const octave_value &val)
double get_fontsize() const
void set_fontname(const octave_value &val)
void set___focus__(const octave_value &val)
std::string get_fontweight() const
void set_enable(const octave_value &val)
bool fontangle_is(const std::string &v) const
void set_callback(const octave_value &val)
void set_clipping(const octave_value &val)
std::string get_string_string() const
std::string get_style() const
string_vector get_string_vector() const
std::string get_enable() const
void execute_keypressfcn(const octave_value &new_data=octave_value()) const
void set_foregroundcolor(const octave_value &val)
std::string get_fontangle() const
bool has_readonly_property(const caseless_str &pname) const
uicontrol(const graphics_handle &mh, const graphics_handle &p)
bool valid_object() const
const base_properties & get_properties() const
base_properties & get_properties()
std::string get_fontangle() const
bool foregroundcolor_is_rgb() const
octave_value get_highlightcolor() const
octave_value get(const char *pname) const
octave_value get_shadowcolor() const
Matrix get_highlightcolor_rgb() const
std::string get_titleposition() const
void set___object__(const octave_value &val)
void set_foregroundcolor(const octave_value &val)
std::string graphics_object_name() const
std::string get_units() const
bool highlightcolor_is(const std::string &v) const
octave_value get_backgroundcolor() const
void set_title(const octave_value &val)
bool foregroundcolor_is(const std::string &v) const
bool highlightcolor_is_rgb() const
bool titleposition_is(const std::string &v) const
bool fontweight_is(const std::string &v) const
std::string get_fontweight() const
Matrix get_foregroundcolor_rgb() const
bool fontangle_is(const std::string &v) const
void set_fontangle(const octave_value &val)
std::string get_fontname() const
octave_value get_position() const
octave_value get(const std::string &pname) const
std::string get_fontunits() const
bool bordertype_is(const std::string &v) const
bool backgroundcolor_is_rgb() const
void set_backgroundcolor(const octave_value &val)
void set_fontweight(const octave_value &val)
double get_borderwidth() const
Matrix get_shadowcolor_rgb() const
std::string get_title() const
void set_resizefcn(const octave_value &val)
void set_fontsize(const octave_value &val)
bool fontunits_is(const std::string &v) const
void execute_sizechangedfcn(const octave_value &new_data=octave_value()) const
void set_bordertype(const octave_value &val)
void set_shadowcolor(const octave_value &val)
void set_fontname(const octave_value &val)
bool backgroundcolor_is(const std::string &v) const
void set_borderwidth(const octave_value &val)
std::string get_bordertype() const
void execute_resizefcn(const octave_value &new_data=octave_value()) const
bool shadowcolor_is(const std::string &v) const
octave_value get_sizechangedfcn() const
bool units_is(const std::string &v) const
void set_sizechangedfcn(const octave_value &val)
void set_highlightcolor(const octave_value &val)
octave_value get_resizefcn() const
octave_value get___object__() const
octave_value get_foregroundcolor() const
void set_titleposition(const octave_value &val)
Matrix get_backgroundcolor_rgb() const
bool shadowcolor_is_rgb() const
double get_fontsize() const
base_properties & get_properties()
bool has_readonly_property(const caseless_str &pname) const
bool valid_object() const
const base_properties & get_properties() const
uipanel(const graphics_handle &mh, const graphics_handle &p)
void set_celleditcallback(const octave_value &val)
bool units_is(const std::string &v) const
void set_fontweight(const octave_value &val)
octave_value get(const char *pname) const
bool fontangle_is(const std::string &v) const
void set_foregroundcolor(const octave_value &val)
octave_value get_rowname() const
bool is_rowstriping() const
void set_fontname(const octave_value &val)
void execute_keyreleasefcn(const octave_value &new_data=octave_value()) const
void update_table_extent()
void set_keyreleasefcn(const octave_value &val)
octave_value get_columnformat() const
bool foregroundcolor_is_rgb() const
void set_extent(const octave_value &val)
std::string get_units() const
std::string get_rearrangeablecolumns() const
bool is_rearrangeablecolumns() const
std::string get_rowstriping() const
double get_fontsize() const
std::string get_fontname() const
std::string get_tooltipstring() const
bool fontunits_is(const std::string &v) const
octave_value get___object__() const
std::string graphics_object_name() const
void set_rowstriping(const octave_value &val)
void set_columnname(const octave_value &val)
void set_keypressfcn(const octave_value &val)
std::string get_fontangle() const
void set___object__(const octave_value &val)
void execute_keypressfcn(const octave_value &new_data=octave_value()) const
std::string get_fontunits() const
void set_backgroundcolor(const octave_value &val)
void set_fontangle(const octave_value &val)
octave_value get_data() const
octave_value get_cellselectioncallback() const
octave_value get_columnname() const
bool fontweight_is(const std::string &v) const
void set_columneditable(const octave_value &val)
void set_fontsize(const octave_value &val)
octave_value get_celleditcallback() const
octave_value get_columneditable() const
void set_enable(const octave_value &val)
octave_value get(const std::string &pname) const
void set_cellselectioncallback(const octave_value &val)
void set_rearrangeablecolumns(const octave_value &val)
bool foregroundcolor_is(const std::string &v) const
void set_position(const octave_value &val)
octave_value get_foregroundcolor() const
Matrix get_foregroundcolor_rgb() const
octave_value get_keypressfcn() const
void execute_cellselectioncallback(const octave_value &new_data=octave_value()) const
octave_value get_keyreleasefcn() const
void set_data(const octave_value &val)
octave_value get_backgroundcolor() const
void execute_celleditcallback(const octave_value &new_data=octave_value()) const
std::string get_enable() const
void set_rowname(const octave_value &val)
std::string get_fontweight() const
octave_value get_columnwidth() const
void set_tooltipstring(const octave_value &val)
octave_value get_position() const
base_properties & get_properties()
bool has_readonly_property(const caseless_str &pname) const
bool valid_object() const
const base_properties & get_properties() const
uitable(const graphics_handle &mh, const graphics_handle &p)
OCTAVE_BEGIN_NAMESPACE(octave) static octave_value daspk_fcn
bool operator!=(const dim_vector &a, const dim_vector &b)
void warning(const char *fmt,...)
void warning_with_id(const char *id, const char *fmt,...)
void() error(const char *fmt,...)
#define panic_impossible()
void err_not_implemented(const char *fcn)
ColumnVector xform_vector()
void scale(Matrix &m, double x, double y, double z)
ColumnVector transform(const Matrix &m, double x, double y, double z)
std::pair< std::string, octave_value > pval_pair
bool set_property_in_handle(double handle, const std::string &property, const octave_value &arg, const std::string &fcn)
void get_children_limits(double &min_val, double &max_val, double &min_pos, double &max_neg, const Matrix &kids, char limit_type)
base_graphics_object * make_graphics_object_from_type(const caseless_str &type, const graphics_handle &h=graphics_handle(), const graphics_handle &p=graphics_handle())
int calc_dimensions(const graphics_object &gh)
octave_value get_property_from_handle(double handle, const std::string &property, const std::string &fcn)
F77_RET_T const F77_DBLE const F77_DBLE F77_DBLE * d
F77_RET_T const F77_DBLE * x
octave_int< T > pow(const octave_int< T > &a, const octave_int< T > &b)
octave_int< T > xmin(const octave_int< T > &x, const octave_int< T > &y)
octave_int< T > xmax(const octave_int< T > &x, const octave_int< T > &y)
return octave_value(v1.char_array_value() . concat(v2.char_array_value(), ra_idx),((a1.is_sq_string()||a2.is_sq_string()) ? '\'' :'"'))