diff --git a/draw/clay.odin b/draw/clay.odin index 6134dd3..e6abf8d 100644 --- a/draw/clay.odin +++ b/draw/clay.odin @@ -52,15 +52,6 @@ clear_clay_per_frame :: proc() { clear(&GLOB.clay_merge_open_stack) } -// --------------------------------------------------------------------------------------------------------------------- -// ----- Conversion helpers ------------ -// --------------------------------------------------------------------------------------------------------------------- - -// Convert clay.Color ([4]c.float in 0–255 range) to Color. -color_from_clay :: #force_inline proc(clay_color: clay.Color) -> Color { - return Color{u8(clay_color[0]), u8(clay_color[1]), u8(clay_color[2]), u8(clay_color[3])} -} - // --------------------------------------------------------------------------------------------------------------------- // ----- Image data (Clay RenderCommandType.Image payload) ------------ // --------------------------------------------------------------------------------------------------------------------- @@ -446,7 +437,7 @@ apply_clay_border_merge_to_primitive :: proc( // Set the outline bit in the packed flags field (low byte = Shape_Kind, bits 8+ = Shape_Flags). prim.flags |= u32(transmute(u8)Shape_Flags{.Outline}) << 8 - prim.effects.outline_color = color_from_clay(border_data.color) + prim.effects.outline_color = Color(border_data.color) prim.effects.outline_packed = pack_f16_pair(f16(uniform_width * dpi_scale), 0) if candidate.kind == .Fill_Texture { @@ -504,7 +495,7 @@ dispatch_clay_command :: proc( c_text, get_font(render_data.fontId, render_data.fontSize), ) - prepare_text(layer, Text{sdl_text, {bounds.x, bounds.y}, color_from_clay(render_data.textColor)}) + prepare_text(layer, Text{sdl_text, {bounds.x, bounds.y}, Color(render_data.textColor)}) case clay.RenderCommandType.Image: // Any texture render_data := render_command.renderData.image @@ -518,7 +509,7 @@ dispatch_clay_command :: proc( bottom_left = corner_radii_clay.bottomLeft, } - background_color := color_from_clay(render_data.backgroundColor) + background_color := Color(render_data.backgroundColor) uv_rect, sampler, fit_rect := fit_params(img_data.fit, bounds, img_data.texture_id) if background_color.a > 0 { @@ -597,7 +588,7 @@ dispatch_clay_command :: proc( case clay.RenderCommandType.Rectangle: render_data := render_command.renderData.rectangle corner_radii_clay := render_data.cornerRadius - background_color := color_from_clay(render_data.backgroundColor) + background_color := Color(render_data.backgroundColor) radii := Rectangle_Radii { top_left = corner_radii_clay.topLeft, top_right = corner_radii_clay.topRight, @@ -624,7 +615,7 @@ dispatch_clay_command :: proc( clay_emit_partial_border( layer, bounds, - color_from_clay(render_data.color), + Color(render_data.color), render_data.width, render_data.cornerRadius, )