Cavestory Mod API
Public Member Functions | Public Attributes | Protected Attributes | List of all members
DrawBitmapInfo Class Reference

Custom draw GUI element. More...

#include <CSMAPI_types.h>

Inheritance diagram for DrawBitmapInfo:
GuiBase

Public Member Functions

 DrawBitmapInfo ()
 Default constructor.
 
 ~DrawBitmapInfo ()
 Default deconstructor.
 
void Cleanup ()
 Cleanup this DrawBitmapInfo object.
 
bool LoadImage (const char *pImage)
 Load an image using a file path. More...
 
bool LoadImage (Surface_Ids eSurfId)
 Load an image using a surface ID. More...
 
void SetImageSourceRect (GUI_RECT *pSrcRect)
 Set the image's source rect. More...
 
void SetColorMod (GUI_COLOR *pColor)
 Set the modulation color. More...
 
GUI_RECT GetImageSourceRect ()
 Get the image's source rect. More...
 
Surface_Ids GetSurfaceID ()
 Get the image's surface ID. More...
 
GUI_COLOR GetColorMod ()
 Get the modulation color. More...
 
virtual const char * getClassName ()
 Get this class' name. More...
 
virtual void setSelected (int value)
 Set this GUI element as selected or not. More...
 
virtual void setHovered (int value)
 Set this GUI element as hovered over or not. More...
 
virtual bool isSelected ()
 Check selection status. More...
 
virtual bool isHovered ()
 Check hover status. More...
 
virtual bool isHoverable ()
 Check hoverability status. More...
 
virtual int process (GUI_POINT mouse)
 Process mouse input for this element. More...
 
virtual void calculate ()
 Re-calculate this element's data. More...
 
virtual void render ()
 Render this element.
 
- Public Member Functions inherited from GuiBase
 GuiBase ()
 Default constructor.
 
virtual ~GuiBase ()
 Default deconstructor.
 
virtual int getSelectableCount ()
 Get the selectable number of elements in this element. More...
 
virtual int getHoverableCount ()
 Get the number of elements that can be hovered over in this element. More...
 
virtual GuiBasegetHoverable (int index)
 Get a hoverable sub-element. More...
 
virtual GuiBasegetSelectable (int index)
 Get a selectable sub-element. More...
 
virtual bool SelectOnMouseUp ()
 Select on mouse up. More...
 
virtual void setFont (FontObject *pFont)
 Set the font for this GUI element. More...
 
virtual FontObject * getFont ()
 Get the font for this GUI element. More...
 
virtual int processKeys ()
 Process key input for this element. More...
 
virtual void importantRender ()
 Render the important bits of this element. More...
 
virtual int getMagnification ()
 
 GuiBase (const GuiBase &)=delete
 
GuiBaseoperator= (const GuiBase &)=delete
 
 GuiBase (GuiBase &&)=delete
 
GuiBaseoperator= (GuiBase &&)=delete
 

Public Attributes

bool m_Stretch
 Stretch the image along with this object's rect.
 
- Public Attributes inherited from GuiBase
GuiBasepNext
 
GuiBasepPrev
 
OnValueChangeCallbackFunc OnValueChange
 Called in specific GuiBase children classes to indicate that a value has been changed.
 
OnValidateChangeCallbackFunc OnValidateChange
 Called in specific GuiBase children classes to indicate that a value has been changed.
 
GUI_RECT rect
 The display rect this GUI element will use.
 
void * userData
 Custom user data.
 
void * userData2
 Custom user data.
 
unsigned int customMagnification
 The magnification to display this element at.
 
OnHoverChangeCallbackFunc OnHoverChange
 Called in specific GuiBase children classes to indicate that the GUI element is being hovered over.
 
bool has_special_mouse_processing
 Has special mouse processing.
 
GUI_RECT hotspot_rect
 The special hotspot rect.
 
bool has_special_hotspot_rect
 Has special hotspot rect; If true, 'process' will be called everytime the mouse is inside of 'hotspot_rect' instead of 'rect'.
 

Protected Attributes

bool m_IsSurfAllocated
 If this is 'true', then we need to unload m_SrcSurfID when this object gets deleted.
 
Surface_Ids m_SurfID
 The loaded surface's ID.
 
GUI_RECT m_SrcRect
 The source rect that we will be using to draw the image with.
 

Additional Inherited Members

- Public Types inherited from GuiBase
enum  ProcessReturnType {
  PRT_DIRTY = 0b000001 , PRT_IGNORE_MOUSE = 0b000010 , PRT_IGNORE_KEYS = 0b000100 , PRT_SELECTED = 0b001000 ,
  PRT_DISABLE_MOUSE_ON_MOVE = 0b010000 , PRT_CHANGED = 0b100000
}
 Return flags for GuiBase::process and GuiBase::processKeys. More...
 
typedef void(* OnHoverChangeCallbackFunc) (GuiBase *, int value)
 Hover callback.
 
typedef void(* OnValueChangeCallbackFunc) (GuiBase *, const char *&newValue)
 Value change callback.
 
typedef bool(* OnValidateChangeCallbackFunc) (GuiBase *, const char *oldValue, char *newValue)
 Validate change callback.
 
- Static Public Attributes inherited from GuiBase
static unsigned int defaultCustomMagnification
 
static GuiBasegFirst
 
- Protected Member Functions inherited from GuiBase
void Link ()
 Link ourselves to the global GUI element linkage.
 
void Unlink ()
 Unlink ourselves from the global GUI element linkage.
 

Detailed Description

Custom draw GUI element.

Member Function Documentation

◆ calculate()

virtual void DrawBitmapInfo::calculate ( )
virtual

Re-calculate this element's data.

Warning
You should ALWAYS call this at least once BEFORE you call render()!

Implements GuiBase.

◆ getClassName()

virtual const char* DrawBitmapInfo::getClassName ( )
inlinevirtual

Get this class' name.

Returns
Should return the name of this class.

Reimplemented from GuiBase.

◆ GetColorMod()

GUI_COLOR DrawBitmapInfo::GetColorMod ( )
inline

Get the modulation color.

Returns
Returns the modulation color.

◆ GetImageSourceRect()

GUI_RECT DrawBitmapInfo::GetImageSourceRect ( )
inline

Get the image's source rect.

Returns
Returns the image's source rect.

◆ GetSurfaceID()

Surface_Ids DrawBitmapInfo::GetSurfaceID ( )
inline

Get the image's surface ID.

Do NOT free this.

Returns
Returns the image's surface ID, if it's loaded.

◆ isHoverable()

virtual bool DrawBitmapInfo::isHoverable ( )
virtual

Check hoverability status.

Returns
Returns true if this element can be hovered over.

Implements GuiBase.

◆ isHovered()

virtual bool DrawBitmapInfo::isHovered ( )
virtual

Check hover status.

Returns
Returns true if this element is being hovered over.

Implements GuiBase.

◆ isSelected()

virtual bool DrawBitmapInfo::isSelected ( )
virtual

Check selection status.

Returns
Returns true if this element is selected.

Implements GuiBase.

◆ LoadImage() [1/2]

bool DrawBitmapInfo::LoadImage ( const char *  pImage)

Load an image using a file path.

Parameters
pFileNameThe file to load.
Returns
Returns true on success, otherwise returns false.
Note
The surface ID generated by this function will be free'd upon cleanup.

◆ LoadImage() [2/2]

bool DrawBitmapInfo::LoadImage ( Surface_Ids  eSurfId)

Load an image using a surface ID.

Parameters
eSurfIdThe surface ID to use.
Returns
Returns true on success, otherwise returns false.
Note
This function makes it so that the surface ID is not free'd when this object is deleted.

◆ process()

virtual int DrawBitmapInfo::process ( GUI_POINT  mouse)
virtual

Process mouse input for this element.

Returns
Returns ProcessReturnType flags.
See also
ProcessReturnType

Implements GuiBase.

◆ SetColorMod()

void DrawBitmapInfo::SetColorMod ( GUI_COLOR pColor)

Set the modulation color.

Parameters
pColorThe color to modulate the surface by. Pass 'NULL' to not modulate the surface.

◆ setHovered()

virtual void DrawBitmapInfo::setHovered ( int  value)
virtual

Set this GUI element as hovered over or not.

Parameters
valueThe hover value.

Implements GuiBase.

◆ SetImageSourceRect()

void DrawBitmapInfo::SetImageSourceRect ( GUI_RECT pSrcRect)

Set the image's source rect.

Parameters
pSrcRectThe rect of the image to draw. Pass 'NULL' to draw the entire surface.

◆ setSelected()

virtual void DrawBitmapInfo::setSelected ( int  value)
virtual

Set this GUI element as selected or not.

Parameters
valueThe selection value.

Implements GuiBase.


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