This repository has been archived on 2025-06-21. You can view files and clone it, but you cannot make any changes to it's state, such as pushing and creating new issues, pull requests or comments.
raylib-python-cffi/examples/raygui/portable_window.py
2021-10-08 01:19:28 +01:00

49 lines
1.3 KiB
Python

from raylib import *
pr = PyRay()
screenWidth = 800
screenHeight = 600
SetConfigFlags(FLAG_WINDOW_UNDECORATED)
InitWindow(screenWidth, screenHeight, b"raygui - portable window")
mousePosition = pr.Vector2(0, 0)
windowPosition = pr.Vector2(500, 200 )
panOffset = mousePosition
dragWindow = False
SetWindowPosition(int(windowPosition.x), int(windowPosition.y))
exitWindow = False
SetTargetFPS(60)
while not exitWindow and not WindowShouldClose():
mousePosition = GetMousePosition()
if IsMouseButtonPressed(MOUSE_LEFT_BUTTON):
if CheckCollisionPointRec(mousePosition, pr.Rectangle(0, 0, screenWidth, 20) ):
dragWindow = True
panOffset = mousePosition
if (dragWindow):
windowPosition.x += (mousePosition.x - panOffset.x)
windowPosition.y += (mousePosition.y - panOffset.y)
if IsMouseButtonReleased(MOUSE_LEFT_BUTTON):
dragWindow = False
SetWindowPosition(int(windowPosition.x), int(windowPosition.y))
BeginDrawing()
ClearBackground(RAYWHITE)
exitWindow = GuiWindowBox(pr.Rectangle(0, 0, screenWidth, screenHeight) , b"#198# PORTABLE WINDOW")
pr.draw_text(f"Mouse Position: {mousePosition.x} {mousePosition.y}", 10, 40, 10, DARKGRAY)
EndDrawing()
CloseWindow()