PaintBitmap Class Reference

#include <c4d_painter.h>

Inheritance diagram for PaintBitmap:

详细描述

The base class of all paint classes. Can be a texture, material, layer or mask.

公共成员函数

Int32   GetBw ()
Int32   GetBh ()
PaintTexture GetPaintTexture ()
PaintBitmap GetParent ()
PaintLayer GetLayerDownFirst ()
PaintLayer GetLayerDownLast ()
PaintLayer GetAlphaFirst ()
PaintLayer GetAlphaLast ()
PaintLayerBmp AddAlphaChannel ( Int32 bitdepth, PaintLayer *prev=nullptr, Bool undo=true, Bool activate=true)
Bool   AskApplyAlphaMask ()
void  ApplyAlphaMask ( Int32 x, Int32 y, Int32 cnt, PIX *bits, COLORMODE 模式, Bool inverted, Int32 flags)
PaintLayerMask FindSelectionMask ( PaintBitmap **toplevel, Int32 *bitdepth)
COLORMODE   GetColorMode ()
UInt32   GetDirty ( DIRTYFLAGS flags) const
void  UpdateRefresh ( Int32 xmin, Int32 ymin, Int32 xmax, Int32 ymax, UInt32 flags)
void  UpdateRefreshAll ( UInt32 flags, Bool reallyall)
Bool   ReCalc ( BaseThread *thread, Int32 x1, Int32 y1, Int32 x2, Int32 y2, BaseBitmap *bmp, Int32 flags, UInt32 showbit)
-  Public Member Functions inherited from BaseList2D
const Char GetViewportRenderId ( VIEWPORT_RENDER_ID typeId) const
BaseList2D GetNext ()
BaseList2D GetPred ()
void  SetBit ( Int32 mask)
Bool   GetBit ( Int32 mask) const
void  DelBit ( Int32 mask)
void  ToggleBit ( Int32 mask)
Int32   GetAllBits () const
void  SetAllBits ( Int32 bits)
void  SetBitEx ( Int32 mask, Int32 flags)
BaseContainer   GetData ()
void  SetData (const BaseContainer &bc, Bool add=true)
const BaseContainer GetDataInstance () const
BaseContainer GetDataInstance ()
const BaseContainer GetDataInstanceRef () const
BaseContainer GetDataInstanceRef ()
String   GetName () const
void  SetName (const maxon::String &name)
String   GetBubbleHelp ()
Bool   TransferGoal ( BaseList2D *dst, Bool undolink)
Bool   TransferMarker ( BaseList2D *dst) const
Bool   比例 ( Float scale)
Bool   编辑 ()
void  GetIcon ( IconData *dat)
GeListHead GetNLARoot ()
BaseList2D AnimationLayerRemap ( BaseObject **layer=nullptr)
String   GetTypeName ()
BaseList2D GetMain () const
void  InsertTrackSorted ( CTrack *track)
Bool   AddEventNotification ( BaseList2D *bl, NOTIFY_EVENT eventid, NOTIFY_EVENT_FLAG flags, const BaseContainer *data)
Bool   RemoveEventNotification ( BaseDocument *doc, BaseList2D *bl, NOTIFY_EVENT eventid)
Bool   FindEventNotification ( BaseDocument *doc, BaseList2D *bl, NOTIFY_EVENT eventid)
Bool   SetDescIDState (const DescID &id, DESCIDSTATE descidstate)
DESCIDSTATE   GetDescIDState (const DescID &id, Bool tolerant) const
GeListHead GetOverrideRoot ()
BaseOverride GetFirstOverride ()
GeListHead GetShaderRepositoryRoot ()
GeListHead GetHiddenShaderRoot ()
maxon::NimbusInterface *  GetNimbusRef (const maxon::Id &spaceId) const
maxon::Result < maxon::NimbusInterface * >  GetOrCreateNimbusRef (const maxon::Id &spaceId)
void  RemoveNimbusRef (const maxon::Id &spaceId)
maxon::Result < maxon::HashMap < maxon::Id , maxon::ForwardRef < maxon::NimbusRef > > >  GetAllNimbusRefs () const
Bool   IsNodeBased () const
void  GetMarkerStampEx ( UInt32 *l1, UInt32 *l2)
const GeMarker GetMarker () const
void  SetMarker (const GeMarker &m)
Bool   AddUniqueID ( Int32 appid, const Char *const mem, Int bytes)
Bool   FindUniqueID ( Int32 appid, const Char *&mem, Int &bytes) const
Int32   GetUniqueIDCount () const
Bool   GetUniqueIDIndex ( Int32 idx, Int32 &id, const Char *&mem, Int &bytes) const
Bool   SetAnimatedParameter ( CTrack *track, const DescID &id, const GeData &t_data1, const GeData &t_data2, Float mix, DESCFLAGS_SET flags)
Bool   GetAnimatedParameter (const DescID &id, GeData &t_data1, GeData &t_data2, Float &mix, DESCFLAGS_GET flags)
BaseShader GetFirstShader () const
void  InsertShader ( BaseShader *shader, BaseShader *pred=nullptr)
void  ClearKeyframeSelection ()
Bool   FindKeyframeSelection (const DescID &id)
Bool   SetKeyframeSelection (const DescID &id, Bool selection)
Bool   KeyframeSelectionContent ()
LayerObject GetLayerObject ( BaseDocument *doc)
Bool   SetLayerObject ( LayerObject *layer)
const LayerData GetLayerData ( BaseDocument *doc, Bool rawdata=false)
Bool   SetLayerData ( BaseDocument *doc, const LayerData &data)
GeListHead GetCTrackRoot ()
CTrack GetFirstCTrack ()
CTrack FindCTrack (const DescID &id)
-  Public Member Functions inherited from GeListNode
GeListNode GetNext ()
GeListNode GetPred ()
GeListNode GetDown ()
GeListNode GetUp ()
GeListNode GetDownLast ()
void  InsertBefore ( GeListNode *bl)
void  InsertAfter ( GeListNode *bl)
void  InsertUnder ( GeListNode *bl)
void  InsertUnderLast ( GeListNode *bl)
void  移除 ()
GeListHead GetListHead ()
Int32   GetNodeID ( Int32 index=0) const
template<typename CAST >
const CAST *  GetNodeData ( Int32 index=0) const
template<typename CAST >
CAST *  GetNodeData ( Int32 index=0)
void  SetCustomData ( GeListNode *node)
GeListNode GetCustomData ()
BaseDocument GetDocument ()
Int32   GetBranchInfo ( BranchInfo *info, Int32 max, GETBRANCHINFO flags)
Bool   IsDocumentRelated ()
Int32   GetInfo ()
Bool   GetNBit ( NBIT bit) const
UInt32   GetNBitMask ( Int32 index) const
Bool   ChangeNBit ( NBIT bit, NBITCONTROL bitmode)
-  Public Member Functions inherited from C4DAtom
Int32   GetType () const
Int32   GetRealType () const
Int32   GetDiskType () const
Bool   IsInstanceOf ( Int32 id) const
Int32   GetClassification () const
Bool   消息 ( Int32 type, void *data=nullptr)
Bool   MultiMessage ( MULTIMSG_ROUTE flags, Int32 type, void *data)
C4DAtom GetClone ( COPYFLAGS flags, AliasTrans *trn)
Bool   CopyTo ( C4DAtom *dst, COPYFLAGS flags, AliasTrans *trn)
Bool   读取 ( HyperFile *hf, Int32 id, Int32 level)
Bool   Write ( HyperFile *hf)
Bool   ReadObject ( HyperFile *hf, Bool readheader)
Bool   WriteObject ( HyperFile *hf)
Bool   GetDescription ( 描述 *description, DESCFLAGS_DESC flags)
Bool   GetParameter (const DescID &id, GeData &t_data, DESCFLAGS_GET flags)
Bool   SetParameter (const DescID &id, const GeData &t_data, DESCFLAGS_SET flags)
DynamicDescription GetDynamicDescription ()
Bool   GetEnabling (const DescID &id, const GeData &t_data, DESCFLAGS_ENABLE flags, const BaseContainer *itemdesc)
Bool   TranslateDescID (const DescID &id, DescID &res_id, C4DAtom *&res_at)
UInt32   GetDirty ( DIRTYFLAGS flags) const
void  SetDirty ( DIRTYFLAGS flags)
UInt32   GetHDirty ( HDIRTYFLAGS mask) const
void  SetHDirty ( HDIRTYFLAGS mask)

静态公共成员函数

static Bool   ConvertBits ( Int32 cnt, const PIX *src, Int32 srcinc, COLORMODE srcmode, PIX *dst, Int32 dstinc, COLORMODE dstmode, Int32 dithery, Int32 ditherx)
-  Static Public Member Functions inherited from BaseList2D
static BaseList2D Alloc ( Int32 type)
static void  Free ( BaseList2D *&bl)

私有成员函数

  PaintBitmap ()
  ~PaintBitmap ()

Additional Inherited Members

-  Static Public Attributes inherited from BaseList2D
static const Int32   SETBIT_FLAG_NODIRTY
static const Int32   SETBIT_FLAG_REMOVE

构造函数 & 析构函数文档编制

◆  PaintBitmap()

PaintBitmap () private

◆  ~PaintBitmap()

~ PaintBitmap () private

成员函数文档编制

◆  GetBw()

Int32 GetBw ( )

Retrieves the width of the paint bitmap.

返回
The width of the paint bitmap.

◆  GetBh()

Int32 GetBh ( )

Retrieves the height of the paint bitmap.

返回
The height of the paint bitmap.

◆  GetPaintTexture()

PaintTexture * GetPaintTexture ( )

Retrieves the paint texture if possible.

返回
The paint texture, otherwise nullptr .

◆  GetParent()

PaintBitmap * GetParent ( )

Retrieves the parent if available. This can be a layer or a texture for instance.

返回
The parent, otherwise nullptr .

◆  GetLayerDownFirst()

PaintLayer * GetLayerDownFirst ( )

Retrieves the first child layer.

返回
The first child layer, or nullptr if there is none.

◆  GetLayerDownLast()

PaintLayer * GetLayerDownLast ( )

Retrieves the last child layer.

返回
The last child layer, or nullptr if there is none.

◆  GetAlphaFirst()

PaintLayer * GetAlphaFirst ( )

Retrieves the first alpha channel layer.

返回
The first alpha channel layer, or nullptr if there is none.

◆  GetAlphaLast()

PaintLayer * GetAlphaLast ( )

Retrieves the last alpha channel layer.

返回
The last alpha channel layer, or nullptr if there is none.

◆  AddAlphaChannel()

PaintLayerBmp * AddAlphaChannel ( Int32   bitdepth ,
PaintLayer prev = nullptr ,
Bool   undo = true ,
Bool   activate = true  
)

Adds an alpha channel to the layer.

参数
[in] bitdepth The bit depth of the alpha channel: BITDEPTH
[in] prev An optional point to insert the alpha channel.
[in] undo true to create an undo on the undo stack, otherwise false .
[in] activate true to activate alpha channel.
返回
The added alpha channel, or nullptr if it failed.

◆  AskApplyAlphaMask()

Bool AskApplyAlphaMask ( )

Checks if the alpha mask can be applied.

返回
true if the alpha mask can be applied, otherwise false .

◆  ApplyAlphaMask()

void ApplyAlphaMask ( Int32   x ,
Int32   y ,
Int32   cnt ,
PIX bits ,
COLORMODE   mode ,
Bool   inverted ,
Int32   flags  
)

Applies the alpha mask.

参数
[in] x The X coordinate of the starting point.
[in] y The Y coordinate of the starting point.
[in] cnt The length of the masked line.
[in] bits The masked pixels.
[in] mode The color mode (only with alpha channel): COLORMODE
[in] inverted true to apply an inverted alpha mask.
[in] flags The flags: GETPIXEL

◆  FindSelectionMask()

PaintLayerMask * FindSelectionMask ( PaintBitmap **  toplevel ,
Int32 bitdepth  
)

Finds the selection mask.

参数
[in] toplevel The root level. PaintMaterial if the selection is in a material, otherwise PaintTexture .
[in] bitdepth The bit depth of the selection mask.
返回
The selection mask, or nullptr if there is none.

◆  GetColorMode()

COLORMODE GetColorMode ( )

Retrieves the color mode of the paint bitmap.

返回
The color mode: COLORMODE

◆  GetDirty()

UInt32 GetDirty ( DIRTYFLAGS   flags ) const

Retrieves the dirty count.

参数
[in] flags Reserved, must be DIRTYFLAGS::NONE .
返回
The dirty count, incremented when the paint bitmap changes.

◆  UpdateRefresh()

void UpdateRefresh ( Int32   xmin ,
Int32   ymin ,
Int32   xmax ,
Int32   ymax ,
UInt32   flags  
)

Refreshes an area of the paint bitmap. Must be done after modifying it.

参数
[in] xmin The left coordinate of the refreshed area.
[in] ymin The top coordinate of the refreshed area.
[in] xmax The right coordinate of the refreshed area.
[in] ymax The bottom coordinate of the refreshed area.
[in] flags The flags: UPDATE

◆  UpdateRefreshAll()

void UpdateRefreshAll ( UInt32   flags ,
Bool   reallyall  
)

Refreshes the complete paint bitmap. Has to be done after modifying it.

参数
[in] flags The flags: UPDATE
[in] reallyall true an infinite bounding box is used for the refresh.
false the bounding box of the layer is used, this is much faster.

◆  ReCalc()

Bool ReCalc ( BaseThread thread ,
Int32   x1 ,
Int32   y1 ,
Int32   x2 ,
Int32   y2 ,
BaseBitmap bmp ,
Int32   flags ,
UInt32   showbit  
)

Creates a flattened bitmap of the paint bitmap.

参数
[in] thread Pass the thread to be used for the calculation.
[in] x1 The left coordinate of the calculation window.
[in] y1 The top coordinate of the calculation window.
[in] x2 The right coordinate of the calculation window.
[in] y2 The bottom coordinate of the calculation window.
[out] bmp The flattened bitmap.
[in] flags The flags: RECALC
[in] showbit Must be set to 0 .
返回
true if successful, otherwise false .

◆  ConvertBits()

static Bool ConvertBits ( Int32   cnt ,
const PIX src ,
Int32   srcinc ,
COLORMODE   srcmode ,
PIX dst ,
Int32   dstinc ,
COLORMODE   dstmode ,
Int32   dithery ,
Int32   ditherx  
)
static

Converts pixel data.

参数
[in] cnt The number of pixels to convert.
[in] src The pixel source buffer.
[in] srcinc The source step size.
[in] srcmode The source color mode: COLORMODE
[out] dst The pixel destination buffer.
[in] dstinc The destination step size.
[in] dstmode The destination color mode: COLORMODE
[in] dithery NOTOK no dithering is applied, otherwise pass the Y pixel coordinate.
[in] ditherx NOTOK no dithering is applied, otherwise pass the X pixel coordinate.
返回
true if successful, otherwise false .