From patchwork Fri Jan 5 16:41:04 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dan Scally X-Patchwork-Id: 19376 Return-Path: X-Original-To: parsemail@patchwork.libcamera.org Delivered-To: parsemail@patchwork.libcamera.org Received: from lancelot.ideasonboard.com (lancelot.ideasonboard.com [92.243.16.209]) by patchwork.libcamera.org (Postfix) with ESMTPS id 9F4F5C32BD for ; Fri, 5 Jan 2024 16:41:30 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id 0FF3462B5C; Fri, 5 Jan 2024 17:41:30 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org; s=mail; t=1704472890; bh=vrwtTEGOTvWeWKk3iu+pHOPambWPQe0oO3irmpMVPSQ=; h=To:Date:In-Reply-To:References:Subject:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=RkgJXN6J2OUt1vVuorkO6F2Qnq9njYY+5hm66oeHei5vDGSkabKxfGsO7biLvQL83 YMmRoV/Uxm6ZX2i5yFfV/2apsiDgCszZtAxmryYTk2ZnHJoBWp+LcFzer1kYJB6Mcp B5krSkJwdtEujc7a+Bv+aU0Fs7zmnftQ8uGu04+4m8ukDymEPPXIxp9AD7kHCh6aD8 vWDXO1UNFpLkPb/WMLyQc+8tDr2PXGRIPJntEQotUUvYU+P+xCHasQ48oZWWxmYC79 6H0F7HTDgKWwZ4DmsNUrxxZoJSfYdp7oKA/zNANE7pOdrzS8zDNTcVVWOnM5Xv2FcS KbKNUmzVuBP2g== Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id B116F62B59 for ; Fri, 5 Jan 2024 17:41:23 +0100 (CET) Authentication-Results: lancelot.ideasonboard.com; dkim=pass (1024-bit key; unprotected) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="hxAzKvus"; dkim-atps=neutral Received: from mail.ideasonboard.com (cpc141996-chfd3-2-0-cust928.12-3.cable.virginm.net [86.13.91.161]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id 0DEEAD49; Fri, 5 Jan 2024 17:40:22 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1704472822; bh=vrwtTEGOTvWeWKk3iu+pHOPambWPQe0oO3irmpMVPSQ=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=hxAzKvusBttzmwFSyZKqOoqNg/dCf2vqBlVLGm9ivit4sc+GmGz4LxtiusfkusXvU AbwWyJ3ngNfhxvM6f+KIgUoeZgnrkHTAoAPeWEBWGij+hN0kp3YmpDCg47tn90rk33 Cwk3JiVQh5NxXjvDSL9aHHmrCMl5AZ6/dgUWAga8= To: libcamera-devel@lists.libcamera.org Date: Fri, 5 Jan 2024 16:41:04 +0000 Message-Id: <20240105164104.78398-6-dan.scally@ideasonboard.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240105164104.78398-1-dan.scally@ideasonboard.com> References: <20240105164104.78398-1-dan.scally@ideasonboard.com> MIME-Version: 1.0 Subject: [libcamera-devel] [PATCH v2 5/5] libcamera: Documentation: Improve doxygen main page X-BeenThere: libcamera-devel@lists.libcamera.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Daniel Scally via libcamera-devel From: Dan Scally Reply-To: Daniel Scally Errors-To: libcamera-devel-bounces@lists.libcamera.org Sender: "libcamera-devel" The "Main Page" of the doxygen generated API reference is currently totally empty. Expand it with some introductory text along with links to the developer's guide, application developer's guide and the pipeline and IPA module writer's guides. Provide an easy link to switch between the reduced public reference pages and the more complete internal ones. Signed-off-by: Daniel Scally Reviewed-by: Jacopo Mondi Reviewed-by: Kieran Bingham --- Changes in v2: - Changed the first paragraph to be more about what the documentation is than isn't (Jacopo) - Pushed the links to the guides into the \if internal block so that only the relevant one is presented. Documentation/Doxyfile.in | 1 + Documentation/libcamera.dox | 33 +++++++++++++++++++++++++++++++++ Documentation/meson.build | 2 ++ 3 files changed, 36 insertions(+) create mode 100644 Documentation/libcamera.dox diff --git a/Documentation/Doxyfile.in b/Documentation/Doxyfile.in index a271c7bc..625d1e90 100644 --- a/Documentation/Doxyfile.in +++ b/Documentation/Doxyfile.in @@ -53,6 +53,7 @@ EXCLUDE_SYMBOLS = libcamera::BoundMethodArgs \ EXCLUDE_SYMLINKS = YES +ENABLED_SECTIONS = @ENABLED_SECTIONS@ HIDE_UNDOC_CLASSES = @HIDE_UNDOC_CLASSES@ HIDE_UNDOC_MEMBERS = @HIDE_UNDOC_MEMBERS@ HTML_OUTPUT = @HTML_OUTPUT@ diff --git a/Documentation/libcamera.dox b/Documentation/libcamera.dox new file mode 100644 index 00000000..d5a57653 --- /dev/null +++ b/Documentation/libcamera.dox @@ -0,0 +1,33 @@ +/** +\mainpage libcamera API reference + +Welcome to the API reference for libcamera, +a complex camera support library for Linux, Android and ChromeOS. These pages +are automatically generated from the libcamera source code and describe the API +in detail - if this is your first interaction with libcamera then you may find +it useful to visit the [developer's guide](../html/guides/introduction.html) in +the first instance, which can provide a more generic introduction to the +library's concepts. + +\if internal + +As a follow-on to the developer's guide, to assist you in adding support for +your platform the [pipeline handler writer's guide](../html/guides/pipeline-handler.html) +and the [ipa module writer's guide](../html/guides/ipa.html) should be helpful. + +The full libcamera API is documented here. If you wish to see only the public +part of the API you can use [these pages](../api-html/index.html) instead. + +\else + +As a follow-on to the developer's guide, to assist you in using libcamera within +your project the [application developer's guide](../html/guides/application-developer.html) +gives an overview on how to achieve that. + +Only the public part of the libcamera API is documented here; if you are a +developer seeking to add support for your hardware to the library or make other +improvements, you should switch to the internal API +[reference pages](../internal-api-html/index.html) instead. + +\endif +*/ diff --git a/Documentation/meson.build b/Documentation/meson.build index afaad751..ab8168bb 100644 --- a/Documentation/meson.build +++ b/Documentation/meson.build @@ -62,6 +62,7 @@ if doxygen.found() and dot.found() cdata_public = configuration_data() cdata_public.merge_from(cdata) + cdata_public.set('ENABLED_SECTIONS', '') cdata_public.set('HIDE_UNDOC_CLASSES', 'YES') cdata_public.set('HIDE_UNDOC_MEMBERS', 'YES') cdata_public.set('HTML_OUTPUT', 'api-html') @@ -89,6 +90,7 @@ if doxygen.found() and dot.found() cdata_internal = configuration_data() cdata_internal.merge_from(cdata) + cdata_internal.set('ENABLED_SECTIONS', 'internal') cdata_internal.set('HIDE_UNDOC_CLASSES', 'NO') cdata_internal.set('HIDE_UNDOC_MEMBERS', 'NO') cdata_internal.set('HTML_OUTPUT', 'internal-api-html')