Example #1
0
def _layout_text(pc, text, height):
    layout = pc.create_layout()
    layout.set_font_description(pango.FontDescription(FONT_NAME))
    layout.set_text(text)

    extents = layout.get_line(0).get_extents()[1]
    layout_width = pango.units_to_double(extents[2])
    layout_height = pango.units_to_double(pango.ASCENT(extents))
    scale_ratio = float(height) / layout_height
    return layout, scale_ratio, scale_ratio * layout_width
Example #2
0
File: text.py Project: clones/kaa
 def _clutter_render(self):
     """
     Render the widget
     """
     # FIXME: handle text larger than text widget size
     if not self._obj or 'size' in self._sync_properties:
         if not self._obj:
             self._obj = backend.Text()
             self._obj.show()
         self._clutter_set_obj_size()
     self._obj.set_line_wrap(True)
     self._obj.set_line_wrap_mode(pango.WRAP_WORD_CHAR)
     self._obj.set_use_markup(True)
     self._obj.set_font_name("%s %spx" % (self.__font.name, self.__font.size))
     self._obj.set_color(backend.Color(*self.__color))
     self._obj.set_text(self.__text_eval)
     self._intrinsic_size = self.inner_width, pango.units_to_double(self._obj.get_layout().get_size()[1])
Example #3
0
def get_cursor_pos(lyt, index):
    return [pango.units_to_double(x)
            for x in
            lyt.get_cursor_pos(index)[0]]