File indexing completed on 2024-05-12 16:02:26
0001 /* 0002 * kis_cursor.cc - part of KImageShop 0003 * 0004 * SPDX-FileCopyrightText: 1999 Matthias Elter <elter@kde.org> 0005 * SPDX-FileCopyrightText: 2004 Adrian Page <adrian@pagenet.plus.com> 0006 * SPDX-FileCopyrightText: 2013 David Revoy <info@davidrevoy.com> 0007 * 0008 * SPDX-License-Identifier: GPL-2.0-or-later 0009 */ 0010 0011 #include "kis_cursor.h" 0012 0013 0014 #include <QtGlobal> 0015 #include <QCursor> 0016 0017 #include "kis_cursor_cache.h" 0018 0019 KisCursor::KisCursor() {} 0020 0021 /* 0022 * Predefined Qt cursors 0023 */ 0024 QCursor KisCursor::arrowCursor() 0025 { 0026 return Qt::ArrowCursor; 0027 } 0028 0029 QCursor KisCursor::upArrowCursor() 0030 { 0031 return Qt::UpArrowCursor; 0032 } 0033 0034 QCursor KisCursor::crossCursor() 0035 { 0036 return load("cursor-cross.xpm"); 0037 } 0038 0039 QCursor KisCursor::roundCursor() 0040 { 0041 return load("cursor-round.xpm"); 0042 } 0043 0044 QCursor KisCursor::pixelBlackCursor() 0045 { 0046 return load("cursor-pixel-black.xpm"); 0047 } 0048 0049 QCursor KisCursor::pixelWhiteCursor() 0050 { 0051 return load("cursor-pixel-white.xpm"); 0052 } 0053 0054 QCursor KisCursor::waitCursor() 0055 { 0056 return Qt::WaitCursor; 0057 } 0058 0059 QCursor KisCursor::ibeamCursor() 0060 { 0061 return Qt::IBeamCursor; 0062 } 0063 0064 QCursor KisCursor::sizeVerCursor() 0065 { 0066 return Qt::SizeVerCursor; 0067 } 0068 0069 QCursor KisCursor::sizeHorCursor() 0070 { 0071 return Qt::SizeHorCursor; 0072 } 0073 0074 QCursor KisCursor::sizeBDiagCursor() 0075 { 0076 return Qt::SizeBDiagCursor; 0077 } 0078 0079 QCursor KisCursor::sizeFDiagCursor() 0080 { 0081 return Qt::SizeFDiagCursor; 0082 } 0083 0084 QCursor KisCursor::sizeAllCursor() 0085 { 0086 return Qt::SizeAllCursor; 0087 } 0088 0089 QCursor KisCursor::blankCursor() 0090 { 0091 return Qt::BlankCursor; 0092 } 0093 0094 QCursor KisCursor::splitVCursor() 0095 { 0096 return Qt::SplitVCursor; 0097 } 0098 0099 QCursor KisCursor::splitHCursor() 0100 { 0101 return Qt::SplitHCursor; 0102 } 0103 0104 QCursor KisCursor::pointingHandCursor() 0105 { 0106 return Qt::PointingHandCursor; 0107 } 0108 0109 0110 QCursor KisCursor::samplerCursor() 0111 { 0112 return samplerLayerForegroundCursor(); 0113 } 0114 0115 QCursor KisCursor::pickLayerCursor() 0116 { 0117 return load("precise-pick-layer-icon.xpm", 7, 23); 0118 } 0119 0120 QCursor KisCursor::zoomSmoothCursor() 0121 { 0122 return load("zoom_smooth.xpm"); 0123 } 0124 0125 QCursor KisCursor::zoomDiscreteCursor() 0126 { 0127 return load("zoom_discrete.xpm"); 0128 } 0129 0130 QCursor KisCursor::rotateCanvasSmoothCursor() 0131 { 0132 return load("rotate_smooth.xpm"); 0133 } 0134 0135 QCursor KisCursor::rotateCanvasDiscreteCursor() 0136 { 0137 return load("rotate_discrete.xpm"); 0138 } 0139 0140 QCursor KisCursor::samplerImageForegroundCursor() 0141 { 0142 return load("color-sampler_image_foreground.xpm", 8, 23); 0143 } 0144 0145 QCursor KisCursor::samplerImageBackgroundCursor() 0146 { 0147 return load("color-sampler_image_background.xpm", 8, 23); 0148 } 0149 0150 QCursor KisCursor::samplerLayerForegroundCursor() 0151 { 0152 return load("color-sampler_layer_foreground.xpm", 8, 23); 0153 } 0154 0155 QCursor KisCursor::samplerLayerBackgroundCursor() 0156 { 0157 return load("color-sampler_layer_background.xpm", 8, 23); 0158 } 0159 0160 QCursor KisCursor::changeExposureCursor() 0161 { 0162 return load("exposure-cursor-gesture.xpm"); 0163 } 0164 0165 QCursor KisCursor::changeGammaCursor() 0166 { 0167 return load("gamma-cursor-gesture.xpm"); 0168 } 0169 0170 QCursor KisCursor::triangleLeftHandedCursor() 0171 { 0172 return load("cursor-triangle_lefthanded.xpm"); 0173 } 0174 0175 QCursor KisCursor::triangleRightHandedCursor() 0176 { 0177 return load("cursor-triangle_righthanded.xpm"); 0178 } 0179 0180 QCursor KisCursor::eraserCursor() 0181 { 0182 return load("cursor-eraser.xpm", 2, 2); 0183 } 0184 0185 QCursor KisCursor::moveCursor() 0186 { 0187 return load("move-tool.xpm"); 0188 } 0189 0190 QCursor KisCursor::moveSelectionCursor() 0191 { 0192 return load("move-selection.xpm", 11, 11); 0193 } 0194 0195 QCursor KisCursor::handCursor() 0196 { 0197 return Qt::PointingHandCursor; 0198 } 0199 0200 QCursor KisCursor::openHandCursor() 0201 { 0202 return Qt::OpenHandCursor; 0203 } 0204 0205 QCursor KisCursor::closedHandCursor() 0206 { 0207 return Qt::ClosedHandCursor; 0208 } 0209 0210 QCursor KisCursor::rotateCursor() 0211 { 0212 return load("rotate_cursor.xpm"); 0213 } 0214 0215 QCursor KisCursor::meshCursorFree() 0216 { 0217 return load("mesh_cursor_free.png", 5, 5); 0218 } 0219 0220 QCursor KisCursor::meshCursorLocked() 0221 { 0222 return load("mesh_cursor_locked.png", 5, 5); 0223 } 0224 0225 QCursor KisCursor::load(const QString & cursorName, int hotspotX, int hotspotY) 0226 { 0227 return KisCursorCache::instance()->load(cursorName, hotspotX, hotspotY); 0228 }