From d8e178fe066e79d06934648dde0a336d61afd031 Mon Sep 17 00:00:00 2001 From: zeefaad Date: Sun, 28 Dec 2025 15:58:02 +0100 Subject: [PATCH] spectrum --- main.c | 41 ++++++++++++++++++++++++++++++++++++----- michelson | Bin 129664 -> 129696 bytes 2 files changed, 36 insertions(+), 5 deletions(-) diff --git a/main.c b/main.c index b8d7327..b209605 100644 --- a/main.c +++ b/main.c @@ -190,7 +190,8 @@ void DrawControlPanel(Michelson *mic) { int startY = 30; int contentWidth = UI_WIDTH - 40; int btnSize = 30; - int sliderWidth = contentWidth - (btnSize * 2) - 10; + int spectrumWidth = contentWidth - (btnSize * 2) - 10; + int sliderWidth = spectrumWidth; GuiSetStyle(DEFAULT, TEXT_SIZE, 16); GuiSetStyle(DEFAULT, BASE_COLOR_NORMAL, 0x2D2D2DFF); @@ -215,11 +216,41 @@ void DrawControlPanel(Michelson *mic) { DrawText(TextFormat("Longueur d'onde: %.0f nm", mic->lambda), startX, startY, 20, COLOR_TEXT_SEC); float stepLambda = speedMode ? 10.0f : 1.0f; - + if (GuiButtonRepeat((Rectangle){startX, startY + 30, btnSize, 25}, "-", shouldRepeat)) mic->lambda -= stepLambda; - GuiSlider((Rectangle){startX + btnSize + 5, startY + 30, sliderWidth - 40, 25}, NULL, NULL, &mic->lambda, 380, 780); - if (GuiButtonRepeat((Rectangle){startX + btnSize + sliderWidth - 30, startY + 30, btnSize, 25}, "+", shouldRepeat)) mic->lambda += stepLambda; - DrawRectangle(startX + contentWidth - 30, startY + 30, 30, 25, WavelengthToColor(mic->lambda)); + + Rectangle spectrumRect = {startX + btnSize + 5, startY + 30, spectrumWidth, 25}; + + for (int i = 0; i < spectrumRect.width; i++) { + float prog = (float)i / spectrumRect.width; + float l = 380.0f + prog * (780.0f - 380.0f); + Color c = WavelengthToColor(l); + DrawLine(spectrumRect.x + i, spectrumRect.y, spectrumRect.x + i, spectrumRect.y + spectrumRect.height, c); + } + DrawRectangleLinesEx(spectrumRect, 1, DARKGRAY); + + if (CheckCollisionPointRec(GetMousePosition(), spectrumRect)) { + if (IsMouseButtonDown(MOUSE_LEFT_BUTTON)) { + float mouseX = GetMouseX() - spectrumRect.x; + float ratio = mouseX / spectrumRect.width; + mic->lambda = 380.0f + ratio * (780.0f - 380.0f); + } + } + + float currentRatio = (mic->lambda - 380.0f) / (780.0f - 380.0f); + if (currentRatio < 0) currentRatio = 0; + if (currentRatio > 1) currentRatio = 1; + + float cursorX = spectrumRect.x + currentRatio * spectrumRect.width; + + DrawLine(cursorX - 1, spectrumRect.y, cursorX - 1, spectrumRect.y + spectrumRect.height, BLACK); + DrawLine(cursorX + 1, spectrumRect.y, cursorX + 1, spectrumRect.y + spectrumRect.height, BLACK); + DrawLine(cursorX, spectrumRect.y, cursorX, spectrumRect.y + spectrumRect.height, WHITE); + + if (GuiButtonRepeat((Rectangle){startX + btnSize + spectrumWidth + 10, startY + 30, btnSize, 25}, "+", shouldRepeat)) mic->lambda += stepLambda; + + if (mic->lambda < 380) mic->lambda = 380; + if (mic->lambda > 780) mic->lambda = 780; // Pos M1 diff --git a/michelson b/michelson index 808344eb6ea19acbad28ab3ead694f6b90dfed46..11f75cb0a9972d4cb8b9e37b13407e9187fa3681 100755 GIT binary patch delta 22577 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 Zp8i1{Gj1sDdY{Jv)!ul(XZ=HA{|E6xPEP;;