[{"id":28428,"web_url":"https://patchwork.libcamera.org/comment/28428/","msgid":"<2hg5wjy44dovkdkp5pn2s2bs5i6i27vid22m4pjpmxo63e2ch7@3c32rqjdqzmm>","date":"2024-01-09T14:52:30","subject":"Re: [libcamera-devel] [PATCH v2 5/5] libcamera: Documentation:\n\tImprove doxygen main page","submitter":{"id":143,"url":"https://patchwork.libcamera.org/api/people/143/","name":"Jacopo Mondi","email":"jacopo.mondi@ideasonboard.com"},"content":"Hi Dan\n\nOn Fri, Jan 05, 2024 at 04:41:04PM +0000, Daniel Scally via libcamera-devel wrote:\n> The \"Main Page\" of the doxygen generated API reference is currently\n> totally empty. Expand it with some introductory text along with links\n> to the developer's guide, application developer's guide and the\n> pipeline and IPA module writer's guides.\n>\n> Provide an easy link to switch between the reduced public reference\n> pages and the more complete internal ones.\n>\n> Signed-off-by: Daniel Scally <dan.scally@ideasonboard.com>\n> ---\n> Changes in v2:\n>\n> \t- Changed the first paragraph to be more about what the documentation is\n> \tthan isn't (Jacopo)\n> \t- Pushed the links to the guides into the \\if internal block so that\n> \tonly the relevant one is presented.\n>\n>  Documentation/Doxyfile.in   |  1 +\n>  Documentation/libcamera.dox | 33 +++++++++++++++++++++++++++++++++\n\nIs 'libcamera.dox' selected as main page because the file name matches\nthe project name ? Just out of curiosity..\n\nThe text looks good to me, thanks!\n\nReviewed-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com>\n\n\n>  Documentation/meson.build   |  2 ++\n>  3 files changed, 36 insertions(+)\n>  create mode 100644 Documentation/libcamera.dox\n>\n> diff --git a/Documentation/Doxyfile.in b/Documentation/Doxyfile.in\n> index a271c7bc..625d1e90 100644\n> --- a/Documentation/Doxyfile.in\n> +++ b/Documentation/Doxyfile.in\n> @@ -53,6 +53,7 @@ EXCLUDE_SYMBOLS        = libcamera::BoundMethodArgs \\\n>\n>  EXCLUDE_SYMLINKS       = YES\n>\n> +ENABLED_SECTIONS       = @ENABLED_SECTIONS@\n>  HIDE_UNDOC_CLASSES     = @HIDE_UNDOC_CLASSES@\n>  HIDE_UNDOC_MEMBERS     = @HIDE_UNDOC_MEMBERS@\n>  HTML_OUTPUT            = @HTML_OUTPUT@\n> diff --git a/Documentation/libcamera.dox b/Documentation/libcamera.dox\n> new file mode 100644\n> index 00000000..d5a57653\n> --- /dev/null\n> +++ b/Documentation/libcamera.dox\n> @@ -0,0 +1,33 @@\n> +/**\n> +\\mainpage libcamera API reference\n> +\n> +Welcome to the API reference for <a href=\"https://libcamera.org/\">libcamera</a>,\n> +a complex camera support library for Linux, Android and ChromeOS. These pages\n> +are automatically generated from the libcamera source code and describe the API\n> +in detail - if this is your first interaction with libcamera then you may find\n> +it useful to visit the [developer's guide](../html/guides/introduction.html) in\n> +the first instance, which can provide a more generic introduction to the\n> +library's concepts.\n> +\n> +\\if internal\n> +\n> +As a follow-on to the developer's guide, to assist you in adding support for\n> +your platform the [pipeline handler writer's guide](../html/guides/pipeline-handler.html)\n> +and the [ipa module writer's guide](../html/guides/ipa.html) should be helpful.\n> +\n> +The full libcamera API is documented here. If you wish to see only the public\n> +part of the API you can use [these pages](../api-html/index.html) instead.\n> +\n> +\\else\n> +\n> +As a follow-on to the developer's guide, to assist you in using libcamera within\n> +your project the [application developer's guide](../html/guides/application-developer.html)\n> +gives an overview on how to achieve that.\n> +\n> +Only the public part of the libcamera API is documented here; if you are a\n> +developer seeking to add support for your hardware to the library or make other\n> +improvements, you should switch to the internal API\n> +[reference pages](../internal-api-html/index.html) instead.\n> +\n> +\\endif\n> +*/\n> diff --git a/Documentation/meson.build b/Documentation/meson.build\n> index afaad751..ab8168bb 100644\n> --- a/Documentation/meson.build\n> +++ b/Documentation/meson.build\n> @@ -62,6 +62,7 @@ if doxygen.found() and dot.found()\n>\n>      cdata_public = configuration_data()\n>      cdata_public.merge_from(cdata)\n> +    cdata_public.set('ENABLED_SECTIONS', '')\n>      cdata_public.set('HIDE_UNDOC_CLASSES', 'YES')\n>      cdata_public.set('HIDE_UNDOC_MEMBERS', 'YES')\n>      cdata_public.set('HTML_OUTPUT', 'api-html')\n> @@ -89,6 +90,7 @@ if doxygen.found() and dot.found()\n>\n>      cdata_internal = configuration_data()\n>      cdata_internal.merge_from(cdata)\n> +    cdata_internal.set('ENABLED_SECTIONS', 'internal')\n>      cdata_internal.set('HIDE_UNDOC_CLASSES', 'NO')\n>      cdata_internal.set('HIDE_UNDOC_MEMBERS', 'NO')\n>      cdata_internal.set('HTML_OUTPUT', 'internal-api-html')\n> --\n> 2.34.1\n>","headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id 13E5CBEFBE\n\tfor <parsemail@patchwork.libcamera.org>;\n\tTue,  9 Jan 2024 14:52:34 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id AA33362B32;\n\tTue,  9 Jan 2024 15:52:34 +0100 (CET)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 3AEDF62B30\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue,  9 Jan 2024 15:52:33 +0100 (CET)","from ideasonboard.com (unknown\n\t[IPv6:2001:b07:5d2e:52c9:cc1e:e404:491f:e6ea])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 291FB552;\n\tTue,  9 Jan 2024 15:51:29 +0100 (CET)"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1704811954;\n\tbh=/K+f2DqYct3/WEixelPstXXFq07snTuFqFGjZO0OiEc=;\n\th=Date:To:References:In-Reply-To:Subject:List-Id:List-Unsubscribe:\n\tList-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc:\n\tFrom;\n\tb=qbD0uhJlEOJfDk5QyINPuTiQlt7djWImCI214t4UKRHGE/iEOAb9HvnZEA4Shp4te\n\tAeAFdyE45sdEE1iPw+TD740Z+vRiWdCcDQsGv9XdgJpSPzlIjtqtf9omvjygi+Yswf\n\tcxAIkNiLZ0peSZUc5zjWrO6i5wu+7UnyAzr7icWZ/8l6GOdcSmlgmnMdrc46ro0i4m\n\tSDGrXLYZzzJmI5ISt1iIX0A41fyvX+VpQj0xSIhi3TGdjgLReQxopCV8KbzQa1fY1j\n\tsxt6pU1t62AIRZCA5A2ax9C5o7Fa3rSe8lXAydPkF0fEFJlUAz92nGRWBNkCfgCRZD\n\tWDlE0sXxuf4mA==","v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1704811889;\n\tbh=/K+f2DqYct3/WEixelPstXXFq07snTuFqFGjZO0OiEc=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=SdWBzHpTVfqvIL2t7aOi0uHBrRbouija9lstWfQ8HtJV6UAN+mvbBQaGoz1fBD209\n\t48yeXSxAJiwde+cgSJvmWiQTgPhNndvPXPsoJqYo7ckTL4T2UPBUNYVDYCuRSvPbGd\n\tMQ1dEm4uB+Krs5lrJBp8KqADQVx9b9Smh8sC3qUQ="],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key; \n\tunprotected) header.d=ideasonboard.com\n\theader.i=@ideasonboard.com\n\theader.b=\"SdWBzHpT\"; dkim-atps=neutral","Date":"Tue, 9 Jan 2024 15:52:30 +0100","To":"Daniel Scally <dan.scally@ideasonboard.com>","Message-ID":"<2hg5wjy44dovkdkp5pn2s2bs5i6i27vid22m4pjpmxo63e2ch7@3c32rqjdqzmm>","References":"<20240105164104.78398-1-dan.scally@ideasonboard.com>\n\t<20240105164104.78398-6-dan.scally@ideasonboard.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","In-Reply-To":"<20240105164104.78398-6-dan.scally@ideasonboard.com>","Subject":"Re: [libcamera-devel] [PATCH v2 5/5] libcamera: Documentation:\n\tImprove doxygen main page","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","From":"Jacopo Mondi via libcamera-devel <libcamera-devel@lists.libcamera.org>","Reply-To":"Jacopo Mondi <jacopo.mondi@ideasonboard.com>","Cc":"libcamera-devel@lists.libcamera.org","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":28439,"web_url":"https://patchwork.libcamera.org/comment/28439/","msgid":"<d9c16742-a3dd-460e-ba17-34c46fdf34bf@ideasonboard.com>","date":"2024-01-09T19:52:17","subject":"Re: [libcamera-devel] [PATCH v2 5/5] libcamera: Documentation:\n\tImprove doxygen main page","submitter":{"id":156,"url":"https://patchwork.libcamera.org/api/people/156/","name":"Dan Scally","email":"dan.scally@ideasonboard.com"},"content":"Hi Jacopo\n\nOn 09/01/2024 14:52, Jacopo Mondi wrote:\n> Hi Dan\n>\n> On Fri, Jan 05, 2024 at 04:41:04PM +0000, Daniel Scally via libcamera-devel wrote:\n>> The \"Main Page\" of the doxygen generated API reference is currently\n>> totally empty. Expand it with some introductory text along with links\n>> to the developer's guide, application developer's guide and the\n>> pipeline and IPA module writer's guides.\n>>\n>> Provide an easy link to switch between the reduced public reference\n>> pages and the more complete internal ones.\n>>\n>> Signed-off-by: Daniel Scally <dan.scally@ideasonboard.com>\n>> ---\n>> Changes in v2:\n>>\n>> \t- Changed the first paragraph to be more about what the documentation is\n>> \tthan isn't (Jacopo)\n>> \t- Pushed the links to the guides into the \\if internal block so that\n>> \tonly the relevant one is presented.\n>>\n>>   Documentation/Doxyfile.in   |  1 +\n>>   Documentation/libcamera.dox | 33 +++++++++++++++++++++++++++++++++\n> Is 'libcamera.dox' selected as main page because the file name matches\n> the project name ? Just out of curiosity..\n\n\nHonestly just the first thing that sprang to mind; naming things really isn't my strong suit! It can \nbe named whatever we want, it's the \\mainpage tag within the file that sends it to the index.html in \ndoxygen's generated pages\n\n>\n> The text looks good to me, thanks!\n>\n> Reviewed-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com>\nThanks!\n>\n>>   Documentation/meson.build   |  2 ++\n>>   3 files changed, 36 insertions(+)\n>>   create mode 100644 Documentation/libcamera.dox\n>>\n>> diff --git a/Documentation/Doxyfile.in b/Documentation/Doxyfile.in\n>> index a271c7bc..625d1e90 100644\n>> --- a/Documentation/Doxyfile.in\n>> +++ b/Documentation/Doxyfile.in\n>> @@ -53,6 +53,7 @@ EXCLUDE_SYMBOLS        = libcamera::BoundMethodArgs \\\n>>\n>>   EXCLUDE_SYMLINKS       = YES\n>>\n>> +ENABLED_SECTIONS       = @ENABLED_SECTIONS@\n>>   HIDE_UNDOC_CLASSES     = @HIDE_UNDOC_CLASSES@\n>>   HIDE_UNDOC_MEMBERS     = @HIDE_UNDOC_MEMBERS@\n>>   HTML_OUTPUT            = @HTML_OUTPUT@\n>> diff --git a/Documentation/libcamera.dox b/Documentation/libcamera.dox\n>> new file mode 100644\n>> index 00000000..d5a57653\n>> --- /dev/null\n>> +++ b/Documentation/libcamera.dox\n>> @@ -0,0 +1,33 @@\n>> +/**\n>> +\\mainpage libcamera API reference\n>> +\n>> +Welcome to the API reference for <a href=\"https://libcamera.org/\">libcamera</a>,\n>> +a complex camera support library for Linux, Android and ChromeOS. These pages\n>> +are automatically generated from the libcamera source code and describe the API\n>> +in detail - if this is your first interaction with libcamera then you may find\n>> +it useful to visit the [developer's guide](../html/guides/introduction.html) in\n>> +the first instance, which can provide a more generic introduction to the\n>> +library's concepts.\n>> +\n>> +\\if internal\n>> +\n>> +As a follow-on to the developer's guide, to assist you in adding support for\n>> +your platform the [pipeline handler writer's guide](../html/guides/pipeline-handler.html)\n>> +and the [ipa module writer's guide](../html/guides/ipa.html) should be helpful.\n>> +\n>> +The full libcamera API is documented here. If you wish to see only the public\n>> +part of the API you can use [these pages](../api-html/index.html) instead.\n>> +\n>> +\\else\n>> +\n>> +As a follow-on to the developer's guide, to assist you in using libcamera within\n>> +your project the [application developer's guide](../html/guides/application-developer.html)\n>> +gives an overview on how to achieve that.\n>> +\n>> +Only the public part of the libcamera API is documented here; if you are a\n>> +developer seeking to add support for your hardware to the library or make other\n>> +improvements, you should switch to the internal API\n>> +[reference pages](../internal-api-html/index.html) instead.\n>> +\n>> +\\endif\n>> +*/\n>> diff --git a/Documentation/meson.build b/Documentation/meson.build\n>> index afaad751..ab8168bb 100644\n>> --- a/Documentation/meson.build\n>> +++ b/Documentation/meson.build\n>> @@ -62,6 +62,7 @@ if doxygen.found() and dot.found()\n>>\n>>       cdata_public = configuration_data()\n>>       cdata_public.merge_from(cdata)\n>> +    cdata_public.set('ENABLED_SECTIONS', '')\n>>       cdata_public.set('HIDE_UNDOC_CLASSES', 'YES')\n>>       cdata_public.set('HIDE_UNDOC_MEMBERS', 'YES')\n>>       cdata_public.set('HTML_OUTPUT', 'api-html')\n>> @@ -89,6 +90,7 @@ if doxygen.found() and dot.found()\n>>\n>>       cdata_internal = configuration_data()\n>>       cdata_internal.merge_from(cdata)\n>> +    cdata_internal.set('ENABLED_SECTIONS', 'internal')\n>>       cdata_internal.set('HIDE_UNDOC_CLASSES', 'NO')\n>>       cdata_internal.set('HIDE_UNDOC_MEMBERS', 'NO')\n>>       cdata_internal.set('HTML_OUTPUT', 'internal-api-html')\n>> --\n>> 2.34.1\n>>","headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id CC44AC323E\n\tfor <parsemail@patchwork.libcamera.org>;\n\tTue,  9 Jan 2024 19:52:21 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 03DB662B5E;\n\tTue,  9 Jan 2024 20:52:21 +0100 (CET)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id CF2CD61D76\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue,  9 Jan 2024 20:52:19 +0100 (CET)","from [192.168.0.43]\n\t(cpc141996-chfd3-2-0-cust928.12-3.cable.virginm.net [86.13.91.161])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 77E6D1B9A;\n\tTue,  9 Jan 2024 20:51:15 +0100 (CET)"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1704829941;\n\tbh=L9Kf6y0jKD7T6hLMYKlF97iOtk7ByX9SxaO3BxV0XDc=;\n\th=Date:To:References:In-Reply-To:Subject:List-Id:List-Unsubscribe:\n\tList-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc:\n\tFrom;\n\tb=AveXz0jJB4q5Tdg96pid7BlMk2BxQLWQW5mT2eZ2KfexcSkle6+wjIr0mFZS+nauW\n\tHW4DjzkU5mNl39Bcz0/95pCyn5Ji0F3kMubV9yVT0d43O8tGKUVB0tbknZ83ZECuPw\n\tW/FnGr9Om9rkM2mIoFXILM1+kWdbd1O5m4be5rvFRlcrtdmPH10t6HINqz+bojTBUy\n\tTHjDVsjU9BOsCZBLHKbN7kJRnAA6RM98yKJ2j5pipk4bFgUMxvCV9192S2ndrJEm3f\n\tS/Tre7cFksMCh6rtH1ttHyOYc93Q7CySSqMj07JJPeFQSW0Kw4MBR/R6FTWMkl7lBi\n\t6fzWKxoZ2qkWg==","v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1704829875;\n\tbh=L9Kf6y0jKD7T6hLMYKlF97iOtk7ByX9SxaO3BxV0XDc=;\n\th=Date:Subject:To:Cc:References:From:In-Reply-To:From;\n\tb=VHcyNIkPG8f6H8+AlFeRFwx9d0Zgstn4a4lb28F+rz44dVQkTTJrYE53wunmO35dY\n\tmjMO/ZBMdC6cJjBDBElgwX8A8yj+loZCzND5/2OTTCpKnUaFgG2N7hdQluW7JLwPOp\n\t9Nikojb/Lz3KlHwayjZKndFNBbwsyM/24e43kkug="],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key; \n\tunprotected) header.d=ideasonboard.com\n\theader.i=@ideasonboard.com\n\theader.b=\"VHcyNIkP\"; dkim-atps=neutral","Message-ID":"<d9c16742-a3dd-460e-ba17-34c46fdf34bf@ideasonboard.com>","Date":"Tue, 9 Jan 2024 19:52:17 +0000","MIME-Version":"1.0","User-Agent":"Mozilla Thunderbird","Content-Language":"en-US","To":"Jacopo Mondi <jacopo.mondi@ideasonboard.com>","References":"<20240105164104.78398-1-dan.scally@ideasonboard.com>\n\t<20240105164104.78398-6-dan.scally@ideasonboard.com>\n\t<2hg5wjy44dovkdkp5pn2s2bs5i6i27vid22m4pjpmxo63e2ch7@3c32rqjdqzmm>","Autocrypt":"addr=dan.scally@ideasonboard.com; keydata=\n\txsFNBGLydlEBEADa5O2s0AbUguprfvXOQun/0a8y2Vk6BqkQALgeD6KnXSWwaoCULp18etYW\n\tB31bfgrdphXQ5kUQibB0ADK8DERB4wrzrUb5CMxLBFE7mQty+v5NsP0OFNK9XTaAOcmD+Ove\n\teIjYvqurAaro91jrRVrS1gBRxIFqyPgNvwwL+alMZhn3/2jU2uvBmuRrgnc/e9cHKiuT3Dtq\n\tMHGPKL2m+plk+7tjMoQFfexoQ1JKugHAjxAhJfrkXh6uS6rc01bYCyo7ybzg53m1HLFJdNGX\n\tsUKR+dQpBs3SY4s66tc1sREJqdYyTsSZf80HjIeJjU/hRunRo4NjRIJwhvnK1GyjOvvuCKVU\n\tRWpY8dNjNu5OeAfdrlvFJOxIE9M8JuYCQTMULqd1NuzbpFMjc9524U3Cngs589T7qUMPb1H1\n\tNTA81LmtJ6Y+IV5/kiTUANflpzBwhu18Ok7kGyCq2a2jsOcVmk8gZNs04gyjuj8JziYwwLbf\n\tvzABwpFVcS8aR+nHIZV1HtOzyw8CsL8OySc3K9y+Y0NRpziMRvutrppzgyMb9V+N31mK9Mxl\n\t1YkgaTl4ciNWpdfUe0yxH03OCuHi3922qhPLF4XX5LN+NaVw5Xz2o3eeWklXdouxwV7QlN33\n\tu4+u2FWzKxDqO6WLQGjxPE0mVB4Gh5Pa1Vb0ct9Ctg0qElvtGQARAQABzShEYW4gU2NhbGx5\n\tIDxkYW4uc2NhbGx5QGlkZWFzb25ib2FyZC5jb20+wsGNBBMBCAA3FiEEsdtt8OWP7+8SNfQe\n\tkiQuh/L+GMQFAmLydlIFCQWjmoACGwMECwkIBwUVCAkKCwUWAgMBAAAKCRCSJC6H8v4YxDI2\n\tEAC2Gz0iyaXJkPInyshrREEWbo0CA6v5KKf3I/HlMPqkZ48bmGoYm4mEQGFWZJAT3K4ir8bg\n\tcEfs9V54gpbrZvdwS4abXbUK4WjKwEs8HK3XJv1WXUN2bsz5oEJWZUImh9gD3naiLLI9QMMm\n\tw/aZkT+NbN5/2KvChRWhdcha7+2Te4foOY66nIM+pw2FZM6zIkInLLUik2zXOhaZtqdeJZQi\n\tHSPU9xu7TRYN4cvdZAnSpG7gQqmLm5/uGZN1/sB3kHTustQtSXKMaIcD/DMNI3JN/t+RJVS7\n\tc0Jh/ThzTmhHyhxx3DRnDIy7kwMI4CFvmhkVC2uNs9kWsj1DuX5kt8513mvfw2OcX9UnNKmZ\n\tnhNCuF6DxVrL8wjOPuIpiEj3V+K7DFF1Cxw1/yrLs8dYdYh8T8vCY2CHBMsqpESROnTazboh\n\tAiQ2xMN1cyXtX11Qwqm5U3sykpLbx2BcmUUUEAKNsM//Zn81QXKG8vOx0ZdMfnzsCaCzt8f6\n\t9dcDBBI3tJ0BI9ByiocqUoL6759LM8qm18x3FYlxvuOs4wSGPfRVaA4yh0pgI+ModVC2Pu3y\n\tejE/IxeatGqJHh6Y+iJzskdi27uFkRixl7YJZvPJAbEn7kzSi98u/5ReEA8Qhc8KO/B7wprj\n\txjNMZNYd0Eth8+WkixHYj752NT5qshKJXcyUU87BTQRi8nZSARAAx0BJayh1Fhwbf4zoY56x\n\txHEpT6DwdTAYAetd3yiKClLVJadYxOpuqyWa1bdfQWPb+h4MeXbWw/53PBgn7gI2EA7ebIRC\n\tPJJhAIkeym7hHZoxqDQTGDJjxFEL11qF+U3rhWiL2Zt0Pl+zFq0eWYYVNiXjsIS4FI2+4m16\n\ttPbDWZFJnSZ828VGtRDQdhXfx3zyVX21lVx1bX4/OZvIET7sVUufkE4hrbqrrufre7wsjD1t\n\t8MQKSapVrr1RltpzPpScdoxknOSBRwOvpp57pJJe5A0L7+WxJ+vQoQXj0j+5tmIWOAV1qBQp\n\thyoyUk9JpPfntk2EKnZHWaApFp5TcL6c5LhUvV7F6XwOjGPuGlZQCWXee9dr7zym8iR3irWT\n\t+49bIh5PMlqSLXJDYbuyFQHFxoiNdVvvf7etvGfqFYVMPVjipqfEQ38ST2nkzx+KBICz7uwj\n\tJwLBdTXzGFKHQNckGMl7F5QdO/35An/QcxBnHVMXqaSd12tkJmoRVWduwuuoFfkTY5mUV3uX\n\txGj3iVCK4V+ezOYA7c2YolfRCNMTza6vcK/P4tDjjsyBBZrCCzhBvd4VVsnnlZhVaIxoky4K\n\taL+AP+zcQrUZmXmgZjXOLryGnsaeoVrIFyrU6ly90s1y3KLoPsDaTBMtnOdwxPmo1xisH8oL\n\ta/VRgpFBfojLPxMAEQEAAcLBfAQYAQgAJhYhBLHbbfDlj+/vEjX0HpIkLofy/hjEBQJi8nZT\n\tBQkFo5qAAhsMAAoJEJIkLofy/hjEXPcQAMIPNqiWiz/HKu9W4QIf1OMUpKn3YkVIj3p3gvfM\n\tRes4fGX94Ji599uLNrPoxKyaytC4R6BTxVriTJjWK8mbo9jZIRM4vkwkZZ2bu98EweSucxbp\n\tvjESsvMXGgxniqV/RQ/3T7LABYRoIUutARYq58p5HwSP0frF0fdFHYdTa2g7MYZl1ur2JzOC\n\tFHRpGadlNzKDE3fEdoMobxHB3Lm6FDml5GyBAA8+dQYVI0oDwJ3gpZPZ0J5Vx9RbqXe8RDuR\n\tdu90hvCJkq7/tzSQ0GeD3BwXb9/R/A4dVXhaDd91Q1qQXidI+2jwhx8iqiYxbT+DoAUkQRQy\n\txBtoCM1CxH7u45URUgD//fxYr3D4B1SlonA6vdaEdHZOGwECnDpTxecENMbz/Bx7qfrmd901\n\tD+N9SjIwrbVhhSyUXYnSUb8F+9g2RDY42Sk7GcYxIeON4VzKqWM7hpkXZ47pkK0YodO+dRKM\n\tyMcoUWrTK0Uz6UzUGKoJVbxmSW/EJLEGoI5p3NWxWtScEVv8mO49gqQdrRIOheZycDmHnItt\n\t9Qjv00uFhEwv2YfiyGk6iGF2W40s2pH2t6oeuGgmiZ7g6d0MEK8Ql/4zPItvr1c1rpwpXUC1\n\tu1kQWgtnNjFHX3KiYdqjcZeRBiry1X0zY+4Y24wUU0KsEewJwjhmCKAsju1RpdlPg2kC","In-Reply-To":"<2hg5wjy44dovkdkp5pn2s2bs5i6i27vid22m4pjpmxo63e2ch7@3c32rqjdqzmm>","Content-Type":"text/plain; charset=UTF-8; format=flowed","Content-Transfer-Encoding":"7bit","Subject":"Re: [libcamera-devel] [PATCH v2 5/5] libcamera: Documentation:\n\tImprove doxygen main page","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","From":"Dan Scally via libcamera-devel <libcamera-devel@lists.libcamera.org>","Reply-To":"Dan Scally <dan.scally@ideasonboard.com>","Cc":"libcamera-devel@lists.libcamera.org","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":28440,"web_url":"https://patchwork.libcamera.org/comment/28440/","msgid":"<170483750991.1166171.13197020070300061015@ping.linuxembedded.co.uk>","date":"2024-01-09T21:58:29","subject":"Re: [libcamera-devel] [PATCH v2 5/5] libcamera: Documentation:\n\tImprove doxygen main page","submitter":{"id":4,"url":"https://patchwork.libcamera.org/api/people/4/","name":"Kieran Bingham","email":"kieran.bingham@ideasonboard.com"},"content":"Quoting Dan Scally via libcamera-devel (2024-01-09 19:52:17)\n> Hi Jacopo\n> \n> On 09/01/2024 14:52, Jacopo Mondi wrote:\n> > Hi Dan\n> >\n> > On Fri, Jan 05, 2024 at 04:41:04PM +0000, Daniel Scally via libcamera-devel wrote:\n> >> The \"Main Page\" of the doxygen generated API reference is currently\n> >> totally empty. Expand it with some introductory text along with links\n> >> to the developer's guide, application developer's guide and the\n> >> pipeline and IPA module writer's guides.\n> >>\n> >> Provide an easy link to switch between the reduced public reference\n> >> pages and the more complete internal ones.\n> >>\n> >> Signed-off-by: Daniel Scally <dan.scally@ideasonboard.com>\n> >> ---\n> >> Changes in v2:\n> >>\n> >>      - Changed the first paragraph to be more about what the documentation is\n> >>      than isn't (Jacopo)\n> >>      - Pushed the links to the guides into the \\if internal block so that\n> >>      only the relevant one is presented.\n> >>\n> >>   Documentation/Doxyfile.in   |  1 +\n> >>   Documentation/libcamera.dox | 33 +++++++++++++++++++++++++++++++++\n> > Is 'libcamera.dox' selected as main page because the file name matches\n> > the project name ? Just out of curiosity..\n> \n> \n> Honestly just the first thing that sprang to mind; naming things really isn't my strong suit! It can \n> be named whatever we want, it's the \\mainpage tag within the file that sends it to the index.html in \n> doxygen's generated pages\n\nI think we should probably call this main.dox or mainpage.dox then.\n\n> \n> >\n> > The text looks good to me, thanks!\n> >\n> > Reviewed-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com>\n> Thanks!\n> >\n> >>   Documentation/meson.build   |  2 ++\n> >>   3 files changed, 36 insertions(+)\n> >>   create mode 100644 Documentation/libcamera.dox\n> >>\n> >> diff --git a/Documentation/Doxyfile.in b/Documentation/Doxyfile.in\n> >> index a271c7bc..625d1e90 100644\n> >> --- a/Documentation/Doxyfile.in\n> >> +++ b/Documentation/Doxyfile.in\n> >> @@ -53,6 +53,7 @@ EXCLUDE_SYMBOLS        = libcamera::BoundMethodArgs \\\n> >>\n> >>   EXCLUDE_SYMLINKS       = YES\n> >>\n> >> +ENABLED_SECTIONS       = @ENABLED_SECTIONS@\n> >>   HIDE_UNDOC_CLASSES     = @HIDE_UNDOC_CLASSES@\n> >>   HIDE_UNDOC_MEMBERS     = @HIDE_UNDOC_MEMBERS@\n> >>   HTML_OUTPUT            = @HTML_OUTPUT@\n> >> diff --git a/Documentation/libcamera.dox b/Documentation/libcamera.dox\n> >> new file mode 100644\n> >> index 00000000..d5a57653\n> >> --- /dev/null\n> >> +++ b/Documentation/libcamera.dox\n> >> @@ -0,0 +1,33 @@\n> >> +/**\n> >> +\\mainpage libcamera API reference\n> >> +\n> >> +Welcome to the API reference for <a href=\"https://libcamera.org/\">libcamera</a>,\n> >> +a complex camera support library for Linux, Android and ChromeOS. These pages\n> >> +are automatically generated from the libcamera source code and describe the API\n> >> +in detail - if this is your first interaction with libcamera then you may find\n> >> +it useful to visit the [developer's guide](../html/guides/introduction.html) in\n> >> +the first instance, which can provide a more generic introduction to the\n> >> +library's concepts.\n> >> +\n> >> +\\if internal\n> >> +\n> >> +As a follow-on to the developer's guide, to assist you in adding support for\n> >> +your platform the [pipeline handler writer's guide](../html/guides/pipeline-handler.html)\n> >> +and the [ipa module writer's guide](../html/guides/ipa.html) should be helpful.\n> >> +\n> >> +The full libcamera API is documented here. If you wish to see only the public\n> >> +part of the API you can use [these pages](../api-html/index.html) instead.\n> >> +\n> >> +\\else\n> >> +\n> >> +As a follow-on to the developer's guide, to assist you in using libcamera within\n> >> +your project the [application developer's guide](../html/guides/application-developer.html)\n> >> +gives an overview on how to achieve that.\n> >> +\n> >> +Only the public part of the libcamera API is documented here; if you are a\n> >> +developer seeking to add support for your hardware to the library or make other\n> >> +improvements, you should switch to the internal API\n> >> +[reference pages](../internal-api-html/index.html) instead.\n\nThat's a nice way to split things.\n\nWe can probably expand on the main page later, but this looks like a\ngood starting point to me to get this split handled.\n\nReviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n\n> >> +\n> >> +\\endif\n> >> +*/\n> >> diff --git a/Documentation/meson.build b/Documentation/meson.build\n> >> index afaad751..ab8168bb 100644\n> >> --- a/Documentation/meson.build\n> >> +++ b/Documentation/meson.build\n> >> @@ -62,6 +62,7 @@ if doxygen.found() and dot.found()\n> >>\n> >>       cdata_public = configuration_data()\n> >>       cdata_public.merge_from(cdata)\n> >> +    cdata_public.set('ENABLED_SECTIONS', '')\n> >>       cdata_public.set('HIDE_UNDOC_CLASSES', 'YES')\n> >>       cdata_public.set('HIDE_UNDOC_MEMBERS', 'YES')\n> >>       cdata_public.set('HTML_OUTPUT', 'api-html')\n> >> @@ -89,6 +90,7 @@ if doxygen.found() and dot.found()\n> >>\n> >>       cdata_internal = configuration_data()\n> >>       cdata_internal.merge_from(cdata)\n> >> +    cdata_internal.set('ENABLED_SECTIONS', 'internal')\n> >>       cdata_internal.set('HIDE_UNDOC_CLASSES', 'NO')\n> >>       cdata_internal.set('HIDE_UNDOC_MEMBERS', 'NO')\n> >>       cdata_internal.set('HTML_OUTPUT', 'internal-api-html')\n> >> --\n> >> 2.34.1\n> >>","headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id 352F1BEFBE\n\tfor <parsemail@patchwork.libcamera.org>;\n\tTue,  9 Jan 2024 21:58:35 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 1C19A62B32;\n\tTue,  9 Jan 2024 22:58:34 +0100 (CET)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id BA15761D76\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue,  9 Jan 2024 22:58:32 +0100 (CET)","from pendragon.ideasonboard.com\n\t(aztw-30-b2-v4wan-166917-cust845.vm26.cable.virginm.net\n\t[82.37.23.78])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 2BE1DC58;\n\tTue,  9 Jan 2024 22:57:28 +0100 (CET)"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1704837514;\n\tbh=HLiVxOJkq6Koe0i12LnPxpvdERTsq7O0Dx8EC8a550w=;\n\th=In-Reply-To:References:To:Date:Subject:List-Id:List-Unsubscribe:\n\tList-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc:\n\tFrom;\n\tb=UTQT2dV7VF7H3bVYwo9eg6d1w0G1XKXWq1J64ezCZkz+60IROj54xJzQ1ZS64F2nR\n\tj8ubofapIT07KaWI6ez/f/yltrrMqNftLIt8KjdeU1qcVojXJOCMeoMy8gKd5IrkPo\n\tLFSDDoXlhenbw2RFgqf9fiWDk0I01+LW3WfRH4NupauNZBmAHlYsiAs4s66zABc46f\n\txS4qOk/V7gU7tPUikRkdCMRth7bKphfgwtIes/lAuWa+wgYwFpO6PNTdCM24cYUVaw\n\t7xhaJMDyg9/w4X14i9TTbNQCGYLCG/ibYbV3nZoJyRRXCPJknut9JfzWaDAr5HiOZQ\n\t0KM+jNiN46iVw==","v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1704837448;\n\tbh=HLiVxOJkq6Koe0i12LnPxpvdERTsq7O0Dx8EC8a550w=;\n\th=In-Reply-To:References:Subject:From:Cc:To:Date:From;\n\tb=bBgE7UtvhfdLPiEpV3gPvitBJBbpEJonsudInNez+mzeVueTrryqiNNiNlBBC6npv\n\te0GLs7zW+no8quVtmHJfzFtnUg1Zu/pIlXEGiIWvw8S8ucexiU/rVHg73AyyubbAwe\n\tdnYJ4YQmkK/+B5pqtmUxo0V/IpFIRcE/bk5kbGek="],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key; \n\tunprotected) header.d=ideasonboard.com\n\theader.i=@ideasonboard.com\n\theader.b=\"bBgE7Utv\"; dkim-atps=neutral","Content-Type":"text/plain; charset=\"utf-8\"","MIME-Version":"1.0","Content-Transfer-Encoding":"quoted-printable","In-Reply-To":"<d9c16742-a3dd-460e-ba17-34c46fdf34bf@ideasonboard.com>","References":"<20240105164104.78398-1-dan.scally@ideasonboard.com>\n\t<20240105164104.78398-6-dan.scally@ideasonboard.com>\n\t<2hg5wjy44dovkdkp5pn2s2bs5i6i27vid22m4pjpmxo63e2ch7@3c32rqjdqzmm>\n\t<d9c16742-a3dd-460e-ba17-34c46fdf34bf@ideasonboard.com>","To":"Dan Scally <dan.scally@ideasonboard.com>,\n\tDan Scally via libcamera-devel <libcamera-devel@lists.libcamera.org>, \n\tJacopo Mondi <jacopo.mondi@ideasonboard.com>","Date":"Tue, 09 Jan 2024 21:58:29 +0000","Message-ID":"<170483750991.1166171.13197020070300061015@ping.linuxembedded.co.uk>","User-Agent":"alot/0.10","Subject":"Re: [libcamera-devel] [PATCH v2 5/5] libcamera: Documentation:\n\tImprove doxygen main page","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","From":"Kieran Bingham via libcamera-devel\n\t<libcamera-devel@lists.libcamera.org>","Reply-To":"Kieran Bingham <kieran.bingham@ideasonboard.com>","Cc":"libcamera-devel@lists.libcamera.org","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":28443,"web_url":"https://patchwork.libcamera.org/comment/28443/","msgid":"<rgtvngmgoplpks4za7wgh7i4tx7l26br4djss6sp6cm54fjwhq@aintjyoaappb>","date":"2024-01-10T08:10:27","subject":"Re: [libcamera-devel] [PATCH v2 5/5] libcamera: Documentation:\n\tImprove doxygen main page","submitter":{"id":143,"url":"https://patchwork.libcamera.org/api/people/143/","name":"Jacopo Mondi","email":"jacopo.mondi@ideasonboard.com"},"content":"HI Dan\n\nOn Tue, Jan 09, 2024 at 07:52:17PM +0000, Dan Scally wrote:\n> Hi Jacopo\n>\n> On 09/01/2024 14:52, Jacopo Mondi wrote:\n> > Hi Dan\n> >\n> > On Fri, Jan 05, 2024 at 04:41:04PM +0000, Daniel Scally via libcamera-devel wrote:\n> > > The \"Main Page\" of the doxygen generated API reference is currently\n> > > totally empty. Expand it with some introductory text along with links\n> > > to the developer's guide, application developer's guide and the\n> > > pipeline and IPA module writer's guides.\n> > >\n> > > Provide an easy link to switch between the reduced public reference\n> > > pages and the more complete internal ones.\n> > >\n> > > Signed-off-by: Daniel Scally <dan.scally@ideasonboard.com>\n> > > ---\n> > > Changes in v2:\n> > >\n> > > \t- Changed the first paragraph to be more about what the documentation is\n> > > \tthan isn't (Jacopo)\n> > > \t- Pushed the links to the guides into the \\if internal block so that\n> > > \tonly the relevant one is presented.\n> > >\n> > >   Documentation/Doxyfile.in   |  1 +\n> > >   Documentation/libcamera.dox | 33 +++++++++++++++++++++++++++++++++\n> > Is 'libcamera.dox' selected as main page because the file name matches\n> > the project name ? Just out of curiosity..\n>\n>\n> Honestly just the first thing that sprang to mind; naming things really\n> isn't my strong suit! It can be named whatever we want, it's the \\mainpage\n> tag within the file that sends it to the index.html in doxygen's generated\n> pages\n>\n\nI was not questioning the naming at all, I just wasn't sure how does\nlibcamera.dox get picked, and that's what \\mainpage is for! Thanks for\nthe clarification\n\n> >\n> > The text looks good to me, thanks!\n> >\n> > Reviewed-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com>\n> Thanks!\n> >\n> > >   Documentation/meson.build   |  2 ++\n> > >   3 files changed, 36 insertions(+)\n> > >   create mode 100644 Documentation/libcamera.dox\n> > >\n> > > diff --git a/Documentation/Doxyfile.in b/Documentation/Doxyfile.in\n> > > index a271c7bc..625d1e90 100644\n> > > --- a/Documentation/Doxyfile.in\n> > > +++ b/Documentation/Doxyfile.in\n> > > @@ -53,6 +53,7 @@ EXCLUDE_SYMBOLS        = libcamera::BoundMethodArgs \\\n> > >\n> > >   EXCLUDE_SYMLINKS       = YES\n> > >\n> > > +ENABLED_SECTIONS       = @ENABLED_SECTIONS@\n> > >   HIDE_UNDOC_CLASSES     = @HIDE_UNDOC_CLASSES@\n> > >   HIDE_UNDOC_MEMBERS     = @HIDE_UNDOC_MEMBERS@\n> > >   HTML_OUTPUT            = @HTML_OUTPUT@\n> > > diff --git a/Documentation/libcamera.dox b/Documentation/libcamera.dox\n> > > new file mode 100644\n> > > index 00000000..d5a57653\n> > > --- /dev/null\n> > > +++ b/Documentation/libcamera.dox\n> > > @@ -0,0 +1,33 @@\n> > > +/**\n> > > +\\mainpage libcamera API reference\n> > > +\n> > > +Welcome to the API reference for <a href=\"https://libcamera.org/\">libcamera</a>,\n> > > +a complex camera support library for Linux, Android and ChromeOS. These pages\n> > > +are automatically generated from the libcamera source code and describe the API\n> > > +in detail - if this is your first interaction with libcamera then you may find\n> > > +it useful to visit the [developer's guide](../html/guides/introduction.html) in\n> > > +the first instance, which can provide a more generic introduction to the\n> > > +library's concepts.\n> > > +\n> > > +\\if internal\n> > > +\n> > > +As a follow-on to the developer's guide, to assist you in adding support for\n> > > +your platform the [pipeline handler writer's guide](../html/guides/pipeline-handler.html)\n> > > +and the [ipa module writer's guide](../html/guides/ipa.html) should be helpful.\n> > > +\n> > > +The full libcamera API is documented here. If you wish to see only the public\n> > > +part of the API you can use [these pages](../api-html/index.html) instead.\n> > > +\n> > > +\\else\n> > > +\n> > > +As a follow-on to the developer's guide, to assist you in using libcamera within\n> > > +your project the [application developer's guide](../html/guides/application-developer.html)\n> > > +gives an overview on how to achieve that.\n> > > +\n> > > +Only the public part of the libcamera API is documented here; if you are a\n> > > +developer seeking to add support for your hardware to the library or make other\n> > > +improvements, you should switch to the internal API\n> > > +[reference pages](../internal-api-html/index.html) instead.\n> > > +\n> > > +\\endif\n> > > +*/\n> > > diff --git a/Documentation/meson.build b/Documentation/meson.build\n> > > index afaad751..ab8168bb 100644\n> > > --- a/Documentation/meson.build\n> > > +++ b/Documentation/meson.build\n> > > @@ -62,6 +62,7 @@ if doxygen.found() and dot.found()\n> > >\n> > >       cdata_public = configuration_data()\n> > >       cdata_public.merge_from(cdata)\n> > > +    cdata_public.set('ENABLED_SECTIONS', '')\n> > >       cdata_public.set('HIDE_UNDOC_CLASSES', 'YES')\n> > >       cdata_public.set('HIDE_UNDOC_MEMBERS', 'YES')\n> > >       cdata_public.set('HTML_OUTPUT', 'api-html')\n> > > @@ -89,6 +90,7 @@ if doxygen.found() and dot.found()\n> > >\n> > >       cdata_internal = configuration_data()\n> > >       cdata_internal.merge_from(cdata)\n> > > +    cdata_internal.set('ENABLED_SECTIONS', 'internal')\n> > >       cdata_internal.set('HIDE_UNDOC_CLASSES', 'NO')\n> > >       cdata_internal.set('HIDE_UNDOC_MEMBERS', 'NO')\n> > >       cdata_internal.set('HTML_OUTPUT', 'internal-api-html')\n> > > --\n> > > 2.34.1\n> > >","headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id 05148C323E\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed, 10 Jan 2024 08:10:35 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id EA02B62B5F;\n\tWed, 10 Jan 2024 09:10:33 +0100 (CET)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 36F7B61D5B\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 10 Jan 2024 09:10:31 +0100 (CET)","from ideasonboard.com (93-61-96-190.ip145.fastwebnet.it\n\t[93.61.96.190])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 54EDAC67;\n\tWed, 10 Jan 2024 09:09:26 +0100 (CET)"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1704874234;\n\tbh=ellu1+RjEuu1g6FL4ybO/MN3MCLMpNhtEx6vr2qGgUs=;\n\th=Date:To:References:In-Reply-To:Subject:List-Id:List-Unsubscribe:\n\tList-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc:\n\tFrom;\n\tb=mC5XjmtSTrNqlItAA71jDSmhbnsW6nsPwxvqAlCsULlYym3ySOSZasaV2gIIZSIgM\n\t9K5yrHSIk5s4rMMKAThds+MEaHJcL/BqEpRwd0oH5s90y8qmQDERXtpt34SlWWNXp2\n\tDbauStQOEDWzF3BUGeiA1ty784fb2+dNCiT8enG3Ohtnhb1/iA88IiWHxxdIoJkMP3\n\tTAqzQxui5P8ljBvgykwhc8HOZISK6Qv0qutDh1+Bq0T7GGLjzg44tG4CduR2j3RMMi\n\tCvdPLjRaYTdfycCtT7mQcjb/aQcQLmjBqwMaGdp3q4ft0X1wIhLrYT9x7hl4hnHbCs\n\tOJt9WcySF1Qww==","v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1704874166;\n\tbh=ellu1+RjEuu1g6FL4ybO/MN3MCLMpNhtEx6vr2qGgUs=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=ptDGWRo5s0j9ynBpczEjnNIKvkUYmFMGK2A3oiePsaXgxAhiyuDbWaToqp13qInrk\n\t8dHoyXZbxbXExxgeUlwhYHDvnJz/BI4TFYH5nFrekS7GLhnaDfErVAy0dtCn3SbZjk\n\tLvRGvjc/2YtaWWGmcvmXrDJWOKh+0wQCSWK7Yp4A="],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key; \n\tunprotected) header.d=ideasonboard.com\n\theader.i=@ideasonboard.com\n\theader.b=\"ptDGWRo5\"; dkim-atps=neutral","Date":"Wed, 10 Jan 2024 09:10:27 +0100","To":"Dan Scally <dan.scally@ideasonboard.com>","Message-ID":"<rgtvngmgoplpks4za7wgh7i4tx7l26br4djss6sp6cm54fjwhq@aintjyoaappb>","References":"<20240105164104.78398-1-dan.scally@ideasonboard.com>\n\t<20240105164104.78398-6-dan.scally@ideasonboard.com>\n\t<2hg5wjy44dovkdkp5pn2s2bs5i6i27vid22m4pjpmxo63e2ch7@3c32rqjdqzmm>\n\t<d9c16742-a3dd-460e-ba17-34c46fdf34bf@ideasonboard.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","In-Reply-To":"<d9c16742-a3dd-460e-ba17-34c46fdf34bf@ideasonboard.com>","Subject":"Re: [libcamera-devel] [PATCH v2 5/5] libcamera: Documentation:\n\tImprove doxygen main page","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","From":"Jacopo Mondi via libcamera-devel <libcamera-devel@lists.libcamera.org>","Reply-To":"Jacopo Mondi <jacopo.mondi@ideasonboard.com>","Cc":"Jacopo Mondi <jacopo.mondi@ideasonboard.com>,\n\tlibcamera-devel@lists.libcamera.org","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":28445,"web_url":"https://patchwork.libcamera.org/comment/28445/","msgid":"<30bfdb42-42f1-4cd6-98f1-d6a9984ff663@ideasonboard.com>","date":"2024-01-12T10:28:16","subject":"Re: [libcamera-devel] [PATCH v2 5/5] libcamera: Documentation:\n\tImprove doxygen main page","submitter":{"id":156,"url":"https://patchwork.libcamera.org/api/people/156/","name":"Dan Scally","email":"dan.scally@ideasonboard.com"},"content":"On 09/01/2024 21:58, Kieran Bingham wrote:\n> Quoting Dan Scally via libcamera-devel (2024-01-09 19:52:17)\n>> Hi Jacopo\n>>\n>> On 09/01/2024 14:52, Jacopo Mondi wrote:\n>>> Hi Dan\n>>>\n>>> On Fri, Jan 05, 2024 at 04:41:04PM +0000, Daniel Scally via libcamera-devel wrote:\n>>>> The \"Main Page\" of the doxygen generated API reference is currently\n>>>> totally empty. Expand it with some introductory text along with links\n>>>> to the developer's guide, application developer's guide and the\n>>>> pipeline and IPA module writer's guides.\n>>>>\n>>>> Provide an easy link to switch between the reduced public reference\n>>>> pages and the more complete internal ones.\n>>>>\n>>>> Signed-off-by: Daniel Scally <dan.scally@ideasonboard.com>\n>>>> ---\n>>>> Changes in v2:\n>>>>\n>>>>       - Changed the first paragraph to be more about what the documentation is\n>>>>       than isn't (Jacopo)\n>>>>       - Pushed the links to the guides into the \\if internal block so that\n>>>>       only the relevant one is presented.\n>>>>\n>>>>    Documentation/Doxyfile.in   |  1 +\n>>>>    Documentation/libcamera.dox | 33 +++++++++++++++++++++++++++++++++\n>>> Is 'libcamera.dox' selected as main page because the file name matches\n>>> the project name ? Just out of curiosity..\n>>\n>> Honestly just the first thing that sprang to mind; naming things really isn't my strong suit! It can\n>> be named whatever we want, it's the \\mainpage tag within the file that sends it to the index.html in\n>> doxygen's generated pages\n> I think we should probably call this main.dox or mainpage.dox then.\nI'll rename to mainpage.dox then\n>>> The text looks good to me, thanks!\n>>>\n>>> Reviewed-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com>\n>> Thanks!\n>>>>    Documentation/meson.build   |  2 ++\n>>>>    3 files changed, 36 insertions(+)\n>>>>    create mode 100644 Documentation/libcamera.dox\n>>>>\n>>>> diff --git a/Documentation/Doxyfile.in b/Documentation/Doxyfile.in\n>>>> index a271c7bc..625d1e90 100644\n>>>> --- a/Documentation/Doxyfile.in\n>>>> +++ b/Documentation/Doxyfile.in\n>>>> @@ -53,6 +53,7 @@ EXCLUDE_SYMBOLS        = libcamera::BoundMethodArgs \\\n>>>>\n>>>>    EXCLUDE_SYMLINKS       = YES\n>>>>\n>>>> +ENABLED_SECTIONS       = @ENABLED_SECTIONS@\n>>>>    HIDE_UNDOC_CLASSES     = @HIDE_UNDOC_CLASSES@\n>>>>    HIDE_UNDOC_MEMBERS     = @HIDE_UNDOC_MEMBERS@\n>>>>    HTML_OUTPUT            = @HTML_OUTPUT@\n>>>> diff --git a/Documentation/libcamera.dox b/Documentation/libcamera.dox\n>>>> new file mode 100644\n>>>> index 00000000..d5a57653\n>>>> --- /dev/null\n>>>> +++ b/Documentation/libcamera.dox\n>>>> @@ -0,0 +1,33 @@\n>>>> +/**\n>>>> +\\mainpage libcamera API reference\n>>>> +\n>>>> +Welcome to the API reference for <a href=\"https://libcamera.org/\">libcamera</a>,\n>>>> +a complex camera support library for Linux, Android and ChromeOS. These pages\n>>>> +are automatically generated from the libcamera source code and describe the API\n>>>> +in detail - if this is your first interaction with libcamera then you may find\n>>>> +it useful to visit the [developer's guide](../html/guides/introduction.html) in\n>>>> +the first instance, which can provide a more generic introduction to the\n>>>> +library's concepts.\n>>>> +\n>>>> +\\if internal\n>>>> +\n>>>> +As a follow-on to the developer's guide, to assist you in adding support for\n>>>> +your platform the [pipeline handler writer's guide](../html/guides/pipeline-handler.html)\n>>>> +and the [ipa module writer's guide](../html/guides/ipa.html) should be helpful.\n>>>> +\n>>>> +The full libcamera API is documented here. If you wish to see only the public\n>>>> +part of the API you can use [these pages](../api-html/index.html) instead.\n>>>> +\n>>>> +\\else\n>>>> +\n>>>> +As a follow-on to the developer's guide, to assist you in using libcamera within\n>>>> +your project the [application developer's guide](../html/guides/application-developer.html)\n>>>> +gives an overview on how to achieve that.\n>>>> +\n>>>> +Only the public part of the libcamera API is documented here; if you are a\n>>>> +developer seeking to add support for your hardware to the library or make other\n>>>> +improvements, you should switch to the internal API\n>>>> +[reference pages](../internal-api-html/index.html) instead.\n> That's a nice way to split things.\n>\n> We can probably expand on the main page later, but this looks like a\n> good starting point to me to get this split handled.\n>\n> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n\n\nThanks!\n\n>\n>>>> +\n>>>> +\\endif\n>>>> +*/\n>>>> diff --git a/Documentation/meson.build b/Documentation/meson.build\n>>>> index afaad751..ab8168bb 100644\n>>>> --- a/Documentation/meson.build\n>>>> +++ b/Documentation/meson.build\n>>>> @@ -62,6 +62,7 @@ if doxygen.found() and dot.found()\n>>>>\n>>>>        cdata_public = configuration_data()\n>>>>        cdata_public.merge_from(cdata)\n>>>> +    cdata_public.set('ENABLED_SECTIONS', '')\n>>>>        cdata_public.set('HIDE_UNDOC_CLASSES', 'YES')\n>>>>        cdata_public.set('HIDE_UNDOC_MEMBERS', 'YES')\n>>>>        cdata_public.set('HTML_OUTPUT', 'api-html')\n>>>> @@ -89,6 +90,7 @@ if doxygen.found() and dot.found()\n>>>>\n>>>>        cdata_internal = configuration_data()\n>>>>        cdata_internal.merge_from(cdata)\n>>>> +    cdata_internal.set('ENABLED_SECTIONS', 'internal')\n>>>>        cdata_internal.set('HIDE_UNDOC_CLASSES', 'NO')\n>>>>        cdata_internal.set('HIDE_UNDOC_MEMBERS', 'NO')\n>>>>        cdata_internal.set('HTML_OUTPUT', 'internal-api-html')\n>>>> --\n>>>> 2.34.1\n>>>>","headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id C7FCDBEFBE\n\tfor <parsemail@patchwork.libcamera.org>;\n\tFri, 12 Jan 2024 10:28:23 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id BCAB2628B7;\n\tFri, 12 Jan 2024 11:28:22 +0100 (CET)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 610CB628B1\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 12 Jan 2024 11:28:20 +0100 (CET)","from [192.168.0.43]\n\t(cpc141996-chfd3-2-0-cust928.12-3.cable.virginm.net [86.13.91.161])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id A62161225;\n\tFri, 12 Jan 2024 11:27:13 +0100 (CET)"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1705055302;\n\tbh=L2Qwj4YVj1eeHLEBdPI1EpQM6vk7XUWIKp0nrp4hmX4=;\n\th=Date:To:References:In-Reply-To:Subject:List-Id:List-Unsubscribe:\n\tList-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:\n\tFrom;\n\tb=GUiNYOYzGutXwYDw/Yl917q0X3YXSzO5PGKtq2XCG6QuwXzW3GBN1E8gdMHejVYUT\n\tMSQd5q8mO3f9Hn3SnTiHNCM4nL1+OqqVcxPE8PEciUp6MVIM9bHtLLWd/rZBmR0YDB\n\tUSk6DKznznONcF9Y27iQRU8KHkY18sRUHq8UE4ZqZRyNjOHuQ2IybD/wXnbqDwF75x\n\tf5JE/2pnVwfqfT1xz0pBFIaKqJXkgaMWESh+JdWAh9dCtx0aA9Q2peqS66nEsILvR6\n\tvs3D3RZHlR6M5jxq8wJQ7QzZgLVGupNbuIYz7IAmY/gkfbdffrqhFFMKqRbXz2vUxd\n\tAM3T0+JmibKDQ==","v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1705055233;\n\tbh=L2Qwj4YVj1eeHLEBdPI1EpQM6vk7XUWIKp0nrp4hmX4=;\n\th=Date:Subject:To:References:From:In-Reply-To:From;\n\tb=o4xSTSYxEaU177Dj4msOZ0wIxd3JuAPUUH5tLWa5CE/2fbGMm6xV8YGsFc2RSJUa8\n\taGZ4g5vR4o5KjNkUNgqwMmVCF7NEXAOcwsqc1Zeye8Cki6dyDLUTgkYBFegPSzYF0U\n\tylVLhypZ9PS+VM/NHZ8wlFFtMMFh2OhKMpbOZ9oQ="],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key; \n\tunprotected) header.d=ideasonboard.com\n\theader.i=@ideasonboard.com\n\theader.b=\"o4xSTSYx\"; dkim-atps=neutral","Message-ID":"<30bfdb42-42f1-4cd6-98f1-d6a9984ff663@ideasonboard.com>","Date":"Fri, 12 Jan 2024 10:28:16 +0000","MIME-Version":"1.0","User-Agent":"Mozilla Thunderbird","Content-Language":"en-US","To":"Kieran Bingham <kieran.bingham@ideasonboard.com>,\n\tDan Scally via libcamera-devel <libcamera-devel@lists.libcamera.org>, \n\tJacopo Mondi <jacopo.mondi@ideasonboard.com>","References":"<20240105164104.78398-1-dan.scally@ideasonboard.com>\n\t<20240105164104.78398-6-dan.scally@ideasonboard.com>\n\t<2hg5wjy44dovkdkp5pn2s2bs5i6i27vid22m4pjpmxo63e2ch7@3c32rqjdqzmm>\n\t<d9c16742-a3dd-460e-ba17-34c46fdf34bf@ideasonboard.com>\n\t<170483750991.1166171.13197020070300061015@ping.linuxembedded.co.uk>","Autocrypt":"addr=dan.scally@ideasonboard.com; keydata=\n\t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","In-Reply-To":"<170483750991.1166171.13197020070300061015@ping.linuxembedded.co.uk>","Content-Type":"text/plain; charset=UTF-8; format=flowed","Content-Transfer-Encoding":"7bit","Subject":"Re: [libcamera-devel] [PATCH v2 5/5] libcamera: Documentation:\n\tImprove doxygen main page","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","From":"Dan Scally via libcamera-devel <libcamera-devel@lists.libcamera.org>","Reply-To":"Dan Scally <dan.scally@ideasonboard.com>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}}]