[gtk/ebassi/gidocgen: 86/98] Generate GTK API reference(s) with gi-docgen
- From: Emmanuele Bassi <ebassi src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk/ebassi/gidocgen: 86/98] Generate GTK API reference(s) with gi-docgen
- Date: Mon, 15 Feb 2021 19:50:43 +0000 (UTC)
commit d28bf01a2c6a72fb75819c2f923a6993e5766dfb
Author: Emmanuele Bassi <ebassi gnome org>
Date: Wed Feb 10 13:41:53 2021 +0000
Generate GTK API reference(s) with gi-docgen
Stop using gtk-doc, and switch to gi-docgen.
The gi-docgen tool generates API references through the introspection
data, which has various benefits:
- it does not parse C code
- it does not generate and run C code to introspect types at build time
- it does not present a different API from the one we're exporting
Additionally, gi-docgen:
- does not generate DocBook XML in order to generate HTML
- does not go through xsltproc
- parses proper Markdown
Which makes it markedly faster than gtk-doc has ever been.
docs/reference/gdk/gdk.toml | 73 +++++
docs/reference/gdk/meson.build | 195 ++++--------
docs/reference/gsk/gsk.toml | 36 +++
docs/reference/gsk/meson.build | 100 +-----
docs/reference/gtk/gtk.toml | 226 ++++++++++++++
docs/reference/gtk/images/gtk-logo.png | Bin 0 -> 4736 bytes
docs/reference/gtk/images/gtk-logo.svg | 138 +++++++++
docs/reference/gtk/meson.build | 541 +--------------------------------
docs/reference/meson.build | 2 +
meson.build | 7 +-
10 files changed, 556 insertions(+), 762 deletions(-)
---
diff --git a/docs/reference/gdk/gdk.toml b/docs/reference/gdk/gdk.toml
new file mode 100644
index 0000000000..159ccbd39d
--- /dev/null
+++ b/docs/reference/gdk/gdk.toml
@@ -0,0 +1,73 @@
+[library]
+name = "GTK"
+browse_url = "https://gitlab.gnome.org/GNOME/gtk/"
+repository_url = "https://gitlab.gnome.org/GNOME/gtk.git"
+website_url = "https://www.gtk.org"
+authors = "GTK Development Team"
+logo_url = "https://www.gtk.org/"
+license = "GPL-2.1-or-later"
+description = "The GTK toolkit"
+dependencies = [ "GObject-2.0", "Graphene-1.0", "Pango-1.0" ]
+
+ [dependencies."GObject-2.0"]
+ name = "GObject"
+ description = "The base type system library"
+ docs_url = "https://developer.gnome.org/gobject/stable"
+
+ [dependencies."Graphene-1.0"]
+ name = "Graphene"
+ description = "A thin layer of mathematical types for 3D libraries"
+ docs_url = "https://ebassi.github.io/graphene/docs"
+
+ [dependencies."Pango-1.0"]
+ name = "Pango"
+ description = "Text shaping and rendering"
+ docs_url = "https://developer.gnome.org/pango/stable"
+
+[theme]
+name = "basic"
+
+[source-location]
+base_url = "https://gitlab.gnome.org/GNOME/gtk/-/blob/master/"
+
+[extra]
+content_images = [
+ "images/rotated-text.png",
+ "images/default_cursor.png",
+ "images/help_cursor.png",
+ "images/pointer_cursor.png",
+ "images/context_menu_cursor.png",
+ "images/progress_cursor.png",
+ "images/wait_cursor.png",
+ "images/cell_cursor.png",
+ "images/crosshair_cursor.png",
+ "images/text_cursor.png",
+ "images/vertical_text_cursor.png",
+ "images/alias_cursor.png",
+ "images/copy_cursor.png",
+ "images/no_drop_cursor.png",
+ "images/move_cursor.png",
+ "images/not_allowed_cursor.png",
+ "images/grab_cursor.png",
+ "images/grabbing_cursor.png",
+ "images/all_scroll_cursor.png",
+ "images/col_resize_cursor.png",
+ "images/row_resize_cursor.png",
+ "images/n_resize_cursor.png",
+ "images/e_resize_cursor.png",
+ "images/s_resize_cursor.png",
+ "images/w_resize_cursor.png",
+ "images/ne_resize_cursor.png",
+ "images/nw_resize_cursor.png",
+ "images/sw_resize_cursor.png",
+ "images/se_resize_cursor.png",
+ "images/ew_resize_cursor.png",
+ "images/ns_resize_cursor.png",
+ "images/nesw_resize_cursor.png",
+ "images/nwse_resize_cursor.png",
+ "images/zoom_in_cursor.png",
+ "images/zoom_out_cursor.png",
+ "images/popup-anchors.png",
+ "images/popup-flip.png",
+ "images/popup-slide.png",
+]
diff --git a/docs/reference/gdk/meson.build b/docs/reference/gdk/meson.build
index cdd018def9..62c9591c55 100644
--- a/docs/reference/gdk/meson.build
+++ b/docs/reference/gdk/meson.build
@@ -1,115 +1,3 @@
-private_headers = [
- 'gdk-autocleanup.h',
- 'gdk-private.h',
- 'gdkapplaunchcontextprivate.h',
- 'gdkcairocontextprivate.h',
- 'gdkcairoprivate.h',
- 'gdkclipboardprivate.h',
- 'gdkcontentformatsprivate.h',
- 'gdkcontentproviderprivate.h',
- 'gdkcursorprivate.h',
- 'gdkdebug.h',
- 'gdkdevicepadprivate.h',
- 'gdkdeviceprivate.h',
- 'gdkdevicetoolprivate.h',
- 'gdkdisplaymanagerprivate.h',
- 'gdkdisplayprivate.h',
- 'gdkdndprivate.h',
- 'gdkdragprivate.h',
- 'gdkdragsurfaceprivate.h',
- 'gdkdrawcontextprivate.h',
- 'gdkdropprivate.h',
- 'gdkeventsprivate.h',
- 'gdkframeclockidleprivate.h',
- 'gdkframeclockprivate.h',
- 'gdkglcontextprivate.h',
- 'gdkgltextureprivate.h',
- 'gdkinternals.h',
- 'gdkintl.h',
- 'gdkkeysprivate.h',
- 'gdkkeysyms.h',
- 'gdkmarshalers.h',
- 'gdkmemorytextureprivate.h',
- 'gdkmonitorprivate.h',
- 'gdkpipeiostreamprivate.h',
- 'gdkpopupprivate.h',
- 'gdkprofilerprivate.h',
- 'gdkrgbaprivate.h',
- 'gdkscreenprivate.h',
- 'gdkseatdefaultprivate.h',
- 'gdkseatprivate.h',
- 'gdksnapshotprivate.h',
- 'gdksurfaceimpl.h',
- 'gdksurfaceprivate.h',
- 'gdktextureprivate.h',
- 'gdktoplevelprivate.h',
- 'gdktoplevelsizeprivate.h',
- 'gdkvulkancontextprivate.h',
-
- 'filetransferportalprivate.h',
- 'gdkconstructor.h',
- 'keyname-table.h',
-
- # gdk/x11
- 'gdkasync.h',
- 'gdkcairocontext-x11.h',
- 'gdkclipboard-x11.h',
- 'gdkdevice-xi2-private.h',
- 'gdkdevicemanagerprivate-core.h',
- 'gdkdisplay-x11.h',
- 'gdkeventsource.h',
- 'gdkeventtranslator.h',
- 'gdkglcontext-x11.h',
- 'gdkkeys-x11.h',
- 'gdkmonitor-x11.h',
- 'gdkprivate-x11.h',
- 'gdkscreen-x11.h',
- 'gdkselectioninputstream-x11.h',
- 'gdkselectionoutputstream-x11.h',
- 'gdksurface-x11.h',
- 'gdktextlistconverter-x11.h',
- 'gdkvisual-x11.h',
- 'gdkvulkancontext-x11.h',
- 'gdkx-autocleanups.h',
- 'MwmUtil.h',
- 'xsettings-client.h',
-
- # gdk/wayland
- 'gdkcairocontext-wayland.h',
- 'gdkclipboard-wayland.h',
- 'gdkdevice-wayland-private.h',
- 'gdkdisplay-wayland.h',
- 'gdkglcontext-wayland.h',
- 'gdkmonitor-wayland.h',
- 'gdkprimary-wayland.h',
- 'gdkprivate-wayland.h',
- 'gdkseat-wayland.h',
- 'gdksurface-wayland.h',
- 'gdkvulkancontext-wayland.h',
- 'wm-button-layout-translation.h',
- 'gtk-primary-selection-client-protocol.h',
- 'gtk-shell-client-protocol.h',
- 'idle-inhibit-unstable-v1-client-protocol.h',
- 'keyboard-shortcuts-inhibit-unstable-v1-client-protocol.h',
- 'pointer-gestures-unstable-v1-client-protocol.h',
- 'primary-selection-unstable-v1-client-protocol.h',
- 'server-decoration-client-protocol.h',
- 'tablet-unstable-v2-client-protocol.h',
- 'xdg-foreign-unstable-v1-client-protocol.h',
- 'xdg-shell-unstable-v6-client-protocol.h',
- 'xdg-output-unstable-v1-client-protocol.h',
- 'xdg-shell-client-protocol.h',
- 'xdg-shell-unstable-v6-client-protocol.h',
- 'wayland-cursor.h',
- 'os-compatibility.h',
- 'xcursor.h',
-
- 'broadway',
- 'wayland/cursor',
- 'macos',
- 'win32',
-]
-
images = [
'images/rotated-text.png',
'images/default_cursor.png',
@@ -151,40 +39,59 @@ images = [
'images/popup-slide.png',
]
-src_dir = [ gdkinc ]
-
-if x11_enabled
- src_dir += [ gdkx11_inc ]
-endif
-
-if wayland_enabled
- src_dir += [ gdkwayland_inc ]
-endif
+expand_content_md_files = [
+]
if get_option('gtk_doc')
- configure_file(input: 'version.xml.in', output: 'version.xml', configuration: version_conf)
-
- gnome.gtkdoc('gdk4',
- mode: 'none',
- main_xml: 'gdk4-docs.xml',
- src_dir: src_dir,
- dependencies: libgtk_dep,
- gobject_typesfile: join_paths(meson.current_source_dir(), 'gdk4.types'),
- scan_args: [
- '--ignore-decorators=_GDK_EXTERN|G_GNUC_WARN_UNUSED_RESULT',
- '--ignore-headers=' + ' '.join(private_headers),
+ custom_target('gdk4-doc',
+ input: gdk_gir[0],
+ output: 'html',
+ command: [
+ gidocgen,
+ 'generate',
+ '--add-include-path=@0@'.format(meson.current_source_dir() / '../../../gtk'),
+ '--config=@0@'.format(meson.current_source_dir() / 'gdk.toml'),
+ '--output-dir=@OUTPUT@',
+ '--content-dir=@0@'.format(meson.current_source_dir()),
+ '@INPUT@',
],
- mkdb_args: [
- '--ignore-files=' + ' '.join(private_headers),
- ],
- fixxref_args: [
- '--html-dir=@0@'.format(docpath),
- '--extra-dir=@0@'.format(join_paths(glib_docpath, 'glib')),
- '--extra-dir=@0@'.format(join_paths(glib_docpath, 'gobject')),
- '--extra-dir=@0@'.format(join_paths(glib_docpath, 'gio')),
- '--extra-dir=@0@'.format(cairo_docpath),
- ],
- html_assets: images,
- install: true,
+ depend_files: [ 'gdk.toml', expand_content_md_files ],
+ build_by_default: true,
)
+
+ if x11_enabled
+ custom_target('gdk4-x11-doc',
+ input: gdk_x11_gir[0],
+ output: 'html',
+ command: [
+ gidocgen,
+ 'generate',
+ '--add-include-path=@0@'.format(meson.current_source_dir() / '../../../gtk'),
+ '--config=@0@'.format(meson.current_source_dir() / 'gdk.toml'),
+ '--output-dir=@OUTPUT@',
+ '--content-dir=@0@'.format(meson.current_source_dir()),
+ '@INPUT@',
+ ],
+ depend_files: [ 'gdk.toml', expand_content_md_files ],
+ build_by_default: true,
+ )
+ endif
+
+ if wayland_enabled
+ custom_target('gdk4-x11-doc',
+ input: gdk_wayland_gir[0],
+ output: 'html',
+ command: [
+ gidocgen,
+ 'generate',
+ '--add-include-path=@0@'.format(meson.current_source_dir() / '../../../gtk'),
+ '--config=@0@'.format(meson.current_source_dir() / 'gdk.toml'),
+ '--output-dir=@OUTPUT@',
+ '--content-dir=@0@'.format(meson.current_source_dir()),
+ '@INPUT@',
+ ],
+ depend_files: [ 'gdk.toml', expand_content_md_files ],
+ build_by_default: true,
+ )
+ endif
endif
diff --git a/docs/reference/gsk/gsk.toml b/docs/reference/gsk/gsk.toml
new file mode 100644
index 0000000000..782e5051bc
--- /dev/null
+++ b/docs/reference/gsk/gsk.toml
@@ -0,0 +1,36 @@
+[library]
+name = "GTK"
+browse_url = "https://gitlab.gnome.org/GNOME/gtk/"
+repository_url = "https://gitlab.gnome.org/GNOME/gtk.git"
+website_url = "https://www.gtk.org"
+authors = "GTK Development Team"
+logo_url = "https://www.gtk.org/"
+license = "GPL-2.1-or-later"
+description = "The GTK toolkit"
+dependencies = [ "GObject-2.0", "Graphene-1.0", "Pango-1.0", "Gdk-4.0" ]
+
+ [dependencies."GObject-2.0"]
+ name = "GObject"
+ description = "The base type system library"
+ docs_url = "https://developer.gnome.org/gobject/stable"
+
+ [dependencies."Graphene-1.0"]
+ name = "Graphene"
+ description = "A thin layer of mathematical types for 3D libraries"
+ docs_url = "https://ebassi.github.io/graphene/docs"
+
+ [dependencies."Pango-1.0"]
+ name = "Pango"
+ description = "Text shaping and rendering"
+ docs_url = "https://developer.gnome.org/pango/stable"
+
+ [dependencies."Gdk-4.0"]
+ name = "GDK"
+ description = "The GTK windowing system abstraction"
+ docs_url = "../../Gdk/4.0/"
+
+[theme]
+name = "basic"
+
+[source-location]
+base_url = "https://gitlab.gnome.org/GNOME/gtk/-/blob/master/"
diff --git a/docs/reference/gsk/meson.build b/docs/reference/gsk/meson.build
index bf54aa1dcb..9845c092af 100644
--- a/docs/reference/gsk/meson.build
+++ b/docs/reference/gsk/meson.build
@@ -1,91 +1,17 @@
-private_headers = [
- 'gsk-autocleanup.h',
-
- 'gskcairoblurprivate.h',
- 'gskcairorendererprivate.h',
- 'gskdebugprivate.h',
- 'gskdiffprivate.h',
- 'gskglshaderprivate.h',
- 'gskprivate.h',
- 'gskprofilerprivate.h',
- 'gskrendererprivate.h',
- 'gskrendernodeprivate.h',
- 'gskrendernodeparserprivate.h',
- 'gskroundedrectprivate.h',
- 'gsktransformprivate.h',
-
- # gsk/gl
- 'glutilsprivate.h',
- 'gskgldriverprivate.h',
- 'gskglglyphcacheprivate.h',
- 'gskgliconcacheprivate.h',
- 'gskglimageprivate.h',
- 'gskglnodesampleprivate.h',
- 'gskglprofilerprivate.h',
- 'gskglrendererprivate.h',
- 'gskglrenderopsprivate.h',
- 'gskglshaderbuilderprivate.h',
- 'gskglshadowcacheprivate.h',
- 'gskgltextureatlasprivate.h',
- 'opbuffer.h',
- 'stb_rect_pack.h',
-
- # gsk/vulkan
- 'gskvulkanblendmodepipelineprivate.h',
- 'gskvulkanblurpipelineprivate.h',
- 'gskvulkanborderpipelineprivate.h',
- 'gskvulkanboxshadowpipelineprivate.h',
- 'gskvulkanbufferprivate.h',
- 'gskvulkanclipprivate.h',
- 'gskvulkancolorpipelineprivate.h',
- 'gskvulkancolortextpipelineprivate.h',
- 'gskvulkancommandpoolprivate.h',
- 'gskvulkancrossfadepipelineprivate.h',
- 'gskvulkaneffectpipelineprivate.h',
- 'gskvulkanglyphcacheprivate.h',
- 'gskvulkanimageprivate.h',
- 'gskvulkanlineargradientpipelineprivate.h',
- 'gskvulkanmemoryprivate.h',
- 'gskvulkanpipelineprivate.h',
- 'gskvulkanpushconstantsprivate.h',
- 'gskvulkanrendererprivate.h',
- 'gskvulkanrenderpassprivate.h',
- 'gskvulkanrenderprivate.h',
- 'gskvulkanshaderprivate.h',
- 'gskvulkantextpipelineprivate.h',
- 'gskvulkantexturepipelineprivate.h',
-]
-
-images = [
-]
-
if get_option('gtk_doc')
- configure_file(input: 'version.xml.in', output: 'version.xml', configuration: version_conf)
-
- gnome.gtkdoc('gsk4',
- mode: 'none',
- main_xml: 'gsk4-docs.xml',
- src_dir: [
- gskinc,
+ custom_target('gsk4-doc',
+ input: gsk_gir[0],
+ output: 'html',
+ command: [
+ gidocgen,
+ 'generate',
+ '--add-include-path=@0@'.format(meson.current_source_dir() / '../../../gtk'),
+ '--config=@0@'.format(meson.current_source_dir() / 'gsk.toml'),
+ '--output-dir=@OUTPUT@',
+ '--content-dir=@0@'.format(meson.current_source_dir()),
+ '@INPUT@',
],
- dependencies: libgtk_dep,
- gobject_typesfile: join_paths(meson.current_source_dir(), 'gsk4.types'),
- scan_args: [
- '--ignore-decorators=_GDK_EXTERN',
- '--ignore-headers=' + ' '.join(private_headers),
- ],
- mkdb_args: [
- '--ignore-files=' + ' '.join(private_headers),
- ],
- fixxref_args: [
- '--html-dir=@0@'.format(docpath),
- '--extra-dir=@0@'.format(join_paths(glib_docpath, 'glib')),
- '--extra-dir=@0@'.format(join_paths(glib_docpath, 'gobject')),
- '--extra-dir=@0@'.format(join_paths(glib_docpath, 'gio')),
- '--extra-dir=@0@'.format(cairo_docpath),
- '--extra-dir=../gdk',
- ],
- html_assets: images,
- install: true,
+ depend_files: [ 'gsk.toml', expand_content_md_files ],
+ build_by_default: true,
)
endif
diff --git a/docs/reference/gtk/gtk.toml b/docs/reference/gtk/gtk.toml
new file mode 100644
index 0000000000..cebc787f5c
--- /dev/null
+++ b/docs/reference/gtk/gtk.toml
@@ -0,0 +1,226 @@
+[library]
+namespace = "Gtk"
+version = "4.0"
+browse_url = "https://gitlab.gnome.org/GNOME/gtk/"
+repository_url = "https://gitlab.gnome.org/GNOME/gtk.git"
+website_url = "https://www.gtk.org"
+authors = "GTK Development Team"
+logo_url = "gtk-logo.svg"
+license = "GPL-2.1-or-later"
+description = "The GTK toolkit"
+dependencies = [ "GObject-2.0", "Graphene-1.0", "Pango-1.0", "Gdk-4.0", "Gsk-4.0" ]
+
+ [dependencies."GObject-2.0"]
+ name = "GObject"
+ description = "The base type system library"
+ docs_url = "https://developer.gnome.org/gobject/stable"
+
+ [dependencies."Graphene-1.0"]
+ name = "Graphene"
+ description = "A thin layer of mathematical types for 3D libraries"
+ docs_url = "https://ebassi.github.io/graphene/docs"
+
+ [dependencies."Pango-1.0"]
+ name = "Pango"
+ description = "Text shaping and rendering"
+ docs_url = "https://developer.gnome.org/pango/stable"
+
+ [dependencies."Gdk-4.0"]
+ name = "GDK"
+ description = "The GTK windowing system abstraction"
+ docs_url = "../../Gdk/4.0/"
+
+ [dependencies."Gsk-4.0"]
+ name = "GSK"
+ description = "The GTK rendering abstraction"
+ docs_url = "../../Gsk/4.0/"
+
+[theme]
+name = "basic"
+
+[source-location]
+base_url = "https://gitlab.gnome.org/GNOME/gtk/-/blob/master/"
+
+[extra]
+# The same order will be used when generating the index
+content_files = [
+ "getting_started.md",
+ "building.md",
+ "compiling.md",
+ "running.md",
+ "question_index.md",
+ "resources.md",
+ "actions.md",
+ "input-handling.md",
+ "drawing-model.md",
+ "css-overview.md",
+ "css-properties.md",
+ "section-accessibility.md",
+ "section-list-widget.md",
+ "section-text-widget.md",
+ "section-tree-widget.md",
+ "migrating-2to4.md",
+ "migrating-3to4.md",
+ "broadway.md",
+ "osx.md",
+ "wayland.md",
+ "windows.md",
+ "x11.md",
+]
+content_images = [
+ "images/aboutdialog.png",
+ "images/action-bar.png",
+ "images/appchooserbutton.png",
+ "images/appchooserdialog.png",
+ "images/arrows.png",
+ "images/assistant.png",
+ "images/background.png",
+ "images/bloatpad-gnome.png",
+ "images/bloatpad-osx.png",
+ "images/bloatpad-xfce.png",
+ "images/border1.png",
+ "images/border2.png",
+ "images/border3.png",
+ "images/box.png",
+ "images/box-expand.png",
+ "images/box-packing.png",
+ "images/builder-shortcuts.png",
+ "images/button.png",
+ "images/calendar.png",
+ "images/capture-bubble.png",
+ "images/centerbox.png",
+ "images/check-button.png",
+ "images/checks.png",
+ "images/clocks-shortcuts.png",
+ "images/color-button.png",
+ "images/colorchooser.png",
+ "images/combo-box-entry.png",
+ "images/combo-box.png",
+ "images/combo-box-text.png",
+ "images/down-center.png",
+ "images/down-end.png",
+ "images/down-start.png",
+ "images/drop-down.png",
+ "images/drawing.png",
+ "images/drawingarea.png",
+ "images/ease-in-out.png",
+ "images/ease-in.png",
+ "images/ease-out.png",
+ "images/ease.png",
+ "images/editable-label.png",
+ "images/emojichooser.png",
+ "images/entry.png",
+ "images/exampleapp.png",
+ "images/expanders.png",
+ "images/expander.png",
+ "images/extensions.png",
+ "images/figure-hierarchical-drawing.png",
+ "images/figure-windowed-label.png",
+ "images/file-button.png",
+ "images/filechooser.png",
+ "images/flow-box.png",
+ "images/focus.png",
+ "images/font-button.png",
+ "images/fontchooser.png",
+ "images/frame-gap.png",
+ "images/frame.png",
+ "images/frames.png",
+ "images/gedit-shortcuts.png",
+ "images/getting-started-app10.png",
+ "images/getting-started-app1.png",
+ "images/getting-started-app2.png",
+ "images/getting-started-app3.png",
+ "images/getting-started-app4.png",
+ "images/getting-started-app6.png",
+ "images/getting-started-app7.png",
+ "images/getting-started-app8.png",
+ "images/getting-started-app9.png",
+ "images/glarea.png",
+ "images/gradient1.png",
+ "images/gradient2.png",
+ "images/gradient3.png",
+ "images/gradient4.png",
+ "images/grid.png",
+ "images/grid-packing.png",
+ "images/gtk-logo.png",
+ "images/gtk-logo.svg",
+ "images/handles.png",
+ "images/headerbar.png",
+ "images/hello-world.png",
+ "images/icon-view.png",
+ "images/image.png",
+ "images/info-bar.png",
+ "images/inspector.png",
+ "images/label.png",
+ "images/layout-btlr.png",
+ "images/layout-btrl.png",
+ "images/layout-lrbt.png",
+ "images/layout-lrtb.png",
+ "images/layout-rlbt.png",
+ "images/layout-rltb.png",
+ "images/layout-tblr.png",
+ "images/layout-tbrl.png",
+ "images/left-center.png",
+ "images/left-end.png",
+ "images/left-start.png",
+ "images/levelbar.png",
+ "images/linear.png",
+ "images/link-button.png",
+ "images/list-and-tree.png",
+ "images/list-box.png",
+ "images/lockbutton-locked.png",
+ "images/lock-button.png",
+ "images/lockbutton.png",
+ "images/lockbutton-sorry.png",
+ "images/lockbutton-unlocked.png",
+ "images/media-controls.png",
+ "images/menu.png",
+ "images/menubar.png",
+ "images/menu-button.png",
+ "images/messagedialog.png",
+ "images/multiline-text.png",
+ "images/notebook.png",
+ "images/options.png",
+ "images/overlay.png",
+ "images/pagesetupdialog.png",
+ "images/panes.png",
+ "images/password-entry.png",
+ "images/picture.png",
+ "images/popover.png",
+ "images/printdialog.png",
+ "images/progressbar.png",
+ "images/right-center.png",
+ "images/right-end.png",
+ "images/right-start.png",
+ "images/scales.png",
+ "images/scrollbar.png",
+ "images/scrolledwindow.png",
+ "images/search-bar.png",
+ "images/search-entry.png",
+ "images/separator.png",
+ "images/shortcuts-window.png",
+ "images/sidebar.png",
+ "images/slices.png",
+ "images/sliders.png",
+ "images/spinbutton.png",
+ "images/spinner.png",
+ "images/stack.png",
+ "images/stackswitcher.png",
+ "images/statusbar.png",
+ "images/switch.png",
+ "images/toggle-button.png",
+ "images/toolbar.png",
+ "images/tree-view-coordinates.png",
+ "images/up-center.png",
+ "images/up-end.png",
+ "images/up-start.png",
+ "images/video.png",
+ "images/volumebutton.png",
+ "images/widget-hvalign.png",
+ "images/windowcontrols.png",
+ "images/window-default.png",
+ "images/window.png",
+ "images/rich-list.png",
+ "images/data-table.png",
+ "images/navigation-sidebar.png",
+]
diff --git a/docs/reference/gtk/images/gtk-logo.png b/docs/reference/gtk/images/gtk-logo.png
new file mode 100644
index 0000000000..28e546b965
Binary files /dev/null and b/docs/reference/gtk/images/gtk-logo.png differ
diff --git a/docs/reference/gtk/images/gtk-logo.svg b/docs/reference/gtk/images/gtk-logo.svg
new file mode 100644
index 0000000000..9edbe2da97
--- /dev/null
+++ b/docs/reference/gtk/images/gtk-logo.svg
@@ -0,0 +1,138 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="128"
+ height="128"
+ id="svg6843"
+ sodipodi:version="0.32"
+ inkscape:version="0.92.4 5da689c313, 2019-01-14"
+ version="1.0"
+ sodipodi:docname="gtk-logo.svg"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape"
+ inkscape:export-filename="/home/ebassi/Pictures/gtk-logo-256.png"
+ inkscape:export-xdpi="192"
+ inkscape:export-ydpi="192">
+ <defs
+ id="defs6845">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="-50 : 600 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="700 : 600 : 1"
+ inkscape:persp3d-origin="300 : 400 : 1"
+ id="perspective13" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="2.8284271"
+ inkscape:cx="69.874353"
+ inkscape:cy="64.313526"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ inkscape:document-units="px"
+ inkscape:grid-bbox="true"
+ width="128px"
+ height="128px"
+ showguides="true"
+ inkscape:guide-bbox="true"
+ inkscape:window-width="1920"
+ inkscape:window-height="1016"
+ inkscape:window-x="0"
+ inkscape:window-y="27"
+ inkscape:window-maximized="1">
+ <inkscape:grid
+ type="xygrid"
+ id="grid7947" />
+ </sodipodi:namedview>
+ <metadata
+ id="metadata6848">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title />
+ <dc:date />
+ <dc:creator>
+ <cc:Agent>
+ <dc:title />
+ </cc:Agent>
+ </dc:creator>
+ <dc:rights>
+ <cc:Agent>
+ <dc:title />
+ </cc:Agent>
+ </dc:rights>
+ <dc:publisher>
+ <cc:Agent>
+ <dc:title />
+ </cc:Agent>
+ </dc:publisher>
+ <dc:identifier />
+ <dc:source />
+ <dc:relation />
+ <dc:language />
+ <dc:subject>
+ <rdf:Bag />
+ </dc:subject>
+ <dc:coverage />
+ <dc:description />
+ <dc:contributor>
+ <cc:Agent>
+ <dc:title />
+ </cc:Agent>
+ </dc:contributor>
+ <cc:license
+ rdf:resource="" />
+ </cc:Work>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ id="layer1"
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer">
+ <path
+ sodipodi:nodetypes="ccccc"
+ id="path6976"
+ d="M 20.88413,30.82696 L 53.816977,55.527708 L 107.33282,39.060543 L 70.587303,17.177763 L
20.88413,30.82696 z"
+
style="fill:#729fcf;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:2.12364459;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline"
/>
+ <path
+ id="path6978"
+ d="M 22.94243,82.287118 L 20.88413,30.82696 L 53.816977,55.527708 L 53.816977,111.10486 L
22.94243,82.287118 z"
+
style="fill:#e40000;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:2.12364459;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline"
/>
+ <path
+ id="path6980"
+ d="M 53.816977,111.10486 L 103.21619,90.5207 L 107.33282,39.060543 L 53.816977,55.527708 L
53.816977,111.10486 z"
+
style="fill:#7fe719;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:2.12364459;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline"
/>
+ <path
+ sodipodi:nodetypes="ccc"
+ id="path6982"
+ d="M 23.216626,81.319479 L 70.48573,67.361442 L 103.38422,90.444516"
+
style="opacity:1;fill:none;fill-rule:evenodd;stroke:#ffffff;stroke-width:1.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
/>
+ <path
+ sodipodi:nodetypes="cc"
+ id="path6984"
+ d="M 70.434539,17.875593 L 70.434539,66.984877"
+
style="opacity:1;fill:#babdb6;fill-rule:evenodd;stroke:#ffffff;stroke-width:1.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
/>
+ </g>
+</svg>
diff --git a/docs/reference/gtk/meson.build b/docs/reference/gtk/meson.build
index a2e28b586f..f9e3f85142 100644
--- a/docs/reference/gtk/meson.build
+++ b/docs/reference/gtk/meson.build
@@ -1,471 +1,4 @@
-fs = import('fs')
-
-private_headers = [
- 'gtkaccelgroupprivate.h',
- 'gtkaccelmapprivate.h',
- 'gtkaccessibleattributesetprivate.h',
- 'gtkaccessibleattributevalueprivate.h',
- 'gtkaccessibleprivate.h',
- 'gtkaccessiblevalueprivate.h',
- 'gtkactionhelperprivate.h',
- 'gtkactionmuxerprivate.h',
- 'gtkactionobservableprivate.h',
- 'gtkactionobserverprivate.h',
- 'gtkadjustmentprivate.h',
- 'gtkallocatedbitmaskprivate.h',
- 'gtkappchooserprivate.h',
- 'gtkapplicationaccelsprivate.h',
- 'gtkapplicationprivate.h',
- 'gtkatcontextprivate.h',
- 'gtkbindingsprivate.h',
- 'gtkbitmaskprivateimpl.h',
- 'gtkbitmaskprivate.h',
- 'gtkbuildableprivate.h',
- 'gtkbuilderprivate.h',
- 'gtkbuilderscopeprivate.h',
- 'gtkbuiltiniconprivate.h',
- 'gtkbuttonprivate.h',
- 'gtkcellareaboxcontextprivate.h',
- 'gtkcheckbuttonprivate.h',
- 'gtkcolorchooserprivate.h',
- 'gtkcoloreditorprivate.h',
- 'gtkcolorpickerkwinprivate.h',
- 'gtkcolorpickerportalprivate.h',
- 'gtkcolorpickerprivate.h',
- 'gtkcolorpickershellprivate.h',
- 'gtkcolorplaneprivate.h',
- 'gtkcolorscaleprivate.h',
- 'gtkcolorswatchprivate.h',
- 'gtkcolumnlistitemfactoryprivate.h',
- 'gtkcolumnviewcellprivate.h',
- 'gtkcolumnviewcolumnprivate.h',
- 'gtkcolumnviewlayoutprivate.h',
- 'gtkcolumnviewprivate.h',
- 'gtkcolumnviewsorterprivate.h',
- 'gtkcolumnviewtitleprivate.h',
- 'gtkcomboboxprivate.h',
- 'gtkcomposetable.h',
- 'gtkconstraintexpressionprivate.h',
- 'gtkconstraintguideprivate.h',
- 'gtkconstraintlayoutprivate.h',
- 'gtkconstraintprivate.h',
- 'gtkconstraintsolverprivate.h',
- 'gtkconstrainttypesprivate.h',
- 'gtkconstraintvflparserprivate.h',
- 'gtkcountingbloomfilterprivate.h',
- 'gtkcssanimatedstyleprivate.h',
- 'gtkcssanimationprivate.h',
- 'gtkcssarrayvalueprivate.h',
- 'gtkcssbgsizevalueprivate.h',
- 'gtkcssbordervalueprivate.h',
- 'gtkcssboxesimplprivate.h',
- 'gtkcssboxesprivate.h',
- 'gtkcsscalcvalueprivate.h',
- 'gtkcsscolorvalueprivate.h',
- 'gtkcsscornervalueprivate.h',
- 'gtkcssdataurlprivate.h',
- 'gtkcssdimensionvalueprivate.h',
- 'gtkcssdynamicprivate.h',
- 'gtkcsseasevalueprivate.h',
- 'gtkcssenumvalueprivate.h',
- 'gtkcssfiltervalueprivate.h',
- 'gtkcssfontfeaturesvalueprivate.h',
- 'gtkcssfontvariationsvalueprivate.h',
- 'gtkcssiconthemevalueprivate.h',
- 'gtkcssimageconicprivate.h',
- 'gtkcssimagecrossfadeprivate.h',
- 'gtkcssimagefallbackprivate.h',
- 'gtkcssimageiconthemeprivate.h',
- 'gtkcssimageinvalidprivate.h',
- 'gtkcssimagelinearprivate.h',
- 'gtkcssimagepaintableprivate.h',
- 'gtkcssimageprivate.h',
- 'gtkcssimageradialprivate.h',
- 'gtkcssimagerecolorprivate.h',
- 'gtkcssimagescaledprivate.h',
- 'gtkcssimageurlprivate.h',
- 'gtkcssimagevalueprivate.h',
- 'gtkcssimagewin32private.h',
- 'gtkcssinheritvalueprivate.h',
- 'gtkcssinitialvalueprivate.h',
- 'gtkcsskeyframesprivate.h',
- 'gtkcsslocationprivate.h',
- 'gtkcsslookupprivate.h',
- 'gtkcssmatcherprivate.h',
- 'gtkcssnodedeclarationprivate.h',
- 'gtkcssnodeprivate.h',
- 'gtkcssnodestylecacheprivate.h',
- 'gtkcssnumbervalueprivate.h',
- 'gtkcsspalettevalueprivate.h',
- 'gtkcssparserprivate.h',
- 'gtkcsspathnodeprivate.h',
- 'gtkcsspositionvalueprivate.h',
- 'gtkcssproviderprivate.h',
- 'gtkcssrepeatvalueprivate.h',
- 'gtkcssrgbavalueprivate.h',
- 'gtkcsssectionprivate.h',
- 'gtkcssselectorprivate.h',
- 'gtkcssserializerprivate.h',
- 'gtkcssshadowsvalueprivate.h',
- 'gtkcssshadowvalueprivate.h',
- 'gtkcssshorthandpropertyprivate.h',
- 'gtkcssstaticstyleprivate.h',
- 'gtkcssstringvalueprivate.h',
- 'gtkcssstylechangeprivate.h',
- 'gtkcssstyleprivate.h',
- 'gtkcssstylepropertyprivate.h',
- 'gtkcsstokenizerprivate.h',
- 'gtkcsstransformvalueprivate.h',
- 'gtkcsstransientnodeprivate.h',
- 'gtkcsstransitionprivate.h',
- 'gtkcsstypesprivate.h',
- 'gtkcssunsetvalueprivate.h',
- 'gtkcssvalueprivate.h',
- 'gtkcsswidgetnodeprivate.h',
- 'gtkcsswin32sizevalueprivate.h',
- 'gtkdialogprivate.h',
- 'gtkdragdestprivate.h',
- 'gtkdropprivate.h',
- 'gtkemojicompletion.h',
- 'gtkentryprivate.h',
- 'gtkeventcontrollerlegacyprivate.h',
- 'gtkeventcontrollerprivate.h',
- 'gtkfilechoosererrorstackprivate.h',
- 'gtkfilechoosernativeprivate.h',
- 'gtkfilechooserprivate.h',
- 'gtkfilechooserwidgetprivate.h',
- 'gtkfilefilterprivate.h',
- 'gtkflowboxprivate.h',
- 'gtkfontchooserprivate.h',
- 'gtkfontchooserwidgetprivate.h',
- 'gtkgesturedragprivate.h',
- 'gtkgesturelongpressprivate.h',
- 'gtkgesturemultipressprivate.h',
- 'gtkgesturepanprivate.h',
- 'gtkgestureprivate.h',
- 'gtkgesturerotateprivate.h',
- 'gtkgesturesingleprivate.h',
- 'gtkgesturestylusprivate.h',
- 'gtkgestureswipeprivate.h',
- 'gtkgesturezoomprivate.h',
- 'gtkgizmoprivate.h',
- 'gtkheaderbarprivate.h',
- 'gtkhslaprivate.h',
- 'gtkiconcacheprivate.h',
- 'gtkiconcachevalidatorprivate.h',
- 'gtkiconhelperprivate.h',
- 'gtkiconprivate.h',
- 'gtkiconthemeprivate.h',
- 'gtkiconviewprivate.h',
- 'gtkimagedefinitionprivate.h',
- 'gtkimageprivate.h',
- 'gtkimcontextbroadway.h',
- 'gtkimcontextime.h',
- 'gtkimcontextquartz.h',
- 'gtkimcontextsimpleprivate.h',
- 'gtkimcontextsimpleseqs.h',
- 'gtkimcontextwayland.h',
- 'gtkimmoduleprivate.h',
- 'gtkimmodule.h',
- 'gtkintl.h',
- 'gtkistringprivate.h',
- 'gtkkineticscrollingprivate.h',
- 'gtklabelprivate.h',
- 'gtklayoutmanagerprivate.h',
- 'gtklistbaseprivate.h',
- 'gtklistitemprivate.h',
- 'gtklistitemfactoryprivate.h',
- 'gtklistitemmanagerprivate.h',
- 'gtklistitemwidgetprivate.h',
- 'gtklistlistmodelprivate.h',
- 'gtklockbuttonprivate.h',
- 'gtkmagnifierprivate.h',
- 'gtkmediafileprivate.h',
- 'gtkmenubuttonprivate.h',
- 'gtkmenusectionboxprivate.h',
- 'gtkmenutrackeritemprivate.h',
- 'gtkmenutrackerprivate.h',
- 'gtkmodelbuttonprivate.h',
- 'gtkmodulesprivate.h',
- 'gtkmountoperationprivate.h',
- 'gtknativedialogprivate.h',
- 'gtknativeprivate.h',
- 'gtknomediafileprivate.h',
- 'gtkpango.h',
- 'gtkpasswordentrybufferprivate.h',
- 'gtkpasswordentryprivate.h',
- 'gtkpathbar.h',
- 'gdkpixbufutilsprivate.h',
- 'gtkplacessidebarprivate.h',
- 'gtkplacesviewprivate.h',
- 'gtkplacesviewrowprivate.h',
- 'gtkpointerfocusprivate.h',
- 'gtkpopcountprivate.h',
- 'gtkpopovermenubarprivate.h',
- 'gtkpopovermenuprivate.h',
- 'gtkpopoverprivate.h',
- 'gtkprintbackendprivate.h',
- 'gtkprinterprivate.h',
- 'gtkprintoperation-portal.h',
- 'gtkprintoperation-private.h',
- 'gtkprintutils.h',
- 'gtkprivate.h',
- 'gtkprogresstrackerprivate.h',
- 'gtkpropertylookuplistmodelprivate.h',
- 'gtkquery.h',
- 'gtkrangeprivate.h',
- 'gtkrbtreeprivate.h',
- 'gtkrenderbackgroundprivate.h',
- 'gtkrenderborderprivate.h',
- 'gtkrendericonprivate.h',
- 'gtkrendernodepaintableprivate.h',
- 'gtkrootprivate.h',
- 'gtkroundedboxprivate.h',
- 'gtkscalerprivate.h',
- 'gtksearchengine.h',
- 'gtksearchenginemodel.h',
- 'gtksearchenginequartz.h',
- 'gtksearchenginetracker3.h',
- 'gtksearchentryprivate.h',
- 'gtksecurememoryprivate.h',
- 'gtksettingsprivate.h',
- 'gtkshortcutactionprivate.h',
- 'gtkshortcutcontrollerprivate.h',
- 'gtkshortcutmanagerprivate.h',
- 'gtkshortcutsshortcutprivate.h',
- 'gtkshortcutswindowprivate.h',
- 'gtksidebarrowprivate.h',
- 'gtksizegroup-private.h',
- 'gtksizerequestcacheprivate.h',
- 'gtksnapshotprivate.h',
- 'gtksorterprivate.h',
- 'gtksortkeysprivate.h',
- 'gtkspinbuttonprivate.h',
- 'gtkstyleanimationprivate.h',
- 'gtkstylecascadeprivate.h',
- 'gtkstylecontextprivate.h',
- 'gtkstylepropertyprivate.h',
- 'gtkstyleproviderprivate.h',
- 'gtktestatcontextprivate.h',
- 'gtktextattributes.h',
- 'gtktextbufferprivate.h',
- 'gtktextchildprivate.h',
- 'gtktextdisplayprivate.h',
- 'gtktexthandleprivate.h',
- 'gtktexthistoryprivate.h',
- 'gtktextiterprivate.h',
- 'gtktextlayoutprivate.h',
- 'gtktextlinedisplaycacheprivate.h',
- 'gtktextmarkprivate.h',
- 'gtktextprivate.h',
- 'gtktextsegment.h',
- 'gtktexttagprivate.h',
- 'gtktextutil.h',
- 'gtktextviewchildprivate.h',
- 'gtktextviewprivate.h',
- 'gtktogglebuttonprivate.h',
- 'gtktoolbarprivate.h',
- 'gtktooltipprivate.h',
- 'gtktooltipwindowprivate.h',
- 'gtktreedatalist.h',
- 'gtktreepopoverprivate.h',
- 'gtktreeprivate.h',
- 'gtktreerbtreeprivate.h',
- 'gtkutilsprivate.h',
- 'gtkwidgetpaintableprivate.h',
- 'gtkwidgetpathprivate.h',
- 'gtkwidgetprivate.h',
- 'gtkwin32drawprivate.h',
- 'gtkwin32themeprivate.h',
- 'gtkwindowprivate.h',
-
- 'gsettings-mapping.h',
- 'gskpango.h',
- 'gtkdbusgenerated.h',
- 'imm-extra.h',
- 'language-names.h',
- 'open-type-layout.h',
- 'script-names.h',
- 'text-input-unstable-v3-client-protocol.h',
-
- 'a11y',
- 'inspector',
- 'roaring',
- 'timsort',
- 'tools',
-]
-
-images = [
- 'images/aboutdialog.png',
- 'images/action-bar.png',
- 'images/appchooserbutton.png',
- 'images/appchooserdialog.png',
- 'images/arrows.png',
- 'images/assistant.png',
- 'images/background.png',
- 'images/bloatpad-gnome.png',
- 'images/bloatpad-osx.png',
- 'images/bloatpad-xfce.png',
- 'images/border1.png',
- 'images/border2.png',
- 'images/border3.png',
- 'images/box.png',
- 'images/box-expand.png',
- 'images/box-packing.png',
- 'images/builder-shortcuts.png',
- 'images/button.png',
- 'images/calendar.png',
- 'images/capture-bubble.png',
- 'images/centerbox.png',
- 'images/check-button.png',
- 'images/checks.png',
- 'images/clocks-shortcuts.png',
- 'images/color-button.png',
- 'images/colorchooser.png',
- 'images/combo-box-entry.png',
- 'images/combo-box.png',
- 'images/combo-box-text.png',
- 'images/down-center.png',
- 'images/down-end.png',
- 'images/down-start.png',
- 'images/drop-down.png',
- 'images/drawing.png',
- 'images/drawingarea.png',
- 'images/ease-in-out.png',
- 'images/ease-in.png',
- 'images/ease-out.png',
- 'images/ease.png',
- 'images/editable-label.png',
- 'images/emojichooser.png',
- 'images/entry.png',
- 'images/exampleapp.png',
- 'images/expanders.png',
- 'images/expander.png',
- 'images/extensions.png',
- 'images/figure-hierarchical-drawing.png',
- 'images/figure-windowed-label.png',
- 'images/file-button.png',
- 'images/filechooser.png',
- 'images/flow-box.png',
- 'images/focus.png',
- 'images/font-button.png',
- 'images/fontchooser.png',
- 'images/frame-gap.png',
- 'images/frame.png',
- 'images/frames.png',
- 'images/gedit-shortcuts.png',
- 'images/getting-started-app10.png',
- 'images/getting-started-app1.png',
- 'images/getting-started-app2.png',
- 'images/getting-started-app3.png',
- 'images/getting-started-app4.png',
- 'images/getting-started-app6.png',
- 'images/getting-started-app7.png',
- 'images/getting-started-app8.png',
- 'images/getting-started-app9.png',
- 'images/glarea.png',
- 'images/gradient1.png',
- 'images/gradient2.png',
- 'images/gradient3.png',
- 'images/gradient4.png',
- 'images/grid.png',
- 'images/grid-packing.png',
- 'images/handles.png',
- 'images/headerbar.png',
- 'images/hello-world.png',
- 'images/icon-view.png',
- 'images/image.png',
- 'images/info-bar.png',
- 'images/inspector.png',
- 'images/label.png',
- 'images/layout-btlr.png',
- 'images/layout-btrl.png',
- 'images/layout-lrbt.png',
- 'images/layout-lrtb.png',
- 'images/layout-rlbt.png',
- 'images/layout-rltb.png',
- 'images/layout-tblr.png',
- 'images/layout-tbrl.png',
- 'images/left-center.png',
- 'images/left-end.png',
- 'images/left-start.png',
- 'images/levelbar.png',
- 'images/linear.png',
- 'images/link-button.png',
- 'images/list-and-tree.png',
- 'images/list-box.png',
- 'images/lockbutton-locked.png',
- 'images/lock-button.png',
- 'images/lockbutton.png',
- 'images/lockbutton-sorry.png',
- 'images/lockbutton-unlocked.png',
- 'images/media-controls.png',
- 'images/menu.png',
- 'images/menubar.png',
- 'images/menu-button.png',
- 'images/messagedialog.png',
- 'images/multiline-text.png',
- 'images/notebook.png',
- 'images/options.png',
- 'images/overlay.png',
- 'images/pagesetupdialog.png',
- 'images/panes.png',
- 'images/password-entry.png',
- 'images/picture.png',
- 'images/popover.png',
- 'images/printdialog.png',
- 'images/progressbar.png',
- 'images/right-center.png',
- 'images/right-end.png',
- 'images/right-start.png',
- 'images/scales.png',
- 'images/scrollbar.png',
- 'images/scrolledwindow.png',
- 'images/search-bar.png',
- 'images/search-entry.png',
- 'images/separator.png',
- 'images/shortcuts-window.png',
- 'images/sidebar.png',
- 'images/slices.png',
- 'images/sliders.png',
- 'images/spinbutton.png',
- 'images/spinner.png',
- 'images/stack.png',
- 'images/stackswitcher.png',
- 'images/statusbar.png',
- 'images/switch.png',
- 'images/toggle-button.png',
- 'images/toolbar.png',
- 'images/tree-view-coordinates.png',
- 'images/up-center.png',
- 'images/up-end.png',
- 'images/up-start.png',
- 'images/video.png',
- 'images/volumebutton.png',
- 'images/widget-hvalign.png',
- 'images/windowcontrols.png',
- 'images/window-default.png',
- 'images/window.png',
- 'images/rich-list.png',
- 'images/data-table.png',
- 'images/navigation-sidebar.png'
-]
-
-content_files = [
- 'gtk4-broadwayd.xml',
- 'gtk4-builder-tool.xml',
- 'gtk4-demo-application.xml',
- 'gtk4-demo.xml',
- 'gtk4-encode-symbolic-svg.xml',
- 'gtk4-icon-browser.xml',
- 'gtk4-launch.xml',
- 'gtk4-query-settings.xml',
- 'gtk4-update-icon-cache.xml',
- 'gtk4-widget-factory.xml',
- 'overview.xml',
- 'visual_index.xml',
-]
-
+# XXX: gi-docgen needs a deps file
expand_content_md_files = [
'broadway.md',
'osx.md',
@@ -491,67 +24,21 @@ expand_content_md_files = [
'question_index.md',
]
-types_conf = configuration_data()
-if os_win32
- types_conf.set('DISABLE_ON_W32', '%')
-else
- types_conf.set('DISABLE_ON_W32', '')
-endif
-
-if os_darwin
- types_conf.set('DISABLE_ON_QUARTZ', '%')
-else
- types_conf.set('DISABLE_ON_QUARTZ', '')
-endif
-
if get_option('gtk_doc')
- configure_file(input: 'version.xml.in', output: 'version.xml', configuration: version_conf)
-
- # gtk-markdown-to-docbook uses pandoc
- pandoc = find_program('pandoc', required: true)
- expand_md = find_program('gtk-markdown-to-docbook')
- expand_md_targets = []
- foreach t : expand_content_md_files
- expand_md_targets += custom_target(t,
- input: [ t ],
- output: [ fs.replace_suffix(t, '.xml') ],
- command: [ expand_md, '@INPUT@', '@OUTPUT@'],
- )
- endforeach
-
- gnome.gtkdoc('gtk4',
- mode: 'none',
- main_xml: 'gtk4-docs.xml',
- src_dir: [
- gtkinc,
- ],
- dependencies: libgtk_dep,
- gobject_typesfile: configure_file(
- input: 'gtk4.types.in',
- output: 'gtk4.types',
- configuration: types_conf,
- ),
- scan_args: [
- '--ignore-decorators=_GDK_EXTERN|G_GNUC_WARN_UNUSED_RESULT',
- '--ignore-headers=' + ' '.join(private_headers),
- ],
- mkdb_args: [
- '--default-includes=gtk/gtk.h',
- '--ignore-files=' + ' '.join(private_headers),
- ],
- fixxref_args: [
- '--html-dir=@0@'.format(docpath),
- '--extra-dir=@0@'.format(join_paths(glib_docpath, 'glib')),
- '--extra-dir=@0@'.format(join_paths(glib_docpath, 'gobject')),
- '--extra-dir=@0@'.format(join_paths(glib_docpath, 'gio')),
- '--extra-dir=@0@'.format(cairo_docpath),
- '--extra-dir=@0@'.format(gdkpixbuf_docpath),
- '--extra-dir=../gdk',
- '--extra-dir=../gsk',
+ custom_target('gtk4-doc',
+ input: gtk_gir[0],
+ output: 'html',
+ command: [
+ gidocgen,
+ 'generate',
+ '--add-include-path=@0@'.format(meson.current_source_dir() / '../../../gtk'),
+ '--config=@0@'.format(meson.current_source_dir() / 'gtk.toml'),
+ '--output-dir=@OUTPUT@',
+ '--content-dir=@0@'.format(meson.current_source_dir()),
+ '@INPUT@',
],
- content_files: content_files + expand_md_targets,
- html_assets: images,
- install: true,
+ depend_files: [ 'gtk.toml', expand_content_md_files ],
+ build_by_default: true,
)
endif
diff --git a/docs/reference/meson.build b/docs/reference/meson.build
index 4536addda4..63708554da 100644
--- a/docs/reference/meson.build
+++ b/docs/reference/meson.build
@@ -17,6 +17,8 @@ if get_option('gtk_doc')
src_dir_conf.set('SRC_DIR', meson.source_root())
endif
+gidocgen = find_program('gi-docgen', required: get_option('gtk_doc'))
+
subdir('gdk')
subdir('gsk')
subdir('gtk')
diff --git a/meson.build b/meson.build
index c3a980ef8d..51e015da82 100644
--- a/meson.build
+++ b/meson.build
@@ -395,10 +395,9 @@ graphene_dep = dependency('graphene-gobject-1.0', version: graphene_req,
fallback: ['graphene', 'graphene_dep'])
iso_codes_dep = dependency('iso-codes', required: false)
-gtk_doc_dep = dependency('gtk-doc', version: '>=1.33',
- fallback: ['gtk-doc', 'dummy_dep'],
- default_options: ['tests=false', 'yelp_manual=false'],
- required: get_option('gtk_doc'))
+gidocgen_dep = dependency('gi-docgen', version: '>= 2021.1',
+ fallback: ['gi-docgen', 'dummy_dep'],
+ required: get_option('gtk_doc'))
fontconfig_dep = [] # only used in x11 backend
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]