Diff
diff --git a/scroll/main.go b/scroll/main.go
deleted file mode 100644
index f685772..0000000
--- a/scroll/main.go
+++ /dev/null
@@ -1,164 +0,0 @@
-package scroll
-
-import (
- raylib "github.com/gen2brain/raylib-go/raylib"
-)
-
-// ScrollBar represents a simple vertical or horizontal scrollbar.
-type ScrollBar struct {
- position float32
- trackSize int32
- thumbSize int32
- isVertical bool
- isDragging bool
- contentSize int32
- windowSize int32
- dragOffset float32
- mousePos raylib.Vector2
- mouseOver bool
-}
-
-// NewScrollBar creates a new ScrollBar instance.
-func NewScrollBar(contentSize, windowSize int32, isVertical bool) *ScrollBar {
- sb := &ScrollBar{
- position: 0,
- trackSize: 16, // Adjust as needed
- thumbSize: windowSize,
- isVertical: isVertical,
- contentSize: contentSize,
- windowSize: windowSize,
- }
-
- if !isVertical {
- sb.thumbSize = sb.windowSize
- }
-
- return sb
-}
-
-// Update updates the scrollbar.
-func (sb *ScrollBar) Update(newWindowSize, newContentSize int32) float32 {
- sb.mousePos = raylib.GetMousePosition()
-
- thumbSize := float32(sb.windowSize) * (float32(sb.windowSize) / float32(sb.contentSize))
- println(thumbSize)
- if sb.isDragging {
- // Update position based on drag
- if sb.isVertical {
- sb.position = (sb.mousePos.Y - sb.dragOffset)
- } else {
- sb.position = (sb.mousePos.X - sb.dragOffset)
- }
- }
- if raylib.IsMouseButtonDown(raylib.MouseLeftButton) && !sb.isDragging && sb.insideScrollBar() {
- // Start dragging if mouse clicked on the thumb
- sb.isDragging = true
- if sb.isVertical {
- sb.dragOffset = sb.mousePos.Y - sb.position
- sb.mouseOver = sb.mousePos.Y > sb.position && sb.mousePos.Y < sb.position+thumbSize && sb.insideScrollBar()
- } else {
- sb.dragOffset = sb.mousePos.X - sb.position
- sb.mouseOver = sb.mousePos.X > sb.position && sb.mousePos.X < sb.position+thumbSize && sb.insideScrollBar()
- }
- }
- if raylib.IsMouseButtonReleased(raylib.MouseLeftButton) && sb.isDragging {
- // Stop dragging
- sb.isDragging = false
- sb.mouseOver = false
- }
-
- // Update window size
- sb.windowSize = newWindowSize
- sb.contentSize = newContentSize
-
- // Clamp position within the track
- if sb.position < 0 {
- sb.position = 0
- } else if sb.position > float32(sb.windowSize)-thumbSize {
- sb.position = float32(sb.windowSize) - thumbSize
- }
-
- return -(sb.position * (float32(sb.contentSize / sb.windowSize)))
-}
-
-func (sb *ScrollBar) insideScrollBar() bool {
- if sb.isVertical {
- return sb.mousePos.X > float32(raylib.GetScreenWidth())-14
- } else {
- return sb.mousePos.Y > float32(raylib.GetScreenHeight())-14
- }
-}
-
-// Draw draws the scrollbar.
-func (sb *ScrollBar) Draw() {
- var trackRect, thumbRect raylib.Rectangle
-
- thumbSize := float32(sb.windowSize) * (float32(sb.windowSize) / float32(sb.contentSize))
-
- if thumbSize >= float32(sb.windowSize) {
- return
- }
-
- if sb.isVertical {
- trackRect = raylib.NewRectangle(float32(raylib.GetScreenWidth())-16, 0, 16, float32(sb.windowSize))
- thumbRect = raylib.NewRectangle(float32(raylib.GetScreenWidth())-14, float32(sb.position), 12, float32(thumbSize))
- } else {
- trackRect = raylib.NewRectangle(0, float32(raylib.GetScreenHeight())-16, float32(sb.windowSize), 16)
- thumbRect = raylib.NewRectangle(float32(sb.position), float32(raylib.GetScreenHeight())-14, float32(thumbSize), 12)
- }
-
- // Draw track
- raylib.DrawRectangleRec(trackRect, raylib.LightGray)
-
- if sb.mouseOver {
- // Draw thumb
- raylib.DrawRectangleRec(thumbRect, raylib.DarkGray)
- } else {
- // Draw thumb
- raylib.DrawRectangleRec(thumbRect, raylib.Gray)
- }
-}
-
-// func main() {
-// // Initialization
-// const screenWidth = 800
-// const screenHeight = 450
-
-// raylib.InitWindow(screenWidth, screenHeight, "Scrollbar Example")
-// raylib.SetTargetFPS(60)
-
-// // Example content size
-// contentWidth := int32(1000)
-// contentHeight := int32(1000)
-
-// // Create vertical scrollbar
-// verticalScrollBar := NewScrollBar(contentHeight, screenHeight, true)
-
-// // Create horizontal scrollbar
-// horizontalScrollBar := NewScrollBar(contentWidth, screenWidth, false)
-
-// for !raylib.WindowShouldClose() {
-// // Update
-// vO := verticalScrollBar.Update(screenHeight)
-// hO := horizontalScrollBar.Update(screenWidth)
-
-// // Draw
-// raylib.BeginDrawing()
-
-// raylib.ClearBackground(raylib.RayWhite)
-
-// raylib.DrawRectangleLines(int32(0+hO), int32(0+vO), 1000, 1000, raylib.DarkGray)
-// raylib.DrawText("Large Content", int32(10+hO), int32(10+vO), 20, raylib.DarkGray)
-
-// // Draw vertical scrollbar
-// verticalScrollBar.Draw()
-
-// // Draw horizontal scrollbar
-// horizontalScrollBar.Draw()
-
-// raylib.EndDrawing()
-// }
-
-// // De-Initialization
-// raylib.CloseWindow()
-// }