Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions clay.h
Original file line number Diff line number Diff line change
Expand Up @@ -513,6 +513,9 @@ typedef struct Clay_CustomElementConfig {
// A transparent pointer through which you can pass custom data to the renderer.
// Generates CUSTOM render commands.
void* customData;

// An integer Dd value to help identify the custom data element during the rendering stage.
uint32_t customCommandId;
} Clay_CustomElementConfig;

CLAY__WRAPPER_STRUCT(Clay_CustomElementConfig);
Expand Down Expand Up @@ -598,8 +601,11 @@ typedef struct Clay_CustomRenderData {
// Controls the "radius", or corner rounding of this custom element.
// The rounding is determined by drawing a circle inset into the element corner by (radius, radius) pixels.
Clay_CornerRadius cornerRadius;

// A pointer transparently passed through from the original element definition.
void* customData;
// An id value transparently passed through from the original element definition.
uint32_t customCommandId;
} Clay_CustomRenderData;

// Render command data when commandType == CLAY_RENDER_COMMAND_TYPE_SCISSOR_START || commandType == CLAY_RENDER_COMMAND_TYPE_SCISSOR_END
Expand Down Expand Up @@ -2919,6 +2925,7 @@ void Clay__CalculateFinalLayout(void) {
.backgroundColor = sharedConfig->backgroundColor,
.cornerRadius = sharedConfig->cornerRadius,
.customData = elementConfig->config.customElementConfig->customData,
.customCommandId = elementConfig->config.customElementConfig->customCommandId
}
};
emitRectangle = false;
Expand Down
Loading