About
A ColorSwatchGroup stores multiple colors as maxon::ColorA. The group itself and the colors can be selected. ColorSwatchGroup elements are stored and handled using ColorSwatchData objects. The class is defined in the lib_colorchooser.h
header file.
if (colorSwatchData == nullptr)
freeData.
Assign(colorSwatchData);
for (
Int i = 0;
i < groupCount; ++
i)
{
if (group)
{
for (
Int c = 0;
c < colorCount; ++
c)
{
if (group->
GetColor(
c, color, &selected) && selected)
{
if (mat == nullptr)
const Vector rgb { color.
r, color.
g, color.
b };
doc->InsertMaterial(mat);
}
}
}
}
Py_ssize_t i
Definition: abstract.h:645
Definition: ge_autoptr.h:155
void Assign(TYPE *p)
Definition: ge_autoptr.h:234
Bool SetParameter(const DescID &id, const GeData &t_data, DESCFLAGS_SET flags)
Definition: lib_colorchooser.h:406
Int GetGroupCount(SWATCH_CATEGORY category=SWATCH_CATEGORY::DOCUMENT) const
ColorSwatchGroup * GetGroupAtIndex(Int index, SWATCH_CATEGORY category=SWATCH_CATEGORY::DOCUMENT)
static ColorSwatchData * Alloc(BaseDocument *doc=nullptr, Bool global=false)
Definition: lib_colorchooser.h:218
Bool GetColor(Int index, maxon::ColorA &color, Bool *selected=nullptr) const
Int GetColorCount() const
Definition: c4d_basematerial.h:241
static Material * Alloc()
Py_UNICODE c
Definition: unicodeobject.h:1200
maxon::Bool Bool
Definition: ge_sys_math.h:51
maxon::Int Int
Definition: ge_sys_math.h:60
#define MAXON_SOURCE_LOCATION
Definition: memoryallocationbase.h:67
#define ConstDescID(...)
Definition: lib_description.h:594
@ MATERIAL_COLOR_COLOR
Definition: mmaterial.h:56
const char * doc
Definition: pyerrors.h:226
Represents a level within a DescID.
Definition: lib_description.h:298
A color consisting of three components R, G, B and an alpha.
Definition: col4.h:16
Allocation/Deallocation
ColorSwatchGroups can be created using the usual tools. This is typically not needed.
Access
ColorSwatchGroup elements are stored in a ColorSwatchData object. See ColorSwatchData Color Groups
Selection
A ColorSwatchGroup can be selected:
for (
Int i = 0;
i < groupCount; ++
i)
{
if (group == nullptr)
{
}
}
Bool IsGroupSelected() const
#define ApplicationOutput(formatString,...)
Definition: debugdiagnostics.h:204
Name
A ColorSwatchGroup can be identified by a name:
if (group == nullptr)
group->
SetName(
"This is a new group");
ColorSwatchGroup * AddGroup(SWATCH_CATEGORY category=SWATCH_CATEGORY::DOCUMENT, const String &name=String(), Bool selected=false, Int insertAt=-1, const ColorAlphaArray &colors=ColorAlphaArray())
void SetName(String name)
Colors
A ColorSwatchGroup stores multiple colors and their selection state. The colors are obtained with:
for (
Int c = 0;
c < colorCount; ++
c)
{
}
Colors can be edited with:
New colors are added with:
{
}
void SortColors()
Sorts colors in the group based in their HSV values.
Int AddColor(const maxon::ColorA &color, Bool selected=false, Int insertAt=-1)
Definition: c4d_tools.h:835
MAXON_ATTRIBUTE_FORCE_INLINE Float Get01()
Definition: c4d_tools.h:865
Float64 Float
Definition: apibase.h:211
const char const char grammar * g
Definition: parsetok.h:52
The selection status of a color can be utilized with these functions:
Further utility functions are:
Further Reading