File indexing completed on 2024-05-05 05:48:21

0001 /*
0002  * SPDX-FileCopyrightText: 2008 Peter Penz <peter.penz19@gmail.com>
0003  *
0004  * SPDX-License-Identifier: GPL-2.0-or-later
0005  */
0006 
0007 #ifndef ZOOMLEVELINFO_H
0008 #define ZOOMLEVELINFO_H
0009 
0010 class QSize;
0011 
0012 /**
0013  * @short Helper class for getting information about the zooming
0014  *        capabilities.
0015  */
0016 class ZoomLevelInfo
0017 {
0018 public:
0019     static int minimumLevel();
0020     static int maximumLevel();
0021 
0022     /**
0023      * Helper method for the view implementation to get
0024      * the icon size for the zoom level \a level that
0025      * is between the range ZoomLevelInfo::minimumLevel() and
0026      * ZoomLevelInfo::maximumLevel().
0027      */
0028     static int iconSizeForZoomLevel(int level);
0029 
0030     /**
0031      * Helper method for the view implementation to get
0032      * the zoom level for the icon size \a size that
0033      * is between the range ZoomLevelInfo::minimumLevel() and
0034      * ZoomLevelInfo::maximumLevel().
0035      */
0036     static int zoomLevelForIconSize(const QSize &size);
0037 };
0038 
0039 #endif