/****************************************************************************/1// Eclipse SUMO, Simulation of Urban MObility; see https://eclipse.dev/sumo2// Copyright (C) 2001-2025 German Aerospace Center (DLR) and others.3// This program and the accompanying materials are made available under the4// terms of the Eclipse Public License 2.0 which is available at5// https://www.eclipse.org/legal/epl-2.0/6// This Source Code may also be made available under the following Secondary7// Licenses when the conditions for such availability set forth in the Eclipse8// Public License 2.0 are satisfied: GNU General Public License, version 29// or later which is available at10// https://www.gnu.org/licenses/old-licenses/gpl-2.0-standalone.html11// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-or-later12/****************************************************************************/13/// @file GUITextureSubSys.h14/// @author Pablo Alvarez Lopez15/// @date Jul 201616///17// A class to manage gifs of SUMO18/****************************************************************************/19#pragma once20#include <config.h>2122#include <utils/foxtools/fxheader.h>23#include <utils/xml/SUMOXMLDefinitions.h>2425#include "GUITextures.h"26#include "GUITexturesHelper.h"2728// ===========================================================================29// class definitions30// ===========================================================================3132class GUITextureSubSys {3334public:35/**@brief Initiate GUITextureSubSys for textures36* @param[in] a FOX Toolkit APP37*/38static void initTextures(FXApp* a);3940/**@brief returns a texture previously defined in the enum GUITexture41* @param[in] GUITexture code of texture to use42*/43static GUIGlID getTexture(GUITexture which);4445/// @brief returns texture associated to the given POI image46static GUIGlID getPOITexture(POIIcon POIIcon);4748/**@brief Reset textures49* @note Necessary to avoid problems with textures (ej: white empty)50*/51static void resetTextures();5253/// @brief close GUITextureSubSys54static void close();5556private:57/// @brief constructor private because is called by the static function init(FXApp* a58GUITextureSubSys(FXApp* app);5960/// @brief destructor61~GUITextureSubSys();6263/// @pointer to Fox App64FXApp* myApp;6566/// @brief instance of GUITextureSubSys67static GUITextureSubSys* myInstance;6869/// @brief vector with the Gifs70std::map<GUITexture, GUIGlID> myTextures;7172/// @brief map with textures73std::map<POIIcon, GUIGlID> myPOITextures;74};757677