Description
Created by: lenrik1589
Description
Inconsistent blending of cursor image when using translucency in the image
Expected Behavior
Using cursor(img, x, y)
and exporting the image and using it with X should produce same visual result
Current Behavior
System:
P2D:
(colored sections are 100/255 alpha)
(colored sections are 10/255 alpha)
Steps to Reproduce
- create image with translucency
- apply using
cursor(img, x, y)
- observe how translucent colors interact with the backdrop
- export the image.save(file)
- create left_ptr using xcursorgen
- import as a cursor into the system and apply
- observe as cursor now blends differently with the background
(might include code a little later, when come home)
Your Environment
- Processing version: 4.3 (imported through gradle as
implementation("com.github.micycle1:processing-core-4:4.+")
) - Operating System and OS version: Linux (gemeric arch, kernel 6.6.7)
- Other information:
- Wayland Plasma 6.0 Beta 1
- kwin 5.90.0
- Xwayland 23.2.3-1
- mesa 23.3.1
- Java: 21
Note: the discrepancy existed even when i was using a native x11 session with stable Plasma 5 and processing 3.5 in the processing editor
IIRC there might be a workaround, of using a different renderer, but i can not use it as i found no way to consistently resize a window after initialization or programmatically close other windows (produced by the same program but different PApplet) with anything other than P2D or P3D as i currently use reflection to gain access internal resize method and ((PSurfaceJOGL)surface).finish()
((GLWindow)surface.native).dispose()
to close windows
(the older version of description
particularly,
i am running into issue that using P2D (xwayland + opengl) as the renderer for all my sketch windows and other graphics, my custom cursor (using cursor(img, hotspotX, hotspotY)
) seems to render incorrectly compared to cursor theme made by exporting the same images as png files, and assembling into a xcursor image to be used with the system
)
Possible Causes / Solutions
It might be a discrepancy between how OpenGL and KWin handle cursors