* Updated gitignore
* Basic Web support
* Basic Cmake(not working)
* Working CEF
* Clean up Render/CWeb
* Download CEF in CMAKE
* Fixed compile error(excesive comma)
* Fixed CWeb compile error(scaling mode)
* Commented flag in CEF flag(-fno-rtti) which disabled dynamic cast
* Commented CEF compiler flags for MacOS
* Added third_party to gitignore
* Fixed libvulkan.so.1 error (deleted file entirely)
* Removed cefsimple, CefShutdown in signal, cleaned up cmake a bit
* Updated .gitignore
* Get render function to previous version
* Fixed typo in coment
* Fixed tab
* Removed shaders too
* Fix codefactor issues
Removed wayland-display in favour of screen-root, it should automatically switch between X11 and Wayland implementations
Removed all the window-server-specific code from CWallpaperApplication
Moved COutput from CWallpaperApplication to each CVideoDriver as the output is tied to the driver
Moved CFullScreenDetector from CWallpaperApplication to each CVideoDriver as the detection is tied to the video driver
Applied the Driver treatment to the Input, this way CInputContext doesn't depend on the driver used
Updated CRenderContext to be aware of viewport-specific context updates
Viewport information is now held inside COutputViewport instead of being a simple map
Merged CLayerSurface and SWaylandOutput, inheriting from the new COutputViewport to standarize the minimum requirements of a viewport
(makeCurrent and swapOutput are common requirements, X11 was the outlier not needing these per-viewport)
Moved all the viewport-specific code of Wayland from CWaylandOpenGLDriver to It's own class CWaylandOutputViewport
Fixed an issue under Wayland where sometimes the background surfaces wouldn't get anything drawn because the CWaylandOutput wasn't reset
Updated screenshot-taking code to be standard for all drivers again
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
Added comments all over the codebase to explain things a bit better
Improved CApplicationContext to be a bit more self-explanatory
Abstracted CRenderContext access away into a helper that every render class should use
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
Window mode now has extra settings for setting the position and size
Fixed audio not muting when --silent was used
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
- Separated program args parsing and validation from initialization code
- Application's main body in it's own class
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
Fixed README.md to properly reflect all dependencies in the command examples
Added support for audio looping
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
- use of auto in some places (more of this to come)
- use for loops instead of iterators for most of the loops
- extracted glfw/glew code into it's own class
- make usage of std::filesystem instead of checking things with old C libraries
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
CUserSettingVector3 are initializable with just one float value
Objects' origin and scale are now UserSettings too
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
Simplified how passes rendering works and separated it into a two stages process
Setup (prepares shaders, uniforms, attributes, etc)
Render (only performs the actual rendering)
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
Added combo properties support
Bumped up GLSL version to 130 and added some extra definitions
This work goes on to #115, although the background won't start up yet because of shader compilation issues
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
~ moved some things into CContext so main is a bit cleaner
~ moved wallpaper object creation into CWallpaper so main is a bit cleaner
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
+ Added basic support for mouse position on shaders (still needs to be adjusted for backgrounds that are too big for the screen)
(this makes XRAY effects work)
Signed-off-by: Alexis Maiquez <almamu@almamu.com>