Exemplo n.º 1
0
 def __init__(self, game):
     """init and position the wall"""
     # we use only white dragons for building the wall. We could actually
     # use any tile because the face is never shown anyway.
     game.wall = self
     Wall.__init__(self, game)
     self.__square = Board(1, 1, Tileset.activeTileset())
     self.__square.setZValue(ZValues.marker)
     sideLength = len(self.tiles) // 8
     self.__sides = [UIWallSide(
         Tileset.activeTileset(),
         boardRotation, sideLength) for boardRotation in (0, 270, 180, 90)]
     for side in self.__sides:
         side.setParentItem(self.__square)
         side.lightSource = self.lightSource
         side.windTile = PlayerWind(
             East,
             Internal.scene.windTileset,
             parent=side)
         side.windTile.hide()
         side.nameLabel = QGraphicsSimpleTextItem('', side)
         side.message = YellowText(side)
         side.message.setZValue(ZValues.popup)
         side.message.setVisible(False)
         side.message.setPos(side.center())
     self.__sides[0].setPos(yWidth=sideLength)
     self.__sides[3].setPos(xHeight=1)
     self.__sides[2].setPos(xHeight=1, xWidth=sideLength, yHeight=1)
     self.__sides[1].setPos(xWidth=sideLength, yWidth=sideLength, yHeight=1)
     self.__findOptimalFontHeight()
     Internal.scene.addItem(self.__square)
     Internal.Preferences.addWatch('showShadows', self.showShadowsChanged)
Exemplo n.º 2
0
Arquivo: scene.py Projeto: KDE/kajongg
 def applySettings(self):
     """apply preferences"""
     self.mainWindow.actionAngle.setEnabled(
         bool(self.game) and Internal.Preferences.showShadows)
     with MoveImmediate():
         for item in self.nonTiles():
             item.tileset = Tileset.activeTileset()
Exemplo n.º 3
0
 def __findOptimalFontHeight(self):
     """for names on walls"""
     tileHeight = Tileset.activeTileset().faceSize.height()
     font = self.__sides[0].nameLabel.font()
     size = 80
     font.setPointSize(size)
     while QFontMetrics(font).ascent() > tileHeight:
         size -= 1
         font.setPointSize(size)
     for side in self.__sides:
         side.nameLabel.setFont(font)
Exemplo n.º 4
0
 def __init__(self, player):
     assert player
     self._player = weakref.ref(player)
     self.exposedMeldDistance = 0.15
     self.concealedMeldDistance = 0.0
     self.lowerY = 1.0
     Board.__init__(self, 15.6, 2.0, Tileset.activeTileset())
     self.isHandBoard = True
     self.tileDragEnabled = False
     self.setParentItem(player.front)
     self.setPosition()
     self.setAcceptDrops(True)
     Internal.Preferences.addWatch(
         'rearrangeMelds', self.rearrangeMeldsChanged)
     Internal.Preferences.addWatch(
         'showShadows', self.showShadowsChanged)
Exemplo n.º 5
0
Arquivo: board.py Projeto: KDE/kajongg
 def __init__(self, width, height):
     Board.__init__(self, width, height, Tileset.activeTileset())
     self.setAcceptDrops(True)