diff --git a/docs/reference/gdk/gdk4.toml.in b/docs/reference/gdk/gdk4.toml.in new file mode 100644 index 0000000000..cf7f160125 --- /dev/null +++ b/docs/reference/gdk/gdk4.toml.in @@ -0,0 +1,74 @@ +[library] +version = "@version@" +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" ] + + [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/gtk-logo.svg", + "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/images/gtk-logo.svg b/docs/reference/gdk/images/gtk-logo.svg new file mode 100644 index 0000000000..9edbe2da97 --- /dev/null +++ b/docs/reference/gdk/images/gtk-logo.svg @@ -0,0 +1,138 @@ + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + diff --git a/docs/reference/gdk/meson.build b/docs/reference/gdk/meson.build index cdd018def9..18bcf15f14 100644 --- a/docs/reference/gdk/meson.build +++ b/docs/reference/gdk/meson.build @@ -1,190 +1,63 @@ -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', +expand_content_md_files = [ ] -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', -] - -src_dir = [ gdkinc ] - -if x11_enabled - src_dir += [ gdkx11_inc ] -endif - -if wayland_enabled - src_dir += [ gdkwayland_inc ] -endif +gdk4_toml = configure_file(input: 'gdk4.toml.in', output: 'gdk4.toml', configuration: toml_conf) 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: [ gdk4_toml, gdk_gir[0] ], + output: 'gdk4', + command: [ + gidocgen, + 'generate', + '--add-include-path=@0@'.format(meson.current_build_dir() / '../../../gtk'), + '--config=@INPUT0@', + '--output-dir=@OUTPUT@', + '--no-namespace-dir', + '--content-dir=@0@'.format(meson.current_source_dir()), + '@INPUT1@', ], - 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: [ expand_content_md_files ], + build_by_default: true, ) + + if x11_enabled + custom_target('gdk4-x11-doc', + input: [ gdk4_toml, gdk_x11_gir[0] ], + output: 'gdk4-x11', + command: [ + gidocgen, + 'generate', + '--add-include-path=@0@'.format(meson.current_build_dir() / '../../../gtk'), + '--config=@INPUT0@', + '--output-dir=@OUTPUT@', + '--no-namespace-dir', + '--content-dir=@0@'.format(meson.current_source_dir()), + '@INPUT1@', + ], + depends: [ gdk_gir[0] ], + depend_files: [ expand_content_md_files ], + build_by_default: true, + ) + endif + + if wayland_enabled + custom_target('gdk4-wayland-doc', + input: [ gdk4_toml, gdk_wayland_gir[0] ], + output: 'gdk4-wayland', + command: [ + gidocgen, + 'generate', + '--add-include-path=@0@'.format(meson.current_build_dir() / '../../../gtk'), + '--config=@INPUT0@', + '--output-dir=@OUTPUT@', + '--no-namespace-dir', + '--content-dir=@0@'.format(meson.current_source_dir()), + '@INPUT1@', + ], + depends: [ gdk_gir[0] ], + depend_files: [ expand_content_md_files ], + build_by_default: true, + ) + endif endif diff --git a/docs/reference/gsk/gsk4.toml.in b/docs/reference/gsk/gsk4.toml.in new file mode 100644 index 0000000000..8a28cab779 --- /dev/null +++ b/docs/reference/gsk/gsk4.toml.in @@ -0,0 +1,41 @@ +[library] +version = "@version@" +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" ] + + [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/" + +[extra] +content_images = [ + "gtk-logo.svg", +] diff --git a/docs/reference/gsk/gtk-logo.svg b/docs/reference/gsk/gtk-logo.svg new file mode 100644 index 0000000000..9edbe2da97 --- /dev/null +++ b/docs/reference/gsk/gtk-logo.svg @@ -0,0 +1,138 @@ + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + diff --git a/docs/reference/gsk/meson.build b/docs/reference/gsk/meson.build index bf54aa1dcb..aede56e534 100644 --- a/docs/reference/gsk/meson.build +++ b/docs/reference/gsk/meson.build @@ -1,91 +1,21 @@ -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 = [ -] +gsk4_toml = configure_file(input: 'gsk4.toml.in', output: 'gsk4.toml', configuration: toml_conf) 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: [ gsk4_toml, gsk_gir[0] ], + output: 'gsk4', + command: [ + gidocgen, + 'generate', + '--add-include-path=@0@'.format(meson.current_build_dir() / '../../../gtk'), + '--config=@INPUT0@', + '--output-dir=@OUTPUT@', + '--no-namespace-dir', + '--content-dir=@0@'.format(meson.current_source_dir()), + '@INPUT1@', ], - 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, + depends: [ gdk_gir[0] ], + depend_files: [ expand_content_md_files ], + build_by_default: true, ) endif diff --git a/docs/reference/gtk/gtk4.toml.in b/docs/reference/gtk/gtk4.toml.in new file mode 100644 index 0000000000..f71d310373 --- /dev/null +++ b/docs/reference/gtk/gtk4.toml.in @@ -0,0 +1,225 @@ +[library] +version = "@version@" +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 @@ + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + diff --git a/docs/reference/gtk/meson.build b/docs/reference/gtk/meson.build index a2e28b586f..b50bec2c18 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,25 @@ 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 +gtk4_toml = configure_file(input: 'gtk4.toml.in', output: 'gtk4.toml', configuration: toml_conf) 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, + custom_target('gtk4-doc', + input: [ gtk4_toml, gtk_gir[0] ], + output: 'gtk4', + command: [ + gidocgen, + 'generate', + '--add-include-path=@0@'.format(meson.current_build_dir() / '../../../gtk'), + '--config=@INPUT0@', + '--output-dir=@OUTPUT@', + '--no-namespace-dir', + '--content-dir=@0@'.format(meson.current_source_dir()), + '@INPUT1@', ], - 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', - ], - content_files: content_files + expand_md_targets, - html_assets: images, - install: true, + depends: [ gdk_gir[0], gsk_gir[0] ], + depend_files: [ expand_content_md_files ], + build_by_default: true, ) endif diff --git a/docs/reference/meson.build b/docs/reference/meson.build index 4536addda4..24d0daadb1 100644 --- a/docs/reference/meson.build +++ b/docs/reference/meson.build @@ -17,6 +17,11 @@ if get_option('gtk_doc') src_dir_conf.set('SRC_DIR', meson.source_root()) endif +toml_conf = configuration_data() +toml_conf.set('version', meson.project_version()) + +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 d8ee3b6e9a..d5c875acdc 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