mirror of
https://github.com/gnif/LookingGlass.git
synced 2026-01-19 02:02:29 +00:00
Compare commits
63 Commits
B7-rc1
...
Release/B7
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
27fe47cbe2 | ||
|
|
aefbebff9c | ||
|
|
9174b1ae0f | ||
|
|
f6b7ea11c8 | ||
|
|
2c50ce4dbd | ||
|
|
f6b0752e45 | ||
|
|
50fee59b29 | ||
|
|
554f5bf75d | ||
|
|
b43f572af0 | ||
|
|
d9f2df361d | ||
|
|
6dcf178879 | ||
|
|
ea00b623ed | ||
|
|
711c932380 | ||
|
|
be52a86a9a | ||
|
|
420eaebb71 | ||
|
|
551298ed5b | ||
|
|
41008add12 | ||
|
|
32d1b8063e | ||
|
|
b0227a8ff8 | ||
|
|
a1c713556d | ||
|
|
a0cf34df73 | ||
|
|
fbb489b9b6 | ||
|
|
03ca20d3e4 | ||
|
|
7e9e38faa5 | ||
|
|
0fd6f59bbb | ||
|
|
661efd107e | ||
|
|
f6094de919 | ||
|
|
77f6054f0a | ||
|
|
c169d4ab23 | ||
|
|
e25492a3a3 | ||
|
|
4e8201da07 | ||
|
|
6a0a635781 | ||
|
|
3ea37b86e3 | ||
|
|
d060e375ea | ||
|
|
7305ce36af | ||
|
|
c04f84b85c | ||
|
|
d21bdebc52 | ||
|
|
695cbc2d61 | ||
|
|
2067b21d47 | ||
|
|
9bc82ab1b4 | ||
|
|
82c9df54c5 | ||
|
|
c48bd35b3a | ||
|
|
ecd3692e1e | ||
|
|
23b773ad80 | ||
|
|
a626a1142d | ||
|
|
e70718600c | ||
|
|
0990c59eff | ||
|
|
fb1d96e147 | ||
|
|
7f515c54b3 | ||
|
|
20972cfd9b | ||
|
|
dc9065b62f | ||
|
|
13b9756e80 | ||
|
|
d902afa3dc | ||
|
|
6e37305765 | ||
|
|
dd6c79594b | ||
|
|
ce9ed5da5d | ||
|
|
fdad5daff8 | ||
|
|
8d25469d27 | ||
|
|
8c5d1d47ee | ||
|
|
90398bc04f | ||
|
|
989fe2bb0b | ||
|
|
7a41169104 | ||
|
|
0b4322d921 |
16
.github/workflows/build.yml
vendored
16
.github/workflows/build.yml
vendored
@@ -2,7 +2,7 @@ name: build
|
|||||||
on: [push, pull_request]
|
on: [push, pull_request]
|
||||||
jobs:
|
jobs:
|
||||||
client:
|
client:
|
||||||
runs-on: ubuntu-20.04
|
runs-on: ubuntu-latest
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
@@ -15,12 +15,6 @@ jobs:
|
|||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v2
|
||||||
with:
|
with:
|
||||||
submodules: recursive
|
submodules: recursive
|
||||||
- name: Install libdecor PPA
|
|
||||||
run: sudo add-apt-repository ppa:christianrauch/libdecoration
|
|
||||||
if: ${{ matrix.wayland_shell == 'libdecor' }}
|
|
||||||
- name: Install PipeWire repository
|
|
||||||
run: |
|
|
||||||
echo 'deb [trusted=yes] https://pipewire-ubuntu.quantum5.workers.dev ./' | sudo tee /etc/apt/sources.list.d/pipewire.list
|
|
||||||
- name: Update apt
|
- name: Update apt
|
||||||
run: |
|
run: |
|
||||||
sudo apt-get update
|
sudo apt-get update
|
||||||
@@ -32,6 +26,7 @@ jobs:
|
|||||||
libgl-dev libgles-dev \
|
libgl-dev libgles-dev \
|
||||||
libx11-dev libxss-dev libxi-dev libxinerama-dev libxcursor-dev libxpresent-dev \
|
libx11-dev libxss-dev libxi-dev libxinerama-dev libxcursor-dev libxpresent-dev \
|
||||||
libwayland-dev libxkbcommon-dev \
|
libwayland-dev libxkbcommon-dev \
|
||||||
|
libfontconfig-dev \
|
||||||
libsamplerate0-dev libpipewire-0.3-dev libpulse-dev \
|
libsamplerate0-dev libpipewire-0.3-dev libpulse-dev \
|
||||||
$([ '${{ matrix.wayland_shell }}' = libdecor ] && echo 'libdecor-0-dev libdbus-1-dev') \
|
$([ '${{ matrix.wayland_shell }}' = libdecor ] && echo 'libdecor-0-dev libdbus-1-dev') \
|
||||||
$([ '${{ matrix.compiler.cc }}' = clang ] && echo 'clang-tools')
|
$([ '${{ matrix.compiler.cc }}' = clang ] && echo 'clang-tools')
|
||||||
@@ -76,16 +71,13 @@ jobs:
|
|||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v2
|
||||||
with:
|
with:
|
||||||
submodules: recursive
|
submodules: recursive
|
||||||
- name: Install PipeWire repository
|
|
||||||
run: |
|
|
||||||
echo 'deb [trusted=yes] https://pipewire-ubuntu.quantum5.workers.dev ./' | sudo tee /etc/apt/sources.list.d/pipewire.list
|
|
||||||
- name: Update apt
|
- name: Update apt
|
||||||
run: |
|
run: |
|
||||||
sudo apt-get update
|
sudo apt-get update
|
||||||
- name: Install Linux host dependencies
|
- name: Install Linux host dependencies
|
||||||
run: |
|
run: |
|
||||||
sudo apt-get install binutils-dev libxcb-xfixes0-dev \
|
sudo apt-get install binutils-dev libglib2.0-dev libxcb-xfixes0-dev \
|
||||||
libpipewire-0.3-dev
|
libpipewire-0.3-dev libxcb-shm0-dev
|
||||||
- name: Configure Linux host
|
- name: Configure Linux host
|
||||||
run: |
|
run: |
|
||||||
mkdir host/build
|
mkdir host/build
|
||||||
|
|||||||
22
.github/workflows/pr-check.yml
vendored
22
.github/workflows/pr-check.yml
vendored
@@ -3,16 +3,36 @@ on: pull_request
|
|||||||
jobs:
|
jobs:
|
||||||
authors:
|
authors:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
permissions:
|
||||||
|
pull-requests: write
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v1
|
- uses: actions/checkout@v1
|
||||||
- name: Check AUTHORS file
|
- name: Check AUTHORS file
|
||||||
|
id: check-authors
|
||||||
run: |
|
run: |
|
||||||
user="$(curl -H 'Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}' -s https://api.github.com/repos/${{ github.repository }}/pulls/${{ github.event.pull_request.number }} | jq -r .user.login)"
|
user="$(curl -H 'Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}' -s https://api.github.com/repos/${{ github.repository }}/pulls/${{ github.event.pull_request.number }} | jq -r .user.login)"
|
||||||
|
echo "user=$user" >> "$GITHUB_OUTPUT"
|
||||||
echo "Checking if GitHub user $user is in AUTHORS file..."
|
echo "Checking if GitHub user $user is in AUTHORS file..."
|
||||||
if grep -q -E '> \('"$user"'\)' AUTHORS; then
|
if grep -q -E '> \('"$user"'\)' AUTHORS; then
|
||||||
echo "$user found in AUTHORS file, all good!"
|
echo "$user found in AUTHORS file, all good!"
|
||||||
else
|
else
|
||||||
echo "$user not found in AUTHORS file."
|
echo "$user not found in AUTHORS file."
|
||||||
echo "Please add yourself to the AUTHORS file and try again."
|
echo "Please add yourself to the AUTHORS file and try again."
|
||||||
exit 1
|
echo "not-found=yes" >> "$GITHUB_OUTPUT"
|
||||||
fi
|
fi
|
||||||
|
- name: 'Not found: Create review requesting changes'
|
||||||
|
if: ${{ steps.check-authors.outputs.not-found }}
|
||||||
|
uses: actions/github-script@v7
|
||||||
|
with:
|
||||||
|
script: |
|
||||||
|
github.rest.pulls.createReview({
|
||||||
|
owner: context.issue.owner,
|
||||||
|
repo: context.issue.repo,
|
||||||
|
pull_number: context.issue.number,
|
||||||
|
event: "REQUEST_CHANGES",
|
||||||
|
body: "@${{ steps.check-authors.outputs.user }} not found in AUTHORS file.\n" +
|
||||||
|
"Please add yourself to the AUTHORS file and try again."
|
||||||
|
});
|
||||||
|
- name: 'Not found: Fail job'
|
||||||
|
if: ${{ steps.check-authors.outputs.not-found }}
|
||||||
|
run: exit 1
|
||||||
|
|||||||
5
AUTHORS
5
AUTHORS
@@ -67,3 +67,8 @@ Daniel Cordero <looking-glass@0xdc.io> (0xdc)
|
|||||||
esi <git@esibun.net> (esibun)
|
esi <git@esibun.net> (esibun)
|
||||||
MakiseKurisu <saberconer@gmail.com> (MakiseKurisu)
|
MakiseKurisu <saberconer@gmail.com> (MakiseKurisu)
|
||||||
Zenithal <i@zenithal.me> (ZenithalHourlyRate)
|
Zenithal <i@zenithal.me> (ZenithalHourlyRate)
|
||||||
|
Kamplom <6284968128@protonmail.ch> (kamplom)
|
||||||
|
Jacob McNamee <jacob@jacobmcnamee.com> (jacobmcnamee)
|
||||||
|
Marco Antonio J. Costa <marco.antonio.costa@gmail.com> (majcosta)
|
||||||
|
rs189 <35667100+rs189@users.noreply.github.com> (rs189)
|
||||||
|
Jérôme Poulin <jeromepoulin@gmail.com> (ticpu)
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
cmake_minimum_required(VERSION 3.5)
|
cmake_minimum_required(VERSION 3.10)
|
||||||
project(looking-glass-client C CXX)
|
project(looking-glass-client C CXX)
|
||||||
|
|
||||||
get_filename_component(PROJECT_TOP "${PROJECT_SOURCE_DIR}/.." ABSOLUTE)
|
get_filename_component(PROJECT_TOP "${PROJECT_SOURCE_DIR}/.." ABSOLUTE)
|
||||||
@@ -42,19 +42,12 @@ add_feature_info(ENABLE_ASAN ENABLE_ASAN "AddressSanitizer support.")
|
|||||||
option(ENABLE_UBSAN "Build with UndefinedBehaviorSanitizer" OFF)
|
option(ENABLE_UBSAN "Build with UndefinedBehaviorSanitizer" OFF)
|
||||||
add_feature_info(ENABLE_UBSAN ENABLE_UBSAN "UndefinedBehaviorSanitizer support.")
|
add_feature_info(ENABLE_UBSAN ENABLE_UBSAN "UndefinedBehaviorSanitizer support.")
|
||||||
|
|
||||||
option(ENABLE_X11 "Build with X11 support" ON)
|
|
||||||
add_feature_info(ENABLE_X11 ENABLE_X11 "X11 support.")
|
|
||||||
|
|
||||||
option(ENABLE_PIPEWIRE "Build with PipeWire audio output support" ON)
|
option(ENABLE_PIPEWIRE "Build with PipeWire audio output support" ON)
|
||||||
add_feature_info(ENABLE_PIPEWIRE ENABLE_PIPEWIRE "PipeWire audio support.")
|
add_feature_info(ENABLE_PIPEWIRE ENABLE_PIPEWIRE "PipeWire audio support.")
|
||||||
|
|
||||||
option(ENABLE_PULSEAUDIO "Build with PulseAudio audio output support" ON)
|
option(ENABLE_PULSEAUDIO "Build with PulseAudio audio output support" ON)
|
||||||
add_feature_info(ENABLE_PULSEAUDIO ENABLE_PULSEAUDIO "PulseAudio audio support.")
|
add_feature_info(ENABLE_PULSEAUDIO ENABLE_PULSEAUDIO "PulseAudio audio support.")
|
||||||
|
|
||||||
if (NOT ENABLE_X11 AND NOT ENABLE_WAYLAND)
|
|
||||||
message(FATAL_ERROR "Either ENABLE_X11 or ENABLE_WAYLAND must be on")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
add_compile_options(
|
add_compile_options(
|
||||||
"-Wall"
|
"-Wall"
|
||||||
"-Wextra"
|
"-Wextra"
|
||||||
@@ -144,6 +137,8 @@ set(SOURCES
|
|||||||
|
|
||||||
# Force cimgui to build as a static library.
|
# Force cimgui to build as a static library.
|
||||||
set(IMGUI_STATIC "yes" CACHE STRING "Build as a static library")
|
set(IMGUI_STATIC "yes" CACHE STRING "Build as a static library")
|
||||||
|
add_definitions("-DCIMGUI_USE_OPENGL2=1")
|
||||||
|
add_definitions("-DCIMGUI_USE_OPENGL3=1")
|
||||||
|
|
||||||
add_subdirectory("${PROJECT_TOP}/resources" "${CMAKE_BINARY_DIR}/resources")
|
add_subdirectory("${PROJECT_TOP}/resources" "${CMAKE_BINARY_DIR}/resources")
|
||||||
add_subdirectory("${PROJECT_TOP}/common" "${CMAKE_BINARY_DIR}/common" )
|
add_subdirectory("${PROJECT_TOP}/common" "${CMAKE_BINARY_DIR}/common" )
|
||||||
@@ -154,6 +149,7 @@ add_subdirectory("${PROJECT_TOP}/repos/cimgui" "${CMAKE_BINARY_DIR}/cimgui" E
|
|||||||
add_subdirectory(displayservers)
|
add_subdirectory(displayservers)
|
||||||
add_subdirectory(renderers)
|
add_subdirectory(renderers)
|
||||||
|
|
||||||
|
configure_file("${PROJECT_TOP}/resources/looking-glass-client.desktop.in" "${CMAKE_BINARY_DIR}/resources/looking-glass-client.desktop" @ONLY)
|
||||||
add_executable(looking-glass-client ${SOURCES})
|
add_executable(looking-glass-client ${SOURCES})
|
||||||
|
|
||||||
target_compile_definitions(looking-glass-client PRIVATE CIMGUI_DEFINE_ENUMS_AND_STRUCTS=1)
|
target_compile_definitions(looking-glass-client PRIVATE CIMGUI_DEFINE_ENUMS_AND_STRUCTS=1)
|
||||||
@@ -184,4 +180,10 @@ install(TARGETS looking-glass-client
|
|||||||
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
||||||
COMPONENT binary)
|
COMPONENT binary)
|
||||||
|
|
||||||
|
install(FILES "${CMAKE_BINARY_DIR}/resources/looking-glass-client.desktop"
|
||||||
|
DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/applications")
|
||||||
|
install(FILES "${PROJECT_TOP}/resources/lg-logo.svg"
|
||||||
|
DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/scalable/apps"
|
||||||
|
RENAME "looking-glass.svg")
|
||||||
|
|
||||||
feature_summary(WHAT ENABLED_FEATURES DISABLED_FEATURES)
|
feature_summary(WHAT ENABLED_FEATURES DISABLED_FEATURES)
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
cmake_minimum_required(VERSION 3.5)
|
cmake_minimum_required(VERSION 3.10)
|
||||||
project(audiodevs LANGUAGES C)
|
project(audiodevs LANGUAGES C)
|
||||||
|
|
||||||
set(AUDIODEV_H "${CMAKE_BINARY_DIR}/include/dynamic/audiodev.h")
|
set(AUDIODEV_H "${CMAKE_BINARY_DIR}/include/dynamic/audiodev.h")
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
cmake_minimum_required(VERSION 3.5)
|
cmake_minimum_required(VERSION 3.10)
|
||||||
project(audiodev_PipeWire LANGUAGES C)
|
project(audiodev_PipeWire LANGUAGES C)
|
||||||
|
|
||||||
find_package(PkgConfig)
|
find_package(PkgConfig)
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/**
|
/**
|
||||||
* Looking Glass
|
* Looking Glass
|
||||||
* Copyright © 2017-2024 The Looking Glass Authors
|
* Copyright © 2017-2025 The Looking Glass Authors
|
||||||
* https://looking-glass.io
|
* https://looking-glass.io
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify it
|
* This program is free software; you can redistribute it and/or modify it
|
||||||
@@ -258,6 +258,7 @@ static void pipewire_playbackSetup(int channels, int sampleRate,
|
|||||||
|
|
||||||
struct pw_properties * props =
|
struct pw_properties * props =
|
||||||
pw_properties_new(
|
pw_properties_new(
|
||||||
|
PW_KEY_APP_NAME , "Looking Glass",
|
||||||
PW_KEY_NODE_NAME , "Looking Glass",
|
PW_KEY_NODE_NAME , "Looking Glass",
|
||||||
PW_KEY_MEDIA_TYPE , "Audio",
|
PW_KEY_MEDIA_TYPE , "Audio",
|
||||||
PW_KEY_MEDIA_CATEGORY, "Playback",
|
PW_KEY_MEDIA_CATEGORY, "Playback",
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
cmake_minimum_required(VERSION 3.5)
|
cmake_minimum_required(VERSION 3.10)
|
||||||
project(audiodev_PulseAudio LANGUAGES C)
|
project(audiodev_PulseAudio LANGUAGES C)
|
||||||
|
|
||||||
find_package(PkgConfig)
|
find_package(PkgConfig)
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/**
|
/**
|
||||||
* Looking Glass
|
* Looking Glass
|
||||||
* Copyright © 2017-2024 The Looking Glass Authors
|
* Copyright © 2017-2025 The Looking Glass Authors
|
||||||
* https://looking-glass.io
|
* https://looking-glass.io
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify it
|
* This program is free software; you can redistribute it and/or modify it
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
cmake_minimum_required(VERSION 3.5)
|
cmake_minimum_required(VERSION 3.10)
|
||||||
project(displayservers LANGUAGES C)
|
project(displayservers LANGUAGES C)
|
||||||
|
|
||||||
set(DISPLAYSERVER_H "${CMAKE_BINARY_DIR}/include/dynamic/displayservers.h")
|
set(DISPLAYSERVER_H "${CMAKE_BINARY_DIR}/include/dynamic/displayservers.h")
|
||||||
@@ -18,9 +18,16 @@ function(add_displayserver name)
|
|||||||
add_subdirectory(${name})
|
add_subdirectory(${name})
|
||||||
endfunction()
|
endfunction()
|
||||||
|
|
||||||
|
option(ENABLE_X11 "Build with X11 support" ON)
|
||||||
|
add_feature_info(ENABLE_X11 ENABLE_X11 "X11 support.")
|
||||||
|
|
||||||
option(ENABLE_WAYLAND "Build with Wayland support" ON)
|
option(ENABLE_WAYLAND "Build with Wayland support" ON)
|
||||||
add_feature_info(ENABLE_WAYLAND ENABLE_WAYLAND "Wayland support.")
|
add_feature_info(ENABLE_WAYLAND ENABLE_WAYLAND "Wayland support.")
|
||||||
|
|
||||||
|
if (NOT ENABLE_X11 AND NOT ENABLE_WAYLAND)
|
||||||
|
message(FATAL_ERROR "Either ENABLE_X11 or ENABLE_WAYLAND must be on")
|
||||||
|
endif()
|
||||||
|
|
||||||
# Add/remove displayservers here!
|
# Add/remove displayservers here!
|
||||||
if (ENABLE_WAYLAND)
|
if (ENABLE_WAYLAND)
|
||||||
add_displayserver(Wayland)
|
add_displayserver(Wayland)
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
cmake_minimum_required(VERSION 3.5)
|
cmake_minimum_required(VERSION 3.10)
|
||||||
project(displayserver_Wayland LANGUAGES C)
|
project(displayserver_Wayland LANGUAGES C)
|
||||||
|
|
||||||
find_package(PkgConfig)
|
find_package(PkgConfig)
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/**
|
/**
|
||||||
* Looking Glass
|
* Looking Glass
|
||||||
* Copyright © 2017-2024 The Looking Glass Authors
|
* Copyright © 2017-2025 The Looking Glass Authors
|
||||||
* https://looking-glass.io
|
* https://looking-glass.io
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify it
|
* This program is free software; you can redistribute it and/or modify it
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/**
|
/**
|
||||||
* Looking Glass
|
* Looking Glass
|
||||||
* Copyright © 2017-2024 The Looking Glass Authors
|
* Copyright © 2017-2025 The Looking Glass Authors
|
||||||
* https://looking-glass.io
|
* https://looking-glass.io
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify it
|
* This program is free software; you can redistribute it and/or modify it
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/**
|
/**
|
||||||
* Looking Glass
|
* Looking Glass
|
||||||
* Copyright © 2017-2024 The Looking Glass Authors
|
* Copyright © 2017-2025 The Looking Glass Authors
|
||||||
* https://looking-glass.io
|
* https://looking-glass.io
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify it
|
* This program is free software; you can redistribute it and/or modify it
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
cmake_minimum_required(VERSION 3.5)
|
cmake_minimum_required(VERSION 3.10)
|
||||||
project(wayland_desktops LANGUAGES C)
|
project(wayland_desktops LANGUAGES C)
|
||||||
|
|
||||||
set(DESKTOP_H "${CMAKE_BINARY_DIR}/include/dynamic/wayland_desktops.h")
|
set(DESKTOP_H "${CMAKE_BINARY_DIR}/include/dynamic/wayland_desktops.h")
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
cmake_minimum_required(VERSION 3.5)
|
cmake_minimum_required(VERSION 3.10)
|
||||||
project(wayland_desktop_libdecor LANGUAGES C)
|
project(wayland_desktop_libdecor LANGUAGES C)
|
||||||
|
|
||||||
add_library(wayland_desktop_libdecor STATIC
|
add_library(wayland_desktop_libdecor STATIC
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/**
|
/**
|
||||||
* Looking Glass
|
* Looking Glass
|
||||||
* Copyright © 2017-2024 The Looking Glass Authors
|
* Copyright © 2017-2025 The Looking Glass Authors
|
||||||
* https://looking-glass.io
|
* https://looking-glass.io
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify it
|
* This program is free software; you can redistribute it and/or modify it
|
||||||
@@ -130,14 +130,14 @@ static void libdecorCallback(uint32_t events, void * opaque)
|
|||||||
|
|
||||||
static bool libdecor_shellInit(
|
static bool libdecor_shellInit(
|
||||||
struct wl_display * display, struct wl_surface * surface,
|
struct wl_display * display, struct wl_surface * surface,
|
||||||
const char * title, bool fullscreen,
|
const char * title, const char * appId, bool fullscreen,
|
||||||
bool maximize, bool borderless, bool resizable)
|
bool maximize, bool borderless, bool resizable)
|
||||||
{
|
{
|
||||||
state.libdecor = libdecor_new(display, &libdecorListener);
|
state.libdecor = libdecor_new(display, &libdecorListener);
|
||||||
state.libdecorFrame = libdecor_decorate(state.libdecor, surface,
|
state.libdecorFrame = libdecor_decorate(state.libdecor, surface,
|
||||||
&libdecorFrameListener, NULL);
|
&libdecorFrameListener, NULL);
|
||||||
|
|
||||||
libdecor_frame_set_app_id(state.libdecorFrame, "looking-glass-client");
|
libdecor_frame_set_app_id(state.libdecorFrame, appId);
|
||||||
libdecor_frame_set_title(state.libdecorFrame, title);
|
libdecor_frame_set_title(state.libdecorFrame, title);
|
||||||
libdecor_frame_map(state.libdecorFrame);
|
libdecor_frame_map(state.libdecorFrame);
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
cmake_minimum_required(VERSION 3.5)
|
cmake_minimum_required(VERSION 3.10)
|
||||||
project(wayland_desktop_xdg LANGUAGES C)
|
project(wayland_desktop_xdg LANGUAGES C)
|
||||||
|
|
||||||
add_library(wayland_desktop_xdg STATIC
|
add_library(wayland_desktop_xdg STATIC
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/**
|
/**
|
||||||
* Looking Glass
|
* Looking Glass
|
||||||
* Copyright © 2017-2024 The Looking Glass Authors
|
* Copyright © 2017-2025 The Looking Glass Authors
|
||||||
* https://looking-glass.io
|
* https://looking-glass.io
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify it
|
* This program is free software; you can redistribute it and/or modify it
|
||||||
@@ -130,7 +130,7 @@ static const struct xdg_toplevel_listener xdgToplevelListener = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
bool xdg_shellInit(struct wl_display * display, struct wl_surface * surface,
|
bool xdg_shellInit(struct wl_display * display, struct wl_surface * surface,
|
||||||
const char * title, bool fullscreen, bool maximize, bool borderless,
|
const char * title, const char * appId, bool fullscreen, bool maximize, bool borderless,
|
||||||
bool resizable)
|
bool resizable)
|
||||||
{
|
{
|
||||||
if (!state.wmBase)
|
if (!state.wmBase)
|
||||||
@@ -147,7 +147,7 @@ bool xdg_shellInit(struct wl_display * display, struct wl_surface * surface,
|
|||||||
state.toplevel = xdg_surface_get_toplevel(state.surface);
|
state.toplevel = xdg_surface_get_toplevel(state.surface);
|
||||||
xdg_toplevel_add_listener(state.toplevel, &xdgToplevelListener, NULL);
|
xdg_toplevel_add_listener(state.toplevel, &xdgToplevelListener, NULL);
|
||||||
xdg_toplevel_set_title(state.toplevel, title);
|
xdg_toplevel_set_title(state.toplevel, title);
|
||||||
xdg_toplevel_set_app_id(state.toplevel, "looking-glass-client");
|
xdg_toplevel_set_app_id(state.toplevel, appId);
|
||||||
|
|
||||||
if (fullscreen)
|
if (fullscreen)
|
||||||
xdg_toplevel_set_fullscreen(state.toplevel, NULL);
|
xdg_toplevel_set_fullscreen(state.toplevel, NULL);
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/**
|
/**
|
||||||
* Looking Glass
|
* Looking Glass
|
||||||
* Copyright © 2017-2024 The Looking Glass Authors
|
* Copyright © 2017-2025 The Looking Glass Authors
|
||||||
* https://looking-glass.io
|
* https://looking-glass.io
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify it
|
* This program is free software; you can redistribute it and/or modify it
|
||||||
@@ -102,7 +102,11 @@ void waylandEGLSwapBuffers(EGLDisplay display, EGLSurface surface, const struct
|
|||||||
wl_surface_set_buffer_scale(wlWm.surface, 1);
|
wl_surface_set_buffer_scale(wlWm.surface, 1);
|
||||||
if (!wlWm.viewport)
|
if (!wlWm.viewport)
|
||||||
wlWm.viewport = wp_viewporter_get_viewport(wlWm.viewporter, wlWm.surface);
|
wlWm.viewport = wp_viewporter_get_viewport(wlWm.viewporter, wlWm.surface);
|
||||||
wp_viewport_set_source(wlWm.viewport, 0, 0, width * wlWm.scale, height * wlWm.scale);
|
wp_viewport_set_source(
|
||||||
|
wlWm.viewport,
|
||||||
|
wl_fixed_from_int(-1), wl_fixed_from_int(-1),
|
||||||
|
wl_fixed_from_int(-1), wl_fixed_from_int(-1)
|
||||||
|
);
|
||||||
wp_viewport_set_destination(wlWm.viewport, width, height);
|
wp_viewport_set_destination(wlWm.viewport, width, height);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/**
|
/**
|
||||||
* Looking Glass
|
* Looking Glass
|
||||||
* Copyright © 2017-2024 The Looking Glass Authors
|
* Copyright © 2017-2025 The Looking Glass Authors
|
||||||
* https://looking-glass.io
|
* https://looking-glass.io
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify it
|
* This program is free software; you can redistribute it and/or modify it
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/**
|
/**
|
||||||
* Looking Glass
|
* Looking Glass
|
||||||
* Copyright © 2017-2024 The Looking Glass Authors
|
* Copyright © 2017-2025 The Looking Glass Authors
|
||||||
* https://looking-glass.io
|
* https://looking-glass.io
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify it
|
* This program is free software; you can redistribute it and/or modify it
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/**
|
/**
|
||||||
* Looking Glass
|
* Looking Glass
|
||||||
* Copyright © 2017-2024 The Looking Glass Authors
|
* Copyright © 2017-2025 The Looking Glass Authors
|
||||||
* https://looking-glass.io
|
* https://looking-glass.io
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify it
|
* This program is free software; you can redistribute it and/or modify it
|
||||||
@@ -34,7 +34,7 @@ typedef struct WL_DesktopOps
|
|||||||
|
|
||||||
bool (*shellInit)(
|
bool (*shellInit)(
|
||||||
struct wl_display * display, struct wl_surface * surface,
|
struct wl_display * display, struct wl_surface * surface,
|
||||||
const char * title, bool fullscreen, bool maximize,
|
const char * title, const char * appId, bool fullscreen, bool maximize,
|
||||||
bool borderless, bool resizable);
|
bool borderless, bool resizable);
|
||||||
|
|
||||||
void (*shellAckConfigureIfNeeded)(void);
|
void (*shellAckConfigureIfNeeded)(void);
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/**
|
/**
|
||||||
* Looking Glass
|
* Looking Glass
|
||||||
* Copyright © 2017-2024 The Looking Glass Authors
|
* Copyright © 2017-2025 The Looking Glass Authors
|
||||||
* https://looking-glass.io
|
* https://looking-glass.io
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify it
|
* This program is free software; you can redistribute it and/or modify it
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/**
|
/**
|
||||||
* Looking Glass
|
* Looking Glass
|
||||||
* Copyright © 2017-2024 The Looking Glass Authors
|
* Copyright © 2017-2025 The Looking Glass Authors
|
||||||
* https://looking-glass.io
|
* https://looking-glass.io
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify it
|
* This program is free software; you can redistribute it and/or modify it
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/**
|
/**
|
||||||
* Looking Glass
|
* Looking Glass
|
||||||
* Copyright © 2017-2024 The Looking Glass Authors
|
* Copyright © 2017-2025 The Looking Glass Authors
|
||||||
* https://looking-glass.io
|
* https://looking-glass.io
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify it
|
* This program is free software; you can redistribute it and/or modify it
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
cmake_minimum_required(VERSION 3.5)
|
cmake_minimum_required(VERSION 3.10)
|
||||||
project(wayland_protocol LANGUAGES C)
|
project(wayland_protocol LANGUAGES C)
|
||||||
|
|
||||||
find_package(PkgConfig)
|
find_package(PkgConfig)
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/**
|
/**
|
||||||
* Looking Glass
|
* Looking Glass
|
||||||
* Copyright © 2017-2024 The Looking Glass Authors
|
* Copyright © 2017-2025 The Looking Glass Authors
|
||||||
* https://looking-glass.io
|
* https://looking-glass.io
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify it
|
* This program is free software; you can redistribute it and/or modify it
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/**
|
/**
|
||||||
* Looking Glass
|
* Looking Glass
|
||||||
* Copyright © 2017-2024 The Looking Glass Authors
|
* Copyright © 2017-2025 The Looking Glass Authors
|
||||||
* https://looking-glass.io
|
* https://looking-glass.io
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify it
|
* This program is free software; you can redistribute it and/or modify it
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/**
|
/**
|
||||||
* Looking Glass
|
* Looking Glass
|
||||||
* Copyright © 2017-2024 The Looking Glass Authors
|
* Copyright © 2017-2025 The Looking Glass Authors
|
||||||
* https://looking-glass.io
|
* https://looking-glass.io
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify it
|
* This program is free software; you can redistribute it and/or modify it
|
||||||
@@ -121,7 +121,7 @@ static bool waylandInit(const LG_DSInitParams params)
|
|||||||
for(int i = 0; i < WL_DESKTOP_COUNT; ++i)
|
for(int i = 0; i < WL_DESKTOP_COUNT; ++i)
|
||||||
if (strcmp(WL_Desktops[i]->compositor, compositor) == 0)
|
if (strcmp(WL_Desktops[i]->compositor, compositor) == 0)
|
||||||
{
|
{
|
||||||
wlWm.desktop = WL_Desktops[0];
|
wlWm.desktop = WL_Desktops[i];
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -159,7 +159,7 @@ static bool waylandInit(const LG_DSInitParams params)
|
|||||||
return false;
|
return false;
|
||||||
|
|
||||||
wlWm.desktop->setSize(params.w, params.h);
|
wlWm.desktop->setSize(params.w, params.h);
|
||||||
if (!waylandWindowInit(params.title, params.fullscreen, params.maximize,
|
if (!waylandWindowInit(params.title, params.appId, params.fullscreen, params.maximize,
|
||||||
params.borderless, params.resizable))
|
params.borderless, params.resizable))
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/**
|
/**
|
||||||
* Looking Glass
|
* Looking Glass
|
||||||
* Copyright © 2017-2024 The Looking Glass Authors
|
* Copyright © 2017-2025 The Looking Glass Authors
|
||||||
* https://looking-glass.io
|
* https://looking-glass.io
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify it
|
* This program is free software; you can redistribute it and/or modify it
|
||||||
@@ -301,7 +301,7 @@ bool waylandRegistryInit(void);
|
|||||||
void waylandRegistryFree(void);
|
void waylandRegistryFree(void);
|
||||||
|
|
||||||
// window module
|
// window module
|
||||||
bool waylandWindowInit(const char * title, bool fullscreen, bool maximize, bool borderless, bool resizable);
|
bool waylandWindowInit(const char * title, const char * appId, bool fullscreen, bool maximize, bool borderless, bool resizable);
|
||||||
void waylandWindowFree(void);
|
void waylandWindowFree(void);
|
||||||
void waylandWindowUpdateScale(void);
|
void waylandWindowUpdateScale(void);
|
||||||
void waylandSetWindowSize(int x, int y);
|
void waylandSetWindowSize(int x, int y);
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/**
|
/**
|
||||||
* Looking Glass
|
* Looking Glass
|
||||||
* Copyright © 2017-2024 The Looking Glass Authors
|
* Copyright © 2017-2025 The Looking Glass Authors
|
||||||
* https://looking-glass.io
|
* https://looking-glass.io
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify it
|
* This program is free software; you can redistribute it and/or modify it
|
||||||
@@ -85,7 +85,7 @@ static const struct wl_surface_listener wlSurfaceListener = {
|
|||||||
.leave = wlSurfaceLeaveHandler,
|
.leave = wlSurfaceLeaveHandler,
|
||||||
};
|
};
|
||||||
|
|
||||||
bool waylandWindowInit(const char * title, bool fullscreen, bool maximize, bool borderless, bool resizable)
|
bool waylandWindowInit(const char * title, const char * appId, bool fullscreen, bool maximize, bool borderless, bool resizable)
|
||||||
{
|
{
|
||||||
wlWm.scale = wl_fixed_from_int(1);
|
wlWm.scale = wl_fixed_from_int(1);
|
||||||
|
|
||||||
@@ -113,7 +113,7 @@ bool waylandWindowInit(const char * title, bool fullscreen, bool maximize, bool
|
|||||||
wl_surface_add_listener(wlWm.surface, &wlSurfaceListener, NULL);
|
wl_surface_add_listener(wlWm.surface, &wlSurfaceListener, NULL);
|
||||||
|
|
||||||
if (!wlWm.desktop->shellInit(wlWm.display, wlWm.surface,
|
if (!wlWm.desktop->shellInit(wlWm.display, wlWm.surface,
|
||||||
title, fullscreen, maximize, borderless, resizable))
|
title, appId, fullscreen, maximize, borderless, resizable))
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
wl_surface_commit(wlWm.surface);
|
wl_surface_commit(wlWm.surface);
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
cmake_minimum_required(VERSION 3.5)
|
cmake_minimum_required(VERSION 3.10)
|
||||||
project(displayserver_X11 LANGUAGES C)
|
project(displayserver_X11 LANGUAGES C)
|
||||||
|
|
||||||
find_package(PkgConfig)
|
find_package(PkgConfig)
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/**
|
/**
|
||||||
* Looking Glass
|
* Looking Glass
|
||||||
* Copyright © 2017-2024 The Looking Glass Authors
|
* Copyright © 2017-2025 The Looking Glass Authors
|
||||||
* https://looking-glass.io
|
* https://looking-glass.io
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify it
|
* This program is free software; you can redistribute it and/or modify it
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/**
|
/**
|
||||||
* Looking Glass
|
* Looking Glass
|
||||||
* Copyright © 2017-2024 The Looking Glass Authors
|
* Copyright © 2017-2025 The Looking Glass Authors
|
||||||
* https://looking-glass.io
|
* https://looking-glass.io
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify it
|
* This program is free software; you can redistribute it and/or modify it
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/**
|
/**
|
||||||
* Looking Glass
|
* Looking Glass
|
||||||
* Copyright © 2017-2024 The Looking Glass Authors
|
* Copyright © 2017-2025 The Looking Glass Authors
|
||||||
* https://looking-glass.io
|
* https://looking-glass.io
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify it
|
* This program is free software; you can redistribute it and/or modify it
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/**
|
/**
|
||||||
* Looking Glass
|
* Looking Glass
|
||||||
* Copyright © 2017-2024 The Looking Glass Authors
|
* Copyright © 2017-2025 The Looking Glass Authors
|
||||||
* https://looking-glass.io
|
* https://looking-glass.io
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify it
|
* This program is free software; you can redistribute it and/or modify it
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/**
|
/**
|
||||||
* Looking Glass
|
* Looking Glass
|
||||||
* Copyright © 2017-2024 The Looking Glass Authors
|
* Copyright © 2017-2025 The Looking Glass Authors
|
||||||
* https://looking-glass.io
|
* https://looking-glass.io
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify it
|
* This program is free software; you can redistribute it and/or modify it
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/**
|
/**
|
||||||
* Looking Glass
|
* Looking Glass
|
||||||
* Copyright © 2017-2024 The Looking Glass Authors
|
* Copyright © 2017-2025 The Looking Glass Authors
|
||||||
* https://looking-glass.io
|
* https://looking-glass.io
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify it
|
* This program is free software; you can redistribute it and/or modify it
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/**
|
/**
|
||||||
* Looking Glass
|
* Looking Glass
|
||||||
* Copyright © 2017-2024 The Looking Glass Authors
|
* Copyright © 2017-2025 The Looking Glass Authors
|
||||||
* https://looking-glass.io
|
* https://looking-glass.io
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify it
|
* This program is free software; you can redistribute it and/or modify it
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/**
|
/**
|
||||||
* Looking Glass
|
* Looking Glass
|
||||||
* Copyright © 2017-2024 The Looking Glass Authors
|
* Copyright © 2017-2025 The Looking Glass Authors
|
||||||
* https://looking-glass.io
|
* https://looking-glass.io
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify it
|
* This program is free software; you can redistribute it and/or modify it
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/**
|
/**
|
||||||
* Looking Glass
|
* Looking Glass
|
||||||
* Copyright © 2017-2024 The Looking Glass Authors
|
* Copyright © 2017-2025 The Looking Glass Authors
|
||||||
* https://looking-glass.io
|
* https://looking-glass.io
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify it
|
* This program is free software; you can redistribute it and/or modify it
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/**
|
/**
|
||||||
* Looking Glass
|
* Looking Glass
|
||||||
* Copyright © 2017-2024 The Looking Glass Authors
|
* Copyright © 2017-2025 The Looking Glass Authors
|
||||||
* https://looking-glass.io
|
* https://looking-glass.io
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify it
|
* This program is free software; you can redistribute it and/or modify it
|
||||||
@@ -343,7 +343,7 @@ static bool x11Init(const LG_DSInitParams params)
|
|||||||
XClassHint hint =
|
XClassHint hint =
|
||||||
{
|
{
|
||||||
.res_name = strdup(params.title),
|
.res_name = strdup(params.title),
|
||||||
.res_class = strdup("looking-glass-client")
|
.res_class = strdup(params.appId)
|
||||||
};
|
};
|
||||||
XSetClassHint(x11.display, x11.window, &hint);
|
XSetClassHint(x11.display, x11.window, &hint);
|
||||||
free(hint.res_name);
|
free(hint.res_name);
|
||||||
@@ -699,7 +699,7 @@ static bool x11Init(const LG_DSInitParams params)
|
|||||||
XMoveWindow(x11.display, x11.window, params.x, params.y);
|
XMoveWindow(x11.display, x11.window, params.x, params.y);
|
||||||
|
|
||||||
if (params.fullscreen)
|
if (params.fullscreen)
|
||||||
x11SetFullscreen(true);
|
x11.doFullscreenOnExpose = true;
|
||||||
|
|
||||||
XSetLocaleModifiers(""); // Load XMODIFIERS
|
XSetLocaleModifiers(""); // Load XMODIFIERS
|
||||||
x11.xim = XOpenIM(x11.display, 0, 0, 0);
|
x11.xim = XOpenIM(x11.display, 0, 0, 0);
|
||||||
@@ -946,6 +946,11 @@ static int x11EventThread(void * unused)
|
|||||||
{
|
{
|
||||||
atomic_store(&x11.lastWMEvent, microtime());
|
atomic_store(&x11.lastWMEvent, microtime());
|
||||||
x11.invalidateAll = true;
|
x11.invalidateAll = true;
|
||||||
|
if (x11.doFullscreenOnExpose)
|
||||||
|
{
|
||||||
|
x11SetFullscreen(true);
|
||||||
|
x11.doFullscreenOnExpose = false;
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/**
|
/**
|
||||||
* Looking Glass
|
* Looking Glass
|
||||||
* Copyright © 2017-2024 The Looking Glass Authors
|
* Copyright © 2017-2025 The Looking Glass Authors
|
||||||
* https://looking-glass.io
|
* https://looking-glass.io
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify it
|
* This program is free software; you can redistribute it and/or modify it
|
||||||
@@ -71,6 +71,7 @@ struct X11DSState
|
|||||||
|
|
||||||
_Atomic(uint64_t) lastWMEvent;
|
_Atomic(uint64_t) lastWMEvent;
|
||||||
bool invalidateAll;
|
bool invalidateAll;
|
||||||
|
bool doFullscreenOnExpose;
|
||||||
|
|
||||||
int xpresentOp;
|
int xpresentOp;
|
||||||
bool jitRender;
|
bool jitRender;
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/**
|
/**
|
||||||
* Looking Glass
|
* Looking Glass
|
||||||
* Copyright © 2017-2024 The Looking Glass Authors
|
* Copyright © 2017-2025 The Looking Glass Authors
|
||||||
* https://looking-glass.io
|
* https://looking-glass.io
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify it
|
* This program is free software; you can redistribute it and/or modify it
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/**
|
/**
|
||||||
* Looking Glass
|
* Looking Glass
|
||||||
* Copyright © 2017-2024 The Looking Glass Authors
|
* Copyright © 2017-2025 The Looking Glass Authors
|
||||||
* https://looking-glass.io
|
* https://looking-glass.io
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify it
|
* This program is free software; you can redistribute it and/or modify it
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/**
|
/**
|
||||||
* Looking Glass
|
* Looking Glass
|
||||||
* Copyright © 2017-2024 The Looking Glass Authors
|
* Copyright © 2017-2025 The Looking Glass Authors
|
||||||
* https://looking-glass.io
|
* https://looking-glass.io
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify it
|
* This program is free software; you can redistribute it and/or modify it
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/**
|
/**
|
||||||
* Looking Glass
|
* Looking Glass
|
||||||
* Copyright © 2017-2024 The Looking Glass Authors
|
* Copyright © 2017-2025 The Looking Glass Authors
|
||||||
* https://looking-glass.io
|
* https://looking-glass.io
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify it
|
* This program is free software; you can redistribute it and/or modify it
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/**
|
/**
|
||||||
* Looking Glass
|
* Looking Glass
|
||||||
* Copyright © 2017-2024 The Looking Glass Authors
|
* Copyright © 2017-2025 The Looking Glass Authors
|
||||||
* https://looking-glass.io
|
* https://looking-glass.io
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify it
|
* This program is free software; you can redistribute it and/or modify it
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/**
|
/**
|
||||||
* Looking Glass
|
* Looking Glass
|
||||||
* Copyright © 2017-2024 The Looking Glass Authors
|
* Copyright © 2017-2025 The Looking Glass Authors
|
||||||
* https://looking-glass.io
|
* https://looking-glass.io
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify it
|
* This program is free software; you can redistribute it and/or modify it
|
||||||
@@ -84,6 +84,7 @@ LG_DSPointer;
|
|||||||
typedef struct LG_DSInitParams
|
typedef struct LG_DSInitParams
|
||||||
{
|
{
|
||||||
const char * title;
|
const char * title;
|
||||||
|
const char * appId;
|
||||||
int x, y, w, h;
|
int x, y, w, h;
|
||||||
bool center;
|
bool center;
|
||||||
bool fullscreen;
|
bool fullscreen;
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/**
|
/**
|
||||||
* Looking Glass
|
* Looking Glass
|
||||||
* Copyright © 2017-2024 The Looking Glass Authors
|
* Copyright © 2017-2025 The Looking Glass Authors
|
||||||
* https://looking-glass.io
|
* https://looking-glass.io
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify it
|
* This program is free software; you can redistribute it and/or modify it
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/**
|
/**
|
||||||
* Looking Glass
|
* Looking Glass
|
||||||
* Copyright © 2017-2024 The Looking Glass Authors
|
* Copyright © 2017-2025 The Looking Glass Authors
|
||||||
* https://looking-glass.io
|
* https://looking-glass.io
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify it
|
* This program is free software; you can redistribute it and/or modify it
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/**
|
/**
|
||||||
* Looking Glass
|
* Looking Glass
|
||||||
* Copyright © 2017-2024 The Looking Glass Authors
|
* Copyright © 2017-2025 The Looking Glass Authors
|
||||||
* https://looking-glass.io
|
* https://looking-glass.io
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify it
|
* This program is free software; you can redistribute it and/or modify it
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/**
|
/**
|
||||||
* Looking Glass
|
* Looking Glass
|
||||||
* Copyright © 2017-2024 The Looking Glass Authors
|
* Copyright © 2017-2025 The Looking Glass Authors
|
||||||
* https://looking-glass.io
|
* https://looking-glass.io
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify it
|
* This program is free software; you can redistribute it and/or modify it
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/**
|
/**
|
||||||
* Looking Glass
|
* Looking Glass
|
||||||
* Copyright © 2017-2024 The Looking Glass Authors
|
* Copyright © 2017-2025 The Looking Glass Authors
|
||||||
* https://looking-glass.io
|
* https://looking-glass.io
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify it
|
* This program is free software; you can redistribute it and/or modify it
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
cmake_minimum_required(VERSION 3.5)
|
cmake_minimum_required(VERSION 3.10)
|
||||||
project(renderers LANGUAGES C)
|
project(renderers LANGUAGES C)
|
||||||
|
|
||||||
set(RENDERER_H "${CMAKE_BINARY_DIR}/include/dynamic/renderers.h")
|
set(RENDERER_H "${CMAKE_BINARY_DIR}/include/dynamic/renderers.h")
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
cmake_minimum_required(VERSION 3.5)
|
cmake_minimum_required(VERSION 3.10)
|
||||||
project(renderer_EGL LANGUAGES C CXX)
|
project(renderer_EGL LANGUAGES C CXX)
|
||||||
|
|
||||||
find_package(PkgConfig)
|
find_package(PkgConfig)
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/**
|
/**
|
||||||
* Looking Glass
|
* Looking Glass
|
||||||
* Copyright © 2017-2024 The Looking Glass Authors
|
* Copyright © 2017-2025 The Looking Glass Authors
|
||||||
* https://looking-glass.io
|
* https://looking-glass.io
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify it
|
* This program is free software; you can redistribute it and/or modify it
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/**
|
/**
|
||||||
* Looking Glass
|
* Looking Glass
|
||||||
* Copyright © 2017-2024 The Looking Glass Authors
|
* Copyright © 2017-2025 The Looking Glass Authors
|
||||||
* https://looking-glass.io
|
* https://looking-glass.io
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify it
|
* This program is free software; you can redistribute it and/or modify it
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/**
|
/**
|
||||||
* Looking Glass
|
* Looking Glass
|
||||||
* Copyright © 2017-2024 The Looking Glass Authors
|
* Copyright © 2017-2025 The Looking Glass Authors
|
||||||
* https://looking-glass.io
|
* https://looking-glass.io
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify it
|
* This program is free software; you can redistribute it and/or modify it
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/**
|
/**
|
||||||
* Looking Glass
|
* Looking Glass
|
||||||
* Copyright © 2017-2024 The Looking Glass Authors
|
* Copyright © 2017-2025 The Looking Glass Authors
|
||||||
* https://looking-glass.io
|
* https://looking-glass.io
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify it
|
* This program is free software; you can redistribute it and/or modify it
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/**
|
/**
|
||||||
* Looking Glass
|
* Looking Glass
|
||||||
* Copyright © 2017-2024 The Looking Glass Authors
|
* Copyright © 2017-2025 The Looking Glass Authors
|
||||||
* https://looking-glass.io
|
* https://looking-glass.io
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify it
|
* This program is free software; you can redistribute it and/or modify it
|
||||||
@@ -437,21 +437,24 @@ bool egl_desktopRender(EGL_Desktop * desktop, unsigned int outputWidth,
|
|||||||
{
|
{
|
||||||
EGL_Texture * tex;
|
EGL_Texture * tex;
|
||||||
int width, height;
|
int width, height;
|
||||||
|
bool dma;
|
||||||
|
|
||||||
if (unlikely(desktop->useSpice))
|
if (unlikely(desktop->useSpice))
|
||||||
{
|
{
|
||||||
tex = desktop->spiceTexture;
|
tex = desktop->spiceTexture;
|
||||||
width = desktop->spiceWidth;
|
width = desktop->spiceWidth;
|
||||||
height = desktop->spiceHeight;
|
height = desktop->spiceHeight;
|
||||||
|
dma = false;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
tex = desktop->texture;
|
tex = desktop->texture;
|
||||||
width = desktop->width;
|
width = desktop->width;
|
||||||
height = desktop->height;
|
height = desktop->height;
|
||||||
|
dma = desktop->useDMA;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (unlikely(outputWidth == 0 && outputHeight == 0))
|
if (unlikely(outputWidth == 0 || outputHeight == 0))
|
||||||
DEBUG_FATAL("outputWidth || outputHeight == 0");
|
DEBUG_FATAL("outputWidth || outputHeight == 0");
|
||||||
|
|
||||||
enum EGL_TexStatus status;
|
enum EGL_TexStatus status;
|
||||||
@@ -470,7 +473,7 @@ bool egl_desktopRender(EGL_Desktop * desktop, unsigned int outputWidth,
|
|||||||
if (atomic_exchange(&desktop->processFrame, false) ||
|
if (atomic_exchange(&desktop->processFrame, false) ||
|
||||||
egl_postProcessConfigModified(desktop->pp))
|
egl_postProcessConfigModified(desktop->pp))
|
||||||
egl_postProcessRun(desktop->pp, tex, desktop->mesh,
|
egl_postProcessRun(desktop->pp, tex, desktop->mesh,
|
||||||
width, height, outputWidth, outputHeight, desktop->useDMA);
|
width, height, outputWidth, outputHeight, dma);
|
||||||
|
|
||||||
unsigned int finalSizeX, finalSizeY;
|
unsigned int finalSizeX, finalSizeY;
|
||||||
EGL_Texture * texture = egl_postProcessGetOutput(desktop->pp,
|
EGL_Texture * texture = egl_postProcessGetOutput(desktop->pp,
|
||||||
@@ -606,9 +609,9 @@ void egl_desktopSpiceDrawFill(EGL_Desktop * desktop, int x, int y, int width,
|
|||||||
for(int x = 0; x < width; ++x)
|
for(int x = 0; x < width; ++x)
|
||||||
line[x] = color;
|
line[x] = color;
|
||||||
|
|
||||||
for(; y < height; ++y)
|
for(int dy = 0; dy < height; ++dy)
|
||||||
egl_textureUpdateRect(desktop->spiceTexture,
|
egl_textureUpdateRect(desktop->spiceTexture,
|
||||||
x, y, width, 1, width, sizeof(line), (uint8_t *)line, false);
|
x, y + dy, width, 1, width, sizeof(line), (uint8_t *)line, false);
|
||||||
|
|
||||||
atomic_store(&desktop->processFrame, true);
|
atomic_store(&desktop->processFrame, true);
|
||||||
}
|
}
|
||||||
@@ -624,4 +627,5 @@ void egl_desktopSpiceDrawBitmap(EGL_Desktop * desktop, int x, int y, int width,
|
|||||||
void egl_desktopSpiceShow(EGL_Desktop * desktop, bool show)
|
void egl_desktopSpiceShow(EGL_Desktop * desktop, bool show)
|
||||||
{
|
{
|
||||||
desktop->useSpice = show;
|
desktop->useSpice = show;
|
||||||
|
atomic_store(&desktop->processFrame, true);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/**
|
/**
|
||||||
* Looking Glass
|
* Looking Glass
|
||||||
* Copyright © 2017-2024 The Looking Glass Authors
|
* Copyright © 2017-2025 The Looking Glass Authors
|
||||||
* https://looking-glass.io
|
* https://looking-glass.io
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify it
|
* This program is free software; you can redistribute it and/or modify it
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/**
|
/**
|
||||||
* Looking Glass
|
* Looking Glass
|
||||||
* Copyright © 2017-2024 The Looking Glass Authors
|
* Copyright © 2017-2025 The Looking Glass Authors
|
||||||
* https://looking-glass.io
|
* https://looking-glass.io
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify it
|
* This program is free software; you can redistribute it and/or modify it
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/**
|
/**
|
||||||
* Looking Glass
|
* Looking Glass
|
||||||
* Copyright © 2017-2024 The Looking Glass Authors
|
* Copyright © 2017-2025 The Looking Glass Authors
|
||||||
* https://looking-glass.io
|
* https://looking-glass.io
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify it
|
* This program is free software; you can redistribute it and/or modify it
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/**
|
/**
|
||||||
* Looking Glass
|
* Looking Glass
|
||||||
* Copyright © 2017-2024 The Looking Glass Authors
|
* Copyright © 2017-2025 The Looking Glass Authors
|
||||||
* https://looking-glass.io
|
* https://looking-glass.io
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify it
|
* This program is free software; you can redistribute it and/or modify it
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/**
|
/**
|
||||||
* Looking Glass
|
* Looking Glass
|
||||||
* Copyright © 2017-2024 The Looking Glass Authors
|
* Copyright © 2017-2025 The Looking Glass Authors
|
||||||
* https://looking-glass.io
|
* https://looking-glass.io
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify it
|
* This program is free software; you can redistribute it and/or modify it
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/**
|
/**
|
||||||
* Looking Glass
|
* Looking Glass
|
||||||
* Copyright © 2017-2024 The Looking Glass Authors
|
* Copyright © 2017-2025 The Looking Glass Authors
|
||||||
* https://looking-glass.io
|
* https://looking-glass.io
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify it
|
* This program is free software; you can redistribute it and/or modify it
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/**
|
/**
|
||||||
* Looking Glass
|
* Looking Glass
|
||||||
* Copyright © 2017-2024 The Looking Glass Authors
|
* Copyright © 2017-2025 The Looking Glass Authors
|
||||||
* https://looking-glass.io
|
* https://looking-glass.io
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify it
|
* This program is free software; you can redistribute it and/or modify it
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/**
|
/**
|
||||||
* Looking Glass
|
* Looking Glass
|
||||||
* Copyright © 2017-2024 The Looking Glass Authors
|
* Copyright © 2017-2025 The Looking Glass Authors
|
||||||
* https://looking-glass.io
|
* https://looking-glass.io
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify it
|
* This program is free software; you can redistribute it and/or modify it
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/**
|
/**
|
||||||
* Looking Glass
|
* Looking Glass
|
||||||
* Copyright © 2017-2024 The Looking Glass Authors
|
* Copyright © 2017-2025 The Looking Glass Authors
|
||||||
* https://looking-glass.io
|
* https://looking-glass.io
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify it
|
* This program is free software; you can redistribute it and/or modify it
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/**
|
/**
|
||||||
* Looking Glass
|
* Looking Glass
|
||||||
* Copyright © 2017-2024 The Looking Glass Authors
|
* Copyright © 2017-2025 The Looking Glass Authors
|
||||||
* https://looking-glass.io
|
* https://looking-glass.io
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify it
|
* This program is free software; you can redistribute it and/or modify it
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/**
|
/**
|
||||||
* Looking Glass
|
* Looking Glass
|
||||||
* Copyright © 2017-2024 The Looking Glass Authors
|
* Copyright © 2017-2025 The Looking Glass Authors
|
||||||
* https://looking-glass.io
|
* https://looking-glass.io
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify it
|
* This program is free software; you can redistribute it and/or modify it
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/**
|
/**
|
||||||
* Looking Glass
|
* Looking Glass
|
||||||
* Copyright © 2017-2024 The Looking Glass Authors
|
* Copyright © 2017-2025 The Looking Glass Authors
|
||||||
* https://looking-glass.io
|
* https://looking-glass.io
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify it
|
* This program is free software; you can redistribute it and/or modify it
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/**
|
/**
|
||||||
* Looking Glass
|
* Looking Glass
|
||||||
* Copyright © 2017-2024 The Looking Glass Authors
|
* Copyright © 2017-2025 The Looking Glass Authors
|
||||||
* https://looking-glass.io
|
* https://looking-glass.io
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify it
|
* This program is free software; you can redistribute it and/or modify it
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/**
|
/**
|
||||||
* Looking Glass
|
* Looking Glass
|
||||||
* Copyright © 2017-2024 The Looking Glass Authors
|
* Copyright © 2017-2025 The Looking Glass Authors
|
||||||
* https://looking-glass.io
|
* https://looking-glass.io
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify it
|
* This program is free software; you can redistribute it and/or modify it
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/**
|
/**
|
||||||
* Looking Glass
|
* Looking Glass
|
||||||
* Copyright © 2017-2024 The Looking Glass Authors
|
* Copyright © 2017-2025 The Looking Glass Authors
|
||||||
* https://looking-glass.io
|
* https://looking-glass.io
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify it
|
* This program is free software; you can redistribute it and/or modify it
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/**
|
/**
|
||||||
* Looking Glass
|
* Looking Glass
|
||||||
* Copyright © 2017-2024 The Looking Glass Authors
|
* Copyright © 2017-2025 The Looking Glass Authors
|
||||||
* https://looking-glass.io
|
* https://looking-glass.io
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify it
|
* This program is free software; you can redistribute it and/or modify it
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/**
|
/**
|
||||||
* Looking Glass
|
* Looking Glass
|
||||||
* Copyright © 2017-2024 The Looking Glass Authors
|
* Copyright © 2017-2025 The Looking Glass Authors
|
||||||
* https://looking-glass.io
|
* https://looking-glass.io
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify it
|
* This program is free software; you can redistribute it and/or modify it
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/**
|
/**
|
||||||
* Looking Glass
|
* Looking Glass
|
||||||
* Copyright © 2017-2024 The Looking Glass Authors
|
* Copyright © 2017-2025 The Looking Glass Authors
|
||||||
* https://looking-glass.io
|
* https://looking-glass.io
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify it
|
* This program is free software; you can redistribute it and/or modify it
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/**
|
/**
|
||||||
* Looking Glass
|
* Looking Glass
|
||||||
* Copyright © 2017-2024 The Looking Glass Authors
|
* Copyright © 2017-2025 The Looking Glass Authors
|
||||||
* https://looking-glass.io
|
* https://looking-glass.io
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify it
|
* This program is free software; you can redistribute it and/or modify it
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/**
|
/**
|
||||||
* Looking Glass
|
* Looking Glass
|
||||||
* Copyright © 2017-2024 The Looking Glass Authors
|
* Copyright © 2017-2025 The Looking Glass Authors
|
||||||
* https://looking-glass.io
|
* https://looking-glass.io
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify it
|
* This program is free software; you can redistribute it and/or modify it
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/**
|
/**
|
||||||
* Looking Glass
|
* Looking Glass
|
||||||
* Copyright © 2017-2024 The Looking Glass Authors
|
* Copyright © 2017-2025 The Looking Glass Authors
|
||||||
* https://looking-glass.io
|
* https://looking-glass.io
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify it
|
* This program is free software; you can redistribute it and/or modify it
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/**
|
/**
|
||||||
* Looking Glass
|
* Looking Glass
|
||||||
* Copyright © 2017-2024 The Looking Glass Authors
|
* Copyright © 2017-2025 The Looking Glass Authors
|
||||||
* https://looking-glass.io
|
* https://looking-glass.io
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify it
|
* This program is free software; you can redistribute it and/or modify it
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/**
|
/**
|
||||||
* Looking Glass
|
* Looking Glass
|
||||||
* Copyright © 2017-2024 The Looking Glass Authors
|
* Copyright © 2017-2025 The Looking Glass Authors
|
||||||
* https://looking-glass.io
|
* https://looking-glass.io
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify it
|
* This program is free software; you can redistribute it and/or modify it
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/**
|
/**
|
||||||
* Looking Glass
|
* Looking Glass
|
||||||
* Copyright © 2017-2024 The Looking Glass Authors
|
* Copyright © 2017-2025 The Looking Glass Authors
|
||||||
* https://looking-glass.io
|
* https://looking-glass.io
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify it
|
* This program is free software; you can redistribute it and/or modify it
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/**
|
/**
|
||||||
* Looking Glass
|
* Looking Glass
|
||||||
* Copyright © 2017-2024 The Looking Glass Authors
|
* Copyright © 2017-2025 The Looking Glass Authors
|
||||||
* https://looking-glass.io
|
* https://looking-glass.io
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify it
|
* This program is free software; you can redistribute it and/or modify it
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/**
|
/**
|
||||||
* Looking Glass
|
* Looking Glass
|
||||||
* Copyright © 2017-2024 The Looking Glass Authors
|
* Copyright © 2017-2025 The Looking Glass Authors
|
||||||
* https://looking-glass.io
|
* https://looking-glass.io
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify it
|
* This program is free software; you can redistribute it and/or modify it
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/**
|
/**
|
||||||
* Looking Glass
|
* Looking Glass
|
||||||
* Copyright © 2017-2024 The Looking Glass Authors
|
* Copyright © 2017-2025 The Looking Glass Authors
|
||||||
* https://looking-glass.io
|
* https://looking-glass.io
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify it
|
* This program is free software; you can redistribute it and/or modify it
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/**
|
/**
|
||||||
* Looking Glass
|
* Looking Glass
|
||||||
* Copyright © 2017-2024 The Looking Glass Authors
|
* Copyright © 2017-2025 The Looking Glass Authors
|
||||||
* https://looking-glass.io
|
* https://looking-glass.io
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify it
|
* This program is free software; you can redistribute it and/or modify it
|
||||||
@@ -196,7 +196,7 @@ static bool egl_texBufferStreamUpdate(EGL_Texture * texture,
|
|||||||
const uint8_t * src = update->buffer;
|
const uint8_t * src = update->buffer;
|
||||||
for(int y = 0; y < update->height; ++y)
|
for(int y = 0; y < update->height; ++y)
|
||||||
{
|
{
|
||||||
memcpy(dst, src, update->pitch);
|
memcpy(dst, src, update->width * texture->format.bpp);
|
||||||
dst += texture->format.pitch;
|
dst += texture->format.pitch;
|
||||||
src += update->pitch;
|
src += update->pitch;
|
||||||
}
|
}
|
||||||
@@ -206,8 +206,8 @@ static bool egl_texBufferStreamUpdate(EGL_Texture * texture,
|
|||||||
const uint8_t * src = update->buffer + update->pitch * update->height;
|
const uint8_t * src = update->buffer + update->pitch * update->height;
|
||||||
for(int y = 0; y < update->height; ++y)
|
for(int y = 0; y < update->height; ++y)
|
||||||
{
|
{
|
||||||
src -= update->stride;
|
src -= update->pitch;
|
||||||
memcpy(dst, src, update->stride);
|
memcpy(dst, src, update->width * texture->format.bpp);
|
||||||
dst += texture->format.pitch;
|
dst += texture->format.pitch;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/**
|
/**
|
||||||
* Looking Glass
|
* Looking Glass
|
||||||
* Copyright © 2017-2024 The Looking Glass Authors
|
* Copyright © 2017-2025 The Looking Glass Authors
|
||||||
* https://looking-glass.io
|
* https://looking-glass.io
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify it
|
* This program is free software; you can redistribute it and/or modify it
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/**
|
/**
|
||||||
* Looking Glass
|
* Looking Glass
|
||||||
* Copyright © 2017-2024 The Looking Glass Authors
|
* Copyright © 2017-2025 The Looking Glass Authors
|
||||||
* https://looking-glass.io
|
* https://looking-glass.io
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify it
|
* This program is free software; you can redistribute it and/or modify it
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/**
|
/**
|
||||||
* Looking Glass
|
* Looking Glass
|
||||||
* Copyright © 2017-2024 The Looking Glass Authors
|
* Copyright © 2017-2025 The Looking Glass Authors
|
||||||
* https://looking-glass.io
|
* https://looking-glass.io
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify it
|
* This program is free software; you can redistribute it and/or modify it
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/**
|
/**
|
||||||
* Looking Glass
|
* Looking Glass
|
||||||
* Copyright © 2017-2024 The Looking Glass Authors
|
* Copyright © 2017-2025 The Looking Glass Authors
|
||||||
* https://looking-glass.io
|
* https://looking-glass.io
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify it
|
* This program is free software; you can redistribute it and/or modify it
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/**
|
/**
|
||||||
* Looking Glass
|
* Looking Glass
|
||||||
* Copyright © 2017-2024 The Looking Glass Authors
|
* Copyright © 2017-2025 The Looking Glass Authors
|
||||||
* https://looking-glass.io
|
* https://looking-glass.io
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify it
|
* This program is free software; you can redistribute it and/or modify it
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
cmake_minimum_required(VERSION 3.5)
|
cmake_minimum_required(VERSION 3.10)
|
||||||
project(renderer_Opengl LANGUAGES C CXX)
|
project(renderer_Opengl LANGUAGES C CXX)
|
||||||
|
|
||||||
find_package(PkgConfig)
|
find_package(PkgConfig)
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/**
|
/**
|
||||||
* Looking Glass
|
* Looking Glass
|
||||||
* Copyright © 2017-2024 The Looking Glass Authors
|
* Copyright © 2017-2025 The Looking Glass Authors
|
||||||
* https://looking-glass.io
|
* https://looking-glass.io
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify it
|
* This program is free software; you can redistribute it and/or modify it
|
||||||
@@ -622,13 +622,13 @@ static void opengl_spiceDrawFill(LG_Renderer * renderer, int x, int y, int width
|
|||||||
glBindTexture(GL_TEXTURE_2D, this->textures[SPICE_TEXTURE]);
|
glBindTexture(GL_TEXTURE_2D, this->textures[SPICE_TEXTURE]);
|
||||||
glPixelStorei(GL_UNPACK_ALIGNMENT , 4 );
|
glPixelStorei(GL_UNPACK_ALIGNMENT , 4 );
|
||||||
glPixelStorei(GL_UNPACK_ROW_LENGTH, width);
|
glPixelStorei(GL_UNPACK_ROW_LENGTH, width);
|
||||||
for(; y < height; ++y)
|
for(int dy = 0; dy < height; ++dy)
|
||||||
glTexSubImage2D
|
glTexSubImage2D
|
||||||
(
|
(
|
||||||
GL_TEXTURE_2D,
|
GL_TEXTURE_2D,
|
||||||
0 ,
|
0 ,
|
||||||
x ,
|
x ,
|
||||||
y ,
|
y + dy ,
|
||||||
width ,
|
width ,
|
||||||
1 ,
|
1 ,
|
||||||
GL_BGRA,
|
GL_BGRA,
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/**
|
/**
|
||||||
* Looking Glass
|
* Looking Glass
|
||||||
* Copyright © 2017-2024 The Looking Glass Authors
|
* Copyright © 2017-2025 The Looking Glass Authors
|
||||||
* https://looking-glass.io
|
* https://looking-glass.io
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify it
|
* This program is free software; you can redistribute it and/or modify it
|
||||||
@@ -346,8 +346,8 @@ void app_handleKeyPress(int sc, int charcode)
|
|||||||
app_setOverlay(false);
|
app_setOverlay(false);
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (sc < sizeof(g_state.io->KeysDown))
|
if (linux_to_imgui[sc])
|
||||||
g_state.io->KeysDown[sc] = true;
|
ImGuiIO_AddKeyEvent(g_state.io, linux_to_imgui[sc], true);
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -391,8 +391,8 @@ void app_handleKeyRelease(int sc, int charcode)
|
|||||||
|
|
||||||
if (app_isOverlayMode())
|
if (app_isOverlayMode())
|
||||||
{
|
{
|
||||||
if (sc < sizeof(g_state.io->KeysDown))
|
if (linux_to_imgui[sc])
|
||||||
g_state.io->KeysDown[sc] = false;
|
ImGuiIO_AddKeyEvent(g_state.io, linux_to_imgui[sc], false);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/**
|
/**
|
||||||
* Looking Glass
|
* Looking Glass
|
||||||
* Copyright © 2017-2024 The Looking Glass Authors
|
* Copyright © 2017-2025 The Looking Glass Authors
|
||||||
* https://looking-glass.io
|
* https://looking-glass.io
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify it
|
* This program is free software; you can redistribute it and/or modify it
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/**
|
/**
|
||||||
* Looking Glass
|
* Looking Glass
|
||||||
* Copyright © 2017-2024 The Looking Glass Authors
|
* Copyright © 2017-2025 The Looking Glass Authors
|
||||||
* https://looking-glass.io
|
* https://looking-glass.io
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify it
|
* This program is free software; you can redistribute it and/or modify it
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user