예제 #1
0
    def __init__(self, gameboard, text_id, caption, x, y, font, size, color,
                 bg_color, h_align, v_align, max_width, max_height, timer,
                 mov_x, mov_y):
        self.gameboard = gameboard
        self.screen = self.gameboard.screen
        self.x = x
        self.y = y
        self.font = font
        self.size = size
        self.color = color
        self.bg_color = bg_color
        self.text_id = text_id
        self.caption = caption.replace('_', ' ')
        self.timer = timer * self.gameboard.fps
        self.mov_x = mov_x
        self.mov_y = mov_y
        self.h_align = h_align
        self.v_align = v_align
        self.max_width = round(max_width * self.gameboard.square_width)

        self.redraw = True
        self.visible = True
        self.shadow = 0
        self.sh_dist_x = 1
        self.sh_dist_y = 1

        freetype.set_default_resolution(self.gameboard.square_height)
        self.text_font = pygame.freetype.Font(self.fonts[self.font], self.size)
        self.space_size = self.text_font.get_rect(' ')

        self.line_spacing = self.text_font.get_sized_height()
        self.actual_width, self.max_height = self.get_text_height()
예제 #2
0
    def __init__(self, gameboard, caption, x, y, font, size, color, h_align,
                 v_align, timer, mov_x, mov_y):
        self.gameboard = gameboard
        self.screen = self.gameboard.screen
        self.x = x
        self.y = y
        self.font = font
        self.size = size
        self.color = color
        self.caption = caption.replace('_', ' ')
        self.timer = timer * self.gameboard.fps
        self.mov_x = mov_x
        self.mov_y = mov_y
        self.h_align = h_align
        self.v_align = v_align

        self.visible = True
        self.shadow = 1
        self.sh_dist_x = 2
        self.sh_dist_y = 2

        freetype.set_default_resolution(self.gameboard.square_height)
        self.text_font = freetype.Font(self.fonts[self.font], self.size)

        self.gameboard.render_text_list.append(self)
예제 #3
0
 def test_freetype_Face_resolution(self):
     text = "|"  # Differs in width and height
     resolution = ft.get_default_resolution()
     new_face = ft.Face(self._sans_path, resolution=2 * resolution)
     self.assertEqual(new_face.resolution, 2 * resolution)
     size_normal = self._TEST_FONTS['sans'].get_rect(text, ptsize=24).size
     size_scaled = new_face.get_rect(text, ptsize=24).size
     size_by_2 = size_normal[0] * 2
     self.assertTrue(size_by_2 + 2 >= size_scaled[0] >= size_by_2 - 2,
                     "%i not equal %i" % (size_scaled[1], size_by_2))
     size_by_2 = size_normal[1] * 2
     self.assertTrue(size_by_2 + 2 >= size_scaled[1] >= size_by_2 - 2,
                     "%i not equal %i" % (size_scaled[1], size_by_2))
     new_resolution = resolution + 10
     ft.set_default_resolution(new_resolution)
     try:
         new_face = ft.Face(self._sans_path, resolution=0)
         self.assertEqual(new_face.resolution, new_resolution)
     finally:
         ft.set_default_resolution()
예제 #4
0
 def test_resolution(self):
     was_init = ft.was_init()
     if not was_init:
         ft.init()
     try:
         ft.set_default_resolution()
         resolution = ft.get_default_resolution()
         self.assertEqual(resolution, 72)
         new_resolution = resolution + 10
         ft.set_default_resolution(new_resolution)
         self.assertEqual(ft.get_default_resolution(), new_resolution)
         ft.init(resolution=resolution+20)
         self.assertEqual(ft.get_default_resolution(), new_resolution)
     finally:
         ft.set_default_resolution()
         if was_init:
             ft.quit()