File indexing completed on 2024-04-28 04:02:29
0001 /* 0002 SPDX-FileCopyrightText: 2007 Dmitry Suzdalev <dimsuz@gmail.com> 0003 SPDX-FileCopyrightText: 2010 Brian Croom <brian.s.croom@gmail.com> 0004 0005 SPDX-License-Identifier: GPL-2.0-or-later 0006 */ 0007 0008 #include "borderitem.h" 0009 0010 QHash<KMinesState::BorderElement, QString> BorderItem::s_elementNames; 0011 0012 BorderItem::BorderItem( KGameRenderer* renderer, QGraphicsItem* parent ) 0013 : KGameRenderedItem(renderer, QString(), parent), m_element(KMinesState::BorderEast), 0014 m_row(-1), m_col(-1) 0015 { 0016 if(s_elementNames.isEmpty()) 0017 fillNameHash(); 0018 setShapeMode(BoundingRectShape); 0019 } 0020 0021 void BorderItem::setBorderType(KMinesState::BorderElement e) 0022 { 0023 m_element = e; 0024 updatePixmap(); 0025 } 0026 0027 void BorderItem::setRowCol(int row, int col) 0028 { 0029 m_row = row; 0030 m_col = col; 0031 } 0032 0033 int BorderItem::row() const 0034 { 0035 return m_row; 0036 } 0037 0038 int BorderItem::col() const 0039 { 0040 return m_col; 0041 } 0042 0043 void BorderItem::updatePixmap() 0044 { 0045 setSpriteKey(s_elementNames[m_element]); 0046 } 0047 0048 int BorderItem::type() const 0049 { 0050 return Type; 0051 } 0052 0053 void BorderItem::fillNameHash() 0054 { 0055 s_elementNames[KMinesState::BorderNorth] = QStringLiteral( "border.edge.north" ); 0056 s_elementNames[KMinesState::BorderSouth] = QStringLiteral( "border.edge.south" ); 0057 s_elementNames[KMinesState::BorderEast] = QStringLiteral( "border.edge.east" ); 0058 s_elementNames[KMinesState::BorderWest] = QStringLiteral( "border.edge.west" ); 0059 s_elementNames[KMinesState::BorderCornerNE] = QStringLiteral( "border.outsideCorner.ne" ); 0060 s_elementNames[KMinesState::BorderCornerNW] = QStringLiteral( "border.outsideCorner.nw" ); 0061 s_elementNames[KMinesState::BorderCornerSW] = QStringLiteral( "border.outsideCorner.sw" ); 0062 s_elementNames[KMinesState::BorderCornerSE] = QStringLiteral( "border.outsideCorner.se" ); 0063 }