type Efl_Font_Size: int;

interface Efl.Text_Properties {
   legacy_prefix: null;
   properties {
      font {
         set {
            /*@
            Set the font family or filename, and size on a given text object.

            This function allows the font name and size of a text object to be
            set. The @p font string has to follow fontconfig's convention on
            naming fonts, as it's the underlying library used to query system
            fonts by Evas (see the @c fc-list command's output, on your system,
            to get an idea). Alternatively, one can use a full path to a font file.

            @see evas_object_text_font_get()
            @see evas_object_text_font_source_set() */
         }
         get {
            /*@
            Retrieve the font family and size in use on a given text object.

            This function allows the font name and size of a text object to be
            queried. Be aware that the font name string is still owned by Evas
            and should @b not have free() called on it by the caller of the
            function.

            @see evas_object_text_font_set() */
         }
         values {
            const(char) *font; /*@ The font family name or filename. */
            Efl_Font_Size size; /*@ The font size, in points. */
         }
      }
      font_source {
         set {
            /*@
            Set the font (source) file to be used on a given text object.

            This function allows the font file to be explicitly set for a given
            text object, overriding system lookup, which will first occur in
            the given file's contents.

            @see evas_object_text_font_get() */
         }
         get {
            /*@
            Get the font file's path which is being used on a given text
            object.

            @return The font file's path.

            @see evas_object_text_font_get() for more details */
         }
         values {
            const(char)* font_source; /*@ The font file's path. */
         }
      }
   }
}
