/********************************************************************** * * FreeDoko a Doppelkopf-Game * * Copyright (C) 2001 – 2018 by Diether Knof and Borg Enders * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License as * published by the Free Software Foundation; either version 2 of * the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You can find this license in the file 'gpl.txt'. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, * MA 02111-1307 USA * * Contact: * Diether Knof dknof@posteo.de * **********************************************************************/ #ifdef USE_UI_GTKMM #pragma once #include "base.h" #include "../../basetypes.h" #include "table_part.h" class Player; class Game; #include #include namespace UI_GTKMM_NS { class Table; class Hand; class TrickPile; class Icongroup; class Name; /** ** base class for 'Hand', 'TrickPile', 'Icongroup' and 'Name' **/ class HTIN : public Table::Part { public: HTIN(Table& table, Position position); ~HTIN() override; Position position() const; Rotation rotation() const; Rotation rotation(Position position) const; // the corresponding player Player const& player() const; // the corresponding hand Hand& hand(); Hand const& hand() const; Hand& hand(Position position); Hand const& hand(Position position) const; // the corresponding trickpile TrickPile& trickpile(); TrickPile const& trickpile() const; TrickPile& trickpile(Position position); TrickPile const& trickpile(Position position) const; // the corresponding icongroup Icongroup& icongroup(); Icongroup const& icongroup() const; Icongroup& icongroup(Position position); Icongroup const& icongroup(Position position) const; // the corresponding name Name& name(); Name const& name() const; Name& name(Position position); Name const& name(Position position) const; private: Position position_; private: HTIN() = delete; HTIN(HTIN const&) = delete; HTIN& operator=(HTIN const&) = delete; }; // class HTIN : public Base } // namespace UI_GTKMM_NS #endif // #ifdef USE_UI_GTKMM