From patchwork Wed Mar 31 11:49:52 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: 1160386205@qq.com X-Patchwork-Id: 26675 Return-Path: X-Original-To: patchwork@ffaux-bg.ffmpeg.org Delivered-To: patchwork@ffaux-bg.ffmpeg.org Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by ffaux.localdomain (Postfix) with ESMTP id 0EE4644AB93 for ; Wed, 31 Mar 2021 22:52:14 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id E7DFB689FD9; Wed, 31 Mar 2021 22:52:13 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from qq.com (out203-205-221-235.mail.qq.com [203.205.221.235]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id B6B25680946 for ; Wed, 31 Mar 2021 22:52:11 +0300 (EEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qq.com; s=s201512; t=1617220326; bh=HKuF58k0xBCLwNWjE+eN9/Gk9QWixM7pdTpzOoV+aOk=; h=From:To:Cc:Subject:Date; b=hoTK3nmQ2V81ZjhDbIR5IfhyGEE5Ie9EPGtWNdLeHSe6NhuFmcT6dKtplAsFPQLUs PJx07pf79IvsnmT9piKYDw0IXHWBsg3ILBY6SnRRV0R74Le2RzuUoBhgu3TOELsC6n iFE+gvtxI48RF3VaBiAB/PdKxvOEnkeq55DMwqpo= Received: from localhost.localdomain ([61.241.193.187]) by newxmesmtplogicsvrszb7.qq.com (NewEsmtp) with SMTP id CB52DA9B; Thu, 01 Apr 2021 03:50:53 +0800 X-QQ-mid: xmsmtpt1617220253tjwxme136 Message-ID: X-QQ-XMAILINFO: OUV5GVlfsRrxUHXG0wDkbq1CQxfBvwx1+9cBxvJsNm+9pwBSX+HD+xrjLuEg9K TFTELAEl0gBdejTsVvMyg84FHWCVKrZi2FC5axoXBfDjW/maVvEweSfO/mLzBkh1xjgckQTHlGw/ eHi/D17PODoQmSbde+lzPI7ub8GJwsC2Qxis39zEOE19uIPIMD3nl9LCvDtaZcQrdYD9K2inHJs8 JN9Ncq/QXGMj/HeX4Ns0b5FYs0+W4zY4R8wjwv7TCSaT3O+QwfjDSGfkSb1xxVqb4gQ517MWf7Wq zNaoOmo2EcS/Pd8youU/4tgcrfilaQGE7ZXM/pLJECchM5pl4bOTdYeN9woy3RiSUXTklkty2Qvu Ttt4sbVPxhqWE9kKbowQhspWIS7dgBIOnJ0k3/s7+hZAvnYQhkpN0d02mU9iYlapVefZfSevHIbY HVjBmOdavEc7/dEFa0A46tRMm46klXM2Kk6lL80aPwA0AjIxyLy+OmpuM/B6SG9u+idUDir0WQ7s 3WvncWFz28UW9KNX+JgWU3s8gleKXIWEFSkBlS+bCQCCzEjbEAzehO2ExCi19DMs5YNG0FJyQBYC ts11RZrc4NQs9MX6chIbytuF5lJpr09UqwyTR0QtCnNRPjOSFmGKs9yubWUPXWHjfOP2sS+mgoTc J1niZONUilEsAO3YJbPy8GSLoWyzw0KfvJkKfO7VyRAY2p6HSNaX1+rC0IdcfAGp5OkyMS/kwKxV L/qojnzkQjXkndjEQHUWsGRcycfV4U46qIJSuaKsxHAt0yb0BAgirqDZyTqqhvF8wdc56VhEr7ij znFsHNaImDtxgSLKCnkGsO From: 1160386205@qq.com To: ffmpeg-devel@ffmpeg.org Date: Wed, 31 Mar 2021 19:49:52 +0800 X-OQ-MSGID: <20210331114953.92-1-1160386205@qq.com> X-Mailer: git-send-email 2.30.0.windows.2 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 1/2] libavdevice/gdigrab: make region window click-throughable X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Cc: He Yang <1160386205@qq.com> Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" From: He Yang <1160386205@qq.com> the region window created by option `-show_region`, though only 3 pixel width, is not click-throughable. Signed-off-by: He Yang <1160386205@qq.com> --- libavdevice/gdigrab.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libavdevice/gdigrab.c b/libavdevice/gdigrab.c index 9b2c55fe90..e9d646999f 100644 --- a/libavdevice/gdigrab.c +++ b/libavdevice/gdigrab.c @@ -126,7 +126,7 @@ gdigrab_region_wnd_init(AVFormatContext *s1, struct gdigrab *gdigrab) HRGN region_interior = NULL; DWORD style = WS_POPUP | WS_VISIBLE; - DWORD ex = WS_EX_TOOLWINDOW | WS_EX_TOPMOST | WS_EX_TRANSPARENT; + DWORD ex = WS_EX_TOOLWINDOW | WS_EX_TOPMOST | WS_EX_LAYERED | WS_EX_TRANSPARENT; rect.left -= REGION_WND_BORDER; rect.top -= REGION_WND_BORDER; rect.right += REGION_WND_BORDER; rect.bottom += REGION_WND_BORDER; @@ -143,6 +143,9 @@ gdigrab_region_wnd_init(AVFormatContext *s1, struct gdigrab *gdigrab) goto error; } + // Set the window transparency to 255 (opaque) + SetLayeredWindowAttributes(hwnd, 0, 255, LWA_ALPHA); + // Set the window shape to only include the border area GetClientRect(hwnd, &rect); region = CreateRectRgn(0, 0,