This commit is contained in:
Kovid Goyal 2017-11-05 18:14:57 +05:30
parent a8bca1c119
commit 75e1b30fc1
No known key found for this signature in database
GPG Key ID: 06BC317B515ACE7C

View File

@ -6,10 +6,11 @@ import ctypes
from collections import namedtuple
from math import ceil, floor, pi, sin, sqrt
from kitty.constants import isosx
from kitty.config import defaults
from kitty.constants import isosx
from kitty.fast_data_types import (
send_prerendered_sprites, set_font, set_font_size
Screen, send_prerendered_sprites, set_font, set_font_size,
set_send_sprite_to_gpu, sprite_map_set_limits, test_render_line
)
from kitty.fonts.box_drawing import render_box_char, render_missing_glyph
from kitty.utils import get_logical_dpi
@ -177,8 +178,8 @@ def render_box_drawing(codepoint):
return ctypes.addressof(buf), buf
def render_string(text, family='monospace', size=11.0, dpi=96.0):
from kitty.fast_data_types import set_send_sprite_to_gpu, Screen, sprite_map_set_limits, test_render_line
def setup_for_testing(family='monospace', size=11.0, dpi=96.0):
opts = defaults._replace(font_family=family)
sprites = {}
def send_to_gpu(x, y, z, data):
@ -186,9 +187,13 @@ def render_string(text, family='monospace', size=11.0, dpi=96.0):
sprite_map_set_limits(100000, 100)
set_send_sprite_to_gpu(send_to_gpu)
opts = defaults._replace(font_family=family)
try:
cell_width, cell_height = set_font_family(opts, override_dpi=(dpi, dpi), override_font_size=size)
return sprites, cell_width, cell_height
def render_string(text, family='monospace', size=11.0, dpi=96.0):
try:
sprites, cell_width, cell_height = setup_for_testing(family, size, dpi)
s = Screen(None, 1, len(text)*2)
line = s.line(0)
s.draw(text)