diff options
author | Paul Pogonyshev <pogonyshev@gmx.net> | 2009-06-18 23:19:05 +0300 |
---|---|---|
committer | Paul Pogonyshev <pogonyshev@gmx.net> | 2009-06-18 23:21:49 +0300 |
commit | 8383c5ef563e9fae6d13d026402776210ed5e90e (patch) | |
tree | ef1548780d41dd22958a2526555b99c8411d9830 | |
parent | 9a7cd2f9654680b74d2795b94f47da5b8c82243c (diff) | |
download | pygtk-8383c5ef563e9fae6d13d026402776210ed5e90e.tar.gz |
Allow pango.Context creation
Wrap and document pango.Context constructor, set_font_map() and
pango.FontMap.create_context() methods. Bug #550855.
-rw-r--r-- | docs/reference/pygtk-pangocontext.xml | 88 | ||||
-rw-r--r-- | docs/reference/pygtk-pangofontmap.xml | 38 | ||||
-rw-r--r-- | pango.defs | 7 | ||||
-rw-r--r-- | pango.override | 9 |
4 files changed, 133 insertions, 9 deletions
diff --git a/docs/reference/pygtk-pangocontext.xml b/docs/reference/pygtk-pangocontext.xml index 1a9dbd70..ddb3fdd2 100644 --- a/docs/reference/pygtk-pangocontext.xml +++ b/docs/reference/pygtk-pangocontext.xml @@ -16,6 +16,18 @@ rendering.</refpurpose> <ooclass><classname>pango.Context</classname></ooclass> <ooclass><classname><link linkend="class-gobject">gobject.GObject</link></classname></ooclass> + <constructorsynopsis language="python"> + <methodname><link linkend="constructor-pangocontext">pango.Context</link></methodname> + <methodparam></methodparam> + </constructorsynopsis> + <methodsynopsis language="python"> + <methodname><link linkend="method-pangocontext--get-font-map">get_font_map</link></methodname> + <methodparam></methodparam> + </methodsynopsis> + <methodsynopsis language="python"> + <methodname><link linkend="method-pangocontext--set-font-map">set_font_map</link></methodname> + <methodparam><parameter role="keyword">font_map</parameter></methodparam> + </methodsynopsis> <methodsynopsis language="python"> <methodname><link linkend="method-pangocontext--list-families">list_families</link></methodname> @@ -122,9 +134,85 @@ method.</para> </refsect1> + <refsect1 id="constructor-pangocontext"> + <title>Constructor</title> + + <programlisting><constructorsynopsis language="python"> + <methodname>pango.Context</methodname> + </constructorsynopsis></programlisting> + <variablelist> + <varlistentry> + <term><emphasis>Returns</emphasis> :</term> + <listitem><simpara>a new <link linkend="class-pangocontext"><classname>pango.Context</classname></link> + <emphasis>without</emphasis> an associated font map</simpara></listitem> + </varlistentry> + </variablelist> + + <note> + <para>Constructor is available in PyGTK 2.16 and above.</para> + </note> + + <para>Creates a new PangoContext initialized to default values.</para> + + <para>This constructor is not particularly useful as it should always be followed by a + call to <link linkend="method-pangocontext--set-font-map">set_font_map</link> + method. Method <link linkend="method-pangofontmap--create-context">pango.FontMap.create_context</link> + does these two steps together and hence users are recommended to use that.</para> + + <para>If you are using Pango as part of a higher-level system, that system may have + it's own way of create a <link linkend="class-pangocontext">pango.Context</link>. + For instance, the GTK+ toolkit has, among others, + <link linkend="function-gdk--pango-context-get-for-screen">gtk.gdk.pango_context_get_for_screen</link> + and <link linkend="method-gtkwidget--get-pango-context">gtk.Widget.get_pango_context</link>. + Use those instead. + </para> + </refsect1> + <refsect1> <title>Methods</title> + <refsect2 id="method-pangocontext--get-font-map"> + <title>pango.Context.get_font_map</title> + + <programlisting><methodsynopsis language="python"> + <methodname>get_font_map</methodname> + <methodparam></methodparam> + </methodsynopsis></programlisting> + <variablelist> + <varlistentry> + <term><emphasis>Returns</emphasis> :</term> + <listitem><simpara>the font map for the + <link linkend="class-pangocontext"><classname>pango.Context</classname></link>.</simpara></listitem> + </varlistentry> + </variablelist> + </refsect2> + + <refsect2 id="method-pangocontext--set-font-map"> + <title>pango.Context.get_font_map</title> + + <programlisting><methodsynopsis language="python"> + <methodname>set_font_map</methodname> + <methodparam><parameter role="keyword">font_map</parameter></methodparam> + </methodsynopsis></programlisting> + <variablelist> + <varlistentry> + <term><parameter role="keyword">font_map</parameter> :</term> + <listitem><simpara>the <link linkend="class-pangofontmap"><classname>pango.FontMap</classname> + to set</link> object</simpara></listitem> + </varlistentry> + </variablelist> + + <note> + <para>This method is available in PyGTK 2.16 and above.</para> + </note> + + <para>Sets the font map to be searched when fonts are looked-up in this + context. This is only for internal use by Pango backends, + a <link linkend="class-pangocontext"><classname>pango.Context</classname></link> + obtained via one of the recommended methods should already have a suitable font + map.</para> + </refsect2> + <refsect2 id="method-pangocontext--list-families"> <title>pango.Context.list_families</title> diff --git a/docs/reference/pygtk-pangofontmap.xml b/docs/reference/pygtk-pangofontmap.xml index a8dbeef4..791b7343 100644 --- a/docs/reference/pygtk-pangofontmap.xml +++ b/docs/reference/pygtk-pangofontmap.xml @@ -17,6 +17,10 @@ particular rendering system.</refpurpose> <ooclass><classname><link linkend="class-gobject">gobject.GObject</link></classname></ooclass> <methodsynopsis language="python"> + <methodname><link linkend="method-pangofontmap--create-context">create_context</link></methodname> + <methodparam></methodparam> + </methodsynopsis> + <methodsynopsis language="python"> <methodname><link linkend="method-pangofontmap--load-font">load_font</link></methodname> <methodparam><parameter @@ -72,6 +76,40 @@ object in <literal>PyGTK</literal>.</para> <refsect1> <title>Methods</title> + <refsect2 id="method-pangofontmap--create-context"> + <title>pango.FontMap.create_context</title> + + <programlisting><methodsynopsis language="python"> + <methodname>create_context</methodname> + <methodparam></methodparam> + </methodsynopsis></programlisting> + <variablelist> + <varlistentry> + <term><emphasis>Returns</emphasis> :</term> + <listitem><simpara>the newly allocated + <link linkend="class-pangocontext"><classname>pango.Context</classname></link>.</simpara></listitem> + </varlistentry> + </variablelist> + + <note> + <para>This method is available in PyGTK 2.16 and above.</para> + </note> + + <para>Creates + a <link linkend="class-pangocontext"><classname>pango.Context</classname></link> + connected to fontmap. This is equivalent to calling the class + constructor followed + by <link linkend="method-pangocontext--set-font-map">pango.Context.set_font_map</link>.</para> + + <para>If you are using Pango as part of a higher-level system, that system may have + it's own way of create a <link linkend="class-pangocontext">pango.Context</link>. + For instance, the GTK+ toolkit has, among others, + <link linkend="function-gdk--pango-context-get-for-screen">gtk.gdk.pango_context_get_for_screen</link> + and <link linkend="method-gtkwidget--get-pango-context">gtk.Widget.get_pango_context</link>. + Use those instead. + </para> + </refsect2> + <refsect2 id="method-pangofontmap--load-font"> <title>pango.FontMap.load_font</title> @@ -1473,6 +1473,13 @@ (return-type "const-char*") ) +(define-method create_context + (of-object "PangoFontMap") + (c-name "pango_font_map_create_context") + (return-type "PangoContext*") + (caller-owns-return #t) +) + (define-virtual load_font (of-object "PangoFontMap") (return-type "PangoFont*") diff --git a/pango.override b/pango.override index dcb86cf8..afe43aba 100644 --- a/pango.override +++ b/pango.override @@ -540,7 +540,6 @@ ignore pango_layout_get_log_attrs %% ignore - pango_context_set_font_map pango_glyph_string_index_to_x pango_glyph_string_x_to_index pango_break @@ -2066,11 +2065,3 @@ _wrap_pango_language_tp_str(PyObject *self) { return _wrap_pango_language_to_string(self); } -%% -override pango_context_new kwargs -static int -_wrap_pango_context_new(PyObject *self, PyObject *args, PyObject *kwargs) -{ - PyErr_SetString(PyExc_TypeError, "pango.Context cannot be instantiated directly"); - return -1; -} |