… | |
… | |
668 | opengl_fontmap = pango_opengl_font_map_new (); |
668 | opengl_fontmap = pango_opengl_font_map_new (); |
669 | pango_opengl_font_map_set_default_substitute ((PangoOpenGLFontMap *)opengl_fontmap, substitute_func, 0, 0); |
669 | pango_opengl_font_map_set_default_substitute ((PangoOpenGLFontMap *)opengl_fontmap, substitute_func, 0, 0); |
670 | opengl_context = pango_opengl_font_map_create_context ((PangoOpenGLFontMap *)opengl_fontmap); |
670 | opengl_context = pango_opengl_font_map_create_context ((PangoOpenGLFontMap *)opengl_fontmap); |
671 | #if defined (PANGO_VERSION_CHECK) && PANGO_VERSION_CHECK (1, 15, 2) |
671 | #if defined (PANGO_VERSION_CHECK) && PANGO_VERSION_CHECK (1, 15, 2) |
672 | pango_context_set_language (opengl_context, pango_language_from_string ("en")); |
672 | pango_context_set_language (opengl_context, pango_language_from_string ("en")); |
673 | pango_context_set_base_dir (opengl_context, PANGO_DIRECTION_WEAK_LTR); |
673 | /*pango_context_set_base_dir (opengl_context, PANGO_DIRECTION_WEAK_LTR);*/ |
674 | #endif |
674 | #endif |
675 | } |
675 | } |
676 | |
676 | |
677 | char * |
677 | char * |
678 | SDL_GetError () |
678 | SDL_GetError () |
… | |
… | |
1312 | |
1312 | |
1313 | void |
1313 | void |
1314 | cursor_pos (DC::Layout self, int index) |
1314 | cursor_pos (DC::Layout self, int index) |
1315 | PPCODE: |
1315 | PPCODE: |
1316 | { |
1316 | { |
1317 | PangoRectangle strong_pos; |
1317 | PangoRectangle pos; |
1318 | pango_layout_get_cursor_pos (self->pl, index, &strong_pos, 0); |
1318 | pango_layout_get_cursor_pos (self->pl, index, 0, &pos); |
1319 | |
1319 | |
1320 | EXTEND (SP, 3); |
1320 | EXTEND (SP, 3); |
1321 | PUSHs (sv_2mortal (newSViv (strong_pos.x / PANGO_SCALE))); |
1321 | PUSHs (sv_2mortal (newSViv (pos.x / PANGO_SCALE))); |
1322 | PUSHs (sv_2mortal (newSViv (strong_pos.y / PANGO_SCALE))); |
1322 | PUSHs (sv_2mortal (newSViv (pos.y / PANGO_SCALE))); |
1323 | PUSHs (sv_2mortal (newSViv (strong_pos.height / PANGO_SCALE))); |
1323 | PUSHs (sv_2mortal (newSViv (pos.height / PANGO_SCALE))); |
1324 | } |
1324 | } |
1325 | |
1325 | |
1326 | void |
1326 | void |
1327 | index_to_line_x (DC::Layout self, int index, int trailing = 0) |
1327 | index_to_line_x (DC::Layout self, int index, int trailing = 0) |
1328 | PPCODE: |
1328 | PPCODE: |