summaryrefslogtreecommitdiff
path: root/noncore/graphics/opie-eye/slave/slaveiface.h
authorzecke <zecke>2004-03-22 23:32:41 (UTC)
committer zecke <zecke>2004-03-22 23:32:41 (UTC)
commit428b687982966dc2efabaf6dbcc55ad0ea30aa10 (patch) (unidiff)
tree86da20abd2e4b97a59dc32e17996bde5ee74cc91 /noncore/graphics/opie-eye/slave/slaveiface.h
parent7ce623c6351646ce738a81e103632d73c5454ecc (diff)
downloadopie-428b687982966dc2efabaf6dbcc55ad0ea30aa10.zip
opie-428b687982966dc2efabaf6dbcc55ad0ea30aa10.tar.gz
opie-428b687982966dc2efabaf6dbcc55ad0ea30aa10.tar.bz2
Initial Check in of the Eye Of Zilla. This ImageViewer features
Image Infos, EXIF, Jpeg,Png,Gif support. It supports scaled loading of Jpegs. an smart image cache.... GUI needs some work and we need to find a bug in QCOP as well. TODO: Add Image Service for example Mailer Add ImageCanvas/Zoomer/Display
Diffstat (limited to 'noncore/graphics/opie-eye/slave/slaveiface.h') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/graphics/opie-eye/slave/slaveiface.h53
1 files changed, 53 insertions, 0 deletions
diff --git a/noncore/graphics/opie-eye/slave/slaveiface.h b/noncore/graphics/opie-eye/slave/slaveiface.h
new file mode 100644
index 0000000..18656c5
--- a/dev/null
+++ b/noncore/graphics/opie-eye/slave/slaveiface.h
@@ -0,0 +1,53 @@
1/*
2 * GPLv2
3 */
4
5#ifndef P_SLAVE_INTER_FACE_H
6#define P_SLAVE_INTER_FACE_H
7
8#include <qfileinfo.h>
9#include <qstringlist.h>
10#include <qmap.h>
11
12/**
13 * @short The slave worker Interface for generating Preview + Image Info + Full
14 * IMage Info
15 */
16class QPixmap;
17class SlaveInterface {
18public:
19 SlaveInterface(const QStringList& imageformats);
20 virtual ~SlaveInterface();
21
22 QStringList imageFormats()const;
23 bool supports( const QString& )const;
24 virtual QString iconViewName(const QString&) = 0;
25 virtual QString fullImageInfo(const QString& )= 0;
26 virtual QPixmap pixmap( const QString&, int width, int height ) = 0;
27private:
28 QStringList m_list;
29};
30
31inline bool SlaveInterface::supports( const QString& str)const {
32 return m_list.contains( QFileInfo( str ).extension(false) );
33}
34
35typedef SlaveInterface* (*phunkSlaveCreateFunc )();
36typedef QMap<QString,phunkSlaveCreateFunc> SlaveMap;
37
38typedef QMap<QString, SlaveInterface*> SlaveObjects;
39
40SlaveMap* slaveMap();
41SlaveObjects* slaveObjects();
42
43
44
45#define PHUNK_VIEW_INTERFACE( NAME, IMPL ) \
46 static SlaveInterface *create_ ## IMPL() { \
47 return new IMPL(); \
48 } \
49 static SlaveMap::Iterator dummy_ ## IMPL = slaveMap()->insert( NAME, create_ ## IMPL );
50
51
52
53#endif