Open 3D Engine AzFramework API Reference 23.10.0
O3DE is an open-source, fully-featured, high-fidelity, modular 3D engine for building games and simulations, available to every industry.
AzFramework::PaintBrushSettings Class Reference

Defines the specific paintbrush settings to use with a paintbrush. More...

#include <PaintBrushSettings.h>

Public Member Functions

 AZ_CLASS_ALLOCATOR (PaintBrushSettings, AZ::SystemAllocator)
 
 AZ_TYPE_INFO (PaintBrushSettings, "{CE5EFFE2-14E5-4A9F-9B0F-695F66744A50}")
 
AZ::Color GetColor () const
 
PaintBrushBlendMode GetBlendMode () const
 
PaintBrushSmoothMode GetSmoothMode () const
 
void SetColor (const AZ::Color &color)
 
void SetBlendMode (PaintBrushBlendMode blendMode)
 
void SetSmoothMode (PaintBrushSmoothMode smoothMode)
 
float GetSize () const
 
AZStd::pair< float, float > GetSizeRange () const
 
float GetHardnessPercent () const
 
float GetFlowPercent () const
 
float GetDistancePercent () const
 
void SetSize (float size)
 
void SetSizeRange (float minSize, float maxSize)
 
void SetHardnessPercent (float hardnessPercent)
 
void SetFlowPercent (float flowPercent)
 
void SetDistancePercent (float distancePercent)
 
size_t GetSmoothingRadius () const
 
size_t GetSmoothingSpacing () const
 
void SetSmoothingRadius (size_t radius)
 
void SetSmoothingSpacing (size_t spacing)
 

Static Public Member Functions

static void Reflect (AZ::ReflectContext *context)
 

Protected Member Functions

AZ::u32 OnColorChanged ()
 
AZ::u32 OnIntensityChanged ()
 
AZ::u32 OnOpacityChanged ()
 
virtual bool GetSizeVisibility () const
 
virtual bool GetColorVisibility () const
 
virtual bool GetIntensityVisibility () const
 
virtual bool GetOpacityVisibility () const
 
virtual bool GetHardnessVisibility () const
 
virtual bool GetFlowVisibility () const
 
virtual bool GetDistanceVisibility () const
 
virtual bool GetSmoothingRadiusVisibility () const
 
virtual bool GetBlendModeVisibility () const
 
virtual bool GetSmoothModeVisibility () const
 
float GetSizeMin () const
 
float GetSizeMax () const
 
float GetSizeStep () const
 
virtual void OnSizeRangeChanged ()
 
virtual AZ::u32 OnSettingsChanged ()
 

Protected Attributes

AZ::Color m_brushColor = AZ::Color::CreateOne()
 Brush stroke color.
 
PaintBrushBlendMode m_blendMode = PaintBrushBlendMode::Normal
 Brush stroke blend mode.
 
PaintBrushSmoothMode m_smoothMode = PaintBrushSmoothMode::Gaussian
 Brush stroke smooth mode.
 
float m_size = 10.0f
 Brush stamp diameter in meters.
 
float m_sizeMin = 0.0f
 
float m_sizeMax = 1024.0f
 
float m_hardnessPercent = 100.0f
 Brush stamp hardness percent (0=soft falloff, 100=hard edge)
 
float m_flowPercent = 100.0f
 Brush stamp flow percent (0=transparent stamps, 100=opaque stamps)
 
float m_distancePercent = 25.0f
 Brush distance to move between stamps in % of paintbrush size. (25% is the default in Photoshop.)
 
size_t m_smoothingRadius = MinSmoothingRadius
 Brush smoothing radius - the number of pixels in each direction to use for smoothing calculations.
 
size_t m_smoothingSpacing = MinSmoothingSpacing
 
float m_intensityPercent = 100.0f
 These only exist for alternate editing controls. They get stored back into m_brushColor.
 
float m_opacityPercent = 100.0f
 Brush stroke opacity percent (0=transparent brush stroke, 100=opaque brush stroke)
 

Static Protected Attributes

static constexpr size_t MinSmoothingRadius = 1
 
static constexpr size_t MaxSmoothingRadius = 10
 
static constexpr size_t MinSmoothingSpacing = 0
 
static constexpr size_t MaxSmoothingSpacing = 50
 

Friends

class AzToolsFramework::GlobalPaintBrushSettings
 

Detailed Description

Defines the specific paintbrush settings to use with a paintbrush.

Member Function Documentation

◆ OnSizeRangeChanged()

virtual void AzFramework::PaintBrushSettings::OnSizeRangeChanged ( )
protectedvirtual

Notification functions for editing changes that aren't used for anything in PaintBrushSettings but can be overridden. They exist so that the GlobalPaintBrushSettings can notify listeners whenever the global settings change.

Member Data Documentation

◆ m_intensityPercent

float AzFramework::PaintBrushSettings::m_intensityPercent = 100.0f
protected

These only exist for alternate editing controls. They get stored back into m_brushColor.

Brush stroke intensity percent (0=black, 100=white) This is displayed instead of color when in monochrome mode.

◆ m_smoothingSpacing

size_t AzFramework::PaintBrushSettings::m_smoothingSpacing = MinSmoothingSpacing
protected

Brush smoothing spacing - the number of pixels to skip between each pixel used in the smoothing calculations. This is a way to use a larger area of the image for smoothing without needing to query more pixels and hurt performance.


The documentation for this class was generated from the following file: