def __init__(self, content, contentSize, color=COLOR["LIGHT"]["MAIN_COLOR"], font_size=20, **kwargs): super(ShortenText, self).__init__(**kwargs) texture = Short(text=content, color=color, text_size=[contentSize[0], None], shorten=True, shorten_from="right", split_str="", font_size=font_size) texture.refresh() if texture.texture.height < contentSize[1]: texture.text_size = texture.texture.size else: texture.text_size = contentSize texture.max_lines = 5 texture.render() texture.refresh() self.texture = Image(texture=texture.texture, pos_hint={ "x": 0, "top": 1 }) self.size_hint = [None, None] self.size = texture.texture.size self.add_widget(self.texture)
def __init__(self, message, writer=False, **kwargs): super(Message, self).__init__(**kwargs) MAX_WIDTH = Win.width // 2 if writer: position = {"right": .95, "center_y": .5} else: position = {"x": .05, "center_y": .5} # self.add_widget(Button(size_hint_x = MAX_WIDTH, pos_hint = {"right": 1,"y":0})) messageText = Label(text=message, padding=[3.0, 4.0], color=COLOR["LIGHT"]["MAIN_COLOR"], font="20px") messageText.refresh() if messageText.texture.size[0] <= MAX_WIDTH: messageText.text_size = [messageText.texture.size[0], None] else: messageText.text_size = [MAX_WIDTH, None] messageText.refresh() print(MAX_WIDTH, messageText.texture.size, messageText.text_size) self.size_hint_y = None self.height = messageText.texture.size[1] self.add_widget( Button(pos_hint=position, size_hint=[None, None], width=messageText.texture.size[0] + 4, height=self.height + 2, background_normal="images/backLayout.png", background_down="images/backLayout.png", background_color=[.75, .75, .75, 1])) self.add_widget( Button(pos_hint=position, size_hint_x=None, width=messageText.texture.size[0], background_normal="images/backLayout.png", background_down="images/backLayout.png")) messageImage = Image(texture=messageText.texture, size_hint_x=None, width=messageText.texture.size[0], pos_hint=position) self.add_widget(messageImage)