label.py 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. # -*- coding: utf-8 -*-
  2. import pygame
  3. #import base64
  4. #from beeprint import pp
  5. from constants import Width,Height
  6. from util_funcs import midRect
  7. #UI lib
  8. from skin_manager import MySkinManager
  9. from lang_manager import MyLangManager
  10. class Label:
  11. _PosX=0
  12. _PosY=0
  13. _Width=0
  14. _Height=0
  15. _Text=""
  16. _FontObj=None
  17. _Color = MySkinManager.GiveColor('Text')
  18. _CanvasHWND = None
  19. _TextSurf = None
  20. def __init__(self):
  21. pass
  22. def Init(self, text, font_obj, color=MySkinManager.GiveColor('Text')):
  23. self._Color = color
  24. self._FontObj = font_obj
  25. self._Text = text
  26. my_text = self._FontObj.render(self._Text,True,self._Color)
  27. self._Width = my_text.get_width()
  28. self._Height = my_text.get_height()
  29. def NewCoord(self,x,y):
  30. self._PosX = x
  31. self._PosY = y
  32. def SetColor(self,color):
  33. self._Color = color
  34. def GetText(self):
  35. return self._Text
  36. def SetText(self,text):
  37. self._Text = text
  38. my_text = self._FontObj.render(self._Text,True,self._Color)
  39. self._Width = my_text.get_width()
  40. self._Height = my_text.get_height()
  41. def Width(self):
  42. return self._Width
  43. def SetCanvasHWND(self,_canvashwnd):
  44. self._CanvasHWND = _canvashwnd
  45. def DrawCenter(self,bold=False):
  46. self._FontObj.set_bold(bold) ## avoing same font tangling set_bold to others
  47. my_text = self._FontObj.render( self._Text,True,self._Color)
  48. self._CanvasHWND.blit(my_text,midRect(self._PosX,self._PosY,self._Width,self._Height,Width,Height))
  49. def Draw(self,bold=False):
  50. self._FontObj.set_bold(bold) ## avoing same font tangling set_bold to others
  51. my_text = self._FontObj.render( self._Text,True,self._Color)
  52. self._CanvasHWND.blit(my_text,(self._PosX,self._PosY,self._Width,self._Height))