[Bug 760172] New: [PATCH] dx9screencapsrc: add "cursor" option to draw the cursor
GStreamer (GNOME Bugzilla)
bugzilla at gnome.org
Tue Jan 5 10:31:13 PST 2016
https://bugzilla.gnome.org/show_bug.cgi?id=760172
Bug ID: 760172
Summary: [PATCH] dx9screencapsrc: add "cursor" option to draw
the cursor
Classification: Platform
Product: GStreamer
Version: git master
OS: Windows
Status: NEW
Severity: enhancement
Priority: Normal
Component: gst-plugins-bad
Assignee: gstreamer-bugs at lists.freedesktop.org
Reporter: fzwoch at gmail.com
QA Contact: gstreamer-bugs at lists.freedesktop.org
GNOME version: ---
Created attachment 318272
--> https://bugzilla.gnome.org/attachment.cgi?id=318272&action=edit
dx9screencapsrc cursor patch
Drawing is done via the GDI drawing functions. The cursor is
converted to a monochrome version before drawing. This is because
the GDI drawing functions seem to have undefined behavior with
cursor images including an alpha channel.
I could not find any other reliable way to draw these alpha
channel cursors without producing unwanted artifacts. These type
of cursors were introduced with Window Vista when run with it's
Aero theme.
Also adjust the cursor coordinates when capturing non-primary
screens via the "monitor" option.
--
This is close to the version found in the "gdiscreencapsrc" element of the same
plugin. I think the gdi version is lacking support for non-primary screens
though (but I may not have been looking close enough). Also it took me quite
some time on figuring out on how to reliably draw the cursor due to the
behavior of alpha channel cursors. It depends on the application if it shows a
monochrome or alpha channel cursor on _modern_ Windows systems. This looked
like the cursor was _randomly_ disappearing in the captured image.
This now should reliably draw a cursor into the image - with a little loss of
fidelity. Usually it is the cursor's drop shadow effect that is missing.
--
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
More information about the gstreamer-bugs
mailing list