File indexing completed on 2024-06-02 06:03:25
0001 /* 0002 This file is part of the Kasten Framework, made within the KDE community. 0003 0004 SPDX-FileCopyrightText: 2006 Friedrich W. H. Kossebau <kossebau@kde.org> 0005 0006 SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL 0007 */ 0008 0009 #ifndef KASTEN_IF_ZOOMABLE_HPP 0010 #define KASTEN_IF_ZOOMABLE_HPP 0011 0012 // Qt 0013 #include <QtPlugin> 0014 0015 namespace Kasten { 0016 namespace If { 0017 0018 // TODO: add support for automatic zoom 0019 // enum { Manual, Width, Height, FullSize }; 0020 // perhaps zoomLevelChanged needs a flag automatically 0021 class Zoomable 0022 { 0023 public: 0024 virtual ~Zoomable(); 0025 0026 public: // set/action 0027 virtual void setZoomLevel(double Level) = 0; 0028 0029 public: // get 0030 virtual double zoomLevel() const = 0; 0031 0032 public: // signal 0033 virtual void zoomLevelChanged(double Level) = 0; 0034 }; 0035 0036 inline Zoomable::~Zoomable() = default; 0037 0038 } 0039 } 0040 0041 Q_DECLARE_INTERFACE(Kasten::If::Zoomable, "org.kde.kasten.if.zoomable/1.0") 0042 0043 #endif