From patchwork Mon Oct 6 16:54:32 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Simon Glass X-Patchwork-Id: 36 Return-Path: X-Original-To: u-boot-concept@u-boot.org Delivered-To: u-boot-concept@u-boot.org DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1759769713; bh=iqA6bQhzHMBMh0wMkumIb1wxyomAcXvSHHWOWOGle3c=; h=From:To:Date:CC:Subject:List-Id:List-Archive:List-Help:List-Owner: List-Post:List-Subscribe:List-Unsubscribe:From; b=O2jvoXWFzOMCkgY4ahcxKndFORbCMsIP97CB75bKLJRyQqgAVQ+PXRBoXmc4er1sp uoDSR9FhW0Vn3wEbDwcj8e9UDJeiO+sGtidn++KhnqYPu7Uk3D6k47gamX3NeaG1xY cxBXhr/OJXyZp5dz1O+YUIV/ZKkPsxgL38ftuthYLfz/66aCy6hjPpB4M1Xx4O/n3M aZ0Zys5uUk7SGNQKm2xwhdS7drHZy4pFOIOtY2O+5ijsXBdkAmytcBxU65x7qcBqPM QDeRLMQd6XkCNdpViIzscdm1ZuKipQ4LHhpWT04SBZpfclFIS4w6m8/tIHWI4esxTx TTkRL5wdVJsEQ== Received: from localhost (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id 601A567F8E for ; Mon, 6 Oct 2025 10:55:13 -0600 (MDT) X-Virus-Scanned: Debian amavis at Received: from mail.u-boot.org ([127.0.0.1]) by localhost (mail.u-boot.org [127.0.0.1]) (amavis, port 10024) with ESMTP id bj-NxtE8m9BG for ; Mon, 6 Oct 2025 10:55:13 -0600 (MDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1759769713; bh=iqA6bQhzHMBMh0wMkumIb1wxyomAcXvSHHWOWOGle3c=; h=From:To:Date:CC:Subject:List-Id:List-Archive:List-Help:List-Owner: List-Post:List-Subscribe:List-Unsubscribe:From; b=O2jvoXWFzOMCkgY4ahcxKndFORbCMsIP97CB75bKLJRyQqgAVQ+PXRBoXmc4er1sp uoDSR9FhW0Vn3wEbDwcj8e9UDJeiO+sGtidn++KhnqYPu7Uk3D6k47gamX3NeaG1xY cxBXhr/OJXyZp5dz1O+YUIV/ZKkPsxgL38ftuthYLfz/66aCy6hjPpB4M1Xx4O/n3M aZ0Zys5uUk7SGNQKm2xwhdS7drHZy4pFOIOtY2O+5ijsXBdkAmytcBxU65x7qcBqPM QDeRLMQd6XkCNdpViIzscdm1ZuKipQ4LHhpWT04SBZpfclFIS4w6m8/tIHWI4esxTx TTkRL5wdVJsEQ== Received: from mail.u-boot.org (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id 47DE667F09 for ; Mon, 6 Oct 2025 10:55:13 -0600 (MDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1759769708; bh=2g8hp40er4xiSH7evTQXdUJxIAIXATr7TTLPqOvaxD8=; h=From:To:Cc:Subject:Date:From; b=wITTw8YaSZGWsMl5TMrpUaCtTZNunKSgUzfd6qT0JRDDor0ZpRy5Iw38/5pWuoZ5F 6TOWvXp7UDFoOORyf4X1DwY+LWa0mFpe469afuFMqLnAF0Y0hcZGDjFDg8k/Ywz7Oj ASuGRlL8UM8sPBRTtsHkySkQOBCOBvP2QkjSxLl+D8MIBr1XuKQ0zB+OCVoavib/hN dw+1l34abxiXw7qSrx4h0ITnYWqgknUEZllIK1ZB7sjtIvr5iq74QmA3BWqXXaPbpU Ew/klYesOQMrZFlh7lvISB0BKAs8Y1sKw+W/MGVclJFhIO8SsFVeIJ6cg0+XA4/X/9 +WEjzTqHpXiRA== Received: from localhost (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id 1E15867F09; Mon, 6 Oct 2025 10:55:08 -0600 (MDT) X-Virus-Scanned: Debian amavis at Received: from mail.u-boot.org ([127.0.0.1]) by localhost (mail.u-boot.org [127.0.0.1]) (amavis, port 10026) with ESMTP id iDHmTTihXXYC; Mon, 6 Oct 2025 10:55:08 -0600 (MDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1759769701; bh=NIGSKVamGTkB3eSIQQFJgN8g7k93VpUWn+mOYwNKCXc=; h=From:To:Cc:Subject:Date:From; b=ERGu4wtDxRqK7MKlP3WATPzOnHlue7vre10sgmfExRaHtdwjETRjnVrrbqe94XnRk yXKeOb39gEXCOMEsUifGT1Xgxw5d6/3lvuABB2E0b8D/cVKs/VZtX+gZaz7gkOch2d UKwnQA2LDsfTN99BoZVFFgy5yv0F0kdPNy8eif01dBjgzb9JJ5nFfOv2gtVyKsv8ue 6tjXLbHadeSqPtt+LXoEq7QVhJDyJ0IAAyw9BNQESK6wMWoVCESgZnqaDcICNJoiLS YlIanlz6DstFkxnciwdiJVKoEMS+uKpl0Q8FLjudoBIgHzpiYzWY/jj1Vrq4UNOUGF Z9EFcnwJZrZ9Q== Received: from u-boot.org (unknown [73.34.74.121]) by mail.u-boot.org (Postfix) with ESMTPSA id AADF667E35; Mon, 6 Oct 2025 10:55:01 -0600 (MDT) From: Simon Glass To: U-Boot Concept Date: Mon, 6 Oct 2025 10:54:32 -0600 Message-ID: <20251006165452.1675349-1-sjg@u-boot.org> X-Mailer: git-send-email 2.43.0 MIME-Version: 1.0 Message-ID-Hash: W6X5VY4SWMKXUAB673FETFSW6T6RFBA3 X-Message-ID-Hash: W6X5VY4SWMKXUAB673FETFSW6T6RFBA3 X-MailFrom: sjg@u-boot.org X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header CC: Heinrich Schuchardt , Simon Glass X-Mailman-Version: 3.3.10 Precedence: list Subject: [Concept] [PATCH 00/14] expo: Continue development of expo with mouse List-Id: Discussion and patches related to U-Boot Concept Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: From: Simon Glass This series integrates mouse support into expo and starts to build the infrastructure for drawing the mouse pointer more efficiently (i.e. without re-rendering the entire scene). It also adds a few more structs to video_defs.h for position and size. This is part D. Simon Glass (14): video: Add struct vid_pos for coordinates mouse: Use struct vid_pos for click position mouse: Update mouse_get_click() to use struct vid_pos expo: Update poll_mouse() to use struct vid_pos video: Add struct vid_size for width/height mouse: Track last mouse position expo: Store mouse pointer and size in expo expo: Show the mouse when enabled expo: Drop struct scene_obj_bbox in favour of vid_bbox expo: Add damage tracking expo: Set dirty flag when an object bbox changes expo: Add a way to calculate the bbox of dirty objects expo: Add selective rendering for dirty objects in scene expo: Support drawing only the dirty portion of an expo boot/cedit.c | 12 ++- boot/expo.c | 141 ++++++++++++++++++++++++++++++++--- boot/scene.c | 79 +++++++++++++++++++- boot/scene_internal.h | 3 +- cmd/bootflow.c | 12 ++- drivers/input/mouse-uclass.c | 34 +++++++-- include/expo.h | 83 ++++++++++++++++----- include/mouse.h | 23 ++++-- include/video_defs.h | 23 ++++++ test/boot/cedit.c | 21 ++++-- test/dm/mouse.c | 29 ++++--- 11 files changed, 383 insertions(+), 77 deletions(-)