You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
80 lines
2.5 KiB
80 lines
2.5 KiB
15 years ago
|
/***************************************************************************
|
||
|
zoominterface.h - description
|
||
|
-------------------
|
||
|
begin : Fri Sep 12 2003
|
||
|
copyright : (C) 2003 by Friedrich W. H. Kossebau
|
||
|
email : Friedrich.W.H@Kossebau.de
|
||
|
***************************************************************************/
|
||
|
|
||
|
/***************************************************************************
|
||
|
* *
|
||
|
* This library is free software; you can redistribute it and/or *
|
||
|
* modify it under the terms of the GNU Library General Public *
|
||
|
* License version 2 as published by the Free Software Foundation. *
|
||
|
* *
|
||
|
***************************************************************************/
|
||
|
|
||
|
|
||
|
#ifndef ZOOMINTERFACE_H
|
||
|
#define ZOOMINTERFACE_H
|
||
|
|
||
|
|
||
|
namespace KHE
|
||
|
{
|
||
|
|
||
|
/**
|
||
|
* @short A simple interface for zooming
|
||
|
*
|
||
|
* This interface enables abstract linear zooming.
|
||
|
* It operates in sizes of font point size.
|
||
|
*
|
||
|
* @author Friedrich W. H. Kossebau <Friedrich.W.H@Kossebau.de>
|
||
|
* @see createBytesEditWidget(), zoomInterface()
|
||
|
* @since 3.2
|
||
|
*/
|
||
|
class ZoomInterface
|
||
|
{
|
||
|
public:
|
||
|
/** enlarges the display
|
||
|
* @param PointInc increment to the display size (in font point size)
|
||
|
*/
|
||
|
virtual void zoomIn( int PointInc ) = 0;
|
||
|
/** increases the display size by an arbitrary value, usually 1 font point
|
||
|
* @see zoomOut()
|
||
|
*/
|
||
|
virtual void zoomIn() = 0;
|
||
|
/** makes the display smaller
|
||
|
* @param PointDec decrement to the display size (in font point size)
|
||
|
*/
|
||
|
virtual void zoomOut( int PointDec ) = 0;
|
||
|
/** decreases the display size by an arbitrary value, usually 1 font point
|
||
|
* @see zoomIn()
|
||
|
*/
|
||
|
virtual void zoomOut() = 0;
|
||
|
/** sets the display size
|
||
|
* @param PointSize new display size (in font point size)
|
||
|
*/
|
||
|
virtual void zoomTo( int PointSize ) = 0;
|
||
|
/** resets the display to the default size */
|
||
|
virtual void unZoom() = 0;
|
||
|
};
|
||
|
|
||
|
|
||
|
/** tries to get the zoom interface of t
|
||
|
* @return a pointer to the interface, otherwise 0
|
||
|
* @author Friedrich W. H. Kossebau <Friedrich.W.H@Kossebau.de>
|
||
|
* @since 3.2
|
||
|
*/
|
||
|
template<class T>
|
||
|
ZoomInterface *zoomInterface( T *t )
|
||
|
{
|
||
|
if( !t )
|
||
|
return 0;
|
||
|
|
||
|
return static_cast<ZoomInterface*>( t->qt_cast("KHE::ZoomInterface") );
|
||
|
}
|
||
|
|
||
|
}
|
||
|
|
||
|
#endif
|