• Skip to content
  • Skip to link menu
KDE API Reference
  • KDE API Reference
  • krita API Reference
  • KDE Home
  • Contact Us
 

plugins/paintops/libpaintop

  • sources
  • kfour-appscomplete
  • krita
  • plugins
  • paintops
  • libpaintop
kis_texture_option.h
Go to the documentation of this file.
1 /* This file is part of the KDE project
2  * SPDX-FileCopyrightText: 2012 Boudewijn Rempt <[email protected]>
3  *
4  * SPDX-License-Identifier: LGPL-2.0-or-later
5  */
6 
7 #ifndef KIS_TEXTURE_OPTION_H
8 #define KIS_TEXTURE_OPTION_H
9 
10 #include <kritapaintop_export.h>
11 
12 #include <kis_paint_device.h>
13 #include <kis_types.h>
14 #include "kis_paintop_option.h"
15 #include "kis_pressure_texture_strength_option.h"
16 #include <resources/KoAbstractGradient.h>
17 #include <resources/KoCachedGradient.h>
18 
19 #include "KisTextureMaskInfo.h"
20 
21 #include <QRect>
22 
23 class KisTextureChooser;
24 class KoPattern;
25 class KoResource;
26 class KisPropertiesConfiguration;
27 class KisPaintopLodLimitations;
28 class KisResourcesInterface;
29 
30 class PAINTOP_EXPORT KisTextureOption : public KisPaintOpOption
31 {
32  Q_OBJECT
33 public:
34 
35  explicit KisTextureOption();
36  ~KisTextureOption() override;
37 
38 public Q_SLOTS:
39 
40  void writeOptionSetting(KisPropertiesConfigurationSP setting) const override;
41  void readOptionSetting(const KisPropertiesConfigurationSP setting) override;
42  void lodLimitations(KisPaintopLodLimitations *l) const override;
43 
44 private Q_SLOTS:
45 
46  void resetGUI(KoResourceSP );
47 
48 
49 private:
51  KisTextureChooser* m_textureOptions;
52 
53 };
54 
55 class PAINTOP_EXPORT KisTextureProperties
56 {
57 public:
58  KisTextureProperties(int levelOfDetail);
59 
60  enum TexturingMode {
61  MULTIPLY,
62  SUBTRACT,
63  LIGHTNESS,
64  GRADIENT
65  };
66 
67  bool m_enabled;
68 
75  void apply(KisFixedPaintDeviceSP dab, const QPoint& offset, const KisPaintInformation & info);
76  void fillProperties(const KisPropertiesConfigurationSP setting, KisResourcesInterfaceSP resourcesInterface, KoCanvasResourcesInterfaceSP canvasResourcesInterface);
77  QList<KoResourceSP> prepareEmbeddedResources(const KisPropertiesConfigurationSP setting, KisResourcesInterfaceSP resourcesInterface);
78  bool applyingGradient() const;
79 
80  static bool applyingGradient(const KisPropertiesConfiguration *settings);
81 
82 private:
83 
84  void applyLightness(KisFixedPaintDeviceSP dab, const QPoint& offset, const KisPaintInformation& info);
85  void applyGradient(KisFixedPaintDeviceSP dab, const QPoint& offset, const KisPaintInformation& info);
86 
87 private:
88 
89  int m_offsetX;
90  int m_offsetY;
91  TexturingMode m_texturingMode;
92  KoAbstractGradientSP m_gradient;
93  KoCachedGradient m_cachedGradient;
94 
95  int m_levelOfDetail;
96 
97 private:
98  KisPressureTextureStrengthOption m_strengthOption;
99  KisTextureMaskInfoSP m_maskInfo;
100 };
101 
102 #endif // KIS_TEXTURE_OPTION_H
KisTextureOption
Definition: kis_texture_option.h:30
kis_pressure_texture_strength_option.h
KisTextureProperties
Definition: kis_texture_option.h:55
KisTextureProperties::LIGHTNESS
Definition: kis_texture_option.h:63
KisTextureMaskInfo.h
QSharedPointer
Definition: KisDabCacheUtils.h:110
QList
KisTextureProperties::SUBTRACT
Definition: kis_texture_option.h:62
KisTextureProperties::m_enabled
bool m_enabled
Definition: kis_texture_option.h:67
KisPressureTextureStrengthOption
This curve defines how deep the ink (or a pointer) of a brush penetrates the surface of the canvas,...
Definition: kis_pressure_texture_strength_option.h:19
KisTextureProperties::TexturingMode
TexturingMode
Definition: kis_texture_option.h:60
KisTextureProperties::MULTIPLY
Definition: kis_texture_option.h:61
KisPaintOpOption
KisTextureChooser
Definition: kis_texture_chooser.h:12
QPoint
detail::prepareEmbeddedResources
QList< KoResourceSP > prepareEmbeddedResources(const KisPaintOpSettingsSP settings, KisResourcesInterfaceSP resourcesInterface, std::enable_if_t< has_prepare_embedded_resources< T >::value > *=0)
Definition: kis_simple_paintop_factory.h:78
This file is part of the KDE documentation.
Documentation copyright © 1996-2021 The KDE developers.
Generated on Sat Apr 10 2021 23:38:28 by doxygen 1.8.16 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

plugins/paintops/libpaintop

Skip menu "plugins/paintops/libpaintop"
  • Main Page
  • Namespace List
  • Namespace Members
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members

krita API Reference

Skip menu "krita API Reference"
  • libs
  •   KritaBasicFlakes
  •   brush
  •   KritaUndo2
  •   KritaFlake
  •   image
  •   KritaPlugin
  •   Krita
  •   KritaPigment
  •   KritaResources
  •   KritaStore
  •   ui
  •   KritaWidgets
  •   KritaWidgetUtils
  • plugins
  •   Assitants
  •   Extensions
  •   Filters
  •   Generators
  •   Formats
  •           src
  •   PaintOps
  •     libpaintop

Search



Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal