summaryrefslogtreecommitdiffstats
path: root/ksnapshot/ksnapshotiface.h
blob: 6b1f34773415bf68dadd4195c213abf91a0d6dcd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
/**     KSnapshot DCOP interface
        File: ksnapshotiface.h
        Date: January 12, 2001
        Author: Ian Geiser <[email protected]>
        Comments:
                This is an addition to the existing KSnapshot code
                that will allow other applications to access internal
                public member functions via dcop.
**/

#ifndef __KS_IFACE_H
#define __KS_IFACE_H

#include <dcopobject.h>

class KSnapshotIface : virtual public DCOPObject
{
        K_DCOP
        k_dcop:
	/** the current filename (as a URL) that will
	    be used to save to */
	virtual QString url() const = 0;

        /** Grab an image **/
        virtual void slotGrab() = 0;

	/** Prints the image. */
	virtual void slotPrint() = 0;

        /** Saves the image **/
        virtual void slotSave() = 0;

	/** Save the image to the specified filename */
        virtual bool save(const QString &filename) = 0;

        /** Saves image as **/
        virtual void slotSaveAs() = 0;

        /** Copy the snapshot to the clipboard. **/
	virtual void slotCopy() = 0;

        /** Set the timeout value */
        virtual void setTime(int newTime) = 0;

	/** Get the current timeout value */
	virtual int timeout() = 0;

        /** Set the URL to the file to save **/
        virtual void setURL(const QString &newURL) = 0;

        /** Set the ability to grab the entire screen, just the window
                containing the mouse, or a region */
        virtual void setGrabMode(int grab) = 0;

	/** Return the current grab mode */
	virtual int grabMode() = 0;

	/** Move the mouse pointer. */
	virtual void slotMovePointer( int x, int y ) = 0;

        /** Exit KSnapshot **/
	virtual void exit() = 0;
};

#endif