Squashed 'libraries/ZWidget/' changes from 02da8cdc0e..cecd34301d

cecd34301d Delay load DPI-related functions
bfc172f702 Added exception to some unimplemented functions
7c8d469bcb Added item modifications functions
847d0e6d9e Improved keyboard navigation
8c4270e0f8 Dropdown can now be closed by re-selecting it
91402c31ec Fix dropdown positioning in x11 and win32

git-subtree-dir: libraries/ZWidget
git-subtree-split: cecd34301d369400227eb0f27bad2ab41ad756d2
This commit is contained in:
Rachael Alexanderson 2025-08-13 17:17:30 -04:00
commit 6356d87438
7868 changed files with 492 additions and 1691650 deletions

View file

@ -1,124 +0,0 @@
name: Bug Report
description: File a Bug report
title: '[BUG] '
labels: bug
#assignees: 'anonymous@temp'
body:
- type: markdown
attributes:
value: |
## Please fill out forms as cleanly as possible.
#### Make sure that you have
* properly edited & filled in the title of this bug report
- type: input
id: version
attributes:
label: GZDoom version
description: |
What version are you using?
Run `gzdoom --version` or check in the console in game.
Make sure to update to latest [release](https://github.com/coelckers/gzdoom/releases) version and test again before continuing.
placeholder: "ex: GZDoom 4.0.0, Git version, Branch, other"
validations:
required: false
- type: dropdown
id: gameid
attributes:
label: Which game are you running with GZDoom?
multiple: false
options:
- Doom
- Doom 2
- Heretic
- Hexen
- Strife
- Other
validations:
required: false
- type: dropdown
id: OS
attributes:
label: What Operating System are you using?
multiple: false
options:
- Windows 11
- Windows 10
- Windows 8
- Windows 7
- Windows Other
- Mac OS
- Linux x86
- Linux x86_64
- Linux ARM (Raspberry Pi)
- Other
validations:
required: false
- type: input
id: os_detail
attributes:
label: Please describe your specific OS version
description: Other details
placeholder: "Windows 11 Home/Pro/Server/etc, Mac OSX version, Debian 10/11/etc, Ubuntu 18/20/etc, Arch, etc."
validations:
required: false
- type: input
id: hardware
attributes:
label: Relevant hardware info
description: Hardware
placeholder: "CPU, GPU, device brand/model: e.g. Intel, AMD, Nvidia, etc"
validations:
required: false
- type: checkboxes
id: checked
attributes:
label: Have you checked that no other similar issue already exists?
description: Searched issues before creating report?
options:
- label: I have searched and not found similar issues.
required: true
- type: textarea
id: description
attributes:
label: A clear and concise description of what the bug is.
description: Describe what happens, what software were you running? _Include a small mod demonstrating the bug, or a screenshot if possible_
placeholder: "How & When does this occur?"
validations:
required: true
- type: textarea
id: steps
attributes:
label: Steps to reproduce the behaviour.
description: How can we reproduce this?
placeholder: "Explain how to reproduce"
value: |
Explain how to reproduce
1.
2.
3.
validations:
required: false
- type: textarea
id: config_file
attributes:
label: Your configuration
description: |
Share the config file(s) you've been using to run the program. (`gzdoom.ini`)
Please avoid pasting the full config, _use attachments or links_ in a [Gist](https://gist.github.com/)
placeholder: "example: cl_autorun=true"
render: ini # syntax highlighting
validations:
required: false
- type: textarea
id: log
attributes:
label: Provide a Log
description: Please avoid pasting the full log, _use attachments or links_ in a [Gist](https://gist.github.com/)
placeholder: "Copy & paste error log section or provide link"
validations:
required: false
- type: markdown
attributes:
value: |
* Make sure you have properly filled in the title of this bug report

View file

@ -1,107 +0,0 @@
name: Feature Request
description: Suggest an idea (a new feature or other improvement) for this project
title: '[Feature] '
labels: enhancement
#assignees: 'anonymous@temp'
body:
- type: markdown
attributes:
value: |
## Please fill out forms as cleanly as possible.
#### Make sure that you have
* properly edited & filled in the title of this bug report
- type: input
id: version
attributes:
label: GZDoom version
description: |
What version are you using?
Run `gzdoom --version` or check in the console in game.
Make sure to update to latest [release](https://github.com/coelckers/gzdoom/releases) version and test again before continuing.
placeholder: "ex: GZDoom 4.0.0, Git version, Branch, other"
validations:
required: false
- type: dropdown
id: gameid
attributes:
label: Which game are you running with GZDoom?
multiple: false
options:
- Doom
- Doom 2
- Heretic
- Hexen
- Strife
- Other
validations:
required: false
- type: dropdown
id: OS
attributes:
label: What Operating System are you using?
multiple: false
options:
- Windows 11
- Windows 10
- Windows 8
- Windows 7
- Windows Other
- Mac OS
- Linux x86
- Linux x86_64
- Linux ARM (Raspberry Pi)
- Other
validations:
required: false
- type: input
id: other
attributes:
label: If Other OS, please describe
description: Other details
placeholder: "Windows, Mac OSX version, Debian, Ubuntu, Arch, etc."
validations:
required: false
- type: input
id: hardware
attributes:
label: Relevant hardware info
description: Hardware
placeholder: "CPU, GPU, device brand/model: e.g. Intel, AMD, Nvidia, etc"
validations:
required: false
- type: textarea
id: related
attributes:
label: Is your feature request related to a problem? Please describe.
description: Related
placeholder: "Ex. I'm always frustrated when"
validations:
required: true
- type: textarea
id: solution
attributes:
label: Describe the solution you'd like
placeholder: "Ex. How can we make it better?"
validations:
required: false
- type: textarea
id: alternative
attributes:
label: Describe alternatives you've considered
description: A clear and concise description of any alternative solutions or features you've considered.
placeholder: "Similar idea or software"
validations:
required: false
- type: textarea
id: additional
attributes:
label: Add any other context or screenshots about the feature request here.
description: Screenshots or Links?
placeholder: "Ex. Screenshot or Link"
validations:
required: false
- type: markdown
attributes:
value: |
* Make sure you have properly filled in the title of this feature request

93
.github/workflows/build.yaml vendored Normal file
View file

@ -0,0 +1,93 @@
name: build
on:
push:
pull_request:
env:
BUILD_TYPE: Release
jobs:
linux:
runs-on: ubuntu-latest
name: 🐧 Ubuntu x64
steps:
- name: 🧰 Checkout
uses: actions/checkout@v2
with:
fetch-depth: 0
submodules: true
- name: ⬇️ Install dependencies
env:
DEBIAN_FRONTEND: noninteractive
run: |
sudo apt-get -qq update
sudo apt-get -qq install \
build-essential \
libsdl2-dev \
libsdl2-mixer-dev
- name: Create Build Environment
run: cmake -E make_directory ${{runner.workspace}}/build
- name: Configure CMake
shell: bash
working-directory: ${{runner.workspace}}/build
run: cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=$BUILD_TYPE
- name: Build
working-directory: ${{runner.workspace}}/build
shell: bash
run: cmake --build . --config $BUILD_TYPE
win:
runs-on: windows-latest
name: 🟦 Windows x64
steps:
- name: 🧰 Checkout
uses: actions/checkout@v2
with:
fetch-depth: 0
submodules: true
- name: Create Build Environment
run: cmake -E make_directory ${{runner.workspace}}/build
- name: Configure CMake Windows
shell: bash
working-directory: ${{runner.workspace}}/build
run: cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DCMAKE_TOOLCHAIN_FILE="C:/vcpkg/scripts/buildsystems/vcpkg.cmake" -DVCPKG_BIN_DIR="c:/vcpkg/installed/x64-windows/bin"
- name: Build
working-directory: ${{runner.workspace}}/build
shell: bash
run: cmake --build . --config $BUILD_TYPE
# macos-build:
# runs-on: macos-10.15
# name: 🍎 macOS 10.15
# steps:
# - name: 🧰 Checkout
# uses: actions/checkout@v2
# with:
# fetch-depth: 0
# submodules: true
# - name: ⬇️ Install dependencies
# run: brew install sdl2 sdl2_mixer
# - name: Create Build Environment
# run: cmake -E make_directory ${{runner.workspace}}/build
# - name: Configure CMake
# shell: bash
# working-directory: ${{runner.workspace}}/build
# run: cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=$BUILD_TYPE
# - name: Build
# working-directory: ${{runner.workspace}}/build
# shell: bash
# run: |
# cmake --build . --config $BUILD_TYPE

View file

@ -1,121 +0,0 @@
name: Continuous Integration
on: [push, pull_request]
jobs:
build:
name: ${{ matrix.config.name }} | ${{ matrix.config.build_type }}
runs-on: ${{ matrix.config.os }}
strategy:
fail-fast: false
matrix:
config:
- name: Visual Studio 2022
os: windows-2022
build_type: Release
- name: Visual Studio 2022
os: windows-2022
build_type: Debug
- name: macOS
os: macos-14
deps_cmdline: brew install libvpx
build_type: Release
- name: macOS
os: macos-14
extra_options: -G Xcode -DDYN_OPENAL=OFF
deps_cmdline: brew install libvpx
build_type: Debug
- name: Linux GCC 9 # oldest version available
os: ubuntu-22.04
extra_options: -DCMAKE_C_COMPILER=gcc-9 -DCMAKE_CXX_COMPILER=g++-9
deps_cmdline: sudo apt-get update && sudo apt-get install libsdl2-dev libvpx-dev libgtk2.0-dev libwebp-dev
build_type: RelWithDebInfo
- name: Linux GCC 12 # last known good
os: ubuntu-22.04
extra_options: -DCMAKE_C_COMPILER=gcc-12 -DCMAKE_CXX_COMPILER=g++-12
deps_cmdline: sudo apt-get update && sudo apt-get install libsdl2-dev libvpx-dev libgtk-3-dev libwebp-dev
build_type: MinSizeRel
- name: Linux GCC Latest # rolling default, not actually latest
os: ubuntu-latest
extra_options: -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++
deps_cmdline: sudo apt-get update && sudo apt-get install libsdl2-dev libvpx-dev libwebp-dev
build_type: Release
- name: Linux Clang 11 # oldest version available
os: ubuntu-22.04
extra_options: -DCMAKE_C_COMPILER=clang-11 -DCMAKE_CXX_COMPILER=clang++-11 -DDYN_OPENAL=OFF
deps_cmdline: sudo apt-get update && sudo apt-get install clang-11 libsdl2-dev libvpx-dev libopenal-dev libwebp-dev
build_type: Debug
- name: Linux Clang 15 # last known good
os: ubuntu-22.04
extra_options: -DCMAKE_C_COMPILER=clang-15 -DCMAKE_CXX_COMPILER=clang++-15
deps_cmdline: sudo apt-get update && sudo apt-get install clang-15 libsdl2-dev libvpx-dev libwebp-dev
build_type: Release
- name: Linux Clang Latest # rolling default, not actually latest
os: ubuntu-latest
extra_options: -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++
deps_cmdline: sudo apt-get update && sudo apt-get install libsdl2-dev libvpx-dev libwebp-dev
build_type: Release
steps:
- uses: actions/checkout@v4
- name: Install Dependencies
shell: bash
run: |
if [[ -n "${{ matrix.config.deps_cmdline }}" ]]; then
eval ${{ matrix.config.deps_cmdline }}
fi
mkdir build
- name: Git describe
id: ghd
uses: proudust/gh-describe@v2
- name: Configure
shell: bash
run: |
cmake -B build -DCMAKE_BUILD_TYPE=${{ matrix.config.build_type }} -DPK3_QUIET_ZIPDIR=ON ${{ matrix.config.extra_options }} .
- name: Build
shell: bash
run: |
export GIT_DESCRIBE="${{ steps.ghd.outputs.describe }}"
export MAKEFLAGS=--keep-going
cmake --build build --config ${{ matrix.config.build_type }} --parallel 3
- name: Create Package
if: runner.os == 'Windows' # Remove to make packages of all targets
shell: bash
run: |
cd build
mkdir package
if [[ "${{ runner.os }}" == 'Windows' ]]; then
cp ${{ matrix.config.build_type }}/gzdoom.exe ${{ matrix.config.build_type }}/*.pk3 package
elif [[ "${{ runner.os }}" == 'macOS' ]]; then
cp -r gzdoom.app package
elif [[ "${{ runner.os }}" == 'Linux' ]]; then
cp gzdoom *.pk3 package
fi
- name: Upload Package
if: runner.os == 'Windows' # Remove to store packages of all targets
uses: actions/upload-artifact@v4
with:
path: build/package
name: ${{ matrix.config.name }} ${{ matrix.config.build_type }}
- name: List Build Directory
if: always()
shell: bash
run: |
git status
ls -lR build