PilotLightTech / PilotLightTech/pilotlight

[FEATURE]: Complete Window API

Open
#98 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

platform: All system: OS type: Feature type: Improvement
Dominant language
C
Stars
118
Forks
6
PR merge metrics
No merged PRs in 30d

Description

Contact Details

No response

What is the feature?

The window API needs to be completed such that Dear ImGui integration can be moved fully to user land or extension. This will should be done in the following phases:

  1. experimental GLFW backend (to ensure we get the user side finished)
  2. regular win32, cocoa, & x11 backends

GLFW backend

  • set/get size
  • set/get position
  • minimize/maximize
  • restore
  • focus
  • hide cursor mode
  • capture cursor mode
  • raw mouse input
  • check maximized
  • check minimized
  • check focus
  • check hovered
  • check resizable
  • check decoration
  • check top most
  • set resizable
  • set decoration
  • set top most
  • callbacks

Win32 backend

  • set/get size
  • set/get position
  • minimize/maximize
  • restore
  • focus
  • hide cursor mode
  • capture cursor mode
  • raw mouse input
  • check maximized
  • check minimized
  • check focus
  • check hovered
  • check resizable
  • check decoration
  • check top most
  • set resizable
  • set decoration
  • set top most
  • callbacks

X11 backend

  • set/get size
  • set/get position
  • minimize/maximize
  • restore
  • focus
  • hide cursor mode
  • capture cursor mode
  • raw mouse input
  • check maximized
  • check minimized
  • check focus
  • check hovered
  • check resizable
  • check decoration
  • check top most
  • set resizable
  • set decoration
  • set top most
  • callbacks

Cocoa backend

  • set/get size
  • set/get position
  • minimize/maximize
  • restore
  • focus
  • hide cursor mode
  • capture cursor mode
  • raw mouse input
  • check maximized
  • check minimized
  • check focus
  • check hovered
  • check resizable
  • check decoration
  • check top most
  • set resizable
  • set decoration
  • callbacks
  • set top most

Once this is done, we will be able to remove many of the experimental flags and just leave GLFW for other backends that we don't support directly yet (i.e. wayland).

Desribe alternatives you have considered?

NA.

Extension

None

Libraries

None

System

Core Framework

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by inspecting the existing experimental GLFW backend and the Window API it implements. Use the checklist in this issue to identify the remaining callbacks and platform operations, then extend the Win32, X11, and Cocoa backends until their listed capabilities are complete and GLFW can remain only for unsupported backends.

Written by the indexing model from the issue text.

Assessment

Tech stack
c
Domain
desktop
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.