| 1862 | } |
| 1863 | |
| 1864 | inline void title(const std::string &titlestr, const std::map<std::string, std::string> &keywords = {}) |
| 1865 | { |
| 1866 | detail::_interpreter::get(); |
| 1867 | |
| 1868 | PyObject* pytitlestr = PyString_FromString(titlestr.c_str()); |
| 1869 | PyObject* args = PyTuple_New(1); |
| 1870 | PyTuple_SetItem(args, 0, pytitlestr); |
| 1871 | |
| 1872 | PyObject* kwargs = PyDict_New(); |
| 1873 | for (auto it = keywords.begin(); it != keywords.end(); ++it) { |
| 1874 | PyDict_SetItemString(kwargs, it->first.c_str(), PyUnicode_FromString(it->second.c_str())); |
| 1875 | } |
| 1876 | |
| 1877 | PyObject* res = PyObject_Call(detail::_interpreter::get().s_python_function_title, args, kwargs); |
| 1878 | if(!res) throw std::runtime_error("Call to title() failed."); |
| 1879 | |
| 1880 | Py_DECREF(args); |
| 1881 | Py_DECREF(kwargs); |
| 1882 | Py_DECREF(res); |
| 1883 | } |
| 1884 | |
| 1885 | inline void suptitle(const std::string &suptitlestr, const std::map<std::string, std::string> &keywords = {}) |
| 1886 | { |
nothing calls this directly
no outgoing calls
no test coverage detected