krita

kis_cursor.h

00001 /*
00002  *  kis_cursor.h - part of KImageShop
00003  *
00004  *  Copyright (c) 1999 Matthias Elter <elter@kde.org>
00005  *  Copyright (c) 2004 Adrian Page <adrian@pagenet.plus.com>
00006  *
00007  *  This program is free software; you can redistribute it and/or modify
00008  *  it under the terms of the GNU General Public License as published by
00009  *  the Free Software Foundation; either version 2 of the License, or
00010  *  (at your option) any later version.
00011  *
00012  *  This program is distributed in the hope that it will be useful,
00013  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
00014  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00015  *  GNU General Public License for more details.
00016  *
00017  *  You should have received a copy of the GNU General Public License
00018  *  along with this program; if not, write to the Free Software
00019  *  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
00020  */
00021 
00022 #ifndef __kis_cursor_h__
00023 #define __kis_cursor_h__
00024 #include <koffice_export.h>
00025 class QCursor;
00026 
00027 class KRITACORE_EXPORT KisCursor
00028 {
00029 
00030 public:
00031 
00032     KisCursor();
00033 
00034     // Predefined Qt cursors.
00035     static QCursor arrowCursor();         // standard arrow cursor
00036     static QCursor upArrowCursor();       // upwards arrow
00037     static QCursor crossCursor();         // crosshair
00038     static QCursor waitCursor();          // hourglass/watch
00039     static QCursor ibeamCursor();         // ibeam/text entry
00040     static QCursor sizeVerCursor();       // vertical resize
00041     static QCursor sizeHorCursor();       // horizontal resize
00042     static QCursor sizeBDiagCursor();     // diagonal resize (/)
00043     static QCursor sizeFDiagCursor();     // diagonal resize (\)
00044     static QCursor sizeAllCursor();       // all directions resize
00045     static QCursor blankCursor();         // blank/invisible cursor
00046     static QCursor splitVCursor();        // vertical splitting
00047     static QCursor splitHCursor();        // horziontal splitting
00048     static QCursor pointingHandCursor();  // a pointing hand
00049 
00050     // Existing custom KimageShop cursors. Use the 'load' function for all new cursors.
00051     static QCursor moveCursor();          // move tool cursor
00052     static QCursor penCursor();           // pen tool cursor
00053     static QCursor brushCursor();         // brush tool cursor
00054     static QCursor airbrushCursor();      // airbrush tool cursor
00055     static QCursor eraserCursor();        // eraser tool cursor
00056     static QCursor fillerCursor();        // filler tool cursor
00057     static QCursor pickerCursor();        // color picker cursor
00058     static QCursor pickerPlusCursor();        // color picker cursor
00059     static QCursor pickerMinusCursor();        // color picker cursor
00060     static QCursor colorChangerCursor();  // color changer tool cursor
00061     static QCursor selectCursor();        // select cursor
00062     static QCursor zoomCursor();          // zoom tool cursor
00063     static QCursor handCursor();          // hand tool cursor
00064     static QCursor openHandCursor();      // Pan tool cursor
00065     static QCursor closedHandCursor();    // Pan tool cursor
00066     static QCursor rotateCursor();    // Transform tool cursor
00067 
00068     // Load a cursor from an image file. The image should have an alpha channel
00069     // and will be converted to black and white on loading. Any format loadable by
00070     // QImage can be used.
00071     static QCursor load(const QString & imageFilename, int hotspotX = -1, int hotspotY = -1);
00072 };
00073 #endif // __kis_cursor_h__
KDE Home | KDE Accessibility Home | Description of Access Keys